File workingDir = fileSet.getBasedir();
// Update branch
String[] updateCmd = new String[] { BazaarConstants.PULL_CMD };
ScmResult updateResult = BazaarUtils.execute( new BazaarConsumer( getLogger() ), getLogger(), workingDir,
updateCmd );
if ( !updateResult.isSuccess() )
{
return new UpdateScmResult( null, null, updateResult );
}
// Find changes from last revision
int currentRevision = BazaarUtils.getCurrentRevisionNumber( getLogger(), workingDir );
int previousRevision = currentRevision - 1;
String[] diffCmd =
new String[] { BazaarConstants.DIFF_CMD, BazaarConstants.REVISION_OPTION, "" + previousRevision };
BazaarDiffConsumer diffConsumer = new BazaarDiffConsumer( getLogger(), workingDir );
ScmResult diffResult = BazaarUtils.execute( diffConsumer, getLogger(), workingDir, diffCmd );
// Now translate between diff and update file status
List<ScmFile> updatedFiles = new ArrayList<ScmFile>();
List<CharSequence> changes = new ArrayList<CharSequence>();
List<ScmFile> diffFiles = diffConsumer.getChangedFiles();