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 st...@apache.org on 2009/12/28 11:13:42 UTC

svn commit: r894145 [1/2] - in /maven/scm/trunk/maven-scm-providers/maven-scm-providers-git: ./ maven-scm-provider-jgit/ maven-scm-provider-jgit/src/ maven-scm-provider-jgit/src/main/ maven-scm-provider-jgit/src/main/java/ maven-scm-provider-jgit/src/m...

Author: struberg
Date: Mon Dec 28 10:13:39 2009
New Revision: 894145

URL: http://svn.apache.org/viewvc?rev=894145&view=rev
Log:
[SCM-503] create a native Java GIT provider using JGit

Please note that we still have to wait for jgit-core to be released!
In the meantime, I commented out the jgit provider from the <modules>.
After eclipse released jgit-core, we can move on and release jgit-simple
(hosted on sonatype due to it's BSD license nature) and finally enable
this jgit provider for maven.

Added:
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/   (with props)
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/pom.xml   (with props)
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/JGitScmProvider.java   (with props)
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/JGitUtils.java   (with props)
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/add/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/add/JGitAddCommand.java   (with props)
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/changelog/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/changelog/JGitChangeLogCommand.java   (with props)
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/checkin/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommand.java   (with props)
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/checkout/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/checkout/JGitCheckOutCommand.java   (with props)
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/status/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/status/JGitStatusCommand.java   (with props)
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/tag/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/tag/JGitTagCommand.java   (with props)
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/changelog/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/changelog/JGitChangeLogCommandTckTest.java   (with props)
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/checkin/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommandTckTest.java   (with props)
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/checkout/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/checkout/JGitCheckOutCommandTckTest.java   (with props)
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/status/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/status/JGitStatusCommandTckTest.java   (with props)
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/tag/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/tag/JGitTagCommandTckTest.java   (with props)
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/HEAD
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/config
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/description
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/hooks/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/hooks/applypatch-msg
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/hooks/applypatch-msg.sample
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/hooks/commit-msg
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/hooks/commit-msg.sample
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/hooks/post-commit
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/hooks/post-commit.sample
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/hooks/post-receive
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/hooks/post-receive.sample
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/hooks/post-update
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/hooks/post-update.sample
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/hooks/pre-applypatch
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/hooks/pre-applypatch.sample
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/hooks/pre-commit
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/hooks/pre-commit.sample
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/hooks/pre-rebase
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/hooks/pre-rebase.sample
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/hooks/prepare-commit-msg.sample
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/hooks/update
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/hooks/update.sample
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/info/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/info/exclude
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/logs/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/logs/HEAD
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/logs/refs/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/logs/refs/heads/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/logs/refs/heads/master
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/logs/refs/remotes/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/logs/refs/remotes/origin/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/logs/refs/remotes/origin/master
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/objects/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/objects/17/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/objects/17/e953589369a48dcb0a0cbad084a76ef852cd11   (with props)
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/objects/1d/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/objects/1d/308c3b92eb0df9c0dc76436d50edfd0ca41d18   (with props)
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/objects/3b/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/objects/3b/459fa9451a94fc1acd10e2e29ab73d93eb816d   (with props)
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/objects/3b/d305c57c635aead10cf59f7c1dc51af03edaf7   (with props)
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/objects/3c/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/objects/3c/f7bb86c15554148bf5b0b12bfd639e54a77e58   (with props)
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/objects/61/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/objects/61/4a3fd04313593d67f4154855a06941046326b3   (with props)
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/objects/61/a0d22b023d6e31894d736cca8c1a47b6edd822   (with props)
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/objects/92/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/objects/92/09a983605d6e43e5cf841a1ea18a1914bb7407   (with props)
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/objects/92/f139dfec4d1dfb79c3cd2f94e83bf13129668b
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/objects/94/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/objects/94/d3d586e355f318d67e3da6bb16a91be7aad1a7   (with props)
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/objects/9e/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/objects/9e/131cfc732b0d9f42b9b712a528d0632d9bcca7   (with props)
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/objects/b5/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/objects/b5/3306f849b69ef0459ddf5cccff06b5fbb08c23   (with props)
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/objects/ba/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/objects/ba/a229a9193371fad604444f64c4f26f8ff702f3
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/objects/ba/cd4ee105073117b30e5dcdba5150373b6b53c6   (with props)
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/objects/c3/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/objects/c3/8b0351660113545db270ba6918cc22a9eb17ce   (with props)
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/objects/c5/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/objects/c5/1dcd33e7b71897603c203b5e0afc1d75f70051   (with props)
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/objects/dc/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/objects/dc/4204852765c12f398ef4a5fbcabf23cf17a183   (with props)
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/objects/f7/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/objects/f7/1429f9ff9214a546b438c611ae942c9cf5a49e   (with props)
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/objects/fd/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/objects/fd/39fa3de0f63bc5c78eca219e74e0a8531bd3e6   (with props)
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/objects/fe/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/objects/fe/a16119a5b4ec0562d4f65b4237314250773bf8   (with props)
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/refs/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/refs/heads/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/refs/heads/master
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/refs/remotes/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/refs/remotes/origin/
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/refs/remotes/origin/HEAD
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/refs/remotes/origin/master
Modified:
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/pom.xml

Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Mon Dec 28 10:13:39 2009
@@ -0,0 +1,9 @@
+target
+*.iml
+*.ipr
+*.iws
+.project
+.settings
+.classpath
+.git
+.gitignore

Added: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/pom.xml
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/pom.xml?rev=894145&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/pom.xml (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/pom.xml Mon Dec 28 10:13:39 2009
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~ http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.maven.scm</groupId>
+    <artifactId>maven-scm-providers-git</artifactId>
+    <version>1.3-SNAPSHOT</version>
+  </parent>
+
+  <artifactId>maven-scm-provider-jgit</artifactId>
+
+  <name>Maven SCM Git Provider - JGit Impl.</name>
+  <description>
+    JGIT implementation for SCM Git Provider.
+    see http://repo.or.cz/w/jgit.git
+  </description>
+
+  <dependencies>
+    <dependency>
+      <groupId>regexp</groupId>
+      <artifactId>regexp</artifactId>
+    </dependency>
+
+    <!-- Test -->
+    <dependency>
+      <groupId>org.apache.maven.scm</groupId>
+      <artifactId>maven-scm-provider-git-commons</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.scm</groupId>
+      <artifactId>maven-scm-provider-gittest</artifactId>
+      <scope>test</scope>
+    </dependency>
+    
+    <dependency>
+        <groupId>org.eclipse.jgit</groupId>
+        <artifactId>jgit-simple</artifactId>
+        <version>0.6.0-SNAPSHOT</version>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.codehaus.plexus</groupId>
+        <artifactId>plexus-maven-plugin</artifactId>
+        <executions>
+          <execution>
+            <goals>
+              <goal>descriptor</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <configuration>
+          <source>1.5</source>
+          <target>1.5</target>
+        </configuration>
+      </plugin>
+      
+    </plugins>
+  </build>
+  
+</project>

Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/pom.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/JGitScmProvider.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/JGitScmProvider.java?rev=894145&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/JGitScmProvider.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/JGitScmProvider.java Mon Dec 28 10:13:39 2009
@@ -0,0 +1,140 @@
+package org.apache.maven.scm.provider.git.jgit;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.scm.ScmException;
+import org.apache.maven.scm.ScmFileSet;
+import org.apache.maven.scm.provider.git.AbstractGitScmProvider;
+import org.apache.maven.scm.provider.git.command.GitCommand;
+import org.apache.maven.scm.provider.git.command.info.GitInfoItem;
+import org.apache.maven.scm.provider.git.command.info.GitInfoScmResult;
+import org.apache.maven.scm.provider.git.jgit.command.add.JGitAddCommand;
+import org.apache.maven.scm.provider.git.jgit.command.changelog.JGitChangeLogCommand;
+import org.apache.maven.scm.provider.git.jgit.command.checkin.JGitCheckInCommand;
+import org.apache.maven.scm.provider.git.jgit.command.checkout.JGitCheckOutCommand;
+import org.apache.maven.scm.provider.git.jgit.command.status.JGitStatusCommand;
+import org.apache.maven.scm.provider.git.jgit.command.tag.JGitTagCommand;
+import org.apache.maven.scm.repository.ScmRepositoryException;
+
+import java.io.File;
+
+/**
+ * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
+ * @version $Id$
+ * @plexus.component role="org.apache.maven.scm.provider.ScmProvider" role-hint="jgit"
+ */
+public class JGitScmProvider
+    extends AbstractGitScmProvider
+{
+    /** {@inheritDoc} */
+    protected GitCommand getAddCommand()
+    {
+        return new JGitAddCommand();
+    }
+
+    /** {@inheritDoc} */
+    protected GitCommand getBranchCommand()
+    {
+        return null;
+    }
+
+    /** {@inheritDoc} */
+    protected GitCommand getChangeLogCommand()
+    {
+        return new JGitChangeLogCommand();
+    }
+
+    /** {@inheritDoc} */
+    protected GitCommand getCheckInCommand()
+    {
+        return new JGitCheckInCommand();
+    }
+
+    /** {@inheritDoc} */
+    protected GitCommand getCheckOutCommand()
+    {
+        return new JGitCheckOutCommand();
+    }
+
+    /** {@inheritDoc} */
+    protected GitCommand getDiffCommand()
+    {
+        return null;
+    }
+
+    /** {@inheritDoc} */
+    protected GitCommand getExportCommand()
+    {
+        return null; //X TODO
+    }
+
+    /** {@inheritDoc} */
+    protected GitCommand getRemoveCommand()
+    {
+        return null;
+    }
+
+    /** {@inheritDoc} */
+    protected GitCommand getStatusCommand()
+    {
+        return new JGitStatusCommand();
+    }
+
+    /** {@inheritDoc} */
+    protected GitCommand getTagCommand()
+    {
+        return new JGitTagCommand();
+    }
+
+    /** {@inheritDoc} */
+    protected GitCommand getUpdateCommand()
+    {
+        return null;
+    }
+
+    /** {@inheritDoc} */
+    protected GitCommand getListCommand()
+    {
+        return null;
+    }
+
+    /** {@inheritDoc} */
+    public GitCommand getInfoCommand()
+    {
+        return null; //X TODO
+    }
+
+    /** {@inheritDoc} */
+    protected String getRepositoryURL( File path )
+        throws ScmException
+    {
+        // Note: I need to supply just 1 absolute path, but ScmFileSet won't let me without
+        // a basedir (which isn't used here anyway), so use a dummy file.
+        GitInfoScmResult result = info( null, new ScmFileSet( new File( "" ), path ), null );
+
+        if ( result.getInfoItems().size() != 1 )
+        {
+            throw new ScmRepositoryException( "Cannot find URL: "
+                + ( result.getInfoItems().size() == 0 ? "no" : "multiple" ) + " items returned by the info command" );
+        }
+
+        return ( (GitInfoItem) result.getInfoItems().get( 0 ) ).getURL();
+    }
+}

Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/JGitScmProvider.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/JGitScmProvider.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/JGitUtils.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/JGitUtils.java?rev=894145&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/JGitUtils.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/JGitUtils.java Mon Dec 28 10:13:39 2009
@@ -0,0 +1,204 @@
+package org.apache.maven.scm.provider.git.jgit.command;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.maven.scm.ScmBranch;
+import org.apache.maven.scm.ScmException;
+import org.apache.maven.scm.ScmFile;
+import org.apache.maven.scm.ScmFileSet;
+import org.apache.maven.scm.ScmFileStatus;
+import org.apache.maven.scm.ScmTag;
+import org.apache.maven.scm.ScmVersion;
+import org.apache.maven.scm.log.ScmLogger;
+import org.eclipse.jgit.lib.ProgressMonitor;
+import org.eclipse.jgit.lib.TextProgressMonitor;
+import org.eclipse.jgit.simple.SimpleRepository;
+import org.eclipse.jgit.simple.StatusEntry;
+import org.eclipse.jgit.simple.StatusEntry.IndexStatus;
+import org.eclipse.jgit.simple.StatusEntry.RepoStatus;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+
+/**
+ * JGit SimpleRepository utility functions.
+ *
+ * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
+ * @version $Id$
+ */
+public class JGitUtils
+{
+
+    /**
+     * Construct a logging ProgressMonitor for all JGit operations.
+     * @param logger
+     * @return a ProgressMonitor for use in {@code SimpleRepository}
+     */
+    public static ProgressMonitor getMonitor(ScmLogger logger) 
+    {
+        //X TODO write an own ProgressMonitor which logs to ScmLogger!
+        return new TextProgressMonitor();
+    }
+
+    
+    /**
+     * Translate a {@code FileStatus} in the matching {@code ScmFileStatus}.
+     * 
+     * @param status
+     * @return the matching ScmFileStatus
+     * @throws ScmException if the given Status cannot be translated
+     */
+    public static ScmFileStatus getScmFileStatus( StatusEntry status ) 
+    throws ScmException 
+    {
+        IndexStatus is = status.getIndexStatus();
+        RepoStatus  rs = status.getRepoStatus();
+        
+        if ( is.equals( IndexStatus.ADDED ) ) 
+        {
+            return ScmFileStatus.ADDED; 
+        }
+        else if ( is.equals( IndexStatus.UNCHANGED ) && rs.equals( RepoStatus.UNCHANGED ) ) 
+        {
+            return ScmFileStatus.CHECKED_IN; 
+        }
+        else if ( is.equals( IndexStatus.MODIFIED ) )
+        {
+            return ScmFileStatus.MODIFIED;
+        }
+        else if ( is.equals( IndexStatus.DELETED ) && rs.equals( RepoStatus.REMOVED ) )
+        {
+            return ScmFileStatus.DELETED;
+        }
+        else {
+            return ScmFileStatus.UNKNOWN;
+        }
+        
+        /*X 
+        switch (status) {
+            case UNMERGED:
+                return ScmFileStatus.CONFLICT;
+            case OTHER:
+                return ScmFileStatus.ADDED;
+            default:
+                 
+        }
+        */
+    }
+    
+    /**
+     * Get the branch name from the ScmVersion
+     * @param scmVersion
+     * @return branch name if the ScmVersion indicates a branch, with taking <code>&quot;master&quot;</code>
+     *         as default branch name. For tags <code>null</code> will be returned.
+     */
+    public static String getBranchName( ScmVersion scmVersion )
+    {
+        String branchName = "master";
+        
+        // we explicitly request branches, since tags will be handled differently in git
+        if (scmVersion instanceof ScmTag) {
+            return null;
+        }
+
+        if (scmVersion instanceof ScmBranch)
+        {
+            branchName = scmVersion.getName();
+        }
+        
+        return branchName;
+    }
+
+    /**
+     * get the tag name from the ScmVersion
+     * @param scmVersion
+     * @return tag name if the ScmVersion indicates a tag, <code>null</code> otherwise
+     */
+    public static String getTagName( ScmVersion scmVersion )
+    {
+        // we explicitly request branches, since tags will be handled differently in git
+        if (scmVersion instanceof ScmTag) {
+            return scmVersion.getName();
+        }
+
+        return null;
+    }
+
+    /**
+     * Add all files of the given fileSet to the SimpleRepository.
+     * This will make all relative paths be under the repositories base directory. 
+     * 
+     * @param srep
+     * @param fileSet
+     * @throws Exception
+     */
+    public static void addAllFiles( SimpleRepository srep, ScmFileSet fileSet ) 
+    throws Exception 
+    {
+        @SuppressWarnings("unchecked")
+        List<File> addFiles = fileSet.getFileList();
+        if ( addFiles != null )
+        {
+            for ( File addFile : addFiles )
+            {
+                if ( !addFile.isAbsolute() )
+                {
+                    addFile = new File( fileSet.getBasedir(), addFile.getPath() );
+                }
+                
+                srep.add( addFile, false );
+            }
+
+        }
+    }
+
+
+    /**
+     * Convert from List<StatusEntry> to List<ScmFile>
+     * @param statusEntries
+     * @param addUnknown if <code>false</code>, this function will not add files with 'unknown' status to the returned list 
+     * @return list with ScmFiles ready for use in ScmResult and other maven-scm APIs
+     * @throws ScmException 
+     */
+    public static List<ScmFile> getChangedFiles( List<StatusEntry> statusEntries, boolean addUnknown ) 
+    throws ScmException 
+    {
+        if ( statusEntries == null ) 
+        {
+            return null;
+        }
+        
+        List<ScmFile> changedFiles = new ArrayList<ScmFile>();
+        
+        for ( StatusEntry statusEntry : statusEntries ) 
+        {
+            ScmFileStatus status = getScmFileStatus( statusEntry );
+            if ( addUnknown || !status.equals( ScmFileStatus.UNKNOWN ) )
+            {
+                changedFiles.add( new ScmFile( statusEntry.getFilePath(), status ) );
+            }
+            
+        }
+        return changedFiles;
+    }
+
+}

Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/JGitUtils.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/JGitUtils.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/add/JGitAddCommand.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/add/JGitAddCommand.java?rev=894145&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/add/JGitAddCommand.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/add/JGitAddCommand.java Mon Dec 28 10:13:39 2009
@@ -0,0 +1,95 @@
+package org.apache.maven.scm.provider.git.jgit.command.add;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.scm.ScmException;
+import org.apache.maven.scm.ScmFile;
+import org.apache.maven.scm.ScmFileSet;
+import org.apache.maven.scm.ScmResult;
+import org.apache.maven.scm.command.add.AbstractAddCommand;
+import org.apache.maven.scm.command.add.AddScmResult;
+import org.apache.maven.scm.provider.ScmProviderRepository;
+import org.apache.maven.scm.provider.git.command.GitCommand;
+import org.apache.maven.scm.provider.git.jgit.command.JGitUtils;
+import org.apache.maven.scm.provider.git.repository.GitScmProviderRepository;
+import org.eclipse.jgit.simple.SimpleRepository;
+import org.eclipse.jgit.simple.StatusEntry;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
+ * @version $Id$
+ */
+public class JGitAddCommand
+    extends AbstractAddCommand
+    implements GitCommand
+{
+    /** {@inheritDoc} */
+    protected ScmResult executeAddCommand( ScmProviderRepository repo, ScmFileSet fileSet, String message,
+                                           boolean binary )
+        throws ScmException
+    {
+        GitScmProviderRepository repository = (GitScmProviderRepository) repo;
+
+        if ( fileSet.getFileList().isEmpty() )
+        {
+            throw new ScmException( "You must provide at least one file/directory to add" );
+        }
+        try
+        {
+            SimpleRepository srep = SimpleRepository.existing( fileSet.getBasedir() );
+            JGitUtils.addAllFiles( srep, fileSet );
+            
+            // git-add doesn't show single files, but only summary
+            // so we must run git-status
+            List<StatusEntry> entries = srep.status();
+
+            List<ScmFile> changedFiles = new ArrayList<ScmFile>();
+
+            // rewrite all detected files to now have status 'checked_in'
+            for ( StatusEntry entry : entries )
+            {
+                ScmFile scmfile = new ScmFile( entry.getFilePath(), JGitUtils.getScmFileStatus( entry ) );
+
+                // if a specific fileSet is given, we have to check if the file is really tracked
+                for ( Iterator<File> itfl = fileSet.getFileList().iterator(); itfl.hasNext(); )
+                {
+                    File f = (File) itfl.next();
+                    if ( f.toString().equals( scmfile.getPath() ) )
+                    {
+                        changedFiles.add( scmfile );
+                    }
+                }
+            }
+            return new AddScmResult( "JGit add", changedFiles );
+            
+        }
+        catch ( Exception e )
+        {
+            throw new ScmException("JGit add failure!", e );
+        }
+        
+    }
+
+}

Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/add/JGitAddCommand.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/add/JGitAddCommand.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/changelog/JGitChangeLogCommand.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/changelog/JGitChangeLogCommand.java?rev=894145&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/changelog/JGitChangeLogCommand.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/changelog/JGitChangeLogCommand.java Mon Dec 28 10:13:39 2009
@@ -0,0 +1,106 @@
+package org.apache.maven.scm.provider.git.jgit.command.changelog;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.scm.ScmBranch;
+import org.apache.maven.scm.ScmException;
+import org.apache.maven.scm.ScmFileSet;
+import org.apache.maven.scm.ScmVersion;
+import org.apache.maven.scm.command.changelog.AbstractChangeLogCommand;
+import org.apache.maven.scm.command.changelog.ChangeLogScmResult;
+import org.apache.maven.scm.command.changelog.ChangeLogSet;
+import org.apache.maven.scm.provider.ScmProviderRepository;
+import org.apache.maven.scm.provider.git.GitChangeSet;
+import org.apache.maven.scm.provider.git.command.GitCommand;
+import org.eclipse.jgit.simple.ChangeEntry;
+import org.eclipse.jgit.simple.SimpleRepository;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
+ * @version $Id$
+ */
+public class JGitChangeLogCommand
+    extends AbstractChangeLogCommand
+    implements GitCommand
+{
+    private static final String DATE_FORMAT = "yyyy-MM-dd HH:mm:ss Z";
+
+    /** {@inheritDoc} */
+    protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repo, ScmFileSet fileSet,
+                                                          ScmVersion startVersion, ScmVersion endVersion,
+                                                          String datePattern )
+        throws ScmException
+    {
+        return executeChangeLogCommand( repo, fileSet, null, null, null, datePattern, startVersion, endVersion );
+    }
+
+    /** {@inheritDoc} */
+    protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repo, ScmFileSet fileSet,
+                                                          Date startDate, Date endDate, ScmBranch branch,
+                                                          String datePattern )
+        throws ScmException
+    {
+        return executeChangeLogCommand( repo, fileSet, startDate, endDate, branch, datePattern, null, null );
+    }
+
+    protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repo, ScmFileSet fileSet,
+                                                          Date startDate, Date endDate, ScmBranch branch,
+                                                          String datePattern, ScmVersion startVersion,
+                                                          ScmVersion endVersion )
+        throws ScmException
+    {
+        try
+        {
+            SimpleRepository srep = SimpleRepository.existing( fileSet.getBasedir() );
+
+            List<GitChangeSet> modifications = new ArrayList<GitChangeSet>();
+            
+            String startRev = startVersion != null ? startVersion.getName() : null;
+            String endRev   = endVersion != null ? endVersion.getName() : null;
+            
+            List<ChangeEntry> gitChanges = srep.whatchanged( null, startRev, endRev, startDate, endDate, -1 );
+            
+            for ( ChangeEntry change : gitChanges ) {
+                GitChangeSet scmChange = new GitChangeSet();
+                
+                scmChange.setAuthor( change.getAuthorName() );
+                scmChange.setComment( change.getBody() );
+                scmChange.setDate( change.getAuthorDate() );
+                //X TODO scmChange.setFiles( change.get )
+                
+                modifications.add( scmChange );
+            }
+            
+            ChangeLogSet changeLogSet = new ChangeLogSet( modifications, startDate, endDate );
+            changeLogSet.setStartVersion( startVersion );
+            changeLogSet.setEndVersion( endVersion );
+            
+            return new ChangeLogScmResult( "JGit changelog", changeLogSet );
+        }
+        catch ( Exception e )
+        {
+            throw new ScmException( "JGit changelog failure!", e );
+        }
+    }
+}

Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/changelog/JGitChangeLogCommand.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/changelog/JGitChangeLogCommand.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommand.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommand.java?rev=894145&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommand.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommand.java Mon Dec 28 10:13:39 2009
@@ -0,0 +1,127 @@
+package org.apache.maven.scm.provider.git.jgit.command.checkin;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.scm.ScmException;
+import org.apache.maven.scm.ScmFile;
+import org.apache.maven.scm.ScmFileSet;
+import org.apache.maven.scm.ScmFileStatus;
+import org.apache.maven.scm.ScmVersion;
+import org.apache.maven.scm.command.checkin.AbstractCheckInCommand;
+import org.apache.maven.scm.command.checkin.CheckInScmResult;
+import org.apache.maven.scm.provider.ScmProviderRepository;
+import org.apache.maven.scm.provider.git.command.GitCommand;
+import org.apache.maven.scm.provider.git.jgit.command.JGitUtils;
+import org.apache.maven.scm.provider.git.repository.GitScmProviderRepository;
+import org.eclipse.jgit.simple.SimpleRepository;
+import org.eclipse.jgit.simple.StatusEntry;
+import org.eclipse.jgit.simple.StatusEntry.IndexStatus;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
+ * @version $Id$
+ */
+public class JGitCheckInCommand
+    extends AbstractCheckInCommand
+    implements GitCommand
+{
+    /** {@inheritDoc} */
+    protected CheckInScmResult executeCheckInCommand( ScmProviderRepository repo, ScmFileSet fileSet, String message,
+                                                      ScmVersion version )
+        throws ScmException
+    {
+        GitScmProviderRepository repository = (GitScmProviderRepository) repo;
+
+        try 
+        {
+            SimpleRepository srep = SimpleRepository.existing( fileSet.getBasedir() );
+    
+            String branch = JGitUtils.getBranchName( version );
+            if ( !fileSet.getFileList().isEmpty() )
+            {
+                JGitUtils.addAllFiles( srep, fileSet );
+            }
+            else
+            {
+                // add all tracked files which are modified manually
+                List<StatusEntry> entries = srep.status();
+                for ( StatusEntry s : entries )
+                {
+                    if ( s.getIndexStatus().equals( IndexStatus.MODIFIED ) )
+                    {
+                        srep.add( new File( fileSet.getBasedir(), s.getFilePath() ), false );
+                    }
+                }
+            }
+            
+            // now read the status of all files which will be committed finally
+            List<StatusEntry> entries = srep.status();
+            
+            srep.commit( null, null, message );
+            srep.push( JGitUtils.getMonitor( getLogger() ), "origin", branch );
+
+            List<ScmFile> checkedInFiles = new ArrayList<ScmFile>( entries.size() );
+    
+            // parse files to now have status 'checked_in'
+            for ( StatusEntry entry : entries )
+            {
+                ScmFileStatus scmStatus = JGitUtils.getScmFileStatus( entry );
+                if ( scmStatus.equals( ScmFileStatus.ADDED )  || 
+                     scmStatus.equals( ScmFileStatus.DELETED) || 
+                     scmStatus.equals( ScmFileStatus.CHECKED_IN ) ) 
+                {
+                    // files which were previously added or deleted now got checked_in!
+                    ScmFile scmfile = new ScmFile( entry.getFilePath(), ScmFileStatus.CHECKED_IN );
+        
+                    if ( fileSet.getFileList().isEmpty() )
+                    {
+                        checkedInFiles.add( scmfile );
+                    }
+                    else
+                    {
+                        // if a specific fileSet is given, we have to check if the file is really tracked
+                        for ( Iterator<File> itfl = fileSet.getFileList().iterator(); itfl.hasNext(); )
+                        {
+                            File f =  itfl.next();
+                            if ( f.toString().equals( scmfile.getPath() ) )
+                            {
+                                checkedInFiles.add( scmfile );
+                            }
+        
+                        }
+                    }
+                }
+            }
+    
+            return new CheckInScmResult( "JGit checkin", checkedInFiles );
+        }
+        catch ( Exception e )
+        {
+            throw new ScmException("JGit checkin failure!", e );
+        }
+    }
+
+
+}

Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommand.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommand.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/checkout/JGitCheckOutCommand.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/checkout/JGitCheckOutCommand.java?rev=894145&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/checkout/JGitCheckOutCommand.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/checkout/JGitCheckOutCommand.java Mon Dec 28 10:13:39 2009
@@ -0,0 +1,123 @@
+package org.apache.maven.scm.provider.git.jgit.command.checkout;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.scm.ScmException;
+import org.apache.maven.scm.ScmFile;
+import org.apache.maven.scm.ScmFileSet;
+import org.apache.maven.scm.ScmVersion;
+import org.apache.maven.scm.command.checkout.AbstractCheckOutCommand;
+import org.apache.maven.scm.command.checkout.CheckOutScmResult;
+import org.apache.maven.scm.provider.ScmProviderRepository;
+import org.apache.maven.scm.provider.git.command.GitCommand;
+import org.apache.maven.scm.provider.git.jgit.command.JGitUtils;
+import org.apache.maven.scm.provider.git.repository.GitScmProviderRepository;
+import org.eclipse.jgit.lib.ProgressMonitor;
+import org.eclipse.jgit.simple.SimpleRepository;
+import org.eclipse.jgit.simple.StatusEntry;
+import org.eclipse.jgit.transport.URIish;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
+ * @version $Id$
+ */
+public class JGitCheckOutCommand
+    extends AbstractCheckOutCommand
+    implements GitCommand
+{
+    /**
+     * For git, the given repository is a remote one.
+     * We have to clone it first if the working directory does not contain a git repo yet,
+     * otherwise we have to git-pull it.
+     *
+     * {@inheritDoc}
+     */
+    protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repo, ScmFileSet fileSet,
+                                                        ScmVersion version, boolean recursive )
+        throws ScmException
+    {
+        GitScmProviderRepository repository = (GitScmProviderRepository) repo;
+
+        if ( GitScmProviderRepository.PROTOCOL_FILE.equals( repository.getFetchInfo().getProtocol() )
+            && repository.getFetchInfo().getPath().indexOf( fileSet.getBasedir().getPath() ) >= 0 )
+        {
+            throw new ScmException( "remote repository must not be the working directory" );
+        }
+        
+        try {
+            
+            SimpleRepository srep;
+            ProgressMonitor monitor = JGitUtils.getMonitor( getLogger() );
+    
+            String branch = JGitUtils.getBranchName( version );
+            String tag    = JGitUtils.getTagName( version );
+            
+            if ( !fileSet.getBasedir().exists() || !( new File( fileSet.getBasedir(), ".git" ).exists() ) )
+            {
+                if ( fileSet.getBasedir().exists() )
+                {
+                    // git refuses to clone otherwise
+                    fileSet.getBasedir().delete();
+                }
+    
+                // no git repo seems to exist, let's clone the original repo
+                URIish uri = new URIish(repository.getFetchUrl());
+                srep = SimpleRepository.clone( fileSet.getBasedir(), "origin", uri, branch, tag, monitor );
+                
+                //X TODO I'm not sure if this workaround is really needed if clone would work ok
+                if ( tag != null ) {
+                    srep.checkout( monitor, branch, tag );
+                }
+            }
+            else
+            {
+                srep = SimpleRepository.existing( fileSet.getBasedir() );
+                
+                // switch branch if we currently are not on the proper one
+                if ( !branch.equals( srep.getBranch() ) )
+                {
+                    //X TODO have to check if this really switches the branch!
+                    srep.checkout( monitor, branch, null );
+                }
+                
+                URIish uri = new URIish(repository.getFetchUrl());
+                srep.pull( uri, branch ); 
+            }
+            
+            List<ScmFile> listedFiles = new ArrayList<ScmFile>();
+            List<StatusEntry> fileEntries = srep.status(true, false);
+            for (StatusEntry entry : fileEntries)
+            {
+                listedFiles.add( new ScmFile(entry.getFilePath(), JGitUtils.getScmFileStatus( entry ) ) );
+            }
+            
+            return new CheckOutScmResult("checkout via JGit", listedFiles );
+        }
+        catch (Exception e)
+        {
+            throw new ScmException( "JGit checkout failure!", e );
+        }
+    }
+
+}

Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/checkout/JGitCheckOutCommand.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/checkout/JGitCheckOutCommand.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/status/JGitStatusCommand.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/status/JGitStatusCommand.java?rev=894145&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/status/JGitStatusCommand.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/status/JGitStatusCommand.java Mon Dec 28 10:13:39 2009
@@ -0,0 +1,61 @@
+package org.apache.maven.scm.provider.git.jgit.command.status;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.util.List;
+
+import org.apache.maven.scm.ScmException;
+import org.apache.maven.scm.ScmFile;
+import org.apache.maven.scm.ScmFileSet;
+import org.apache.maven.scm.command.status.AbstractStatusCommand;
+import org.apache.maven.scm.command.status.StatusScmResult;
+import org.apache.maven.scm.provider.ScmProviderRepository;
+import org.apache.maven.scm.provider.git.command.GitCommand;
+import org.apache.maven.scm.provider.git.jgit.command.JGitUtils;
+import org.eclipse.jgit.simple.SimpleRepository;
+import org.eclipse.jgit.simple.StatusEntry;
+
+/**
+ * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
+ * @version $Id$
+ */
+public class JGitStatusCommand
+    extends AbstractStatusCommand
+    implements GitCommand
+{
+    /** {@inheritDoc} */
+    protected StatusScmResult executeStatusCommand( ScmProviderRepository repo, ScmFileSet fileSet )
+        throws ScmException
+    {
+        try 
+        {
+            SimpleRepository srep = SimpleRepository.existing( fileSet.getBasedir() );
+            
+            List<StatusEntry> entries = srep.status();
+            List<ScmFile> changedFiles = JGitUtils.getChangedFiles( entries, false );
+            
+            return new StatusScmResult( "JGit status", changedFiles );
+        }
+        catch ( Exception e )
+        {
+            throw new ScmException("JGit status failure!", e );
+        }
+    }
+}

Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/status/JGitStatusCommand.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/status/JGitStatusCommand.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/tag/JGitTagCommand.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/tag/JGitTagCommand.java?rev=894145&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/tag/JGitTagCommand.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/tag/JGitTagCommand.java Mon Dec 28 10:13:39 2009
@@ -0,0 +1,101 @@
+package org.apache.maven.scm.provider.git.jgit.command.tag;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.maven.scm.ScmException;
+import org.apache.maven.scm.ScmFile;
+import org.apache.maven.scm.ScmFileSet;
+import org.apache.maven.scm.ScmFileStatus;
+import org.apache.maven.scm.ScmResult;
+import org.apache.maven.scm.ScmTagParameters;
+import org.apache.maven.scm.command.tag.AbstractTagCommand;
+import org.apache.maven.scm.command.tag.TagScmResult;
+import org.apache.maven.scm.provider.ScmProviderRepository;
+import org.apache.maven.scm.provider.git.command.GitCommand;
+import org.apache.maven.scm.provider.git.repository.GitScmProviderRepository;
+import org.codehaus.plexus.util.StringUtils;
+import org.eclipse.jgit.simple.LsFileEntry;
+import org.eclipse.jgit.simple.SimpleRepository;
+
+/**
+ * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
+ * @version $Id $
+ */
+public class JGitTagCommand
+    extends AbstractTagCommand
+    implements GitCommand
+{
+    
+    public ScmResult executeTagCommand( ScmProviderRepository repo, ScmFileSet fileSet, String tag, String message )
+        throws ScmException
+    {
+        return executeTagCommand( repo, fileSet, tag, new ScmTagParameters( message ) );
+    }
+    
+    /** {@inheritDoc} */
+    public ScmResult executeTagCommand( ScmProviderRepository repo, ScmFileSet fileSet, String tag, ScmTagParameters scmTagParameters )
+        throws ScmException
+    {
+        if ( tag == null || StringUtils.isEmpty( tag.trim() ) )
+        {
+            throw new ScmException( "tag name must be specified" );
+        }
+
+        if ( !fileSet.getFileList().isEmpty() )
+        {
+            throw new ScmException( "This provider doesn't support tagging subsets of a directory" );
+        }
+
+        GitScmProviderRepository repository = (GitScmProviderRepository) repo;
+
+        try
+        {
+            SimpleRepository srep = SimpleRepository.existing( fileSet.getBasedir() );
+
+            // tag the revision 
+            String tagMessage = scmTagParameters.getMessage();
+            srep.tag( tag, tagMessage, null , false);
+
+            // and now push the tag to the origin repository
+            srep.push( null, null, "origin", null, null, false, true, null);
+            
+            // plus search for the tagged files
+            List<LsFileEntry> lsFiles = srep.lsFiles();
+
+            List<ScmFile> taggedFiles = new ArrayList<ScmFile>();
+
+            for (LsFileEntry fEntry : lsFiles ) {
+                taggedFiles.add( new ScmFile(fEntry.getFilePath(), ScmFileStatus.TAGGED) );
+            }
+            
+            
+            return new TagScmResult( "JGit tag", taggedFiles );
+        }
+        catch ( Exception e )
+        {
+            throw new ScmException( "JGit tag failure!", e );
+        }
+
+    }
+ 
+}

Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/tag/JGitTagCommand.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/tag/JGitTagCommand.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/changelog/JGitChangeLogCommandTckTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/changelog/JGitChangeLogCommandTckTest.java?rev=894145&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/changelog/JGitChangeLogCommandTckTest.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/changelog/JGitChangeLogCommandTckTest.java Mon Dec 28 10:13:39 2009
@@ -0,0 +1,37 @@
+package org.apache.maven.scm.provider.git.jgit.command.changelog;
+
+import org.apache.maven.scm.provider.git.GitScmTestUtils;
+import org.apache.maven.scm.provider.git.command.changelog.GitChangeLogCommandTckTest;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/**
+ * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
+ */
+public class JGitChangeLogCommandTckTest
+    extends GitChangeLogCommandTckTest
+{
+    /** {@inheritDoc} */
+    public String getScmUrl()
+        throws Exception
+    {
+        return GitScmTestUtils.getScmUrl( getRepositoryRoot(), "jgit" );
+    }
+}

Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/changelog/JGitChangeLogCommandTckTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/changelog/JGitChangeLogCommandTckTest.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommandTckTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommandTckTest.java?rev=894145&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommandTckTest.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommandTckTest.java Mon Dec 28 10:13:39 2009
@@ -0,0 +1,38 @@
+package org.apache.maven.scm.provider.git.jgit.command.checkin;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.scm.provider.git.GitScmTestUtils;
+import org.apache.maven.scm.provider.git.command.checkin.GitCheckInCommandTckTest;
+
+/**
+ * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
+ * @version $Id$
+ */
+public class JGitCheckInCommandTckTest
+    extends GitCheckInCommandTckTest
+{
+        /** {@inheritDoc} */
+        public String getScmUrl()
+            throws Exception
+        {
+            return GitScmTestUtils.getScmUrl( getRepositoryRoot(), "jgit" );
+        }
+}

Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommandTckTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommandTckTest.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/checkout/JGitCheckOutCommandTckTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/checkout/JGitCheckOutCommandTckTest.java?rev=894145&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/checkout/JGitCheckOutCommandTckTest.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/checkout/JGitCheckOutCommandTckTest.java Mon Dec 28 10:13:39 2009
@@ -0,0 +1,39 @@
+package org.apache.maven.scm.provider.git.jgit.command.checkout;
+
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.scm.provider.git.GitScmTestUtils;
+import org.apache.maven.scm.provider.git.command.checkout.GitCheckOutCommandTckTest;
+
+/**
+ * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
+ * @version $Id$
+ */
+public class JGitCheckOutCommandTckTest
+    extends GitCheckOutCommandTckTest
+{
+    /** {@inheritDoc} */
+    public String getScmUrl()
+        throws Exception
+    {
+        return GitScmTestUtils.getScmUrl( getRepositoryRoot(), "jgit" );
+    }
+}

Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/checkout/JGitCheckOutCommandTckTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/checkout/JGitCheckOutCommandTckTest.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/status/JGitStatusCommandTckTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/status/JGitStatusCommandTckTest.java?rev=894145&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/status/JGitStatusCommandTckTest.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/status/JGitStatusCommandTckTest.java Mon Dec 28 10:13:39 2009
@@ -0,0 +1,38 @@
+package org.apache.maven.scm.provider.git.jgit.command.status;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.scm.provider.git.GitScmTestUtils;
+import org.apache.maven.scm.provider.git.command.status.GitStatusCommandTckTest;
+
+/**
+ * @author <a href="mailto:struberg@yahoo.de">Mark Strubergr</a>
+ * @version $Id$
+ */
+public class JGitStatusCommandTckTest
+    extends GitStatusCommandTckTest
+{
+        /** {@inheritDoc} */
+        public String getScmUrl()
+            throws Exception
+        {
+            return GitScmTestUtils.getScmUrl( getRepositoryRoot(), "jgit" );
+        }
+}

Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/status/JGitStatusCommandTckTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/status/JGitStatusCommandTckTest.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/tag/JGitTagCommandTckTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/tag/JGitTagCommandTckTest.java?rev=894145&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/tag/JGitTagCommandTckTest.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/tag/JGitTagCommandTckTest.java Mon Dec 28 10:13:39 2009
@@ -0,0 +1,40 @@
+package org.apache.maven.scm.provider.git.jgit.command.tag;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.scm.provider.git.GitScmTestUtils;
+import org.apache.maven.scm.provider.git.command.tag.GitTagCommandTckTest;
+
+/**
+ * This test tests the tag command.
+ *
+ * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
+ * @version $Id$
+ */
+public class JGitTagCommandTckTest
+    extends GitTagCommandTckTest
+{
+        /** {@inheritDoc} */
+        public String getScmUrl()
+            throws Exception
+        {
+            return GitScmTestUtils.getScmUrl( getRepositoryRoot(), "jgit" );
+        }
+}

Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/tag/JGitTagCommandTckTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/tag/JGitTagCommandTckTest.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/HEAD
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/HEAD?rev=894145&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/HEAD (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/HEAD Mon Dec 28 10:13:39 2009
@@ -0,0 +1 @@
+ref: refs/heads/master

Added: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/config
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/config?rev=894145&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/config (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/config Mon Dec 28 10:13:39 2009
@@ -0,0 +1,4 @@
+[core]
+	repositoryformatversion = 0
+	filemode = true
+	bare = true

Added: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/description
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/description?rev=894145&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/description (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/description Mon Dec 28 10:13:39 2009
@@ -0,0 +1 @@
+Unnamed repository; edit this file to name it for gitweb.

Added: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/hooks/applypatch-msg
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/hooks/applypatch-msg?rev=894145&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/hooks/applypatch-msg (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repository/hooks/applypatch-msg Mon Dec 28 10:13:39 2009
@@ -0,0 +1,15 @@
+#!/bin/sh
+#
+# An example hook script to check the commit log message taken by
+# applypatch from an e-mail message.
+#
+# The hook should exit with non-zero status after issuing an
+# appropriate message if it wants to stop the commit.  The hook is
+# allowed to edit the commit message file.
+#
+# To enable this hook, make this file executable.
+
+. git-sh-setup
+test -x "$GIT_DIR/hooks/commit-msg" &&
+	exec "$GIT_DIR/hooks/commit-msg" ${1+"$@"}
+: