|
[
Permlink
| « Hide
]
Dominik Winter added a comment - 12/Jul/06 03:47 PM
POM patch
New files; contains the git provider updated for version 1.0-SNAPSHOT
patch from 2006-04-06 is obsolete
Attachment update1.patch.bz2 is an update of Dominik's patch to work with current versions of git (1.5.3.4) and scm (1.1-SNAPSHOT).
Hi!
Please also take a look at my implementation web-git at http://ns1.backwork.net/git/ It is very similar to the existing scm providers like SVN and CVS, so it is split in git-commons, gittest and gitexe submodules. It also can be extended by a gitjava module using egit very easily in the future. It includes and successfully passes TCK tests and has been tested on Linux using git 1.5.3.3 and 1.5.3.4. Mark, unfortunately your provider doesn't work on Windows, or alt least it is failing for me on clone command with the error 'git-clone' is not recognized as an internal or external command, operable program or batch file.
On windows you can't run shell scripts like that and have to run them trough the shell (e.g. using "bash git-clone" command, or run it using "git clone" instead). I've tried to replace "-" with " " in those commands and it seem fixed issue on Windows. I've committed this to trunk.
I'm having some issues getting this provider to work sadly. So far I've tried this:
1. git cloning http://ns1.backwork.net/git/maven-scm-providers-git.git Can anyone give my some pointers to what I'm doing wrong. I'm a big fan of git and really wants to get this maven provider working. Thanks in advance! The full way to get it up and running is a bit complicated, since if you like to use the git provider for releasing, no snapshot has to be in your pom.
You could either build the whole maven2 project from source, or only the scm parts. Probably the most easiest way is to make a 'private' release of the whole maven-scm-plugin (I used the extension 'msx-1') and the maven-release-plugin. It is important that those versions are no SNAPSHOTS (otherwise the release will fail). Then use it as: <plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-plugin</artifactId>
<version>1.1-msx-1</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-provider-gitexe</artifactId>
<version>1.1-msx-1</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.0-beta-8-msx-1</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-plugin</artifactId>
<version>1.1-msx-1</version>
</dependency>
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-api</artifactId>
<version>1.1-msx-1</version>
</dependency>
</dependencies>
</plugin>
</plugins>
This is mainly a workaround for testing the scm provider with released maven versions (I tested with 2.0.4, 2.0.8 and SNAPSHOT) For those that can't wait, I branched trunk and created a 1.1-db-1 release of the git provider, which works like a charm. No need to fork any of the maven plugins. For more information, see http://www.jroller.com/mrdon/entry/maven_enabled_project_hosting_with
Can this branch replace the current git provider in trunk ?
Don, you don't really need to branch, fork or release plugin in order to pass by release plugin restrictions. You just need to lock snapshot version, e.g. 1.1-20080622.233710-32 from Sonatype repository at http://repository.sonatype.org/content/repositories/maven.snapshots/
Also, I think it would worth to first ask in the Maven developers list about scm release instead of screwing with the community. How, in any way, is this screwing with the community? First of all, having a separate version of the scm 1.1 provider prevents you from having to modify the release plugin in order to pull in the scm plugin, and second, the code works so why not have a tagged release today for those of us that don't want to wait for Maven 1.1?
Open Source is about the freedom to be able to scratch your itch and share the solution with others; not about some ivory tower club dictating what the masses use. My branch is freely available in the Maven sandbox, so if you see something you'd like to merge back or even contribute, please feel free. Don, please read my comment. You don't need to release, just lock the version. And again, if it works, why didn't you ask for release in the Maven dev list?
Eugene, are you and Jason cleaning the snapshot repo at sonatype on a regular basis, or will the snapshot remain there 'forever'?
(I ask this, because in our company I do clean our snapshot repo every month to ensure that nobody is using snapshot versions in production). There are many roads leading to Rome, and I have to admit that the most important part in this discussion (at least for me as author) is to hear that the plugin is useful for the community and it now works out of the box for many people. So, I'm not screwed but rather happy to hear that Don succeed using it. Plus: the more attraction it gets, the more people will try using git with maven since there is no showstopper in this scenario anymore! I will ask for the status and plans for scm-1.1 in the scm dev list. As the branch in the sandbox looks to works.
We can merge it to trunk. Objections ? |
|||||||||||||||||||||||||||||||||||||||||||||||||||||