jira.codehaus.org

  • Log In Access more options
    • Online Help
    • Keyboard Shortcuts
    • About JIRA
    • JIRA Credits
    • What?s New
  • Dashboards Access more options (Alt+d)
  • Projects Access more options (Alt+p)
  • Issues Access more options (Alt+i)
Signup
Maven SCM
  • Maven SCM
  • SCM-182

git provider

  • Log In
  • Views
    • XML
    • Word
    • Printable

Details

  • Type: New Feature New Feature
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: None
  • Fix Version/s: 1.1
  • Component/s: maven-scm-provider-git
  • Labels:
    None
  • Environment:
    Developed on Mac OS X 10.3.9 with git 1.2.4
  • Complexity:
    Intermediate
  • Testcase included:
    yes
  • Number of attachments :
    4

Description

Please find the git provider as attachment.

Usefulness:
I used the git provider together with [http://maven.apache.org/plugins/maven-release-plugin|maven-release-plugin], it works fine for that use case.

Open issues:

  • the JUnit tests are "proprietary", not yet TCK. I'll fix that.

If you want to run the tests, you must have git installed and it must be in your PATH.

To run git:

  • on Windows: use Cygwin and install the binutils, openssh, openssl, rsync, curl
    than you are able to compile and install git
  • on Linux: there are packages somewhere
  • on Mac OS X: use the DarwinPorts
  • Options
    • Sort By Name
    • Sort By Date
    • Ascending
    • Descending
    • Download All

Attachments

  1. Text File
    git.patch
    06/Apr/06 2:21 PM
    102 kB
    Dominik Winter
  2. File
    git.tar.bz2
    12/Jul/06 3:48 PM
    15 kB
    Dominik Winter
  3. Text File
    SCM-182.patch
    12/Jul/06 3:47 PM
    0.6 kB
    Dominik Winter
  4. File
    update1.patch.bz2
    20/Oct/07 5:38 AM
    11 kB
    Heinrich Nirschl

Activity

Ascending order - Click to sort in descending order
  • All
  • Comments
  • Work Log
  • History
  • Activity
Hide
Permalink
Dominik Winter added a comment - 12/Jul/06 3:47 PM

POM patch

Show
Dominik Winter added a comment - 12/Jul/06 3:47 PM POM patch
Hide
Permalink
Dominik Winter added a comment - 12/Jul/06 3:48 PM

New files; contains the git provider updated for version 1.0-SNAPSHOT

Show
Dominik Winter added a comment - 12/Jul/06 3:48 PM New files; contains the git provider updated for version 1.0-SNAPSHOT
Hide
Permalink
Dominik Winter added a comment - 12/Jul/06 3:50 PM

patch from 2006-04-06 is obsolete

Show
Dominik Winter added a comment - 12/Jul/06 3:50 PM patch from 2006-04-06 is obsolete
Hide
Permalink
Heinrich Nirschl added a comment - 20/Oct/07 5:38 AM - edited

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).

Show
Heinrich Nirschl added a comment - 20/Oct/07 5:38 AM - edited 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).
Hide
Permalink
Mark Struberg added a comment - 13/Dec/07 7:43 AM

Hi!

Please also take a look at my implementation

web-git at http://ns1.backwork.net/git/
or
git-clone http://ns1.backwork.net/git/maven-scm-providers-git.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.

Show
Mark Struberg added a comment - 13/Dec/07 7:43 AM Hi! Please also take a look at my implementation web-git at http://ns1.backwork.net/git/ or git-clone http://ns1.backwork.net/git/maven-scm-providers-git.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.
Hide
Permalink
Eugene Kuleshov added a comment - 05/Apr/08 12:04 AM - edited

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.

Show
Eugene Kuleshov added a comment - 05/Apr/08 12:04 AM - edited 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.
Hide
Permalink
Jason van Zyl added a comment - 05/Apr/08 4:56 PM

I've committed this to trunk.

Show
Jason van Zyl added a comment - 05/Apr/08 4:56 PM I've committed this to trunk.
Hide
Permalink
Torbjørn Vatn added a comment - 20/Jun/08 1:01 AM

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 and running mvn clean install
2. vim'ing into .m2/repository/org/apache/maven/scm/maven-scm-providers/1.0/maven-scm-providers-1.0.pom and adding <module>maven-scm-providers-git</module> in the modules section of the file.
3. Adding this to my projects pom.xml:
<scm>
<connection>scm:git:git://github.com/torbjornvatn/fitnesse-pom-widget.git</connection>
<url>scm:git:git://github.com/torbjornvatn/fitnesse-pom-widget.git</url>
</scm>
4. running scm:status only gives my the error message:
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Cannot run status command :
Embedded error: Can't load the scm provider.
No such provider: '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!

Show
Torbjørn Vatn added a comment - 20/Jun/08 1:01 AM 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 and running mvn clean install 2. vim'ing into .m2/repository/org/apache/maven/scm/maven-scm-providers/1.0/maven-scm-providers-1.0.pom and adding <module>maven-scm-providers-git</module> in the modules section of the file. 3. Adding this to my projects pom.xml: <scm> <connection>scm:git:git://github.com/torbjornvatn/fitnesse-pom-widget.git</connection> <url>scm:git:git://github.com/torbjornvatn/fitnesse-pom-widget.git</url> </scm> 4. running scm:status only gives my the error message: [ERROR] BUILD ERROR [INFO] ------------------------------------------------------------------------ [INFO] Cannot run status command : Embedded error: Can't load the scm provider. No such provider: '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!
Hide
Permalink
Mark Struberg added a comment - 20/Jun/08 3:02 AM

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)
And we will get rid of all this pain if 1.1 is finally released soon.

Show
Mark Struberg added a comment - 20/Jun/08 3:02 AM 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) And we will get rid of all this pain if 1.1 is finally released soon.
Hide
Permalink
Don Brown added a comment - 28/Jul/08 3:39 AM

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

Show
Don Brown added a comment - 28/Jul/08 3:39 AM 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
Hide
Permalink
Olivier Lamy added a comment - 28/Jul/08 4:15 AM

Can this branch replace the current git provider in trunk ?

Show
Olivier Lamy added a comment - 28/Jul/08 4:15 AM Can this branch replace the current git provider in trunk ?
Hide
Permalink
Don Brown added a comment - 28/Jul/08 4:21 AM

All I did was branch the git provider in trunk so that I could release it against scm 1.0. Therefore, whenever scm 1.1 is released and included in a Maven release, this branch will no longer be necessary.

Show
Don Brown added a comment - 28/Jul/08 4:21 AM All I did was branch the git provider in trunk so that I could release it against scm 1.0. Therefore, whenever scm 1.1 is released and included in a Maven release, this branch will no longer be necessary.
Hide
Permalink
Eugene Kuleshov added a comment - 28/Jul/08 8:22 AM

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.

Show
Eugene Kuleshov added a comment - 28/Jul/08 8:22 AM 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.
Hide
Permalink
Don Brown added a comment - 28/Jul/08 8:34 AM

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.

Show
Don Brown added a comment - 28/Jul/08 8:34 AM 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.
Hide
Permalink
Eugene Kuleshov added a comment - 28/Jul/08 8:59 AM

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?

Show
Eugene Kuleshov added a comment - 28/Jul/08 8:59 AM 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?
Hide
Permalink
Mark Struberg added a comment - 29/Jul/08 3:55 AM

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.

Show
Mark Struberg added a comment - 29/Jul/08 3:55 AM 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.
Hide
Permalink
Olivier Lamy added a comment - 05/Aug/08 2:52 PM

As the branch in the sandbox looks to works.
We can merge it to trunk.
Objections ?

Show
Olivier Lamy added a comment - 05/Aug/08 2:52 PM As the branch in the sandbox looks to works. We can merge it to trunk. Objections ?
Hide
Permalink
Olivier Lamy added a comment - 06/Aug/08 6:54 PM

ok no merge needed.

Show
Olivier Lamy added a comment - 06/Aug/08 6:54 PM ok no merge needed.

People

  • Assignee:
    Olivier Lamy
    Reporter:
    Dominik Winter
Vote (5)
Watch (12)

Dates

  • Created:
    06/Apr/06 2:21 PM
    Updated:
    06/Aug/08 6:54 PM
    Resolved:
    06/Aug/08 6:54 PM
  • Atlassian JIRA (v5.2.7#850-sha1:b2af0c8)
  • Report a problem
  • Powered by a free Atlassian JIRA open source license for Codehaus. Try JIRA - bug tracking software for your team.