You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm-commits@maven.apache.org by mp...@apache.org on 2006/08/15 05:51:11 UTC
svn commit: r431520 - in
/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce:
PerforceScmProvider.java command/tag/PerforceTagCommand.java
Author: mperham
Date: Mon Aug 14 20:51:11 2006
New Revision: 431520
URL: http://svn.apache.org/viewvc?rev=431520&view=rev
Log:
PR: SCM-226
Lock any created tag by default. This is the desired behavior with the release plugin.
Use "-Dmaven.scm.locktag=false" to disable locking.
Modified:
maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/PerforceScmProvider.java
maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/tag/PerforceTagCommand.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=431520&r1=431519&r2=431520&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 Mon Aug 14 20:51:11 2006
@@ -388,6 +388,8 @@
private static String getUsername( PerforceScmProviderRepository repo )
{
+ // TODO Need to use PeforceInfoCommand here.
+ // os user != perforce user
String username = repo.getUser();
if ( username == null )
{
Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/tag/PerforceTagCommand.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/tag/PerforceTagCommand.java?rev=431520&r1=431519&r2=431520&view=diff
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/tag/PerforceTagCommand.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/command/tag/PerforceTagCommand.java Mon Aug 14 20:51:11 2006
@@ -51,11 +51,20 @@
throws ScmException
{
PerforceTagConsumer consumer = new PerforceTagConsumer();
- createLabel( repo, files, tag, consumer );
+ createLabel( repo, files, tag, consumer, false );
if ( consumer.isSuccess() )
{
syncLabel( repo, files, tag, consumer );
}
+ if ( consumer.isSuccess() )
+ {
+ // Now update the label if we need to lock it
+ if ( shouldLock() )
+ {
+ consumer = new PerforceTagConsumer();
+ createLabel( repo, files, tag, consumer, true );
+ }
+ }
if ( consumer.isSuccess() )
{
@@ -69,6 +78,11 @@
}
}
+ private boolean shouldLock()
+ {
+ return Boolean.getBoolean( System.getProperty( "maven.scm.locktag", "true" ) );
+ }
+
private void syncLabel( ScmProviderRepository repo, ScmFileSet files, String tag, PerforceTagConsumer consumer )
{
Commandline cl =
@@ -95,7 +109,7 @@
}
}
- private void createLabel( ScmProviderRepository repo, ScmFileSet files, String tag, PerforceTagConsumer consumer )
+ private void createLabel( ScmProviderRepository repo, ScmFileSet files, String tag, PerforceTagConsumer consumer, boolean lock )
{
Commandline cl = createLabelCommandLine( (PerforceScmProviderRepository) repo, files.getBasedir() );
try
@@ -104,7 +118,7 @@
Process proc = cl.execute();
OutputStream out = proc.getOutputStream();
DataOutputStream dos = new DataOutputStream( out );
- String label = createLabelSpecification( (PerforceScmProviderRepository) repo, tag );
+ String label = createLabelSpecification( (PerforceScmProviderRepository) repo, tag, lock );
dos.write( label.getBytes() );
dos.close();
out.close();
@@ -160,7 +174,7 @@
* View: //depot/path/to/repos/...
* Owner: mperham
*/
- public String createLabelSpecification( PerforceScmProviderRepository repo, String tag )
+ public String createLabelSpecification( PerforceScmProviderRepository repo, String tag, boolean lock )
{
StringBuffer buf = new StringBuffer();
buf.append( "Label: " ).append( tag ).append( NEWLINE );
@@ -173,6 +187,7 @@
username = PerforceInfoCommand.getInfo( this, repo ).getEntry( "User name" );
}
buf.append( "Owner: " ).append( username ).append( NEWLINE );
+ buf.append( "Options: " ).append( lock ? "" : "un" ).append( "locked" ).append( NEWLINE );
return buf.toString();
}
}