You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ca...@apache.org on 2006/04/26 18:56:06 UTC
svn commit: r397235 -
/maven/sandbox/wagon-scm/src/main/java/org/apache/maven/wagon/providers/scm/ScmWagon.java
Author: carlos
Date: Wed Apr 26 09:56:03 2006
New Revision: 397235
URL: http://svn.apache.org/viewcvs?rev=397235&view=rev
Log:
Add files with paths relative to basedir
Modified:
maven/sandbox/wagon-scm/src/main/java/org/apache/maven/wagon/providers/scm/ScmWagon.java
Modified: maven/sandbox/wagon-scm/src/main/java/org/apache/maven/wagon/providers/scm/ScmWagon.java
URL: http://svn.apache.org/viewcvs/maven/sandbox/wagon-scm/src/main/java/org/apache/maven/wagon/providers/scm/ScmWagon.java?rev=397235&r1=397234&r2=397235&view=diff
==============================================================================
--- maven/sandbox/wagon-scm/src/main/java/org/apache/maven/wagon/providers/scm/ScmWagon.java (original)
+++ maven/sandbox/wagon-scm/src/main/java/org/apache/maven/wagon/providers/scm/ScmWagon.java Wed Apr 26 09:56:03 2006
@@ -16,6 +16,9 @@
* limitations under the License.
*/
+import java.io.File;
+import java.io.IOException;
+
import org.apache.maven.scm.ScmException;
import org.apache.maven.scm.ScmFileSet;
import org.apache.maven.scm.ScmResult;
@@ -37,9 +40,6 @@
import org.codehaus.plexus.util.FileUtils;
import org.codehaus.plexus.util.StringUtils;
-import java.io.File;
-import java.io.IOException;
-
/**
* @author <a href="brett@apache.org">Brett Porter</a>
* @author <a href="evenisse@apache.org">Emmanuel Venisse</a>
@@ -184,7 +184,7 @@
File basedir = scmFile.getParentFile();
- String msg = "Adding " + resourceName + " to repository";
+ String msg = "Wagon: Adding " + scmFile.getName() + " to repository";
ScmProvider scmProvider = scmManager.getProviderByRepository( scmRepository );
@@ -228,7 +228,7 @@
if ( !fileAlreadyInScm || scmFile.isDirectory() )
{
- int addedFiles = addFiles( scmProvider, scmRepository, basedir, scmFile );
+ int addedFiles = addFiles( scmProvider, scmRepository, basedir, scmFile.getName() );
if ( !fileAlreadyInScm && addedFiles == 0 )
{
throw new TransferFailedException( "Unable to add file to SCM: " + scmFile );
@@ -261,17 +261,21 @@
* Add a file or directory to a SCM repository.
* If it's a directory all its contents are added recursively.
*
+ * TODO this is less than optimal, SCM API should provide a way to add a directory recursively
+ *
* @param scmProvider SCM provider
* @param scmRepository SCM repository
* @param basedir local directory corresponding to scmRepository
- * @param scmFile file or directory to add
+ * @param scmFilePath path of the file or directory to add, relative to basedir
* @throws ScmException
* @return the number of files added.
*/
- private int addFiles( ScmProvider scmProvider, ScmRepository scmRepository, File basedir, File scmFile )
- throws ScmException
+ private int addFiles( ScmProvider scmProvider, ScmRepository scmRepository, File basedir, String scmFilePath )
+ throws ScmException, TransferFailedException
{
- AddScmResult result = scmProvider.add( scmRepository, new ScmFileSet( basedir, scmFile ) );
+ File scmFile = new File( basedir, scmFilePath );
+
+ AddScmResult result = scmProvider.add( scmRepository, new ScmFileSet( basedir, new File( scmFilePath ) ) );
int addedFiles = result.getAddedFiles().size();
@@ -285,7 +289,7 @@
{
if ( reservedScmFile != null && !reservedScmFile.equals( files[i].getName() ) )
{
- addedFiles += addFiles( scmProvider, scmRepository, basedir, files[i] );
+ addedFiles += addFiles( scmProvider, scmRepository, basedir, scmFilePath + "/" + files[i].getName() );
}
}
}