Refine search
revisionInterval.toString() }; HgChangeLogConsumer consumer = new HgChangeLogConsumer( getLogger(), datePattern ); ScmResult result = HgUtils.execute( consumer, getLogger(), fileSet.getBasedir(), cmd ); if ( !logEntries.isEmpty() ) startDate = logEntries.get( 0 ).getDate(); endDate = logEntries.get( logEntries.size() - 1 ).getDate(); ChangeLogSet changeLogSet = new ChangeLogSet( logEntries, startDate, endDate ); changeLogSet.setStartVersion( startVersion ); changeLogSet.setEndVersion( endVersion ); return new ChangeLogScmResult( changeLogSet, result );
/** * This method extracts the simple metadata such as revision, lastCommitTimestamp of the commit/hash, author of the commit * from the Changelog available in the SCM repository * @param scmUrl - the SCM url to get the SCM connection * @param workingDir - the Working Copy or Directory of the SCM repo * @return a {@link Map<ExtraManifestKeys,String>} of values extracted form the changelog, with Keys from {@link ExtraManifestKeys} * @throws IOException - any error that might occur while manipulating the SCM Changelog * @throws ScmException - other SCM related exceptions */ public Map<ExtraManifestKeys, String> getChangeLog(String scmUrl, File workingDir) throws IOException, ScmException { Map<ExtraManifestKeys, String> changeLogMap = new HashMap<>(); ScmRepository scmRepository = scmManager.makeScmRepository(scmUrl); ChangeLogScmResult scmResult = scmManager.changeLog(new ChangeLogScmRequest(scmRepository, new ScmFileSet(workingDir, "*"))); if (scmResult.isSuccess()) { List<ChangeSet> changeSetList = scmResult.getChangeLog().getChangeSets(); if (changeSetList != null && !changeSetList.isEmpty()) { //get the latest changelog ChangeSet changeSet = changeSetList.get(0); changeLogMap.put(ExtraManifestKeys.SCM_TYPE, getScmType(scmUrl)); changeLogMap.put(ExtraManifestKeys.SCM_REVISION, changeSet.getRevision()); changeLogMap.put(ExtraManifestKeys.LAST_COMMIT_TIMESTAMP, manifestTimestampFormat(changeSet.getDate())); changeLogMap.put(ExtraManifestKeys.SCM_AUTHOR, changeSet.getAuthor()); } } return changeLogMap; } }
public ChangeLogSet getChangeSets() { changeLogSet.setChangeSets( changeSets ); return changeLogSet; } }
.append( formatter.format( getStartDate() ) ) .append( "\"" ); .append( formatter.format( getEndDate() ) ) .append( "\"" ); .append( getStartVersion() ) .append( "\"" ); .append( getEndVersion() ) .append( "\"" ); for ( ChangeSet changeSet : getChangeSets() ) buffer.append( changeSet.toXML() );
git = JGitUtils.openRepo( fileSet.getBasedir() ); ChangeSet scmChange = new ChangeSet(); scmChange.setAuthor( change.getAuthorName() ); scmChange.setComment( change.getBody() ); scmChange.setDate( change.getAuthorDate() ); scmChange.setRevision( change.getCommitHash() ); ChangeLogSet changeLogSet = new ChangeLogSet( modifications, startDate, endDate ); changeLogSet.setStartVersion( startVersion ); changeLogSet.setEndVersion( endVersion ); return new ChangeLogScmResult( "JGit changelog", changeLogSet );
public void testChangeLogCommandFromVersionToUndefined() throws Exception { Thread.sleep( SLEEP_TIME_IN_MILLIS ); ScmRepository scmRepository = getScmRepository(); ScmProvider provider = getScmManager().getProviderByRepository( scmRepository ); ScmFileSet fileSet = new ScmFileSet( getWorkingCopy() ); ChangeLogScmRequest clr = new ChangeLogScmRequest( scmRepository, fileSet ); String startVersion = "e3864d9"; clr.setStartRevision( new ScmRevision( startVersion ) ); ChangeLogScmResult changelogResult = provider.changeLog( clr ); List<ChangeSet> logEntries = changelogResult.getChangeLog().getChangeSets(); assertEquals( String.format( "changelog for %s.. returned bad number of commits", startVersion ), 2, logEntries.size() ); assertThat( "bad commit SHA1 retrieved", logEntries.get( 0 ).getRevision(), startsWith( "464921b" ) ); assertThat( "bad commit SHA1 retrieved", logEntries.get( 1 ).getRevision(), startsWith( "db46d63" ) ); }
File baseDestination = fileSet.getBasedir(); List<File> files = fileSet.getFileList(); ChangeSet changeSet = new ChangeSet(); changeSet.addFile( new ChangeFile( fileName, null ) ); changeSet.setDate( modifiedDate ); return new ChangeLogScmResult( null, new ChangeLogSet( changeLogList, startDate, endDate ) );
getLogger().debug( "basedir: " + fileSet.getBasedir() ); for ( SynergyTask t : tasks ) ChangeSet cs = new ChangeSet(); cs.setAuthor( t.getUsername() ); cs.setComment( "Task " + t.getNumber() + ": " + t.getComment() ); cs.setDate( t.getModifiedTime() ); cs.setFiles( SynergyUtil.getModifiedObjects( getLogger(), t.getNumber(), ccmAddr ) ); return new ChangeLogScmResult( "ccm query ...", new ChangeLogSet( csList, startDate, endDate ) );
private ChangeLogScmResult executeChangeLogCommand( ScmFileSet fileSet, Date startDate, Date endDate, String datePattern, Integer limit ) throws ScmException { SimpleDateFormat dateFormat = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" ); StringBuilder dateInterval = new StringBuilder(); // TRICK: Mercurial 1.9.3 don't accept 1970-01-01 dateInterval.append( dateFormat.format( startDate == null ? new Date( 1000L * 60 * 60 * 24 ) : startDate ) ); // From 2. Jan 1970 dateInterval.append( " to " ); dateInterval.append( dateFormat.format( endDate == null ? new Date() : endDate ) ); // Upto now List<String> cmd = new ArrayList<String>(); cmd.addAll( Arrays.asList( HgCommandConstants.LOG_CMD, HgCommandConstants.TEMPLATE_OPTION, HgCommandConstants.TEMPLATE_FORMAT, HgCommandConstants.NO_MERGES_OPTION, HgCommandConstants.DATE_OPTION, dateInterval.toString() ) ); if ( limit != null && limit > 0 ) { cmd.add( HgCommandConstants.LIMIT_OPTION ); cmd.add( Integer.toString( limit ) ); } HgChangeLogConsumer consumer = new HgChangeLogConsumer( getLogger(), datePattern ); ScmResult result = HgUtils.execute( consumer, getLogger(), fileSet.getBasedir(), cmd.toArray( new String[cmd.size()] ) ); List<ChangeSet> logEntries = consumer.getModifications(); ChangeLogSet changeLogSet = new ChangeLogSet( logEntries, startDate, endDate ); return new ChangeLogScmResult( changeLogSet, result ); }
public void testChangeLogCommandFromHeadToStartOfRepository() throws Exception { Thread.sleep( SLEEP_TIME_IN_MILLIS ); ScmRepository scmRepository = getScmRepository(); ScmProvider provider = getScmManager().getProviderByRepository( scmRepository ); ScmFileSet fileSet = new ScmFileSet( getWorkingCopy() ); ChangeLogScmRequest clr = new ChangeLogScmRequest( scmRepository, fileSet ); String version = "HEAD"; clr.setRevision( new ScmRevision( version ) ); ChangeLogScmResult changelogResult = provider.changeLog( clr ); List<ChangeSet> logEntries = changelogResult.getChangeLog().getChangeSets(); assertEquals( String.format( "changelog for %s returned bad number of commits", version ), 5, logEntries.size() ); }
ScmFileSet fileSet = new ScmFileSet( getWorkingCopy() ); assertTrue( firstResult.getProviderMessage() + ": " + firstResult.getCommandLine() + "\n" + firstResult.getCommandOutput(), firstResult.isSuccess() ); int firstLogSize = firstResult.getChangeLog().getChangeSets().size(); assertTrue( "Unexpected initial log size", firstLogSize >= 1 ); assertTrue( secondResult.getProviderMessage(), secondResult.isSuccess() ); assertEquals( firstLogSize + 1, secondResult.getChangeLog().getChangeSets().size() ); assertTrue( thirdResult.getProviderMessage(), thirdResult.isSuccess() ); assertEquals( 1, thirdResult.getChangeLog().getChangeSets().size() ); ChangeSet changeset = thirdResult.getChangeLog().getChangeSets().get( 0 ); assertTrue( changeset.getDate().after( timeBeforeSecond ) ); assertEquals( COMMIT_MSG, changeset.getComment() );
protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository r, ScmFileSet f, Date startDate, Date endDate, ScmBranch branch, String datePattern ) throws ScmException { List<ChangeSet> changeLogs = new ArrayList<ChangeSet>(); Iterator<File> iter = f.getFileList().iterator(); if ( !iter.hasNext() ) { List<File> dir = new ArrayList<File>(); // No files to iterate dir.add( f.getBasedir() ); iter = dir.iterator(); } TfsCommand command = null; // tf history takes only one file arg while ( iter.hasNext() ) { TfsChangeLogConsumer out = new TfsChangeLogConsumer( getLogger() ); ErrorStreamConsumer err = new ErrorStreamConsumer(); command = createCommand( r, f, ( (File) iter.next() ) ); int status = command.execute( out, err ); if ( status != 0 || ( !out.hasBeenFed() && err.hasBeenFed() ) ) { return new ChangeLogScmResult( command.getCommandString(), "Error code for TFS changelog command - " + status, err.getOutput(), false ); } changeLogs.addAll( out.getLogs() ); } return new ChangeLogScmResult( command.getCommandString(), new ChangeLogSet( changeLogs, startDate, endDate ) ); }
ChangeLogSet changeLog = new ChangeLogSet( startDate, endDate ); if ( changeSet.getDate().after( date ) ) changeSet.setDate( date ); changeSet.addFile( changeFile ); changeLog.setChangeSets( changeSetList );
ScmResult result = BazaarUtils.execute( consumer, getLogger(), fileSet.getBasedir(), cmd.toArray( new String[cmd.size()] ) ); if ( change.getFiles().size() > 0 ) if ( !change.getDate().before( startDate ) && !change.getDate().after( endDate ) ) ChangeLogSet changeLogSet = new ChangeLogSet( inRangeAndValid, startDate, endDate ); return new ChangeLogScmResult( changeLogSet, result );
/** {@inheritDoc} */ protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repository, ScmFileSet fileSet, Date startDate, Date endDate, ScmBranch branch, String datePattern ) throws ScmException { VssScmProviderRepository repo = (VssScmProviderRepository) repository; Commandline cl = buildCmdLine( repo, fileSet, startDate, endDate ); if ( getLogger().isInfoEnabled() ) { getLogger().info( "Executing: " + cl ); getLogger().info( "Working directory: " + cl.getWorkingDirectory().getAbsolutePath() ); } VssChangeLogConsumer consumer = new VssChangeLogConsumer( repo, datePattern, getLogger() ); CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer(); int exitCode = VssCommandLineUtils.executeCommandline( cl, consumer, stderr, getLogger() ); if ( exitCode != 0 ) { return new ChangeLogScmResult( cl.toString(), "The vss command failed.", stderr.getOutput(), false ); } return new ChangeLogScmResult( cl.toString(), new ChangeLogSet( consumer.getModifications(), startDate, endDate ) ); }
if ( changeLogResult.isSuccess() ) result.setChanges( changeLogResult.getChangeLog().getChangeSets() ); ChangeSet dummyChangeSet = new ChangeSet( new Date(), comment, author, changeFiles );
getChangeLog( changelogStream, streamDifferences, streamHistory, workspaceHistory, startDate, endDate ); changeLog.setEndVersion( endVersion ); changeLog.setStartVersion( startVersion ); return new ChangeLogScmResult( accurev.getCommandLines(), changeLog ); return new ChangeLogScmResult( accurev.getCommandLines(), "AccuRev errors: " + errorMessage, accurev.getErrorOutput(), false );
ChangeSet changeSet = new ChangeSet( t.getWhen(), t.getComment(), t.getAuthor(), files ); entries.add( new ChangeSet( endDate, "Upstream changes", "various", upstreamFiles ) ); return new ChangeLogSet( entries, startDate, endDate );
private Set<String> pathsAffectedByChange(ChangeLogScmRequest scmRequest, Set<ScmFileStatus> statusToInclude, int limit) throws ScmException { Set<String> affected = new LinkedHashSet<>(); ChangeLogScmResult changeLogScmResult = this.manager.changeLog(scmRequest); if (changeLogScmResult.isSuccess()) { List<ChangeSet> changeSets = limit(changeLogScmResult.getChangeLog().getChangeSets(),limit); for (ChangeSet change : changeSets) { List<ChangeFile> files = change.getFiles(); for (final ChangeFile changeFile : files) { if (statusToInclude.contains(changeFile.getAction())) { affected.add(changeFile.getName()); } } } } return affected; }
ChangeLogSet changeLogSet = changeLogScmResult.getChangeLog(); for ( ChangeSet change : changeLogSet.getChangeSets() ) if ( startDate != null && change.getDate() != null ) if ( startDate.after( change.getDate() ) ) if ( change.containsFilename( currentFile.getPath() ) )