Thanks, Emmanuel.

I had to use `svn add *` before it actually checked in the items, which makes sense.

I guess what I'd really like to know is if this can be automated to perform SVN tasks any time I run a specific goal, such as install.

So running mvn install -Dmessage="This is a test"

Performs these actions:

automatically adds new files
automatically removes files that no longer exist
automatically commits changes to the SVN repository

Thanks again for your help,
Steven


On Aug 8, 2007, at 10:39 AM, Emmanuel Venisse wrote:



Steven Crosley a écrit :
I'm pretty new to Maven, but I've created some sample multi- project applications successfully in the last couple of weeks. I'm a bit stuck as to how SVN integration works. This is kind of a 2-part question.
1.) I've added the dependency in my top-level pom.xml like so:
<dependency>
   <groupId>org.apache.maven.scm</groupId>
   <artifactId>maven-scm-provider-svn</artifactId>
   <version>1.0-alpha-4</version>
</dependency>

You don't need to add this dependency if your code doesn't depends on it, the maven scm plugin already have it in its dependencies.

And I've added the scm element in the same pom.xml as well:
   <scm>
<connection>scm:svn:http://localhost:8080/svn/private/ sampleproject</connection> <developerConnection>scm:svn:https://localhost:8080/svn/ private/sampleproject</developerConnection>
     <url>http://localhost:8080/svn/private/sampleproject</url>
  </scm>
When I run it like this:
mvn scm:checkin -Dmessage="This is a test"
I get a successful build, but the svn executes a file command instead of sending it to my repository:
[INFO] [scm:checkin]
[INFO] Executing: svn --non-interactive commit --file /tmp/maven- scm-947054377.commit [INFO] Working directory: /Users/myuser/Documents/Projects/ sampleproject

The "--file" parameter is used to send to commit message, in your case, /tmp/maven-scm-947054377.commit contains "This is a test" Files committed are files in sub-directories of the working directory. The working directory must be a valid working copy of a specific trunk/branch/tag

2.) Ideally what I'd like to do is configure Maven to have multiple profiles based in releases, so that when i release a test build, it commits my changes to the correct SVN repository branch automatically. Would I have to build a plugin to do this? Or is it already possible? Any examples?

A working copy is a checkout of a unique branch, you can't commit a change to an other branch. If you want to work on an other branch, it's better to checkout the branch in an other directory or to switch the actual working copy to the new branch

Emmanuel


Reply via email to