Author: olamy Date: Sun Apr 18 15:23:20 2010 New Revision: 935354 URL: http://svn.apache.org/viewvc?rev=935354&view=rev Log: [SCM-542] Add blame command to Perforce provider Submitted by Evgeny Mandrikov
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceBlameCommand.java (with props) maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceBlameConsumer.java (with props) maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceFilelogConsumer.java (with props) maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/blame/ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceBlameConsumerTest.java (with props) maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceFilelogConsumerTest.java (with props) maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/annotatelog.txt (with props) maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/filelog.txt (with props) Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/PerforceScmProvider.java Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/PerforceScmProvider.java URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/PerforceScmProvider.java?rev=935354&r1=935353&r2=935354&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/PerforceScmProvider.java (original) +++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/PerforceScmProvider.java Sun Apr 18 15:23:20 2010 @@ -21,9 +21,11 @@ package org.apache.maven.scm.provider.pe import org.apache.maven.scm.CommandParameters; +import org.apache.maven.scm.NoSuchCommandScmException; import org.apache.maven.scm.ScmException; import org.apache.maven.scm.ScmFileSet; import org.apache.maven.scm.command.add.AddScmResult; +import org.apache.maven.scm.command.blame.BlameScmResult; import org.apache.maven.scm.command.changelog.ChangeLogScmResult; import org.apache.maven.scm.command.checkin.CheckInScmResult; import org.apache.maven.scm.command.checkout.CheckOutScmResult; @@ -41,6 +43,7 @@ import org.apache.maven.scm.provider.Scm import org.apache.maven.scm.provider.perforce.command.PerforceInfoCommand; import org.apache.maven.scm.provider.perforce.command.PerforceWhereCommand; import org.apache.maven.scm.provider.perforce.command.add.PerforceAddCommand; +import org.apache.maven.scm.provider.perforce.command.blame.PerforceBlameCommand; import org.apache.maven.scm.provider.perforce.command.changelog.PerforceChangeLogCommand; import org.apache.maven.scm.provider.perforce.command.checkin.PerforceCheckInCommand; import org.apache.maven.scm.provider.perforce.command.checkout.PerforceCheckOutCommand; @@ -248,6 +251,14 @@ public class PerforceScmProvider return (UpdateScmResult) command.execute( repository, fileSet, params ); } + protected BlameScmResult blame( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params ) + throws ScmException + { + PerforceBlameCommand command = new PerforceBlameCommand(); + command.setLogger( getLogger() ); + return (BlameScmResult) command.execute( repository, fileSet, params ); + } + public static Commandline createP4Command( PerforceScmProviderRepository repo, File workingDir ) { Commandline command = new Commandline(); Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceBlameCommand.java URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceBlameCommand.java?rev=935354&view=auto ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceBlameCommand.java (added) +++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceBlameCommand.java Sun Apr 18 15:23:20 2010 @@ -0,0 +1,124 @@ +package org.apache.maven.scm.provider.perforce.command.blame; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import org.apache.maven.scm.ScmException; +import org.apache.maven.scm.ScmFileSet; +import org.apache.maven.scm.command.blame.AbstractBlameCommand; +import org.apache.maven.scm.command.blame.BlameLine; +import org.apache.maven.scm.command.blame.BlameScmResult; +import org.apache.maven.scm.provider.ScmProviderRepository; +import org.apache.maven.scm.provider.perforce.PerforceScmProvider; +import org.apache.maven.scm.provider.perforce.command.PerforceCommand; +import org.apache.maven.scm.provider.perforce.repository.PerforceScmProviderRepository; +import org.codehaus.plexus.util.cli.CommandLineException; +import org.codehaus.plexus.util.cli.CommandLineUtils; +import org.codehaus.plexus.util.cli.Commandline; + +import java.io.File; +import java.util.List; + +/** + * @author Evgeny Mandrikov + * @since 1.4 + */ +public class PerforceBlameCommand + extends AbstractBlameCommand + implements PerforceCommand +{ + public BlameScmResult executeBlameCommand( ScmProviderRepository repo, ScmFileSet workingDirectory, String filename ) + throws ScmException + { + // Call annotate command + + Commandline cl = createCommandLine( (PerforceScmProviderRepository) repo, workingDirectory.getBasedir(), + filename ); + + PerforceBlameConsumer blameConsumer = new PerforceBlameConsumer( getLogger() ); + + CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer(); + + int exitCode; + + try + { + exitCode = CommandLineUtils.executeCommandLine( cl, blameConsumer, stderr ); + } + catch ( CommandLineException ex ) + { + throw new ScmException( "Error while executing command.", ex ); + } + if ( exitCode != 0 ) + { + return new BlameScmResult( cl.toString(), "The perforce command failed.", stderr.getOutput(), false ); + } + + // Call filelog command + + cl = createFilelogCommandLine( (PerforceScmProviderRepository) repo, workingDirectory.getBasedir(), filename ); + + PerforceFilelogConsumer filelogConsumer = new PerforceFilelogConsumer( getLogger() ); + + try + { + exitCode = CommandLineUtils.executeCommandLine( cl, filelogConsumer, stderr ); + } + catch ( CommandLineException ex ) + { + throw new ScmException( "Error while executing command.", ex ); + } + if ( exitCode != 0 ) + { + return new BlameScmResult( cl.toString(), "The perforce command failed.", stderr.getOutput(), false ); + } + + // Combine results + + List lines = blameConsumer.getLines(); + for ( int i = 0; i < lines.size(); i++ ) + { + BlameLine line = (BlameLine) lines.get( i ); + String revision = line.getRevision(); + line.setAuthor( filelogConsumer.getAuthor( revision ) ); + line.setDate( filelogConsumer.getDate( revision ) ); + } + + return new BlameScmResult( cl.toString(), lines ); + } + + public static Commandline createCommandLine( PerforceScmProviderRepository repo, File workingDirectory, + String filename ) + { + Commandline cl = PerforceScmProvider.createP4Command( repo, workingDirectory ); + cl.createArg().setValue( "annotate" ); + cl.createArg().setValue( "-q" ); // quiet + cl.createArg().setValue( filename ); + return cl; + } + + public static Commandline createFilelogCommandLine( PerforceScmProviderRepository repo, File workingDirectory, + String filename ) + { + Commandline cl = PerforceScmProvider.createP4Command( repo, workingDirectory ); + cl.createArg().setValue( "filelog" ); + cl.createArg().setValue( filename ); + return cl; + } +} Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceBlameCommand.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceBlameCommand.java ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceBlameCommand.java ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceBlameConsumer.java URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceBlameConsumer.java?rev=935354&view=auto ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceBlameConsumer.java (added) +++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceBlameConsumer.java Sun Apr 18 15:23:20 2010 @@ -0,0 +1,69 @@ +package org.apache.maven.scm.provider.perforce.command.blame; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import org.apache.maven.scm.command.blame.BlameLine; +import org.apache.maven.scm.log.ScmLogger; +import org.apache.maven.scm.util.AbstractConsumer; +import org.apache.regexp.RE; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Evgeny Mandrikov + * @since 1.4 + */ +public class PerforceBlameConsumer + extends AbstractConsumer +{ + + /* 151: line */ + private static final String LINE_PATTERN = "(\\d+):"; + + /** + * @see #LINE_PATTERN + */ + private RE lineRegexp; + + private List lines = new ArrayList(); + + public PerforceBlameConsumer( ScmLogger logger ) + { + super( logger ); + lineRegexp = new RE( LINE_PATTERN ); + } + + /** {...@inheritdoc} */ + public void consumeLine( String line ) + { + if ( lineRegexp.match( line ) ) + { + String revision = lineRegexp.getParen( 1 ).trim(); + + lines.add( new BlameLine( null, revision, null ) ); + } + } + + public List getLines() + { + return lines; + } +} Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceBlameConsumer.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceBlameConsumer.java ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceBlameConsumer.java ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceFilelogConsumer.java URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceFilelogConsumer.java?rev=935354&view=auto ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceFilelogConsumer.java (added) +++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceFilelogConsumer.java Sun Apr 18 15:23:20 2010 @@ -0,0 +1,78 @@ +package org.apache.maven.scm.provider.perforce.command.blame; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import org.apache.maven.scm.log.ScmLogger; +import org.apache.maven.scm.util.AbstractConsumer; +import org.apache.regexp.RE; + +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +/** + * @author Evgeny Mandrikov + * @since 1.4 + */ +public class PerforceFilelogConsumer + extends AbstractConsumer +{ + private static final String PERFORCE_TIMESTAMP_PATTERN = "yyyy/MM/dd"; + + private static final String LINE_PATTERN = "#(\\d+).*on (.*) by (.*)@"; + + private RE lineRegexp; + + private Map dates = new HashMap(); + + private Map authors = new HashMap(); + + public PerforceFilelogConsumer( ScmLogger logger ) + { + super( logger ); + lineRegexp = new RE( LINE_PATTERN ); + } + + /** {...@inheritdoc} */ + public void consumeLine( String line ) + { + if ( lineRegexp.match( line ) ) + { + String revision = lineRegexp.getParen( 1 ); + String dateTimeStr = lineRegexp.getParen( 2 ); + String author = lineRegexp.getParen( 3 ); + + Date dateTime = parseDate( dateTimeStr, null, PERFORCE_TIMESTAMP_PATTERN ); + + dates.put( revision, dateTime ); + authors.put( revision, author ); + } + } + + public String getAuthor( String revision ) + { + return (String) authors.get( revision ); + } + + public Date getDate( String revision ) + { + return (Date) dates.get( revision ); + } +} Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceFilelogConsumer.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceFilelogConsumer.java ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceFilelogConsumer.java ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceBlameConsumerTest.java URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceBlameConsumerTest.java?rev=935354&view=auto ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceBlameConsumerTest.java (added) +++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceBlameConsumerTest.java Sun Apr 18 15:23:20 2010 @@ -0,0 +1,61 @@ +package org.apache.maven.scm.provider.perforce.command.blame; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import junit.framework.Assert; +import org.apache.maven.scm.ScmTestCase; +import org.apache.maven.scm.command.blame.BlameLine; +import org.apache.maven.scm.log.DefaultLog; + +import java.io.*; + +/** + * @author Evgeny Mandrikov + */ +public class PerforceBlameConsumerTest + extends ScmTestCase +{ + + public void testParse() + throws IOException + { + File testFile = getTestFile( "src/test/resources/perforce/annotatelog.txt" ); + + PerforceBlameConsumer consumer = new PerforceBlameConsumer( new DefaultLog() ); + + FileInputStream fis = new FileInputStream( testFile ); + BufferedReader in = new BufferedReader( new InputStreamReader( fis ) ); + String s = in.readLine(); + while ( s != null ) + { + consumer.consumeLine( s ); + s = in.readLine(); + } + + Assert.assertEquals( 2, consumer.getLines().size() ); + + BlameLine line1 = (BlameLine) consumer.getLines().get( 0 ); + Assert.assertEquals( "1", line1.getRevision() ); + + BlameLine line2 = (BlameLine) consumer.getLines().get( 1 ); + Assert.assertEquals( "2", line2.getRevision() ); + } + +} Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceBlameConsumerTest.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceBlameConsumerTest.java ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceBlameConsumerTest.java ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceFilelogConsumerTest.java URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceFilelogConsumerTest.java?rev=935354&view=auto ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceFilelogConsumerTest.java (added) +++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceFilelogConsumerTest.java Sun Apr 18 15:23:20 2010 @@ -0,0 +1,55 @@ +package org.apache.maven.scm.provider.perforce.command.blame; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import junit.framework.Assert; +import org.apache.maven.scm.ScmTestCase; +import org.apache.maven.scm.log.DefaultLog; + +import java.io.*; + +/** + * @author Evgeny Mandrikov + */ +public class PerforceFilelogConsumerTest + extends ScmTestCase +{ + + public void testParse() + throws IOException + { + File testFile = getTestFile( "src/test/resources/perforce/filelog.txt" ); + + PerforceFilelogConsumer consumer = new PerforceFilelogConsumer( new DefaultLog() ); + + FileInputStream fis = new FileInputStream( testFile ); + BufferedReader in = new BufferedReader( new InputStreamReader( fis ) ); + String s = in.readLine(); + while ( s != null ) + { + consumer.consumeLine( s ); + s = in.readLine(); + } + + Assert.assertEquals( "earl", consumer.getAuthor( "35" ) ); + Assert.assertEquals( "raj", consumer.getAuthor( "34" ) ); + } + +} Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceFilelogConsumerTest.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceFilelogConsumerTest.java ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/java/org/apache/maven/scm/provider/perforce/command/blame/PerforceFilelogConsumerTest.java ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/annotatelog.txt URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/annotatelog.txt?rev=935354&view=auto ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/annotatelog.txt (added) +++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/annotatelog.txt Sun Apr 18 15:23:20 2010 @@ -0,0 +1,2 @@ +1: This is a text file. +2: The second line is new. Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/annotatelog.txt ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/annotatelog.txt ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/annotatelog.txt ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/filelog.txt URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/filelog.txt?rev=935354&view=auto ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/filelog.txt (added) +++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/filelog.txt Sun Apr 18 15:23:20 2010 @@ -0,0 +1,4 @@ +//depot/dev/main/jam/jam.c +... #35 change 627 edit on 2001/11/13 by e...@earl-dev-yew (text) 'Handle platform variants better' +... #34 change 598 edit on 2001/10/24 by r...@raj-althea (text) 'Reverse previous attempt at fix' +... #33 change 581 edit on 2001/10/03 by g...@gale-jam-oak (text) 'Version strings & release notes' Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/filelog.txt ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/filelog.txt ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/test/resources/perforce/filelog.txt ------------------------------------------------------------------------------ svn:mime-type = text/plain