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>"master"</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+"$@"}
+: