private void flushPendingProperties() throws SVNException { if (myCurrentFilePath != null) { Map props = getFilePropertiesStorage(); changeNodeProperties(myCurrentFilePath, props); props.clear(); myCurrentFilePath = null; } }
public void applyTextDelta(String path, String baseChecksum) throws SVNException { flushPendingProperties(); ISVNDeltaConsumer fsfsConsumer = getDeltaConsumer(); fsfsConsumer.applyTextDelta(path, baseChecksum); }
private void releaseLocks() { releaseLocks(myPathsToLockTokens, false, true); final Map<String, String> autoUnlockPaths = myCommitter.getAutoUnlockPaths(); releaseLocks(autoUnlockPaths, true, false); }
public SVNCommitInfo closeEdit() throws SVNException { try { if (myTxn == null) { SVNErrorMessage err = SVNErrorMessage.create(SVNErrorCode.REPOS_BAD_ARGS, "No valid transaction supplied to closeEdit()"); SVNErrorManager.error(err, SVNLogType.FSFS); } long committedRev = -1; if (myDeltaConsumer != null) { myDeltaConsumer.close(); } SVNErrorMessage[] errorMessage = new SVNErrorMessage[1]; committedRev = myCommitter.commitTxn(true, true, errorMessage, null); SVNProperties revProps = myFSFS.getRevisionProperties(committedRev); String dateProp = revProps.getStringValue(SVNRevisionProperty.DATE); Date datestamp = dateProp != null ? SVNDate.parseDateString(dateProp) : null; SVNErrorMessage err = errorMessage[0]; if (err != null && err.getErrorCode() == SVNErrorCode.REPOS_POST_COMMIT_HOOK_FAILED) { String message = err.getChildErrorMessage() != null ? err.getChildErrorMessage().getFullMessage() : err.getFullMessage(); err = SVNErrorMessage.create(SVNErrorCode.REPOS_POST_COMMIT_HOOK_FAILED, message, SVNErrorMessage.TYPE_WARNING); } SVNCommitInfo info = new SVNCommitInfo(committedRev, getAuthor(), datestamp, err); releaseLocks(); return info; } finally { myRepository.closeRepository(); } }
public void closeDir() throws SVNException { flushPendingProperties(); myDirsStack.pop(); }
public ISVNEditor getCommitEditor(String logMessage, Map locks, boolean keepLocks, ISVNWorkspaceMediator mediator) throws SVNException { try { openRepository(); } catch (SVNException svne) { closeRepository(); throw svne; } // fetch user name! String author = getUserName(); FSCommitEditor commitEditor = new FSCommitEditor(getRepositoryPath(""), logMessage, author, locks, keepLocks, null, myFSFS, this); return commitEditor; }
private FSDeltaConsumer getDeltaConsumer() { if (myDeltaConsumer == null) { myDeltaConsumer = new FSDeltaConsumer(myBasePath, myTxnRoot, myFSFS, myCommitter, getAuthor(), myLockTokens); } return myDeltaConsumer; }
public OutputStream textDeltaChunk(String path, SVNDiffWindow diffWindow) throws SVNException { ISVNDeltaConsumer fsfsConsumer = getDeltaConsumer(); return fsfsConsumer.textDeltaChunk(path, diffWindow); }
public SVNCommitInfo closeEdit() throws SVNException { if (myTxn == null) { SVNErrorMessage err = SVNErrorMessage.create(SVNErrorCode.REPOS_BAD_ARGS, "No valid transaction supplied to closeEdit()"); SVNErrorManager.error(err); } long committedRev = -1; SVNErrorMessage errorMessage = null; committedRev = finalizeCommit(); try { FSHooks.runPostCommitHook(myFSFS.getRepositoryRoot(), committedRev); } catch (SVNException svne) { errorMessage = SVNErrorMessage.create(SVNErrorCode.REPOS_POST_COMMIT_HOOK_FAILED, svne.getErrorMessage().getFullMessage(), SVNErrorMessage.TYPE_WARNING); } Map revProps = myFSFS.getRevisionProperties(committedRev); String dateProp = (String) revProps.get(SVNRevisionProperty.DATE); String authorProp = (String) revProps.get(SVNRevisionProperty.AUTHOR); Date datestamp = dateProp != null ? SVNTimeUtil.parseDateString(dateProp) : null; SVNCommitInfo info = new SVNCommitInfo(committedRev, authorProp, datestamp, errorMessage); releaseLocks(); myRepository.closeRepository(); return info; }
SVNErrorMessage.TYPE_WARNING); SVNCommitInfo info = new SVNCommitInfo(committedRev, getAuthor(), datestamp, err); releaseLocks(); return info; } finally {
public void closeDir() throws SVNException { flushPendingProperties(); myDirsStack.pop(); }
public ISVNEditor getCommitEditor(String logMessage, Map locks, boolean keepLocks, ISVNWorkspaceMediator mediator) throws SVNException { try { openRepository(); } catch (SVNException svne) { closeRepository(); throw svne; } // fetch user name! String author = getUserName(); FSCommitEditor commitEditor = new FSCommitEditor(getRepositoryPath(""), logMessage, author, locks, keepLocks, null, myFSFS, this); return commitEditor; }
private FSDeltaConsumer getDeltaConsumer() { if (myDeltaConsumer == null) { myDeltaConsumer = new FSDeltaConsumer(myBasePath, myTxnRoot, myFSFS, myCommitter, getAuthor(), myLockTokens); } return myDeltaConsumer; }
public void textDeltaEnd(String path) throws SVNException { ISVNDeltaConsumer fsfsConsumer = getDeltaConsumer(); fsfsConsumer.textDeltaEnd(path); }
private void flushPendingProperties() throws SVNException { if (myCurrentFilePath != null) { SVNProperties props = getFilePropertiesStorage(); changeNodeProperties(myCurrentFilePath, props); props.clear(); myCurrentFilePath = null; } }
public void applyTextDelta(String path, String baseChecksum) throws SVNException { flushPendingProperties(); ISVNDeltaConsumer fsfsConsumer = getDeltaConsumer(); fsfsConsumer.applyTextDelta(path, baseChecksum); }
SVNErrorMessage.TYPE_WARNING); SVNCommitInfo info = new SVNCommitInfo(committedRev, getAuthor(), datestamp, err); releaseLocks(); return info; } finally {
public void closeDir() throws SVNException { flushPendingProperties(); myDirsStack.pop(); }
public ISVNEditor getCommitEditor(String logMessage, Map locks, boolean keepLocks, ISVNWorkspaceMediator mediator) throws SVNException { try { openRepository(); } catch (SVNException svne) { closeRepository(); throw svne; } // fetch user name! String author = getUserName(); return new FSCommitEditor(getRepositoryPath(""), logMessage, author, locks, keepLocks, null, myFSFS, this); }
private FSDeltaConsumer getDeltaConsumer() { if (myDeltaConsumer == null) { myDeltaConsumer = new FSDeltaConsumer(myBasePath, myTxnRoot, myFSFS, myCommitter, getAuthor(), myLockTokens); } return myDeltaConsumer; }