You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by im...@apache.org on 2014/07/20 13:57:06 UTC

[1/7] add test repositories to test MRELEASE-875

Repository: maven-scm
Updated Branches:
  refs/heads/MRELEASE-875 [created] b8472f848


http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/hooks/pre-rebase.sample
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/hooks/pre-rebase.sample b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/hooks/pre-rebase.sample
new file mode 100755
index 0000000..9773ed4
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/hooks/pre-rebase.sample
@@ -0,0 +1,169 @@
+#!/bin/sh
+#
+# Copyright (c) 2006, 2008 Junio C Hamano
+#
+# The "pre-rebase" hook is run just before "git rebase" starts doing
+# its job, and can prevent the command from running by exiting with
+# non-zero status.
+#
+# The hook is called with the following parameters:
+#
+# $1 -- the upstream the series was forked from.
+# $2 -- the branch being rebased (or empty when rebasing the current branch).
+#
+# This sample shows how to prevent topic branches that are already
+# merged to 'next' branch from getting rebased, because allowing it
+# would result in rebasing already published history.
+
+publish=next
+basebranch="$1"
+if test "$#" = 2
+then
+	topic="refs/heads/$2"
+else
+	topic=`git symbolic-ref HEAD` ||
+	exit 0 ;# we do not interrupt rebasing detached HEAD
+fi
+
+case "$topic" in
+refs/heads/??/*)
+	;;
+*)
+	exit 0 ;# we do not interrupt others.
+	;;
+esac
+
+# Now we are dealing with a topic branch being rebased
+# on top of master.  Is it OK to rebase it?
+
+# Does the topic really exist?
+git show-ref -q "$topic" || {
+	echo >&2 "No such branch $topic"
+	exit 1
+}
+
+# Is topic fully merged to master?
+not_in_master=`git rev-list --pretty=oneline ^master "$topic"`
+if test -z "$not_in_master"
+then
+	echo >&2 "$topic is fully merged to master; better remove it."
+	exit 1 ;# we could allow it, but there is no point.
+fi
+
+# Is topic ever merged to next?  If so you should not be rebasing it.
+only_next_1=`git rev-list ^master "^$topic" ${publish} | sort`
+only_next_2=`git rev-list ^master           ${publish} | sort`
+if test "$only_next_1" = "$only_next_2"
+then
+	not_in_topic=`git rev-list "^$topic" master`
+	if test -z "$not_in_topic"
+	then
+		echo >&2 "$topic is already up-to-date with master"
+		exit 1 ;# we could allow it, but there is no point.
+	else
+		exit 0
+	fi
+else
+	not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"`
+	/usr/bin/perl -e '
+		my $topic = $ARGV[0];
+		my $msg = "* $topic has commits already merged to public branch:\n";
+		my (%not_in_next) = map {
+			/^([0-9a-f]+) /;
+			($1 => 1);
+		} split(/\n/, $ARGV[1]);
+		for my $elem (map {
+				/^([0-9a-f]+) (.*)$/;
+				[$1 => $2];
+			} split(/\n/, $ARGV[2])) {
+			if (!exists $not_in_next{$elem->[0]}) {
+				if ($msg) {
+					print STDERR $msg;
+					undef $msg;
+				}
+				print STDERR " $elem->[1]\n";
+			}
+		}
+	' "$topic" "$not_in_next" "$not_in_master"
+	exit 1
+fi
+
+exit 0
+
+################################################################
+
+This sample hook safeguards topic branches that have been
+published from being rewound.
+
+The workflow assumed here is:
+
+ * Once a topic branch forks from "master", "master" is never
+   merged into it again (either directly or indirectly).
+
+ * Once a topic branch is fully cooked and merged into "master",
+   it is deleted.  If you need to build on top of it to correct
+   earlier mistakes, a new topic branch is created by forking at
+   the tip of the "master".  This is not strictly necessary, but
+   it makes it easier to keep your history simple.
+
+ * Whenever you need to test or publish your changes to topic
+   branches, merge them into "next" branch.
+
+The script, being an example, hardcodes the publish branch name
+to be "next", but it is trivial to make it configurable via
+$GIT_DIR/config mechanism.
+
+With this workflow, you would want to know:
+
+(1) ... if a topic branch has ever been merged to "next".  Young
+    topic branches can have stupid mistakes you would rather
+    clean up before publishing, and things that have not been
+    merged into other branches can be easily rebased without
+    affecting other people.  But once it is published, you would
+    not want to rewind it.
+
+(2) ... if a topic branch has been fully merged to "master".
+    Then you can delete it.  More importantly, you should not
+    build on top of it -- other people may already want to
+    change things related to the topic as patches against your
+    "master", so if you need further changes, it is better to
+    fork the topic (perhaps with the same name) afresh from the
+    tip of "master".
+
+Let's look at this example:
+
+		   o---o---o---o---o---o---o---o---o---o "next"
+		  /       /           /           /
+		 /   a---a---b A     /           /
+		/   /               /           /
+	       /   /   c---c---c---c B         /
+	      /   /   /             \         /
+	     /   /   /   b---b C     \       /
+	    /   /   /   /             \     /
+    ---o---o---o---o---o---o---o---o---o---o---o "master"
+
+
+A, B and C are topic branches.
+
+ * A has one fix since it was merged up to "next".
+
+ * B has finished.  It has been fully merged up to "master" and "next",
+   and is ready to be deleted.
+
+ * C has not merged to "next" at all.
+
+We would want to allow C to be rebased, refuse A, and encourage
+B to be deleted.
+
+To compute (1):
+
+	git rev-list ^master ^topic next
+	git rev-list ^master        next
+
+	if these match, topic has not merged in next at all.
+
+To compute (2):
+
+	git rev-list master..topic
+
+	if this is empty, it is fully merged to "master".

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/hooks/prepare-commit-msg.sample
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/hooks/prepare-commit-msg.sample b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/hooks/prepare-commit-msg.sample
new file mode 100755
index 0000000..f093a02
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/hooks/prepare-commit-msg.sample
@@ -0,0 +1,36 @@
+#!/bin/sh
+#
+# An example hook script to prepare the commit log message.
+# Called by "git commit" with the name of the file that has the
+# commit message, followed by the description of the commit
+# message's source.  The hook's purpose is to edit the commit
+# message file.  If the hook fails with a non-zero status,
+# the commit is aborted.
+#
+# To enable this hook, rename this file to "prepare-commit-msg".
+
+# This hook includes three examples.  The first comments out the
+# "Conflicts:" part of a merge commit.
+#
+# The second includes the output of "git diff --name-status -r"
+# into the message, just before the "git status" output.  It is
+# commented because it doesn't cope with --amend or with squashed
+# commits.
+#
+# The third example adds a Signed-off-by line to the message, that can
+# still be edited.  This is rarely a good idea.
+
+case "$2,$3" in
+  merge,)
+    /usr/bin/perl -i.bak -ne 's/^/# /, s/^# #/#/ if /^Conflicts/ .. /#/; print' "$1" ;;
+
+# ,|template,)
+#   /usr/bin/perl -i.bak -pe '
+#      print "\n" . `git diff --cached --name-status -r`
+#	 if /^#/ && $first++ == 0' "$1" ;;
+
+  *) ;;
+esac
+
+# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
+# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/hooks/update.sample
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/hooks/update.sample b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/hooks/update.sample
new file mode 100755
index 0000000..d847583
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/hooks/update.sample
@@ -0,0 +1,128 @@
+#!/bin/sh
+#
+# An example hook script to blocks unannotated tags from entering.
+# Called by "git receive-pack" with arguments: refname sha1-old sha1-new
+#
+# To enable this hook, rename this file to "update".
+#
+# Config
+# ------
+# hooks.allowunannotated
+#   This boolean sets whether unannotated tags will be allowed into the
+#   repository.  By default they won't be.
+# hooks.allowdeletetag
+#   This boolean sets whether deleting tags will be allowed in the
+#   repository.  By default they won't be.
+# hooks.allowmodifytag
+#   This boolean sets whether a tag may be modified after creation. By default
+#   it won't be.
+# hooks.allowdeletebranch
+#   This boolean sets whether deleting branches will be allowed in the
+#   repository.  By default they won't be.
+# hooks.denycreatebranch
+#   This boolean sets whether remotely creating branches will be denied
+#   in the repository.  By default this is allowed.
+#
+
+# --- Command line
+refname="$1"
+oldrev="$2"
+newrev="$3"
+
+# --- Safety check
+if [ -z "$GIT_DIR" ]; then
+	echo "Don't run this script from the command line." >&2
+	echo " (if you want, you could supply GIT_DIR then run" >&2
+	echo "  $0 <ref> <oldrev> <newrev>)" >&2
+	exit 1
+fi
+
+if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then
+	echo "usage: $0 <ref> <oldrev> <newrev>" >&2
+	exit 1
+fi
+
+# --- Config
+allowunannotated=$(git config --bool hooks.allowunannotated)
+allowdeletebranch=$(git config --bool hooks.allowdeletebranch)
+denycreatebranch=$(git config --bool hooks.denycreatebranch)
+allowdeletetag=$(git config --bool hooks.allowdeletetag)
+allowmodifytag=$(git config --bool hooks.allowmodifytag)
+
+# check for no description
+projectdesc=$(sed -e '1q' "$GIT_DIR/description")
+case "$projectdesc" in
+"Unnamed repository"* | "")
+	echo "*** Project description file hasn't been set" >&2
+	exit 1
+	;;
+esac
+
+# --- Check types
+# if $newrev is 0000...0000, it's a commit to delete a ref.
+zero="0000000000000000000000000000000000000000"
+if [ "$newrev" = "$zero" ]; then
+	newrev_type=delete
+else
+	newrev_type=$(git cat-file -t $newrev)
+fi
+
+case "$refname","$newrev_type" in
+	refs/tags/*,commit)
+		# un-annotated tag
+		short_refname=${refname##refs/tags/}
+		if [ "$allowunannotated" != "true" ]; then
+			echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2
+			echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2
+			exit 1
+		fi
+		;;
+	refs/tags/*,delete)
+		# delete tag
+		if [ "$allowdeletetag" != "true" ]; then
+			echo "*** Deleting a tag is not allowed in this repository" >&2
+			exit 1
+		fi
+		;;
+	refs/tags/*,tag)
+		# annotated tag
+		if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1
+		then
+			echo "*** Tag '$refname' already exists." >&2
+			echo "*** Modifying a tag is not allowed in this repository." >&2
+			exit 1
+		fi
+		;;
+	refs/heads/*,commit)
+		# branch
+		if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then
+			echo "*** Creating a branch is not allowed in this repository" >&2
+			exit 1
+		fi
+		;;
+	refs/heads/*,delete)
+		# delete branch
+		if [ "$allowdeletebranch" != "true" ]; then
+			echo "*** Deleting a branch is not allowed in this repository" >&2
+			exit 1
+		fi
+		;;
+	refs/remotes/*,commit)
+		# tracking branch
+		;;
+	refs/remotes/*,delete)
+		# delete tracking branch
+		if [ "$allowdeletebranch" != "true" ]; then
+			echo "*** Deleting a tracking branch is not allowed in this repository" >&2
+			exit 1
+		fi
+		;;
+	*)
+		# Anything else (is there anything else?)
+		echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2
+		exit 1
+		;;
+esac
+
+# --- Finished
+exit 0

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/info/exclude
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/info/exclude b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/info/exclude
new file mode 100644
index 0000000..a5196d1
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/info/exclude
@@ -0,0 +1,6 @@
+# git ls-files --others --exclude-from=.git/info/exclude
+# Lines that start with '#' are comments.
+# For a project mostly in C, the following would be a good set of
+# exclude patterns (uncomment them if you want to use them):
+# *.[oa]
+# *~

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/00/3fede18ca7c39eedfa6bc8aebf40a05507bec8
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/00/3fede18ca7c39eedfa6bc8aebf40a05507bec8 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/00/3fede18ca7c39eedfa6bc8aebf40a05507bec8
new file mode 100644
index 0000000..b6bb6bf
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/00/3fede18ca7c39eedfa6bc8aebf40a05507bec8 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/01/da01a769d47b00f4e14e99aa1450c67657d0d2
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/01/da01a769d47b00f4e14e99aa1450c67657d0d2 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/01/da01a769d47b00f4e14e99aa1450c67657d0d2
new file mode 100644
index 0000000..4df737f
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/01/da01a769d47b00f4e14e99aa1450c67657d0d2 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/04/6c63780a8d68293e325b91df15e8c10b2966ce
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/04/6c63780a8d68293e325b91df15e8c10b2966ce b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/04/6c63780a8d68293e325b91df15e8c10b2966ce
new file mode 100644
index 0000000..f96a05a
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/04/6c63780a8d68293e325b91df15e8c10b2966ce differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/18/5b6afbaefc09d67215c2cefbfd51693362cce5
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/18/5b6afbaefc09d67215c2cefbfd51693362cce5 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/18/5b6afbaefc09d67215c2cefbfd51693362cce5
new file mode 100644
index 0000000..8ebec4d
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/18/5b6afbaefc09d67215c2cefbfd51693362cce5
@@ -0,0 +1 @@
+x+)JMU040f040031Q(��ի��aP��8��Ȏ�g:6i�n}��raTIQjbJn�^IE	����8t^[�v=Q�j�[�d��(%3�J��g��,��8Q�k���ɯO\,
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/22/2a63f1e431459c1161bceab26ca90fe2dcb59d
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/22/2a63f1e431459c1161bceab26ca90fe2dcb59d b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/22/2a63f1e431459c1161bceab26ca90fe2dcb59d
new file mode 100644
index 0000000..4058476
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/22/2a63f1e431459c1161bceab26ca90fe2dcb59d differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/25/2e88c3b6e714b8e7cc88b22a3db5e9f039a160
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/25/2e88c3b6e714b8e7cc88b22a3db5e9f039a160 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/25/2e88c3b6e714b8e7cc88b22a3db5e9f039a160
new file mode 100644
index 0000000..aa09e40
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/25/2e88c3b6e714b8e7cc88b22a3db5e9f039a160 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/29/ebb4956c34d2e4c521e7db408a399ab4e44431
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/29/ebb4956c34d2e4c521e7db408a399ab4e44431 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/29/ebb4956c34d2e4c521e7db408a399ab4e44431
new file mode 100644
index 0000000..ce1891e
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/29/ebb4956c34d2e4c521e7db408a399ab4e44431 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/2d/3414ba621811a90a273eca8d727806a1cff464
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/2d/3414ba621811a90a273eca8d727806a1cff464 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/2d/3414ba621811a90a273eca8d727806a1cff464
new file mode 100644
index 0000000..a656945
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/2d/3414ba621811a90a273eca8d727806a1cff464 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/34/3031da1f2ae6135efe5687afbd9d213b3f4c2b
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/34/3031da1f2ae6135efe5687afbd9d213b3f4c2b b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/34/3031da1f2ae6135efe5687afbd9d213b3f4c2b
new file mode 100644
index 0000000..4a164e3
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/34/3031da1f2ae6135efe5687afbd9d213b3f4c2b differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/34/8c2314f6a09f7fde3987d292763889844e02e7
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/34/8c2314f6a09f7fde3987d292763889844e02e7 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/34/8c2314f6a09f7fde3987d292763889844e02e7
new file mode 100644
index 0000000..63f602b
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/34/8c2314f6a09f7fde3987d292763889844e02e7 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/3b/459fa9451a94fc1acd10e2e29ab73d93eb816d
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/3b/459fa9451a94fc1acd10e2e29ab73d93eb816d b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/3b/459fa9451a94fc1acd10e2e29ab73d93eb816d
new file mode 100644
index 0000000..6b6bfad
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/3b/459fa9451a94fc1acd10e2e29ab73d93eb816d differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/3b/d305c57c635aead10cf59f7c1dc51af03edaf7
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/3b/d305c57c635aead10cf59f7c1dc51af03edaf7 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/3b/d305c57c635aead10cf59f7c1dc51af03edaf7
new file mode 100644
index 0000000..0a079e7
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/3b/d305c57c635aead10cf59f7c1dc51af03edaf7 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/3c/375e66d9b1f4d8fd1a63b7ead5769ea5d7fcee
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/3c/375e66d9b1f4d8fd1a63b7ead5769ea5d7fcee b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/3c/375e66d9b1f4d8fd1a63b7ead5769ea5d7fcee
new file mode 100644
index 0000000..ffbe949
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/3c/375e66d9b1f4d8fd1a63b7ead5769ea5d7fcee differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/3c/f7bb86c15554148bf5b0b12bfd639e54a77e58
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/3c/f7bb86c15554148bf5b0b12bfd639e54a77e58 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/3c/f7bb86c15554148bf5b0b12bfd639e54a77e58
new file mode 100644
index 0000000..c8859bd
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/3c/f7bb86c15554148bf5b0b12bfd639e54a77e58 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/3f/1b35f35f7ba0089a5436f3c5d9ae2a1f2503f2
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/3f/1b35f35f7ba0089a5436f3c5d9ae2a1f2503f2 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/3f/1b35f35f7ba0089a5436f3c5d9ae2a1f2503f2
new file mode 100644
index 0000000..0267ac9
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/3f/1b35f35f7ba0089a5436f3c5d9ae2a1f2503f2 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/4d/97db4d39cfeab1da24053bfbfef25d3f2c3004
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/4d/97db4d39cfeab1da24053bfbfef25d3f2c3004 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/4d/97db4d39cfeab1da24053bfbfef25d3f2c3004
new file mode 100644
index 0000000..a5c1b37
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/4d/97db4d39cfeab1da24053bfbfef25d3f2c3004 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/51/5ff07d60e90b7229ebfb2d422d256812c83399
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/51/5ff07d60e90b7229ebfb2d422d256812c83399 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/51/5ff07d60e90b7229ebfb2d422d256812c83399
new file mode 100644
index 0000000..6ec0aa4
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/51/5ff07d60e90b7229ebfb2d422d256812c83399 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/5d/f026df8f337f8ed367e1891779a5e837789ad9
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/5d/f026df8f337f8ed367e1891779a5e837789ad9 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/5d/f026df8f337f8ed367e1891779a5e837789ad9
new file mode 100644
index 0000000..d92edb8
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/5d/f026df8f337f8ed367e1891779a5e837789ad9 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/61/4a3fd04313593d67f4154855a06941046326b3
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/61/4a3fd04313593d67f4154855a06941046326b3 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/61/4a3fd04313593d67f4154855a06941046326b3
new file mode 100644
index 0000000..bca48ac
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/61/4a3fd04313593d67f4154855a06941046326b3 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/61/a0d22b023d6e31894d736cca8c1a47b6edd822
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/61/a0d22b023d6e31894d736cca8c1a47b6edd822 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/61/a0d22b023d6e31894d736cca8c1a47b6edd822
new file mode 100644
index 0000000..26470db
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/61/a0d22b023d6e31894d736cca8c1a47b6edd822 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/62/1ccd26fbce46da0e4b11528630789056175a9d
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/62/1ccd26fbce46da0e4b11528630789056175a9d b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/62/1ccd26fbce46da0e4b11528630789056175a9d
new file mode 100644
index 0000000..75c957b
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/62/1ccd26fbce46da0e4b11528630789056175a9d differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/6b/04964fde0be6765059f24a965f5d565a494318
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/6b/04964fde0be6765059f24a965f5d565a494318 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/6b/04964fde0be6765059f24a965f5d565a494318
new file mode 100644
index 0000000..d011d5d
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/6b/04964fde0be6765059f24a965f5d565a494318 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/6e/e023ce34f9dd5f3d579eed3d72277f17046b27
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/6e/e023ce34f9dd5f3d579eed3d72277f17046b27 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/6e/e023ce34f9dd5f3d579eed3d72277f17046b27
new file mode 100644
index 0000000..4d34471
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/6e/e023ce34f9dd5f3d579eed3d72277f17046b27
@@ -0,0 +1,2 @@
+x��=
+1@a�bzA�?	�XYy�lf¦�Yb���
l^��˽�:AK���L6��{��*�B!��Y�9�#,�Yli�m��!k�l�IƂ��Ā��FoB��Z��Q��\���:��z����|����(+�o쥖R����?�����z#?�
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/6f/311acafe33884da65e09336112f552bba363eb
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/6f/311acafe33884da65e09336112f552bba363eb b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/6f/311acafe33884da65e09336112f552bba363eb
new file mode 100644
index 0000000..e7d38bd
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/6f/311acafe33884da65e09336112f552bba363eb differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/7a/86800a1e5014521a80a730490f4e8eb230668d
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/7a/86800a1e5014521a80a730490f4e8eb230668d b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/7a/86800a1e5014521a80a730490f4e8eb230668d
new file mode 100644
index 0000000..e20207c
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/7a/86800a1e5014521a80a730490f4e8eb230668d differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/81/fe92a68b279e009f204e1004412e248635639a
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/81/fe92a68b279e009f204e1004412e248635639a b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/81/fe92a68b279e009f204e1004412e248635639a
new file mode 100644
index 0000000..cf6472b
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/81/fe92a68b279e009f204e1004412e248635639a differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/85/5aa4f727d6cd5b963318372f08dfb88f137089
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/85/5aa4f727d6cd5b963318372f08dfb88f137089 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/85/5aa4f727d6cd5b963318372f08dfb88f137089
new file mode 100644
index 0000000..8bd8e58
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/85/5aa4f727d6cd5b963318372f08dfb88f137089 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/87/0127e22ade2a60b9cf8fc28804d2bcf979718d
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/87/0127e22ade2a60b9cf8fc28804d2bcf979718d b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/87/0127e22ade2a60b9cf8fc28804d2bcf979718d
new file mode 100644
index 0000000..d707c09
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/87/0127e22ade2a60b9cf8fc28804d2bcf979718d differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/92/09a983605d6e43e5cf841a1ea18a1914bb7407
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/92/09a983605d6e43e5cf841a1ea18a1914bb7407 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/92/09a983605d6e43e5cf841a1ea18a1914bb7407
new file mode 100644
index 0000000..9493985
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/92/09a983605d6e43e5cf841a1ea18a1914bb7407 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/93/d1358c830cdb51f1f8a72514180a2a2aaecdc0
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/93/d1358c830cdb51f1f8a72514180a2a2aaecdc0 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/93/d1358c830cdb51f1f8a72514180a2a2aaecdc0
new file mode 100644
index 0000000..1e6d267
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/93/d1358c830cdb51f1f8a72514180a2a2aaecdc0 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/a1/f2d99c88e2c758a45b0a29ede3984fbf4d6a98
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/a1/f2d99c88e2c758a45b0a29ede3984fbf4d6a98 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/a1/f2d99c88e2c758a45b0a29ede3984fbf4d6a98
new file mode 100644
index 0000000..72eac6e
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/a1/f2d99c88e2c758a45b0a29ede3984fbf4d6a98 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/a3/c7e7d600bca4a0ef582ebd3f7d3d43ddd95ae4
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/a3/c7e7d600bca4a0ef582ebd3f7d3d43ddd95ae4 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/a3/c7e7d600bca4a0ef582ebd3f7d3d43ddd95ae4
new file mode 100644
index 0000000..3edb33a
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/a3/c7e7d600bca4a0ef582ebd3f7d3d43ddd95ae4 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/ac/26197814ff0319cb6b7ff104b331485ea8e4c3
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/ac/26197814ff0319cb6b7ff104b331485ea8e4c3 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/ac/26197814ff0319cb6b7ff104b331485ea8e4c3
new file mode 100644
index 0000000..3552860
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/ac/26197814ff0319cb6b7ff104b331485ea8e4c3 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/af/eb41e442a70bb5c1e1b848756c6b78e2ea043f
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/af/eb41e442a70bb5c1e1b848756c6b78e2ea043f b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/af/eb41e442a70bb5c1e1b848756c6b78e2ea043f
new file mode 100644
index 0000000..0fa032f
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/af/eb41e442a70bb5c1e1b848756c6b78e2ea043f differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/b0/e5e1455a42e2724dd17653011b3aa3eb342f39
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/b0/e5e1455a42e2724dd17653011b3aa3eb342f39 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/b0/e5e1455a42e2724dd17653011b3aa3eb342f39
new file mode 100644
index 0000000..12f1c81
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/b0/e5e1455a42e2724dd17653011b3aa3eb342f39 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/b5/3306f849b69ef0459ddf5cccff06b5fbb08c23
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/b5/3306f849b69ef0459ddf5cccff06b5fbb08c23 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/b5/3306f849b69ef0459ddf5cccff06b5fbb08c23
new file mode 100644
index 0000000..314330e
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/b5/3306f849b69ef0459ddf5cccff06b5fbb08c23 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/ba/cd4ee105073117b30e5dcdba5150373b6b53c6
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/ba/cd4ee105073117b30e5dcdba5150373b6b53c6 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/ba/cd4ee105073117b30e5dcdba5150373b6b53c6
new file mode 100644
index 0000000..fe99cd8
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/ba/cd4ee105073117b30e5dcdba5150373b6b53c6 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/bc/10d293709276ff1bc29678d7d7bce4c99df800
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/bc/10d293709276ff1bc29678d7d7bce4c99df800 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/bc/10d293709276ff1bc29678d7d7bce4c99df800
new file mode 100644
index 0000000..883afdc
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/bc/10d293709276ff1bc29678d7d7bce4c99df800 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/d0/3813efea082ceb39458ae421503a80dd77e4a4
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/d0/3813efea082ceb39458ae421503a80dd77e4a4 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/d0/3813efea082ceb39458ae421503a80dd77e4a4
new file mode 100644
index 0000000..d016f1e
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/d0/3813efea082ceb39458ae421503a80dd77e4a4 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/e5/e1779b3f8155120e01a963f9d001ad5081faa2
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/e5/e1779b3f8155120e01a963f9d001ad5081faa2 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/e5/e1779b3f8155120e01a963f9d001ad5081faa2
new file mode 100644
index 0000000..3273a1e
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/e5/e1779b3f8155120e01a963f9d001ad5081faa2 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/e8/4f294e93db6cd2f1fba1986f360933fb90eb2f
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/e8/4f294e93db6cd2f1fba1986f360933fb90eb2f b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/e8/4f294e93db6cd2f1fba1986f360933fb90eb2f
new file mode 100644
index 0000000..2985422
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/e8/4f294e93db6cd2f1fba1986f360933fb90eb2f differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/f7/1429f9ff9214a546b438c611ae942c9cf5a49e
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/f7/1429f9ff9214a546b438c611ae942c9cf5a49e b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/f7/1429f9ff9214a546b438c611ae942c9cf5a49e
new file mode 100644
index 0000000..b543850
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/f7/1429f9ff9214a546b438c611ae942c9cf5a49e differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/fe/a16119a5b4ec0562d4f65b4237314250773bf8
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/fe/a16119a5b4ec0562d4f65b4237314250773bf8 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/fe/a16119a5b4ec0562d4f65b4237314250773bf8
new file mode 100644
index 0000000..6c36970
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/objects/fe/a16119a5b4ec0562d4f65b4237314250773bf8 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/packed-refs
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/packed-refs b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/packed-refs
new file mode 100644
index 0000000..7272fce
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/packed-refs
@@ -0,0 +1,2 @@
+# pack-refs with: peeled fully-peeled 
+e84f294e93db6cd2f1fba1986f360933fb90eb2f refs/heads/master

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/refs/heads/master
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/refs/heads/master b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/refs/heads/master
new file mode 100644
index 0000000..89118e7
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/refs/heads/master
@@ -0,0 +1 @@
+6ee023ce34f9dd5f3d579eed3d72277f17046b27


[7/7] git commit: somehow the compiler does not like this @Override

Posted by im...@apache.org.
somehow the compiler does not like this @Override


Project: http://git-wip-us.apache.org/repos/asf/maven-scm/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-scm/commit/b8472f84
Tree: http://git-wip-us.apache.org/repos/asf/maven-scm/tree/b8472f84
Diff: http://git-wip-us.apache.org/repos/asf/maven-scm/diff/b8472f84

Branch: refs/heads/MRELEASE-875
Commit: b8472f8485963da57992576efa5a10180adf4697
Parents: 5f63b0a
Author: imod <do...@fortysix.ch>
Authored: Sun Jul 20 13:56:57 2014 +0200
Committer: imod <do...@fortysix.ch>
Committed: Sun Jul 20 13:56:57 2014 +0200

----------------------------------------------------------------------
 .../scm/provider/git/jgit/command/checkout/JGitCheckOutCommand.java | 1 -
 1 file changed, 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven-scm/blob/b8472f84/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
----------------------------------------------------------------------
diff --git a/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 b/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
index cdb95aa..4e81fc9 100644
--- a/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
+++ b/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
@@ -59,7 +59,6 @@ public class JGitCheckOutCommand
     implements GitCommand
 {
 
-    @Override
     public boolean requiresToWorkInRepoRootDir()
     {
         return false;


[6/7] git commit: document the intended different working directory

Posted by im...@apache.org.
document the intended different working directory


Project: http://git-wip-us.apache.org/repos/asf/maven-scm/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-scm/commit/5f63b0aa
Tree: http://git-wip-us.apache.org/repos/asf/maven-scm/tree/5f63b0aa
Diff: http://git-wip-us.apache.org/repos/asf/maven-scm/diff/5f63b0aa

Branch: refs/heads/MRELEASE-875
Commit: 5f63b0aa380ea3cd42aeda9ccc22fed07bbe609a
Parents: bea863c
Author: imod <do...@fortysix.ch>
Authored: Sun Jul 20 13:11:28 2014 +0200
Committer: imod <do...@fortysix.ch>
Committed: Sun Jul 20 13:11:45 2014 +0200

----------------------------------------------------------------------
 .../command/checkin/GitExeCheckInCommandNotInRepoRootTckTest.java | 3 ++-
 .../command/checkin/JGitCheckInCommandNotInRepoRootTckTest.java   | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven-scm/blob/5f63b0aa/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitExeCheckInCommandNotInRepoRootTckTest.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitExeCheckInCommandNotInRepoRootTckTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitExeCheckInCommandNotInRepoRootTckTest.java
index 40b0d2e..6b755c6 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitExeCheckInCommandNotInRepoRootTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitExeCheckInCommandNotInRepoRootTckTest.java
@@ -80,13 +80,14 @@ public class GitExeCheckInCommandNotInRepoRootTckTest
 
         changeReadmeTxt( readmeTxt );
 
+        // call the command on a subdirectory!!!
         AddScmResult addResult =
             getScmManager().add( getScmRepository(),
                                  new ScmFileSet( getSubWorkingDir(), "src/main/java/Foo.java", null ) );
 
         assertResultIsSuccess( addResult );
 
-        //
+        // call the command on a subdirectory!!!
         CheckInScmResult result =
             getScmManager().checkIn( getScmRepository(), new ScmFileSet( getSubWorkingDir() ), "Commit message" );
 

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/5f63b0aa/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommandNotInRepoRootTckTest.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommandNotInRepoRootTckTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommandNotInRepoRootTckTest.java
index 634ecd2..5b3f985 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommandNotInRepoRootTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommandNotInRepoRootTckTest.java
@@ -93,13 +93,14 @@ public class JGitCheckInCommandNotInRepoRootTckTest
 
         changeReadmeTxt( readmeTxt );
 
+        // call the command on a subdirectory!!!
         AddScmResult addResult =
             getScmManager().add( getScmRepository(),
                                  new ScmFileSet( getSubWorkingDir(), "src/main/java/Foo.java", null ) );
 
         assertResultIsSuccess( addResult );
 
-        //
+        // call the command on a subdirectory!!!
         CheckInScmResult result =
             getScmManager().checkIn( getScmRepository(), new ScmFileSet( getSubWorkingDir() ), "Commit message" );
 


[3/7] git commit: add functionality to reset the the basedir of a ScmFileSet for GitCommands

Posted by im...@apache.org.
add functionality to reset the the basedir of a ScmFileSet for GitCommands


Project: http://git-wip-us.apache.org/repos/asf/maven-scm/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-scm/commit/2e7cf445
Tree: http://git-wip-us.apache.org/repos/asf/maven-scm/tree/2e7cf445
Diff: http://git-wip-us.apache.org/repos/asf/maven-scm/diff/2e7cf445

Branch: refs/heads/MRELEASE-875
Commit: 2e7cf44594dc2b37338ec386962856e49202b98b
Parents: f0cd098
Author: imod <do...@fortysix.ch>
Authored: Sun Jul 20 12:53:47 2014 +0200
Committer: imod <do...@fortysix.ch>
Committed: Sun Jul 20 13:07:35 2014 +0200

----------------------------------------------------------------------
 .../provider/git/AbstractGitScmProvider.java    |  7 ++-
 .../scm/provider/git/command/GitCommand.java    | 11 ++++-
 .../maven/scm/provider/git/util/GitUtil.java    | 45 ++++++++++++++++++--
 3 files changed, 58 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven-scm/blob/2e7cf445/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/AbstractGitScmProvider.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/AbstractGitScmProvider.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/AbstractGitScmProvider.java
index 1d1655f..7451d97 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/AbstractGitScmProvider.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/AbstractGitScmProvider.java
@@ -288,7 +288,12 @@ public abstract class AbstractGitScmProvider
     {
         command.setLogger( getLogger() );
 
-        return command.execute( repository, fileSet, parameters );
+        ScmFileSet newSet = fileSet;
+        if ( command.requiresToWorkInRepoRootDir() )
+        {
+            newSet = GitUtil.convertScmFileSetToRepoRootPath( fileSet );
+        }
+        return command.execute( repository, newSet, parameters );
     }
 
     protected abstract GitCommand getListCommand();

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/2e7cf445/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/command/GitCommand.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/command/GitCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/command/GitCommand.java
index d1f3d8a..851fb37 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/command/GitCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/command/GitCommand.java
@@ -23,9 +23,18 @@ import org.apache.maven.scm.command.Command;
 
 /**
  * @author <a href="mailto:trygvis@inamo.no">Trygve Laugst&oslash;l</a>
- *
+ * @author Dominik Bartholdi
  */
 public interface GitCommand
     extends Command
 {
+    /**
+     * Whether the filesets passed to the command should be reset to the root of the repository prior to execute the
+     * command
+     * 
+     * @return <code>true</code> if the fileset must have the repository as the basedirectory.
+     * @see org.apache.maven.scm.provider.git.AbstractGitScmProvider.executeCommand(GitCommand, ScmProviderRepository,
+     *      ScmFileSet, CommandParameters)
+     */
+    boolean requiresToWorkInRepoRootDir();
 }

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/2e7cf445/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/util/GitUtil.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/util/GitUtil.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/util/GitUtil.java
index 9ebd71f..737fd9f 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/util/GitUtil.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/util/GitUtil.java
@@ -19,18 +19,21 @@ package org.apache.maven.scm.provider.git.util;
  * under the License.
  */
 
+import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.providers.gitlib.settings.Settings;
 import org.apache.maven.scm.providers.gitlib.settings.io.xpp3.GitXpp3Reader;
 import org.codehaus.plexus.util.ReaderFactory;
+import org.codehaus.plexus.util.StringUtils;
 import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
 
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
- *
  */
 public class GitUtil
 {
@@ -91,9 +94,45 @@ public class GitUtil
         settingsDirectory = directory;
         settings = readSettings();
     }
-    
+
     public static File getSettingsFile()
     {
-    	return new File( settingsDirectory, GIT_SETTINGS_FILENAME );
+        return new File( settingsDirectory, GIT_SETTINGS_FILENAME );
+    }
+
+    public static File getRepoRootDir( File current )
+    {
+        if ( new File( current, ".git" ).exists() || !current.getParentFile().exists() )
+        {
+            return current;
+        }
+        return getRepoRootDir( current.getParentFile() );
+    }
+
+    public static ScmFileSet convertScmFileSetToRepoRootPath( ScmFileSet fileSet )
+    {
+        File realRepoRootDir = getRepoRootDir( fileSet.getBasedir() );
+        List<File> newFiles = new ArrayList<File>( fileSet.getFileList().size() );
+        for ( File f : fileSet.getFileList() )
+        {
+            if ( !f.isAbsolute() )
+            {
+
+                String deltaPath =
+                    fileSet.getBasedir().getAbsolutePath().substring( realRepoRootDir.getAbsolutePath().length() );
+
+                deltaPath = StringUtils.isBlank( deltaPath ) ? "" : deltaPath + "/";
+                deltaPath = deltaPath.startsWith( "/" ) ? deltaPath.substring( 1 ) : deltaPath;
+
+                File newFile = new File( deltaPath + f.getPath() );
+                newFiles.add( newFile );
+            }
+            else
+            {
+                newFiles.add( f );
+            }
+        }
+        ScmFileSet newFileSet = new ScmFileSet( realRepoRootDir, newFiles );
+        return newFileSet;
     }
 }


[4/7] git commit: implement new method from interface on all GitCommands

Posted by im...@apache.org.
implement new method from interface on all GitCommands


Project: http://git-wip-us.apache.org/repos/asf/maven-scm/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-scm/commit/0128678e
Tree: http://git-wip-us.apache.org/repos/asf/maven-scm/tree/0128678e
Diff: http://git-wip-us.apache.org/repos/asf/maven-scm/diff/0128678e

Branch: refs/heads/MRELEASE-875
Commit: 0128678ec0fce56b353f7fbe1e24beda0c183693
Parents: 2e7cf44
Author: imod <do...@fortysix.ch>
Authored: Sun Jul 20 13:00:15 2014 +0200
Committer: imod <do...@fortysix.ch>
Committed: Sun Jul 20 13:07:47 2014 +0200

----------------------------------------------------------------------
 .../git/gitexe/command/add/GitAddCommand.java       |  7 +++++++
 .../git/gitexe/command/blame/GitBlameCommand.java   | 11 +++++++++--
 .../git/gitexe/command/branch/GitBranchCommand.java |  8 +++++++-
 .../command/changelog/GitChangeLogCommand.java      |  8 +++++++-
 .../gitexe/command/checkin/GitCheckInCommand.java   |  8 +++++++-
 .../gitexe/command/checkout/GitCheckOutCommand.java | 16 ++++++++++------
 .../git/gitexe/command/diff/GitDiffCommand.java     |  8 +++++++-
 .../git/gitexe/command/info/GitInfoCommand.java     |  6 ++++++
 .../git/gitexe/command/list/GitListCommand.java     |  8 +++++++-
 .../command/remoteinfo/GitRemoteInfoCommand.java    |  6 ++++++
 .../git/gitexe/command/remove/GitRemoveCommand.java |  8 +++++++-
 .../git/gitexe/command/status/GitStatusCommand.java | 16 +++++++++++-----
 .../git/gitexe/command/tag/GitTagCommand.java       | 14 ++++++++++----
 .../git/gitexe/command/update/GitUpdateCommand.java |  8 +++++++-
 .../git/jgit/command/add/JGitAddCommand.java        |  7 +++++++
 .../git/jgit/command/blame/JGitBlameCommand.java    |  6 ++++++
 .../git/jgit/command/branch/JGitBranchCommand.java  |  6 ++++++
 .../command/changelog/JGitChangeLogCommand.java     |  6 ++++++
 .../jgit/command/checkin/JGitCheckInCommand.java    |  6 ++++++
 .../jgit/command/checkout/JGitCheckOutCommand.java  |  7 +++++++
 .../git/jgit/command/diff/JGitDiffCommand.java      |  6 ++++++
 .../git/jgit/command/list/JGitListCommand.java      |  6 ++++++
 .../command/remoteinfo/JGitRemoteInfoCommand.java   |  6 ++++++
 .../git/jgit/command/status/JGitStatusCommand.java  |  7 +++++++
 .../git/jgit/command/tag/JGitTagCommand.java        |  6 ++++++
 25 files changed, 177 insertions(+), 24 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven-scm/blob/0128678e/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/add/GitAddCommand.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/add/GitAddCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/add/GitAddCommand.java
index c920dc5..2f77ac8 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/add/GitAddCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/add/GitAddCommand.java
@@ -49,6 +49,13 @@ public class GitAddCommand
     extends AbstractAddCommand
     implements GitCommand
 {
+
+    @Override
+    public boolean requiresToWorkInRepoRootDir()
+    {
+        return true;
+    }
+
     /**
      * {@inheritDoc}
      */

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/0128678e/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/blame/GitBlameCommand.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/blame/GitBlameCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/blame/GitBlameCommand.java
index 0256ece..d2acb69 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/blame/GitBlameCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/blame/GitBlameCommand.java
@@ -45,13 +45,20 @@ public class GitBlameCommand
 {
 
     @Override
+    public boolean requiresToWorkInRepoRootDir()
+    {
+        return true;
+    }
+
+    @Override
     protected ScmResult executeCommand( ScmProviderRepository repository, ScmFileSet workingDirectory,
                                         CommandParameters parameters )
         throws ScmException
     {
         String filename = parameters.getString( CommandParameter.FILE );
-        Commandline cl = createCommandLine( workingDirectory.getBasedir(), filename,
-                                            parameters.getBoolean( CommandParameter.IGNORE_WHITESPACE, false ) );
+        Commandline cl =
+            createCommandLine( workingDirectory.getBasedir(), filename,
+                               parameters.getBoolean( CommandParameter.IGNORE_WHITESPACE, false ) );
         GitBlameConsumer consumer = new GitBlameConsumer( getLogger() );
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
 

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/0128678e/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/branch/GitBranchCommand.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/branch/GitBranchCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/branch/GitBranchCommand.java
index 13b4751..bb01f4b 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/branch/GitBranchCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/branch/GitBranchCommand.java
@@ -40,12 +40,18 @@ import java.io.File;
 
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
- *
  */
 public class GitBranchCommand
     extends AbstractBranchCommand
     implements GitCommand
 {
+
+    @Override
+    public boolean requiresToWorkInRepoRootDir()
+    {
+        return true;
+    }
+
     /** {@inheritDoc} */
     public ScmResult executeBranchCommand( ScmProviderRepository repo, ScmFileSet fileSet, String branch, String message )
         throws ScmException

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/0128678e/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommand.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommand.java
index 3149faa..80af02e 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommand.java
@@ -43,12 +43,18 @@ import java.util.TimeZone;
 /**
  * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
  * @author Olivier Lamy
- *
  */
 public class GitChangeLogCommand
     extends AbstractChangeLogCommand
     implements GitCommand
 {
+
+    @Override
+    public boolean requiresToWorkInRepoRootDir()
+    {
+        return true;
+    }
+
     private static final String DATE_FORMAT = "yyyy-MM-dd HH:mm:ss Z";
 
     /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/0128678e/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommand.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommand.java
index 8af561f..de3be28 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommand.java
@@ -50,12 +50,18 @@ import java.util.List;
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
  * @author Olivier Lamy
- *
  */
 public class GitCheckInCommand
     extends AbstractCheckInCommand
     implements GitCommand
 {
+
+    @Override
+    public boolean requiresToWorkInRepoRootDir()
+    {
+        return true;
+    }
+
     /** {@inheritDoc} */
     protected CheckInScmResult executeCheckInCommand( ScmProviderRepository repo, ScmFileSet fileSet, String message,
                                                       ScmVersion version )

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/0128678e/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/checkout/GitCheckOutCommand.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/checkout/GitCheckOutCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/checkout/GitCheckOutCommand.java
index 33431e5..5c8cba1 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/checkout/GitCheckOutCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/checkout/GitCheckOutCommand.java
@@ -43,19 +43,23 @@ import java.io.File;
 
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
- *
  */
 public class GitCheckOutCommand
     extends AbstractCheckOutCommand
     implements GitCommand
 {
+
+    @Override
+    public boolean requiresToWorkInRepoRootDir()
+    {
+        return false;
+    }
+
     /**
-     * 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.
+     * 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.
      * <p/>
-     * TODO We currently assume a '.git' directory, so this does not work for --bare repos
-     * {@inheritDoc}
+     * TODO We currently assume a '.git' directory, so this does not work for --bare repos {@inheritDoc}
      */
     protected CheckOutScmResult executeCheckOutCommand( ScmProviderRepository repo, ScmFileSet fileSet,
                                                         ScmVersion version, boolean recursive )

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/0128678e/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/diff/GitDiffCommand.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/diff/GitDiffCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/diff/GitDiffCommand.java
index 7547e63..51a7812 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/diff/GitDiffCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/diff/GitDiffCommand.java
@@ -36,12 +36,18 @@ import java.io.File;
 
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
- *
  */
 public class GitDiffCommand
     extends AbstractDiffCommand
     implements GitCommand
 {
+
+    @Override
+    public boolean requiresToWorkInRepoRootDir()
+    {
+        return true;
+    }
+
     /** {@inheritDoc} */
     protected DiffScmResult executeDiffCommand( ScmProviderRepository repo, ScmFileSet fileSet,
                                                 ScmVersion startVersion, ScmVersion endVersion )

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/0128678e/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/info/GitInfoCommand.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/info/GitInfoCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/info/GitInfoCommand.java
index 7aac9b7..2848944 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/info/GitInfoCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/info/GitInfoCommand.java
@@ -44,6 +44,12 @@ public class GitInfoCommand
     public static final int NO_REVISION_LENGTH = -1;
 
     @Override
+    public boolean requiresToWorkInRepoRootDir()
+    {
+        return true;
+    }
+
+    @Override
     protected ScmResult executeCommand( ScmProviderRepository repository, ScmFileSet fileSet,
                                         CommandParameters parameters )
         throws ScmException

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/0128678e/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/list/GitListCommand.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/list/GitListCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/list/GitListCommand.java
index 27a90f8..b36dfcd 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/list/GitListCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/list/GitListCommand.java
@@ -36,12 +36,18 @@ import java.io.File;
 
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
- *
  */
 public class GitListCommand
     extends AbstractListCommand
     implements GitCommand
 {
+
+    @Override
+    public boolean requiresToWorkInRepoRootDir()
+    {
+        return true;
+    }
+
     /** {@inheritDoc} */
     protected ListScmResult executeListCommand( ScmProviderRepository repo, ScmFileSet fileSet, boolean recursive,
                                                 ScmVersion scmVersion )

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/0128678e/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remoteinfo/GitRemoteInfoCommand.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remoteinfo/GitRemoteInfoCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remoteinfo/GitRemoteInfoCommand.java
index 2c8264a..dc323c6 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remoteinfo/GitRemoteInfoCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remoteinfo/GitRemoteInfoCommand.java
@@ -40,6 +40,12 @@ public class GitRemoteInfoCommand
 {
 
     @Override
+    public boolean requiresToWorkInRepoRootDir()
+    {
+        return true;
+    }
+
+    @Override
     public RemoteInfoScmResult executeRemoteInfoCommand( ScmProviderRepository repository, ScmFileSet fileSet,
                                                          CommandParameters parameters )
         throws ScmException

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/0128678e/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remove/GitRemoveCommand.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remove/GitRemoveCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remove/GitRemoveCommand.java
index 604cfe4..a2beb48 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remove/GitRemoveCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/remove/GitRemoveCommand.java
@@ -36,12 +36,18 @@ import java.util.List;
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
  * @author Olivier Lamy
- *
  */
 public class GitRemoveCommand
     extends AbstractRemoveCommand
     implements GitCommand
 {
+
+    @Override
+    public boolean requiresToWorkInRepoRootDir()
+    {
+        return true;
+    }
+
     /**
      * {@inheritDoc}
      */

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/0128678e/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusCommand.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusCommand.java
index d1be13b..dfbedb2 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusCommand.java
@@ -35,23 +35,29 @@ import org.codehaus.plexus.util.cli.Commandline;
 
 /**
  * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- *
  */
 public class GitStatusCommand
     extends AbstractStatusCommand
     implements GitCommand
 {
+
+    @Override
+    public boolean requiresToWorkInRepoRootDir()
+    {
+        return true;
+    }
+
     /** {@inheritDoc} */
     protected StatusScmResult executeStatusCommand( ScmProviderRepository repo, ScmFileSet fileSet )
         throws ScmException
     {
-    	Commandline clRevparse = createRevparseShowToplevelCommand(fileSet);
-    	
-    	CommandLineUtils.StringStreamConsumer stdout = new CommandLineUtils.StringStreamConsumer();
+        Commandline clRevparse = createRevparseShowToplevelCommand( fileSet );
+
+        CommandLineUtils.StringStreamConsumer stdout = new CommandLineUtils.StringStreamConsumer();
         CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer();
 
         URI relativeRepositoryPath = null;
-        
+
         int exitCode;
 
         exitCode = GitCommandLineUtils.execute( clRevparse, stdout, stderr, getLogger() );

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/0128678e/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/tag/GitTagCommand.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/tag/GitTagCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/tag/GitTagCommand.java
index daf9576..b713dc0 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/tag/GitTagCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/tag/GitTagCommand.java
@@ -43,21 +43,27 @@ import org.codehaus.plexus.util.cli.Commandline;
 
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
- *
  */
 public class GitTagCommand
     extends AbstractTagCommand
     implements GitCommand
 {
-    
+
+    @Override
+    public boolean requiresToWorkInRepoRootDir()
+    {
+        return true;
+    }
+
     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 )
+    public ScmResult executeTagCommand( ScmProviderRepository repo, ScmFileSet fileSet, String tag,
+                                        ScmTagParameters scmTagParameters )
         throws ScmException
     {
         if ( tag == null || StringUtils.isEmpty( tag.trim() ) )

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/0128678e/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitUpdateCommand.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitUpdateCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitUpdateCommand.java
index cc8c2fa..08d628f 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitUpdateCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/update/GitUpdateCommand.java
@@ -43,12 +43,18 @@ import org.codehaus.plexus.util.cli.Commandline;
  * @author Olivier Lamy
  * @author <a href="mailto:struberg@yahoo.de">struberg</a>
  * @since 10 august 2008
- *
  */
 public class GitUpdateCommand
     extends AbstractUpdateCommand
     implements GitCommand
 {
+
+    @Override
+    public boolean requiresToWorkInRepoRootDir()
+    {
+        return true;
+    }
+
     /** {@inheritDoc} */
     protected UpdateScmResult executeUpdateCommand( ScmProviderRepository repo, ScmFileSet fileSet,
                                                     ScmVersion scmVersion )

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/0128678e/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
----------------------------------------------------------------------
diff --git a/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 b/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
index b448b62..85d0212 100644
--- a/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
+++ b/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
@@ -41,6 +41,13 @@ public class JGitAddCommand
     extends AbstractAddCommand
     implements GitCommand
 {
+
+    @Override
+    public boolean requiresToWorkInRepoRootDir()
+    {
+        return true;
+    }
+
     /**
      * {@inheritDoc}
      */

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/0128678e/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/blame/JGitBlameCommand.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/blame/JGitBlameCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/blame/JGitBlameCommand.java
index 043af04..dd965ba 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/blame/JGitBlameCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/blame/JGitBlameCommand.java
@@ -44,6 +44,12 @@ public class JGitBlameCommand
 {
 
     @Override
+    public boolean requiresToWorkInRepoRootDir()
+    {
+        return true;
+    }
+
+    @Override
     public BlameScmResult executeBlameCommand( ScmProviderRepository repo, ScmFileSet workingDirectory, String filename )
         throws ScmException
     {

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/0128678e/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/branch/JGitBranchCommand.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/branch/JGitBranchCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/branch/JGitBranchCommand.java
index b42afe6..1938609 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/branch/JGitBranchCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/branch/JGitBranchCommand.java
@@ -56,6 +56,12 @@ public class JGitBranchCommand
     implements GitCommand
 {
 
+    @Override
+    public boolean requiresToWorkInRepoRootDir()
+    {
+        return true;
+    }
+
     /**
      * {@inheritDoc}
      */

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/0128678e/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
----------------------------------------------------------------------
diff --git a/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 b/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
index 933255f..028edf6 100644
--- a/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
+++ b/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
@@ -53,6 +53,12 @@ public class JGitChangeLogCommand
     implements GitCommand
 {
 
+    @Override
+    public boolean requiresToWorkInRepoRootDir()
+    {
+        return true;
+    }
+
     /**
      * {@inheritDoc}
      */

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/0128678e/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
----------------------------------------------------------------------
diff --git a/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 b/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
index b998638..3d279f1 100644
--- a/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
+++ b/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
@@ -72,6 +72,12 @@ public class JGitCheckInCommand
 
     protected static final String GIT_FORCE = "forceUsername";
 
+    @Override
+    public boolean requiresToWorkInRepoRootDir()
+    {
+        return true;
+    }
+
     /**
      * {@inheritDoc}
      */

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/0128678e/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
----------------------------------------------------------------------
diff --git a/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 b/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
index 43b39f9..cdb95aa 100644
--- a/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
+++ b/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
@@ -58,6 +58,13 @@ public class JGitCheckOutCommand
     extends AbstractCheckOutCommand
     implements GitCommand
 {
+
+    @Override
+    public boolean requiresToWorkInRepoRootDir()
+    {
+        return false;
+    }
+
     /**
      * 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.

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/0128678e/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/diff/JGitDiffCommand.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/diff/JGitDiffCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/diff/JGitDiffCommand.java
index a543ef8..0d9f945 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/diff/JGitDiffCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/diff/JGitDiffCommand.java
@@ -52,6 +52,12 @@ public class JGitDiffCommand
 {
 
     @Override
+    public boolean requiresToWorkInRepoRootDir()
+    {
+        return true;
+    }
+
+    @Override
     protected DiffScmResult executeDiffCommand( ScmProviderRepository repository, ScmFileSet fileSet,
                                                 ScmVersion startRevision, ScmVersion endRevision )
         throws ScmException

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/0128678e/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/list/JGitListCommand.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/list/JGitListCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/list/JGitListCommand.java
index 054f9bc..d5d9276 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/list/JGitListCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/list/JGitListCommand.java
@@ -48,6 +48,12 @@ public class JGitListCommand
 {
 
     @Override
+    public boolean requiresToWorkInRepoRootDir()
+    {
+        return true;
+    }
+
+    @Override
     protected ListScmResult executeListCommand( ScmProviderRepository repo, ScmFileSet fileSet, boolean recursive,
                                                 ScmVersion scmVersion )
         throws ScmException

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/0128678e/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/remoteinfo/JGitRemoteInfoCommand.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/remoteinfo/JGitRemoteInfoCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/remoteinfo/JGitRemoteInfoCommand.java
index 36c90a5..2571b3b 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/remoteinfo/JGitRemoteInfoCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/remoteinfo/JGitRemoteInfoCommand.java
@@ -48,6 +48,12 @@ public class JGitRemoteInfoCommand
 {
 
     @Override
+    public boolean requiresToWorkInRepoRootDir()
+    {
+        return true;
+    }
+
+    @Override
     public RemoteInfoScmResult executeRemoteInfoCommand( ScmProviderRepository repository, ScmFileSet fileSet,
                                                          CommandParameters parameters )
         throws ScmException

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/0128678e/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
----------------------------------------------------------------------
diff --git a/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 b/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
index 056843e..0834fe0 100644
--- a/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
+++ b/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
@@ -44,6 +44,13 @@ public class JGitStatusCommand
     extends AbstractStatusCommand
     implements GitCommand
 {
+
+    @Override
+    public boolean requiresToWorkInRepoRootDir()
+    {
+        return true;
+    }
+
     /**
      * {@inheritDoc}
      */

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/0128678e/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
----------------------------------------------------------------------
diff --git a/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 b/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
index a66992a..3b04701 100644
--- a/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
+++ b/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
@@ -53,6 +53,12 @@ public class JGitTagCommand
     implements GitCommand
 {
 
+    @Override
+    public boolean requiresToWorkInRepoRootDir()
+    {
+        return true;
+    }
+
     public ScmResult executeTagCommand( ScmProviderRepository repo, ScmFileSet fileSet, String tag, String message )
         throws ScmException
     {


[5/7] git commit: add test case for MRELEASE-875

Posted by im...@apache.org.
add test case for MRELEASE-875


Project: http://git-wip-us.apache.org/repos/asf/maven-scm/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-scm/commit/bea863c4
Tree: http://git-wip-us.apache.org/repos/asf/maven-scm/tree/bea863c4
Diff: http://git-wip-us.apache.org/repos/asf/maven-scm/diff/bea863c4

Branch: refs/heads/MRELEASE-875
Commit: bea863c42c525e90daa818765bbf38a9d1d4420d
Parents: 0128678
Author: imod <do...@fortysix.ch>
Authored: Sun Jul 20 13:06:17 2014 +0200
Committer: imod <do...@fortysix.ch>
Committed: Sun Jul 20 13:07:54 2014 +0200

----------------------------------------------------------------------
 .../provider/git/AbstractGitScmProvider.java    |   1 +
 ...itExeCheckInCommandNotInRepoRootTckTest.java | 232 ++++++++++++++++++
 ...GitCheckInCommandCommitterAuthorTckTest.java |   2 +-
 .../JGitCheckInCommandNotInRepoRootTckTest.java | 245 +++++++++++++++++++
 .../command/checkin/CheckInCommandTckTest.java  |   6 +-
 5 files changed, 482 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven-scm/blob/bea863c4/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/AbstractGitScmProvider.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/AbstractGitScmProvider.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/AbstractGitScmProvider.java
index 7451d97..85fabe6 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/AbstractGitScmProvider.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/main/java/org/apache/maven/scm/provider/git/AbstractGitScmProvider.java
@@ -46,6 +46,7 @@ import org.apache.maven.scm.provider.AbstractScmProvider;
 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.apache.maven.scm.provider.git.util.GitUtil;
 import org.apache.maven.scm.repository.ScmRepositoryException;
 import org.apache.maven.scm.repository.UnknownRepositoryStructure;
 

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/bea863c4/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitExeCheckInCommandNotInRepoRootTckTest.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitExeCheckInCommandNotInRepoRootTckTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitExeCheckInCommandNotInRepoRootTckTest.java
new file mode 100644
index 0000000..40b0d2e
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitExeCheckInCommandNotInRepoRootTckTest.java
@@ -0,0 +1,232 @@
+package org.apache.maven.scm.provider.git.gitexe.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 java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.maven.scm.ScmFile;
+import org.apache.maven.scm.ScmFileSet;
+import org.apache.maven.scm.ScmFileStatus;
+import org.apache.maven.scm.command.add.AddScmResult;
+import org.apache.maven.scm.command.checkin.CheckInScmResult;
+import org.apache.maven.scm.command.checkout.CheckOutScmResult;
+import org.apache.maven.scm.provider.git.GitScmTestUtils;
+import org.apache.maven.scm.provider.git.command.checkin.GitCheckInCommandTckTest;
+import org.codehaus.plexus.PlexusTestCase;
+
+/**
+ * Tests for MRELEASE-875
+ * 
+ * @author Dominik Bartholdi (imod)
+ */
+public class GitExeCheckInCommandNotInRepoRootTckTest
+    extends GitCheckInCommandTckTest
+{
+
+    /**
+     * {@inheritDoc}
+     */
+    public String getScmUrl()
+        throws Exception
+    {
+        return GitScmTestUtils.getScmUrl( getRepositoryRoot(), "git" );
+    }
+
+    private File getSubWorkingDir()
+    {
+        return new File( getWorkingCopy(), "sub1/sub2/" );
+    }
+
+    public void testCheckInCommandTest()
+        throws Exception
+    {
+        // Make sure that the correct files was checked out
+        File fooJava = new File( getWorkingCopy(), "sub1/sub2/src/main/java/Foo.java" );
+
+        File barJava = new File( getWorkingCopy(), "sub1/sub2/src/main/java/Bar.java" );
+
+        File readmeTxt = new File( getWorkingCopy(), "sub1/sub2/readme.txt" );
+
+        assertFalse( "check Foo.java doesn't yet exist", fooJava.canRead() );
+
+        assertFalse( "check Bar.java doesn't yet exist", barJava.canRead() );
+
+        assertTrue( "check can read readme.txt", readmeTxt.canRead() );
+
+        // Change the files
+        createFooJava( fooJava );
+
+        createBarJava( barJava );
+
+        changeReadmeTxt( readmeTxt );
+
+        AddScmResult addResult =
+            getScmManager().add( getScmRepository(),
+                                 new ScmFileSet( getSubWorkingDir(), "src/main/java/Foo.java", null ) );
+
+        assertResultIsSuccess( addResult );
+
+        //
+        CheckInScmResult result =
+            getScmManager().checkIn( getScmRepository(), new ScmFileSet( getSubWorkingDir() ), "Commit message" );
+
+        assertResultIsSuccess( result );
+
+        List<ScmFile> files = result.getCheckedInFiles();
+
+        assertNotNull( files );
+
+        assertEquals( 2, files.size() );
+
+        Map<String, ScmFile> fileMap = mapFilesByPath( files );
+        ScmFile file1 = fileMap.get( "sub1/sub2/src/main/java/Foo.java" );
+        assertNotNull( file1 );
+        assertEquals( ScmFileStatus.CHECKED_IN, file1.getStatus() );
+
+        ScmFile file2 = fileMap.get( "sub1/sub2/readme.txt" );
+        assertNotNull( file2 );
+        assertEquals( ScmFileStatus.CHECKED_IN, file2.getStatus() );
+
+        CheckOutScmResult checkoutResult =
+            getScmManager().checkOut( getScmRepository(), new ScmFileSet( getAssertionCopy() ) );
+
+        assertResultIsSuccess( checkoutResult );
+
+        fooJava = new File( getAssertionCopy(), "sub1/sub2/src/main/java/Foo.java" );
+
+        barJava = new File( getAssertionCopy(), "sub1/sub2/src/main/java/Bar.java" );
+
+        readmeTxt = new File( getAssertionCopy(), "sub1/sub2/readme.txt" );
+
+        assertTrue( "check can read Foo.java", fooJava.canRead() );
+
+        assertFalse( "check Bar.java doesn't exist", barJava.canRead() );
+
+        assertTrue( "check can read readme.txt", readmeTxt.canRead() );
+
+        assertEquals( "check readme.txt contents", "changed file",
+                      org.codehaus.plexus.util.FileUtils.fileRead( readmeTxt ) );
+    }
+
+    public void testCheckInCommandPartialFileset()
+        throws Exception
+    {
+        // Make sure that the correct files was checked out
+        File fooJava = new File( getWorkingCopy(), "sub1/sub2/src/main/java/Foo.java" );
+
+        File barJava = new File( getWorkingCopy(), "sub1/sub2/src/main/java/Bar.java" );
+
+        File readmeTxt = new File( getWorkingCopy(), "sub1/sub2/readme.txt" );
+
+        assertFalse( "check Foo.java doesn't yet exist", fooJava.canRead() );
+
+        assertFalse( "check Bar.java doesn't yet exist", barJava.canRead() );
+
+        assertTrue( "check can read readme.txt", readmeTxt.canRead() );
+
+        // Change the files
+        createFooJava( fooJava );
+
+        createBarJava( barJava );
+
+        changeReadmeTxt( readmeTxt );
+
+        AddScmResult addResult =
+            getScmManager().getProviderByUrl( getScmUrl() ).add( getScmRepository(),
+                                                                 new ScmFileSet( getSubWorkingDir(),
+                                                                                 "src/main/java/Foo.java", null ) );
+
+        assertResultIsSuccess( addResult );
+
+        CheckInScmResult result =
+            getScmManager().checkIn( getScmRepository(), new ScmFileSet( getSubWorkingDir(), "**/Foo.java", null ),
+                                     "Commit message" );
+
+        assertResultIsSuccess( result );
+
+        List<ScmFile> files = result.getCheckedInFiles();
+
+        assertNotNull( files );
+
+        assertEquals( 1, files.size() );
+
+        ScmFile file1 = files.get( 0 );
+
+        assertEquals( ScmFileStatus.CHECKED_IN, file1.getStatus() );
+
+        assertPath( "/test-repo/check-in/Foo.java", file1.getPath() );
+
+        CheckOutScmResult checkoutResult =
+            getScmManager().checkOut( getScmRepository(), new ScmFileSet( getAssertionCopy() ) );
+
+        assertResultIsSuccess( checkoutResult );
+
+        fooJava = new File( getAssertionCopy(), "sub1/sub2/src/main/java/Foo.java" );
+
+        barJava = new File( getAssertionCopy(), "sub1/sub2/src/main/java/Bar.java" );
+
+        readmeTxt = new File( getAssertionCopy(), "sub1/sub2/readme.txt" );
+
+        assertTrue( "check can read Foo.java", fooJava.canRead() );
+
+        assertFalse( "check Bar.java doesn't exist", barJava.canRead() );
+
+        assertTrue( "check can read readme.txt", readmeTxt.canRead() );
+
+        assertEquals( "check readme.txt contents", "/sub1/sub2/readme.txt",
+                      org.codehaus.plexus.util.FileUtils.fileRead( readmeTxt ) );
+    }
+
+    @Override
+    protected List<String> getScmFileNames()
+    {
+        List<String> scmFileNames = new ArrayList<String>( 4 );
+        scmFileNames.add( "/sub1/sub2/pom.xml" );
+        scmFileNames.add( "/sub1/sub2/readme.txt" );
+        scmFileNames.add( "/sub1/sub2/src/main/java/Application.java" );
+        scmFileNames.add( "/sub1/sub2/src/test/java/Test.java" );
+        return scmFileNames;
+    }
+
+    @Override
+    public void initRepo()
+        throws Exception
+    {
+        GitScmTestUtils.initRepo( "src/test/resources/repoWithSubdirs/", getRepositoryRoot(), getWorkingDirectory() );
+    }
+
+    /**
+     * @return default location of the test read/write repository
+     */
+    protected File getRepositoryRoot()
+    {
+        return PlexusTestCase.getTestFile( "target/scm-test/repositoryWithSubdirs" );
+    }
+
+    // @Test
+    // public void testCheckInWithWorkingdirNotInRepoRoot()
+    // throws Exception
+    // {
+    // System.out.println( "hello" );
+    // }
+}

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/bea863c4/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommandCommitterAuthorTckTest.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommandCommitterAuthorTckTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommandCommitterAuthorTckTest.java
index 10fdb85..039af7f 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommandCommitterAuthorTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommandCommitterAuthorTckTest.java
@@ -250,7 +250,7 @@ public class JGitCheckInCommandCommitterAuthorTckTest
         return head;
     }
 
-    private void createFooJava( File fooJava )
+    protected void createFooJava( File fooJava )
         throws Exception
     {
         FileWriter output = new FileWriter( fooJava );

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/bea863c4/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommandNotInRepoRootTckTest.java
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommandNotInRepoRootTckTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommandNotInRepoRootTckTest.java
new file mode 100644
index 0000000..634ecd2
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommandNotInRepoRootTckTest.java
@@ -0,0 +1,245 @@
+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 java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.maven.scm.ScmFile;
+import org.apache.maven.scm.ScmFileSet;
+import org.apache.maven.scm.ScmFileStatus;
+import org.apache.maven.scm.command.add.AddScmResult;
+import org.apache.maven.scm.command.checkin.CheckInScmResult;
+import org.apache.maven.scm.command.checkout.CheckOutScmResult;
+import org.apache.maven.scm.provider.git.GitScmTestUtils;
+import org.apache.maven.scm.provider.git.command.checkin.GitCheckInCommandTckTest;
+import org.codehaus.plexus.PlexusTestCase;
+import org.eclipse.jgit.util.FileUtils;
+
+/**
+ * Test for MRELEASE-875
+ * 
+ * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
+ * @author Dominik Bartholdi (imod)
+ */
+public class JGitCheckInCommandNotInRepoRootTckTest
+    extends GitCheckInCommandTckTest
+{
+
+    /**
+     * {@inheritDoc}
+     */
+    public String getScmUrl()
+        throws Exception
+    {
+        return GitScmTestUtils.getScmUrl( getRepositoryRoot(), "jgit" );
+    }
+
+    @Override
+    protected void deleteDirectory( File directory )
+        throws IOException
+    {
+        if ( directory.exists() )
+        {
+            FileUtils.delete( directory, FileUtils.RECURSIVE | FileUtils.RETRY );
+        }
+    }
+
+    private File getSubWorkingDir()
+    {
+        return new File( getWorkingCopy(), "sub1/sub2/" );
+    }
+
+    public void testCheckInCommandTest()
+        throws Exception
+    {
+        // Make sure that the correct files was checked out
+        File fooJava = new File( getWorkingCopy(), "sub1/sub2/src/main/java/Foo.java" );
+
+        File barJava = new File( getWorkingCopy(), "sub1/sub2/src/main/java/Bar.java" );
+
+        File readmeTxt = new File( getWorkingCopy(), "sub1/sub2/readme.txt" );
+
+        assertFalse( "check Foo.java doesn't yet exist", fooJava.canRead() );
+
+        assertFalse( "check Bar.java doesn't yet exist", barJava.canRead() );
+
+        assertTrue( "check can read readme.txt", readmeTxt.canRead() );
+
+        // Change the files
+        createFooJava( fooJava );
+
+        createBarJava( barJava );
+
+        changeReadmeTxt( readmeTxt );
+
+        AddScmResult addResult =
+            getScmManager().add( getScmRepository(),
+                                 new ScmFileSet( getSubWorkingDir(), "src/main/java/Foo.java", null ) );
+
+        assertResultIsSuccess( addResult );
+
+        //
+        CheckInScmResult result =
+            getScmManager().checkIn( getScmRepository(), new ScmFileSet( getSubWorkingDir() ), "Commit message" );
+
+        assertResultIsSuccess( result );
+
+        List<ScmFile> files = result.getCheckedInFiles();
+
+        assertNotNull( files );
+
+        assertEquals( 2, files.size() );
+
+        Map<String, ScmFile> fileMap = mapFilesByPath( files );
+        ScmFile file1 = fileMap.get( "sub1/sub2/src/main/java/Foo.java" );
+        assertNotNull( file1 );
+        assertEquals( ScmFileStatus.CHECKED_IN, file1.getStatus() );
+
+        ScmFile file2 = fileMap.get( "sub1/sub2/readme.txt" );
+        assertNotNull( file2 );
+        assertEquals( ScmFileStatus.CHECKED_IN, file2.getStatus() );
+
+        CheckOutScmResult checkoutResult =
+            getScmManager().checkOut( getScmRepository(), new ScmFileSet( getAssertionCopy() ) );
+
+        assertResultIsSuccess( checkoutResult );
+
+        fooJava = new File( getAssertionCopy(), "sub1/sub2/src/main/java/Foo.java" );
+
+        barJava = new File( getAssertionCopy(), "sub1/sub2/src/main/java/Bar.java" );
+
+        readmeTxt = new File( getAssertionCopy(), "sub1/sub2/readme.txt" );
+
+        assertTrue( "check can read Foo.java", fooJava.canRead() );
+
+        assertFalse( "check Bar.java doesn't exist", barJava.canRead() );
+
+        assertTrue( "check can read readme.txt", readmeTxt.canRead() );
+
+        assertEquals( "check readme.txt contents", "changed file",
+                      org.codehaus.plexus.util.FileUtils.fileRead( readmeTxt ) );
+    }
+
+    public void testCheckInCommandPartialFileset()
+        throws Exception
+    {
+        // Make sure that the correct files was checked out
+        File fooJava = new File( getWorkingCopy(), "sub1/sub2/src/main/java/Foo.java" );
+
+        File barJava = new File( getWorkingCopy(), "sub1/sub2/src/main/java/Bar.java" );
+
+        File readmeTxt = new File( getWorkingCopy(), "sub1/sub2/readme.txt" );
+
+        assertFalse( "check Foo.java doesn't yet exist", fooJava.canRead() );
+
+        assertFalse( "check Bar.java doesn't yet exist", barJava.canRead() );
+
+        assertTrue( "check can read readme.txt", readmeTxt.canRead() );
+
+        // Change the files
+        createFooJava( fooJava );
+
+        createBarJava( barJava );
+
+        changeReadmeTxt( readmeTxt );
+
+        AddScmResult addResult =
+            getScmManager().getProviderByUrl( getScmUrl() ).add( getScmRepository(),
+                                                                 new ScmFileSet( getSubWorkingDir(),
+                                                                                 "src/main/java/Foo.java", null ) );
+
+        assertResultIsSuccess( addResult );
+
+        CheckInScmResult result =
+            getScmManager().checkIn( getScmRepository(), new ScmFileSet( getSubWorkingDir(), "**/Foo.java", null ),
+                                     "Commit message" );
+
+        assertResultIsSuccess( result );
+
+        List<ScmFile> files = result.getCheckedInFiles();
+
+        assertNotNull( files );
+
+        assertEquals( 1, files.size() );
+
+        ScmFile file1 = files.get( 0 );
+
+        assertEquals( ScmFileStatus.CHECKED_IN, file1.getStatus() );
+
+        assertPath( "/test-repo/check-in/Foo.java", file1.getPath() );
+
+        CheckOutScmResult checkoutResult =
+            getScmManager().checkOut( getScmRepository(), new ScmFileSet( getAssertionCopy() ) );
+
+        assertResultIsSuccess( checkoutResult );
+
+        fooJava = new File( getAssertionCopy(), "sub1/sub2/src/main/java/Foo.java" );
+
+        barJava = new File( getAssertionCopy(), "sub1/sub2/src/main/java/Bar.java" );
+
+        readmeTxt = new File( getAssertionCopy(), "sub1/sub2/readme.txt" );
+
+        assertTrue( "check can read Foo.java", fooJava.canRead() );
+
+        assertFalse( "check Bar.java doesn't exist", barJava.canRead() );
+
+        assertTrue( "check can read readme.txt", readmeTxt.canRead() );
+
+        assertEquals( "check readme.txt contents", "/sub1/sub2/readme.txt",
+                      org.codehaus.plexus.util.FileUtils.fileRead( readmeTxt ) );
+    }
+
+    @Override
+    protected List<String> getScmFileNames()
+    {
+        List<String> scmFileNames = new ArrayList<String>( 4 );
+        scmFileNames.add( "/sub1/sub2/pom.xml" );
+        scmFileNames.add( "/sub1/sub2/readme.txt" );
+        scmFileNames.add( "/sub1/sub2/src/main/java/Application.java" );
+        scmFileNames.add( "/sub1/sub2/src/test/java/Test.java" );
+        return scmFileNames;
+    }
+
+    @Override
+    public void initRepo()
+        throws Exception
+    {
+        GitScmTestUtils.initRepo( "src/test/resources/repoWithSubdirs/", getRepositoryRoot(), getWorkingDirectory() );
+    }
+
+    /**
+     * @return default location of the test read/write repository
+     */
+    protected File getRepositoryRoot()
+    {
+        return PlexusTestCase.getTestFile( "target/scm-test/repositoryWithSubdirs" );
+    }
+
+    // @Test
+    // public void testCheckInWithWorkingdirNotInRepoRoot()
+    // throws Exception
+    // {
+    // System.out.println( "hello" );
+    // }
+}

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/bea863c4/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/checkin/CheckInCommandTckTest.java
----------------------------------------------------------------------
diff --git a/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/checkin/CheckInCommandTckTest.java b/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/checkin/CheckInCommandTckTest.java
index 55069ee..41d059f 100644
--- a/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/checkin/CheckInCommandTckTest.java
+++ b/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/checkin/CheckInCommandTckTest.java
@@ -181,7 +181,7 @@ public abstract class CheckInCommandTckTest
         assertEquals( "check readme.txt contents", "/readme.txt", FileUtils.fileRead( readmeTxt ) );
     }
 
-    private void createFooJava( File fooJava )
+    protected void createFooJava( File fooJava )
         throws Exception
     {
         FileWriter output = new FileWriter( fooJava );
@@ -206,7 +206,7 @@ public abstract class CheckInCommandTckTest
         }
     }
 
-    private void createBarJava( File barJava )
+    protected void createBarJava( File barJava )
         throws Exception
     {
         FileWriter output = new FileWriter( barJava );
@@ -228,7 +228,7 @@ public abstract class CheckInCommandTckTest
         output.close();
     }
 
-    private void changeReadmeTxt( File readmeTxt )
+    protected void changeReadmeTxt( File readmeTxt )
         throws Exception
     {
         FileWriter output = new FileWriter( readmeTxt );


[2/7] git commit: add test repositories to test MRELEASE-875

Posted by im...@apache.org.
add test repositories to test MRELEASE-875


Project: http://git-wip-us.apache.org/repos/asf/maven-scm/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-scm/commit/f0cd0986
Tree: http://git-wip-us.apache.org/repos/asf/maven-scm/tree/f0cd0986
Diff: http://git-wip-us.apache.org/repos/asf/maven-scm/diff/f0cd0986

Branch: refs/heads/MRELEASE-875
Commit: f0cd09867281e74d2ec2436dc786f45c5faca4c7
Parents: 037ba69
Author: imod <do...@fortysix.ch>
Authored: Sun Jul 20 12:39:33 2014 +0200
Committer: imod <do...@fortysix.ch>
Committed: Sun Jul 20 13:07:21 2014 +0200

----------------------------------------------------------------------
 .../src/test/resources/repoWithSubdirs/HEAD     |   1 +
 .../src/test/resources/repoWithSubdirs/config   |   8 +
 .../test/resources/repoWithSubdirs/description  |   1 +
 .../repoWithSubdirs/hooks/applypatch-msg.sample |  15 ++
 .../repoWithSubdirs/hooks/commit-msg.sample     |  24 +++
 .../repoWithSubdirs/hooks/post-update.sample    |   8 +
 .../repoWithSubdirs/hooks/pre-applypatch.sample |  14 ++
 .../repoWithSubdirs/hooks/pre-commit.sample     |  49 ++++++
 .../repoWithSubdirs/hooks/pre-push.sample       |  54 ++++++
 .../repoWithSubdirs/hooks/pre-rebase.sample     | 169 +++++++++++++++++++
 .../hooks/prepare-commit-msg.sample             |  36 ++++
 .../repoWithSubdirs/hooks/update.sample         | 128 ++++++++++++++
 .../test/resources/repoWithSubdirs/info/exclude |   6 +
 .../00/3fede18ca7c39eedfa6bc8aebf40a05507bec8   | Bin 0 -> 34 bytes
 .../01/da01a769d47b00f4e14e99aa1450c67657d0d2   | Bin 0 -> 44 bytes
 .../04/6c63780a8d68293e325b91df15e8c10b2966ce   | Bin 0 -> 162 bytes
 .../18/5b6afbaefc09d67215c2cefbfd51693362cce5   |   1 +
 .../22/2a63f1e431459c1161bceab26ca90fe2dcb59d   | Bin 0 -> 47 bytes
 .../25/2e88c3b6e714b8e7cc88b22a3db5e9f039a160   | Bin 0 -> 32 bytes
 .../29/ebb4956c34d2e4c521e7db408a399ab4e44431   | Bin 0 -> 52 bytes
 .../2d/3414ba621811a90a273eca8d727806a1cff464   | Bin 0 -> 53 bytes
 .../34/3031da1f2ae6135efe5687afbd9d213b3f4c2b   | Bin 0 -> 46 bytes
 .../34/8c2314f6a09f7fde3987d292763889844e02e7   | Bin 0 -> 152 bytes
 .../3b/459fa9451a94fc1acd10e2e29ab73d93eb816d   | Bin 0 -> 75 bytes
 .../3b/d305c57c635aead10cf59f7c1dc51af03edaf7   | Bin 0 -> 116 bytes
 .../3c/375e66d9b1f4d8fd1a63b7ead5769ea5d7fcee   | Bin 0 -> 46 bytes
 .../3c/f7bb86c15554148bf5b0b12bfd639e54a77e58   | Bin 0 -> 46 bytes
 .../3f/1b35f35f7ba0089a5436f3c5d9ae2a1f2503f2   | Bin 0 -> 53 bytes
 .../4d/97db4d39cfeab1da24053bfbfef25d3f2c3004   | Bin 0 -> 54 bytes
 .../51/5ff07d60e90b7229ebfb2d422d256812c83399   | Bin 0 -> 74 bytes
 .../5d/f026df8f337f8ed367e1891779a5e837789ad9   | Bin 0 -> 47 bytes
 .../61/4a3fd04313593d67f4154855a06941046326b3   | Bin 0 -> 23 bytes
 .../61/a0d22b023d6e31894d736cca8c1a47b6edd822   | Bin 0 -> 45 bytes
 .../62/1ccd26fbce46da0e4b11528630789056175a9d   | Bin 0 -> 46 bytes
 .../6b/04964fde0be6765059f24a965f5d565a494318   | Bin 0 -> 45 bytes
 .../6e/e023ce34f9dd5f3d579eed3d72277f17046b27   |   2 +
 .../6f/311acafe33884da65e09336112f552bba363eb   | Bin 0 -> 74 bytes
 .../7a/86800a1e5014521a80a730490f4e8eb230668d   | Bin 0 -> 31 bytes
 .../81/fe92a68b279e009f204e1004412e248635639a   | Bin 0 -> 47 bytes
 .../85/5aa4f727d6cd5b963318372f08dfb88f137089   | Bin 0 -> 46 bytes
 .../87/0127e22ade2a60b9cf8fc28804d2bcf979718d   | Bin 0 -> 44 bytes
 .../92/09a983605d6e43e5cf841a1ea18a1914bb7407   | Bin 0 -> 54 bytes
 .../93/d1358c830cdb51f1f8a72514180a2a2aaecdc0   | Bin 0 -> 61 bytes
 .../a1/f2d99c88e2c758a45b0a29ede3984fbf4d6a98   | Bin 0 -> 46 bytes
 .../a3/c7e7d600bca4a0ef582ebd3f7d3d43ddd95ae4   | Bin 0 -> 61 bytes
 .../ac/26197814ff0319cb6b7ff104b331485ea8e4c3   | Bin 0 -> 115 bytes
 .../af/eb41e442a70bb5c1e1b848756c6b78e2ea043f   | Bin 0 -> 46 bytes
 .../b0/e5e1455a42e2724dd17653011b3aa3eb342f39   | Bin 0 -> 46 bytes
 .../b5/3306f849b69ef0459ddf5cccff06b5fbb08c23   | Bin 0 -> 36 bytes
 .../ba/cd4ee105073117b30e5dcdba5150373b6b53c6   | Bin 0 -> 60 bytes
 .../bc/10d293709276ff1bc29678d7d7bce4c99df800   | Bin 0 -> 116 bytes
 .../d0/3813efea082ceb39458ae421503a80dd77e4a4   | Bin 0 -> 35 bytes
 .../e5/e1779b3f8155120e01a963f9d001ad5081faa2   | Bin 0 -> 46 bytes
 .../e8/4f294e93db6cd2f1fba1986f360933fb90eb2f   | Bin 0 -> 118 bytes
 .../f7/1429f9ff9214a546b438c611ae942c9cf5a49e   | Bin 0 -> 46 bytes
 .../fe/a16119a5b4ec0562d4f65b4237314250773bf8   | Bin 0 -> 27 bytes
 .../test/resources/repoWithSubdirs/packed-refs  |   2 +
 .../resources/repoWithSubdirs/refs/heads/master |   1 +
 .../src/test/resources/repoWithSubdirs/HEAD     |   1 +
 .../src/test/resources/repoWithSubdirs/config   |   8 +
 .../test/resources/repoWithSubdirs/description  |   1 +
 .../repoWithSubdirs/hooks/applypatch-msg.sample |  15 ++
 .../repoWithSubdirs/hooks/commit-msg.sample     |  24 +++
 .../repoWithSubdirs/hooks/post-update.sample    |   8 +
 .../repoWithSubdirs/hooks/pre-applypatch.sample |  14 ++
 .../repoWithSubdirs/hooks/pre-commit.sample     |  49 ++++++
 .../repoWithSubdirs/hooks/pre-push.sample       |  54 ++++++
 .../repoWithSubdirs/hooks/pre-rebase.sample     | 169 +++++++++++++++++++
 .../hooks/prepare-commit-msg.sample             |  36 ++++
 .../repoWithSubdirs/hooks/update.sample         | 128 ++++++++++++++
 .../test/resources/repoWithSubdirs/info/exclude |   6 +
 .../00/3fede18ca7c39eedfa6bc8aebf40a05507bec8   | Bin 0 -> 34 bytes
 .../01/da01a769d47b00f4e14e99aa1450c67657d0d2   | Bin 0 -> 44 bytes
 .../04/6c63780a8d68293e325b91df15e8c10b2966ce   | Bin 0 -> 162 bytes
 .../18/5b6afbaefc09d67215c2cefbfd51693362cce5   |   1 +
 .../22/2a63f1e431459c1161bceab26ca90fe2dcb59d   | Bin 0 -> 47 bytes
 .../25/2e88c3b6e714b8e7cc88b22a3db5e9f039a160   | Bin 0 -> 32 bytes
 .../29/ebb4956c34d2e4c521e7db408a399ab4e44431   | Bin 0 -> 52 bytes
 .../2d/3414ba621811a90a273eca8d727806a1cff464   | Bin 0 -> 53 bytes
 .../34/3031da1f2ae6135efe5687afbd9d213b3f4c2b   | Bin 0 -> 46 bytes
 .../34/8c2314f6a09f7fde3987d292763889844e02e7   | Bin 0 -> 152 bytes
 .../3b/459fa9451a94fc1acd10e2e29ab73d93eb816d   | Bin 0 -> 75 bytes
 .../3b/d305c57c635aead10cf59f7c1dc51af03edaf7   | Bin 0 -> 116 bytes
 .../3c/375e66d9b1f4d8fd1a63b7ead5769ea5d7fcee   | Bin 0 -> 46 bytes
 .../3c/f7bb86c15554148bf5b0b12bfd639e54a77e58   | Bin 0 -> 46 bytes
 .../3f/1b35f35f7ba0089a5436f3c5d9ae2a1f2503f2   | Bin 0 -> 53 bytes
 .../4d/97db4d39cfeab1da24053bfbfef25d3f2c3004   | Bin 0 -> 54 bytes
 .../51/5ff07d60e90b7229ebfb2d422d256812c83399   | Bin 0 -> 74 bytes
 .../5d/f026df8f337f8ed367e1891779a5e837789ad9   | Bin 0 -> 47 bytes
 .../61/4a3fd04313593d67f4154855a06941046326b3   | Bin 0 -> 23 bytes
 .../61/a0d22b023d6e31894d736cca8c1a47b6edd822   | Bin 0 -> 45 bytes
 .../62/1ccd26fbce46da0e4b11528630789056175a9d   | Bin 0 -> 46 bytes
 .../6b/04964fde0be6765059f24a965f5d565a494318   | Bin 0 -> 45 bytes
 .../6e/e023ce34f9dd5f3d579eed3d72277f17046b27   |   2 +
 .../6f/311acafe33884da65e09336112f552bba363eb   | Bin 0 -> 74 bytes
 .../7a/86800a1e5014521a80a730490f4e8eb230668d   | Bin 0 -> 31 bytes
 .../81/fe92a68b279e009f204e1004412e248635639a   | Bin 0 -> 47 bytes
 .../85/5aa4f727d6cd5b963318372f08dfb88f137089   | Bin 0 -> 46 bytes
 .../87/0127e22ade2a60b9cf8fc28804d2bcf979718d   | Bin 0 -> 44 bytes
 .../92/09a983605d6e43e5cf841a1ea18a1914bb7407   | Bin 0 -> 54 bytes
 .../93/d1358c830cdb51f1f8a72514180a2a2aaecdc0   | Bin 0 -> 61 bytes
 .../a1/f2d99c88e2c758a45b0a29ede3984fbf4d6a98   | Bin 0 -> 46 bytes
 .../a3/c7e7d600bca4a0ef582ebd3f7d3d43ddd95ae4   | Bin 0 -> 61 bytes
 .../ac/26197814ff0319cb6b7ff104b331485ea8e4c3   | Bin 0 -> 115 bytes
 .../af/eb41e442a70bb5c1e1b848756c6b78e2ea043f   | Bin 0 -> 46 bytes
 .../b0/e5e1455a42e2724dd17653011b3aa3eb342f39   | Bin 0 -> 46 bytes
 .../b5/3306f849b69ef0459ddf5cccff06b5fbb08c23   | Bin 0 -> 36 bytes
 .../ba/cd4ee105073117b30e5dcdba5150373b6b53c6   | Bin 0 -> 60 bytes
 .../bc/10d293709276ff1bc29678d7d7bce4c99df800   | Bin 0 -> 116 bytes
 .../d0/3813efea082ceb39458ae421503a80dd77e4a4   | Bin 0 -> 35 bytes
 .../e5/e1779b3f8155120e01a963f9d001ad5081faa2   | Bin 0 -> 46 bytes
 .../e8/4f294e93db6cd2f1fba1986f360933fb90eb2f   | Bin 0 -> 118 bytes
 .../f7/1429f9ff9214a546b438c611ae942c9cf5a49e   | Bin 0 -> 46 bytes
 .../fe/a16119a5b4ec0562d4f65b4237314250773bf8   | Bin 0 -> 27 bytes
 .../test/resources/repoWithSubdirs/packed-refs  |   2 +
 .../resources/repoWithSubdirs/refs/heads/master |   1 +
 116 files changed, 1038 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/HEAD
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/HEAD b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/HEAD
new file mode 100644
index 0000000..cb089cd
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/HEAD
@@ -0,0 +1 @@
+ref: refs/heads/master

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/config
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/config b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/config
new file mode 100644
index 0000000..9bf5ef7
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/config
@@ -0,0 +1,8 @@
+[core]
+	repositoryformatversion = 0
+	filemode = true
+	bare = true
+	ignorecase = true
+	precomposeunicode = true
+[remote "origin"]
+	url = /Users/domi/work/gitrepo/maven-scm/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/target/scm-test/repository2/.git

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/description
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/description b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/description
new file mode 100644
index 0000000..498b267
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/description
@@ -0,0 +1 @@
+Unnamed repository; edit this file 'description' to name the repository.

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/hooks/applypatch-msg.sample
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/hooks/applypatch-msg.sample b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/hooks/applypatch-msg.sample
new file mode 100755
index 0000000..8b2a2fe
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/hooks/applypatch-msg.sample
@@ -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, rename this file to "applypatch-msg".
+
+. git-sh-setup
+test -x "$GIT_DIR/hooks/commit-msg" &&
+	exec "$GIT_DIR/hooks/commit-msg" ${1+"$@"}
+:

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/hooks/commit-msg.sample
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/hooks/commit-msg.sample b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/hooks/commit-msg.sample
new file mode 100755
index 0000000..b58d118
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/hooks/commit-msg.sample
@@ -0,0 +1,24 @@
+#!/bin/sh
+#
+# An example hook script to check the commit log message.
+# Called by "git commit" with one argument, the name of the file
+# that has the commit 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, rename this file to "commit-msg".
+
+# Uncomment the below to add a Signed-off-by line to the message.
+# Doing this in a hook is a bad idea in general, but the prepare-commit-msg
+# hook is more suited to it.
+#
+# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
+# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"
+
+# This example catches duplicate Signed-off-by lines.
+
+test "" = "$(grep '^Signed-off-by: ' "$1" |
+	 sort | uniq -c | sed -e '/^[ 	]*1[ 	]/d')" || {
+	echo >&2 Duplicate Signed-off-by lines.
+	exit 1
+}

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/hooks/post-update.sample
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/hooks/post-update.sample b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/hooks/post-update.sample
new file mode 100755
index 0000000..ec17ec1
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/hooks/post-update.sample
@@ -0,0 +1,8 @@
+#!/bin/sh
+#
+# An example hook script to prepare a packed repository for use over
+# dumb transports.
+#
+# To enable this hook, rename this file to "post-update".
+
+exec git update-server-info

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/hooks/pre-applypatch.sample
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/hooks/pre-applypatch.sample b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/hooks/pre-applypatch.sample
new file mode 100755
index 0000000..b1f187c
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/hooks/pre-applypatch.sample
@@ -0,0 +1,14 @@
+#!/bin/sh
+#
+# An example hook script to verify what is about to be committed
+# 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.
+#
+# To enable this hook, rename this file to "pre-applypatch".
+
+. git-sh-setup
+test -x "$GIT_DIR/hooks/pre-commit" &&
+	exec "$GIT_DIR/hooks/pre-commit" ${1+"$@"}
+:

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/hooks/pre-commit.sample
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/hooks/pre-commit.sample b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/hooks/pre-commit.sample
new file mode 100755
index 0000000..68d62d5
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/hooks/pre-commit.sample
@@ -0,0 +1,49 @@
+#!/bin/sh
+#
+# An example hook script to verify what is about to be committed.
+# Called by "git commit" with no arguments.  The hook should
+# exit with non-zero status after issuing an appropriate message if
+# it wants to stop the commit.
+#
+# To enable this hook, rename this file to "pre-commit".
+
+if git rev-parse --verify HEAD >/dev/null 2>&1
+then
+	against=HEAD
+else
+	# Initial commit: diff against an empty tree object
+	against=4b825dc642cb6eb9a060e54bf8d69288fbee4904
+fi
+
+# If you want to allow non-ASCII filenames set this variable to true.
+allownonascii=$(git config --bool hooks.allownonascii)
+
+# Redirect output to stderr.
+exec 1>&2
+
+# Cross platform projects tend to avoid non-ASCII filenames; prevent
+# them from being added to the repository. We exploit the fact that the
+# printable range starts at the space character and ends with tilde.
+if [ "$allownonascii" != "true" ] &&
+	# Note that the use of brackets around a tr range is ok here, (it's
+	# even required, for portability to Solaris 10's /usr/bin/tr), since
+	# the square bracket bytes happen to fall in the designated range.
+	test $(git diff --cached --name-only --diff-filter=A -z $against |
+	  LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0
+then
+	cat <<\EOF
+Error: Attempt to add a non-ASCII file name.
+
+This can cause problems if you want to work with people on other platforms.
+
+To be portable it is advisable to rename the file.
+
+If you know what you are doing you can disable this check using:
+
+  git config hooks.allownonascii true
+EOF
+	exit 1
+fi
+
+# If there are whitespace errors, print the offending file names and fail.
+exec git diff-index --check --cached $against --

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/hooks/pre-push.sample
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/hooks/pre-push.sample b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/hooks/pre-push.sample
new file mode 100755
index 0000000..1f3bceb
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/hooks/pre-push.sample
@@ -0,0 +1,54 @@
+#!/bin/sh
+
+# An example hook script to verify what is about to be pushed.  Called by "git
+# push" after it has checked the remote status, but before anything has been
+# pushed.  If this script exits with a non-zero status nothing will be pushed.
+#
+# This hook is called with the following parameters:
+#
+# $1 -- Name of the remote to which the push is being done
+# $2 -- URL to which the push is being done
+#
+# If pushing without using a named remote those arguments will be equal.
+#
+# Information about the commits which are being pushed is supplied as lines to
+# the standard input in the form:
+#
+#   <local ref> <local sha1> <remote ref> <remote sha1>
+#
+# This sample shows how to prevent push of commits where the log message starts
+# with "WIP" (work in progress).
+
+remote="$1"
+url="$2"
+
+z40=0000000000000000000000000000000000000000
+
+IFS=' '
+while read local_ref local_sha remote_ref remote_sha
+do
+	if [ "$local_sha" = $z40 ]
+	then
+		# Handle delete
+		:
+	else
+		if [ "$remote_sha" = $z40 ]
+		then
+			# New branch, examine all commits
+			range="$local_sha"
+		else
+			# Update to existing branch, examine new commits
+			range="$remote_sha..$local_sha"
+		fi
+
+		# Check for WIP commit
+		commit=`git rev-list -n 1 --grep '^WIP' "$range"`
+		if [ -n "$commit" ]
+		then
+			echo "Found WIP commit in $local_ref, not pushing"
+			exit 1
+		fi
+	fi
+done
+
+exit 0

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/hooks/pre-rebase.sample
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/hooks/pre-rebase.sample b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/hooks/pre-rebase.sample
new file mode 100755
index 0000000..9773ed4
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/hooks/pre-rebase.sample
@@ -0,0 +1,169 @@
+#!/bin/sh
+#
+# Copyright (c) 2006, 2008 Junio C Hamano
+#
+# The "pre-rebase" hook is run just before "git rebase" starts doing
+# its job, and can prevent the command from running by exiting with
+# non-zero status.
+#
+# The hook is called with the following parameters:
+#
+# $1 -- the upstream the series was forked from.
+# $2 -- the branch being rebased (or empty when rebasing the current branch).
+#
+# This sample shows how to prevent topic branches that are already
+# merged to 'next' branch from getting rebased, because allowing it
+# would result in rebasing already published history.
+
+publish=next
+basebranch="$1"
+if test "$#" = 2
+then
+	topic="refs/heads/$2"
+else
+	topic=`git symbolic-ref HEAD` ||
+	exit 0 ;# we do not interrupt rebasing detached HEAD
+fi
+
+case "$topic" in
+refs/heads/??/*)
+	;;
+*)
+	exit 0 ;# we do not interrupt others.
+	;;
+esac
+
+# Now we are dealing with a topic branch being rebased
+# on top of master.  Is it OK to rebase it?
+
+# Does the topic really exist?
+git show-ref -q "$topic" || {
+	echo >&2 "No such branch $topic"
+	exit 1
+}
+
+# Is topic fully merged to master?
+not_in_master=`git rev-list --pretty=oneline ^master "$topic"`
+if test -z "$not_in_master"
+then
+	echo >&2 "$topic is fully merged to master; better remove it."
+	exit 1 ;# we could allow it, but there is no point.
+fi
+
+# Is topic ever merged to next?  If so you should not be rebasing it.
+only_next_1=`git rev-list ^master "^$topic" ${publish} | sort`
+only_next_2=`git rev-list ^master           ${publish} | sort`
+if test "$only_next_1" = "$only_next_2"
+then
+	not_in_topic=`git rev-list "^$topic" master`
+	if test -z "$not_in_topic"
+	then
+		echo >&2 "$topic is already up-to-date with master"
+		exit 1 ;# we could allow it, but there is no point.
+	else
+		exit 0
+	fi
+else
+	not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"`
+	/usr/bin/perl -e '
+		my $topic = $ARGV[0];
+		my $msg = "* $topic has commits already merged to public branch:\n";
+		my (%not_in_next) = map {
+			/^([0-9a-f]+) /;
+			($1 => 1);
+		} split(/\n/, $ARGV[1]);
+		for my $elem (map {
+				/^([0-9a-f]+) (.*)$/;
+				[$1 => $2];
+			} split(/\n/, $ARGV[2])) {
+			if (!exists $not_in_next{$elem->[0]}) {
+				if ($msg) {
+					print STDERR $msg;
+					undef $msg;
+				}
+				print STDERR " $elem->[1]\n";
+			}
+		}
+	' "$topic" "$not_in_next" "$not_in_master"
+	exit 1
+fi
+
+exit 0
+
+################################################################
+
+This sample hook safeguards topic branches that have been
+published from being rewound.
+
+The workflow assumed here is:
+
+ * Once a topic branch forks from "master", "master" is never
+   merged into it again (either directly or indirectly).
+
+ * Once a topic branch is fully cooked and merged into "master",
+   it is deleted.  If you need to build on top of it to correct
+   earlier mistakes, a new topic branch is created by forking at
+   the tip of the "master".  This is not strictly necessary, but
+   it makes it easier to keep your history simple.
+
+ * Whenever you need to test or publish your changes to topic
+   branches, merge them into "next" branch.
+
+The script, being an example, hardcodes the publish branch name
+to be "next", but it is trivial to make it configurable via
+$GIT_DIR/config mechanism.
+
+With this workflow, you would want to know:
+
+(1) ... if a topic branch has ever been merged to "next".  Young
+    topic branches can have stupid mistakes you would rather
+    clean up before publishing, and things that have not been
+    merged into other branches can be easily rebased without
+    affecting other people.  But once it is published, you would
+    not want to rewind it.
+
+(2) ... if a topic branch has been fully merged to "master".
+    Then you can delete it.  More importantly, you should not
+    build on top of it -- other people may already want to
+    change things related to the topic as patches against your
+    "master", so if you need further changes, it is better to
+    fork the topic (perhaps with the same name) afresh from the
+    tip of "master".
+
+Let's look at this example:
+
+		   o---o---o---o---o---o---o---o---o---o "next"
+		  /       /           /           /
+		 /   a---a---b A     /           /
+		/   /               /           /
+	       /   /   c---c---c---c B         /
+	      /   /   /             \         /
+	     /   /   /   b---b C     \       /
+	    /   /   /   /             \     /
+    ---o---o---o---o---o---o---o---o---o---o---o "master"
+
+
+A, B and C are topic branches.
+
+ * A has one fix since it was merged up to "next".
+
+ * B has finished.  It has been fully merged up to "master" and "next",
+   and is ready to be deleted.
+
+ * C has not merged to "next" at all.
+
+We would want to allow C to be rebased, refuse A, and encourage
+B to be deleted.
+
+To compute (1):
+
+	git rev-list ^master ^topic next
+	git rev-list ^master        next
+
+	if these match, topic has not merged in next at all.
+
+To compute (2):
+
+	git rev-list master..topic
+
+	if this is empty, it is fully merged to "master".

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/hooks/prepare-commit-msg.sample
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/hooks/prepare-commit-msg.sample b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/hooks/prepare-commit-msg.sample
new file mode 100755
index 0000000..f093a02
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/hooks/prepare-commit-msg.sample
@@ -0,0 +1,36 @@
+#!/bin/sh
+#
+# An example hook script to prepare the commit log message.
+# Called by "git commit" with the name of the file that has the
+# commit message, followed by the description of the commit
+# message's source.  The hook's purpose is to edit the commit
+# message file.  If the hook fails with a non-zero status,
+# the commit is aborted.
+#
+# To enable this hook, rename this file to "prepare-commit-msg".
+
+# This hook includes three examples.  The first comments out the
+# "Conflicts:" part of a merge commit.
+#
+# The second includes the output of "git diff --name-status -r"
+# into the message, just before the "git status" output.  It is
+# commented because it doesn't cope with --amend or with squashed
+# commits.
+#
+# The third example adds a Signed-off-by line to the message, that can
+# still be edited.  This is rarely a good idea.
+
+case "$2,$3" in
+  merge,)
+    /usr/bin/perl -i.bak -ne 's/^/# /, s/^# #/#/ if /^Conflicts/ .. /#/; print' "$1" ;;
+
+# ,|template,)
+#   /usr/bin/perl -i.bak -pe '
+#      print "\n" . `git diff --cached --name-status -r`
+#	 if /^#/ && $first++ == 0' "$1" ;;
+
+  *) ;;
+esac
+
+# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
+# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/hooks/update.sample
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/hooks/update.sample b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/hooks/update.sample
new file mode 100755
index 0000000..d847583
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/hooks/update.sample
@@ -0,0 +1,128 @@
+#!/bin/sh
+#
+# An example hook script to blocks unannotated tags from entering.
+# Called by "git receive-pack" with arguments: refname sha1-old sha1-new
+#
+# To enable this hook, rename this file to "update".
+#
+# Config
+# ------
+# hooks.allowunannotated
+#   This boolean sets whether unannotated tags will be allowed into the
+#   repository.  By default they won't be.
+# hooks.allowdeletetag
+#   This boolean sets whether deleting tags will be allowed in the
+#   repository.  By default they won't be.
+# hooks.allowmodifytag
+#   This boolean sets whether a tag may be modified after creation. By default
+#   it won't be.
+# hooks.allowdeletebranch
+#   This boolean sets whether deleting branches will be allowed in the
+#   repository.  By default they won't be.
+# hooks.denycreatebranch
+#   This boolean sets whether remotely creating branches will be denied
+#   in the repository.  By default this is allowed.
+#
+
+# --- Command line
+refname="$1"
+oldrev="$2"
+newrev="$3"
+
+# --- Safety check
+if [ -z "$GIT_DIR" ]; then
+	echo "Don't run this script from the command line." >&2
+	echo " (if you want, you could supply GIT_DIR then run" >&2
+	echo "  $0 <ref> <oldrev> <newrev>)" >&2
+	exit 1
+fi
+
+if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then
+	echo "usage: $0 <ref> <oldrev> <newrev>" >&2
+	exit 1
+fi
+
+# --- Config
+allowunannotated=$(git config --bool hooks.allowunannotated)
+allowdeletebranch=$(git config --bool hooks.allowdeletebranch)
+denycreatebranch=$(git config --bool hooks.denycreatebranch)
+allowdeletetag=$(git config --bool hooks.allowdeletetag)
+allowmodifytag=$(git config --bool hooks.allowmodifytag)
+
+# check for no description
+projectdesc=$(sed -e '1q' "$GIT_DIR/description")
+case "$projectdesc" in
+"Unnamed repository"* | "")
+	echo "*** Project description file hasn't been set" >&2
+	exit 1
+	;;
+esac
+
+# --- Check types
+# if $newrev is 0000...0000, it's a commit to delete a ref.
+zero="0000000000000000000000000000000000000000"
+if [ "$newrev" = "$zero" ]; then
+	newrev_type=delete
+else
+	newrev_type=$(git cat-file -t $newrev)
+fi
+
+case "$refname","$newrev_type" in
+	refs/tags/*,commit)
+		# un-annotated tag
+		short_refname=${refname##refs/tags/}
+		if [ "$allowunannotated" != "true" ]; then
+			echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2
+			echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2
+			exit 1
+		fi
+		;;
+	refs/tags/*,delete)
+		# delete tag
+		if [ "$allowdeletetag" != "true" ]; then
+			echo "*** Deleting a tag is not allowed in this repository" >&2
+			exit 1
+		fi
+		;;
+	refs/tags/*,tag)
+		# annotated tag
+		if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1
+		then
+			echo "*** Tag '$refname' already exists." >&2
+			echo "*** Modifying a tag is not allowed in this repository." >&2
+			exit 1
+		fi
+		;;
+	refs/heads/*,commit)
+		# branch
+		if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then
+			echo "*** Creating a branch is not allowed in this repository" >&2
+			exit 1
+		fi
+		;;
+	refs/heads/*,delete)
+		# delete branch
+		if [ "$allowdeletebranch" != "true" ]; then
+			echo "*** Deleting a branch is not allowed in this repository" >&2
+			exit 1
+		fi
+		;;
+	refs/remotes/*,commit)
+		# tracking branch
+		;;
+	refs/remotes/*,delete)
+		# delete tracking branch
+		if [ "$allowdeletebranch" != "true" ]; then
+			echo "*** Deleting a tracking branch is not allowed in this repository" >&2
+			exit 1
+		fi
+		;;
+	*)
+		# Anything else (is there anything else?)
+		echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2
+		exit 1
+		;;
+esac
+
+# --- Finished
+exit 0

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/info/exclude
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/info/exclude b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/info/exclude
new file mode 100644
index 0000000..a5196d1
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/info/exclude
@@ -0,0 +1,6 @@
+# git ls-files --others --exclude-from=.git/info/exclude
+# Lines that start with '#' are comments.
+# For a project mostly in C, the following would be a good set of
+# exclude patterns (uncomment them if you want to use them):
+# *.[oa]
+# *~

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/00/3fede18ca7c39eedfa6bc8aebf40a05507bec8
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/00/3fede18ca7c39eedfa6bc8aebf40a05507bec8 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/00/3fede18ca7c39eedfa6bc8aebf40a05507bec8
new file mode 100644
index 0000000..b6bb6bf
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/00/3fede18ca7c39eedfa6bc8aebf40a05507bec8 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/01/da01a769d47b00f4e14e99aa1450c67657d0d2
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/01/da01a769d47b00f4e14e99aa1450c67657d0d2 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/01/da01a769d47b00f4e14e99aa1450c67657d0d2
new file mode 100644
index 0000000..4df737f
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/01/da01a769d47b00f4e14e99aa1450c67657d0d2 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/04/6c63780a8d68293e325b91df15e8c10b2966ce
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/04/6c63780a8d68293e325b91df15e8c10b2966ce b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/04/6c63780a8d68293e325b91df15e8c10b2966ce
new file mode 100644
index 0000000..f96a05a
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/04/6c63780a8d68293e325b91df15e8c10b2966ce differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/18/5b6afbaefc09d67215c2cefbfd51693362cce5
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/18/5b6afbaefc09d67215c2cefbfd51693362cce5 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/18/5b6afbaefc09d67215c2cefbfd51693362cce5
new file mode 100644
index 0000000..8ebec4d
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/18/5b6afbaefc09d67215c2cefbfd51693362cce5
@@ -0,0 +1 @@
+x+)JMU040f040031Q(��ի��aP��8��Ȏ�g:6i�n}��raTIQjbJn�^IE	����8t^[�v=Q�j�[�d��(%3�J��g��,��8Q�k���ɯO\,
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/22/2a63f1e431459c1161bceab26ca90fe2dcb59d
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/22/2a63f1e431459c1161bceab26ca90fe2dcb59d b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/22/2a63f1e431459c1161bceab26ca90fe2dcb59d
new file mode 100644
index 0000000..4058476
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/22/2a63f1e431459c1161bceab26ca90fe2dcb59d differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/25/2e88c3b6e714b8e7cc88b22a3db5e9f039a160
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/25/2e88c3b6e714b8e7cc88b22a3db5e9f039a160 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/25/2e88c3b6e714b8e7cc88b22a3db5e9f039a160
new file mode 100644
index 0000000..aa09e40
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/25/2e88c3b6e714b8e7cc88b22a3db5e9f039a160 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/29/ebb4956c34d2e4c521e7db408a399ab4e44431
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/29/ebb4956c34d2e4c521e7db408a399ab4e44431 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/29/ebb4956c34d2e4c521e7db408a399ab4e44431
new file mode 100644
index 0000000..ce1891e
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/29/ebb4956c34d2e4c521e7db408a399ab4e44431 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/2d/3414ba621811a90a273eca8d727806a1cff464
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/2d/3414ba621811a90a273eca8d727806a1cff464 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/2d/3414ba621811a90a273eca8d727806a1cff464
new file mode 100644
index 0000000..a656945
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/2d/3414ba621811a90a273eca8d727806a1cff464 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/34/3031da1f2ae6135efe5687afbd9d213b3f4c2b
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/34/3031da1f2ae6135efe5687afbd9d213b3f4c2b b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/34/3031da1f2ae6135efe5687afbd9d213b3f4c2b
new file mode 100644
index 0000000..4a164e3
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/34/3031da1f2ae6135efe5687afbd9d213b3f4c2b differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/34/8c2314f6a09f7fde3987d292763889844e02e7
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/34/8c2314f6a09f7fde3987d292763889844e02e7 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/34/8c2314f6a09f7fde3987d292763889844e02e7
new file mode 100644
index 0000000..63f602b
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/34/8c2314f6a09f7fde3987d292763889844e02e7 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/3b/459fa9451a94fc1acd10e2e29ab73d93eb816d
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/3b/459fa9451a94fc1acd10e2e29ab73d93eb816d b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/3b/459fa9451a94fc1acd10e2e29ab73d93eb816d
new file mode 100644
index 0000000..6b6bfad
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/3b/459fa9451a94fc1acd10e2e29ab73d93eb816d differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/3b/d305c57c635aead10cf59f7c1dc51af03edaf7
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/3b/d305c57c635aead10cf59f7c1dc51af03edaf7 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/3b/d305c57c635aead10cf59f7c1dc51af03edaf7
new file mode 100644
index 0000000..0a079e7
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/3b/d305c57c635aead10cf59f7c1dc51af03edaf7 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/3c/375e66d9b1f4d8fd1a63b7ead5769ea5d7fcee
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/3c/375e66d9b1f4d8fd1a63b7ead5769ea5d7fcee b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/3c/375e66d9b1f4d8fd1a63b7ead5769ea5d7fcee
new file mode 100644
index 0000000..ffbe949
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/3c/375e66d9b1f4d8fd1a63b7ead5769ea5d7fcee differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/3c/f7bb86c15554148bf5b0b12bfd639e54a77e58
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/3c/f7bb86c15554148bf5b0b12bfd639e54a77e58 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/3c/f7bb86c15554148bf5b0b12bfd639e54a77e58
new file mode 100644
index 0000000..c8859bd
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/3c/f7bb86c15554148bf5b0b12bfd639e54a77e58 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/3f/1b35f35f7ba0089a5436f3c5d9ae2a1f2503f2
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/3f/1b35f35f7ba0089a5436f3c5d9ae2a1f2503f2 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/3f/1b35f35f7ba0089a5436f3c5d9ae2a1f2503f2
new file mode 100644
index 0000000..0267ac9
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/3f/1b35f35f7ba0089a5436f3c5d9ae2a1f2503f2 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/4d/97db4d39cfeab1da24053bfbfef25d3f2c3004
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/4d/97db4d39cfeab1da24053bfbfef25d3f2c3004 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/4d/97db4d39cfeab1da24053bfbfef25d3f2c3004
new file mode 100644
index 0000000..a5c1b37
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/4d/97db4d39cfeab1da24053bfbfef25d3f2c3004 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/51/5ff07d60e90b7229ebfb2d422d256812c83399
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/51/5ff07d60e90b7229ebfb2d422d256812c83399 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/51/5ff07d60e90b7229ebfb2d422d256812c83399
new file mode 100644
index 0000000..6ec0aa4
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/51/5ff07d60e90b7229ebfb2d422d256812c83399 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/5d/f026df8f337f8ed367e1891779a5e837789ad9
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/5d/f026df8f337f8ed367e1891779a5e837789ad9 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/5d/f026df8f337f8ed367e1891779a5e837789ad9
new file mode 100644
index 0000000..d92edb8
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/5d/f026df8f337f8ed367e1891779a5e837789ad9 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/61/4a3fd04313593d67f4154855a06941046326b3
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/61/4a3fd04313593d67f4154855a06941046326b3 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/61/4a3fd04313593d67f4154855a06941046326b3
new file mode 100644
index 0000000..bca48ac
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/61/4a3fd04313593d67f4154855a06941046326b3 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/61/a0d22b023d6e31894d736cca8c1a47b6edd822
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/61/a0d22b023d6e31894d736cca8c1a47b6edd822 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/61/a0d22b023d6e31894d736cca8c1a47b6edd822
new file mode 100644
index 0000000..26470db
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/61/a0d22b023d6e31894d736cca8c1a47b6edd822 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/62/1ccd26fbce46da0e4b11528630789056175a9d
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/62/1ccd26fbce46da0e4b11528630789056175a9d b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/62/1ccd26fbce46da0e4b11528630789056175a9d
new file mode 100644
index 0000000..75c957b
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/62/1ccd26fbce46da0e4b11528630789056175a9d differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/6b/04964fde0be6765059f24a965f5d565a494318
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/6b/04964fde0be6765059f24a965f5d565a494318 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/6b/04964fde0be6765059f24a965f5d565a494318
new file mode 100644
index 0000000..d011d5d
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/6b/04964fde0be6765059f24a965f5d565a494318 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/6e/e023ce34f9dd5f3d579eed3d72277f17046b27
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/6e/e023ce34f9dd5f3d579eed3d72277f17046b27 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/6e/e023ce34f9dd5f3d579eed3d72277f17046b27
new file mode 100644
index 0000000..4d34471
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/6e/e023ce34f9dd5f3d579eed3d72277f17046b27
@@ -0,0 +1,2 @@
+x��=
+1@a�bzA�?	�XYy�lf¦�Yb���
l^��˽�:AK���L6��{��*�B!��Y�9�#,�Yli�m��!k�l�IƂ��Ā��FoB��Z��Q��\���:��z����|����(+�o쥖R����?�����z#?�
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/6f/311acafe33884da65e09336112f552bba363eb
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/6f/311acafe33884da65e09336112f552bba363eb b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/6f/311acafe33884da65e09336112f552bba363eb
new file mode 100644
index 0000000..e7d38bd
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/6f/311acafe33884da65e09336112f552bba363eb differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/7a/86800a1e5014521a80a730490f4e8eb230668d
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/7a/86800a1e5014521a80a730490f4e8eb230668d b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/7a/86800a1e5014521a80a730490f4e8eb230668d
new file mode 100644
index 0000000..e20207c
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/7a/86800a1e5014521a80a730490f4e8eb230668d differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/81/fe92a68b279e009f204e1004412e248635639a
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/81/fe92a68b279e009f204e1004412e248635639a b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/81/fe92a68b279e009f204e1004412e248635639a
new file mode 100644
index 0000000..cf6472b
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/81/fe92a68b279e009f204e1004412e248635639a differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/85/5aa4f727d6cd5b963318372f08dfb88f137089
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/85/5aa4f727d6cd5b963318372f08dfb88f137089 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/85/5aa4f727d6cd5b963318372f08dfb88f137089
new file mode 100644
index 0000000..8bd8e58
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/85/5aa4f727d6cd5b963318372f08dfb88f137089 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/87/0127e22ade2a60b9cf8fc28804d2bcf979718d
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/87/0127e22ade2a60b9cf8fc28804d2bcf979718d b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/87/0127e22ade2a60b9cf8fc28804d2bcf979718d
new file mode 100644
index 0000000..d707c09
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/87/0127e22ade2a60b9cf8fc28804d2bcf979718d differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/92/09a983605d6e43e5cf841a1ea18a1914bb7407
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/92/09a983605d6e43e5cf841a1ea18a1914bb7407 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/92/09a983605d6e43e5cf841a1ea18a1914bb7407
new file mode 100644
index 0000000..9493985
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/92/09a983605d6e43e5cf841a1ea18a1914bb7407 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/93/d1358c830cdb51f1f8a72514180a2a2aaecdc0
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/93/d1358c830cdb51f1f8a72514180a2a2aaecdc0 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/93/d1358c830cdb51f1f8a72514180a2a2aaecdc0
new file mode 100644
index 0000000..1e6d267
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/93/d1358c830cdb51f1f8a72514180a2a2aaecdc0 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/a1/f2d99c88e2c758a45b0a29ede3984fbf4d6a98
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/a1/f2d99c88e2c758a45b0a29ede3984fbf4d6a98 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/a1/f2d99c88e2c758a45b0a29ede3984fbf4d6a98
new file mode 100644
index 0000000..72eac6e
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/a1/f2d99c88e2c758a45b0a29ede3984fbf4d6a98 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/a3/c7e7d600bca4a0ef582ebd3f7d3d43ddd95ae4
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/a3/c7e7d600bca4a0ef582ebd3f7d3d43ddd95ae4 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/a3/c7e7d600bca4a0ef582ebd3f7d3d43ddd95ae4
new file mode 100644
index 0000000..3edb33a
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/a3/c7e7d600bca4a0ef582ebd3f7d3d43ddd95ae4 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/ac/26197814ff0319cb6b7ff104b331485ea8e4c3
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/ac/26197814ff0319cb6b7ff104b331485ea8e4c3 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/ac/26197814ff0319cb6b7ff104b331485ea8e4c3
new file mode 100644
index 0000000..3552860
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/ac/26197814ff0319cb6b7ff104b331485ea8e4c3 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/af/eb41e442a70bb5c1e1b848756c6b78e2ea043f
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/af/eb41e442a70bb5c1e1b848756c6b78e2ea043f b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/af/eb41e442a70bb5c1e1b848756c6b78e2ea043f
new file mode 100644
index 0000000..0fa032f
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/af/eb41e442a70bb5c1e1b848756c6b78e2ea043f differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/b0/e5e1455a42e2724dd17653011b3aa3eb342f39
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/b0/e5e1455a42e2724dd17653011b3aa3eb342f39 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/b0/e5e1455a42e2724dd17653011b3aa3eb342f39
new file mode 100644
index 0000000..12f1c81
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/b0/e5e1455a42e2724dd17653011b3aa3eb342f39 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/b5/3306f849b69ef0459ddf5cccff06b5fbb08c23
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/b5/3306f849b69ef0459ddf5cccff06b5fbb08c23 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/b5/3306f849b69ef0459ddf5cccff06b5fbb08c23
new file mode 100644
index 0000000..314330e
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/b5/3306f849b69ef0459ddf5cccff06b5fbb08c23 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/ba/cd4ee105073117b30e5dcdba5150373b6b53c6
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/ba/cd4ee105073117b30e5dcdba5150373b6b53c6 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/ba/cd4ee105073117b30e5dcdba5150373b6b53c6
new file mode 100644
index 0000000..fe99cd8
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/ba/cd4ee105073117b30e5dcdba5150373b6b53c6 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/bc/10d293709276ff1bc29678d7d7bce4c99df800
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/bc/10d293709276ff1bc29678d7d7bce4c99df800 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/bc/10d293709276ff1bc29678d7d7bce4c99df800
new file mode 100644
index 0000000..883afdc
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/bc/10d293709276ff1bc29678d7d7bce4c99df800 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/d0/3813efea082ceb39458ae421503a80dd77e4a4
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/d0/3813efea082ceb39458ae421503a80dd77e4a4 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/d0/3813efea082ceb39458ae421503a80dd77e4a4
new file mode 100644
index 0000000..d016f1e
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/d0/3813efea082ceb39458ae421503a80dd77e4a4 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/e5/e1779b3f8155120e01a963f9d001ad5081faa2
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/e5/e1779b3f8155120e01a963f9d001ad5081faa2 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/e5/e1779b3f8155120e01a963f9d001ad5081faa2
new file mode 100644
index 0000000..3273a1e
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/e5/e1779b3f8155120e01a963f9d001ad5081faa2 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/e8/4f294e93db6cd2f1fba1986f360933fb90eb2f
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/e8/4f294e93db6cd2f1fba1986f360933fb90eb2f b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/e8/4f294e93db6cd2f1fba1986f360933fb90eb2f
new file mode 100644
index 0000000..2985422
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/e8/4f294e93db6cd2f1fba1986f360933fb90eb2f differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/f7/1429f9ff9214a546b438c611ae942c9cf5a49e
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/f7/1429f9ff9214a546b438c611ae942c9cf5a49e b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/f7/1429f9ff9214a546b438c611ae942c9cf5a49e
new file mode 100644
index 0000000..b543850
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/f7/1429f9ff9214a546b438c611ae942c9cf5a49e differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/fe/a16119a5b4ec0562d4f65b4237314250773bf8
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/fe/a16119a5b4ec0562d4f65b4237314250773bf8 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/fe/a16119a5b4ec0562d4f65b4237314250773bf8
new file mode 100644
index 0000000..6c36970
Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/objects/fe/a16119a5b4ec0562d4f65b4237314250773bf8 differ

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/packed-refs
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/packed-refs b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/packed-refs
new file mode 100644
index 0000000..7272fce
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/packed-refs
@@ -0,0 +1,2 @@
+# pack-refs with: peeled fully-peeled 
+e84f294e93db6cd2f1fba1986f360933fb90eb2f refs/heads/master

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/refs/heads/master
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/refs/heads/master b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/refs/heads/master
new file mode 100644
index 0000000..89118e7
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/repoWithSubdirs/refs/heads/master
@@ -0,0 +1 @@
+6ee023ce34f9dd5f3d579eed3d72277f17046b27

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/HEAD
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/HEAD b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/HEAD
new file mode 100644
index 0000000..cb089cd
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/HEAD
@@ -0,0 +1 @@
+ref: refs/heads/master

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/config
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/config b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/config
new file mode 100644
index 0000000..9bf5ef7
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/config
@@ -0,0 +1,8 @@
+[core]
+	repositoryformatversion = 0
+	filemode = true
+	bare = true
+	ignorecase = true
+	precomposeunicode = true
+[remote "origin"]
+	url = /Users/domi/work/gitrepo/maven-scm/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/target/scm-test/repository2/.git

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/description
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/description b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/description
new file mode 100644
index 0000000..498b267
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/description
@@ -0,0 +1 @@
+Unnamed repository; edit this file 'description' to name the repository.

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/hooks/applypatch-msg.sample
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/hooks/applypatch-msg.sample b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/hooks/applypatch-msg.sample
new file mode 100755
index 0000000..8b2a2fe
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/hooks/applypatch-msg.sample
@@ -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, rename this file to "applypatch-msg".
+
+. git-sh-setup
+test -x "$GIT_DIR/hooks/commit-msg" &&
+	exec "$GIT_DIR/hooks/commit-msg" ${1+"$@"}
+:

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/hooks/commit-msg.sample
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/hooks/commit-msg.sample b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/hooks/commit-msg.sample
new file mode 100755
index 0000000..b58d118
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/hooks/commit-msg.sample
@@ -0,0 +1,24 @@
+#!/bin/sh
+#
+# An example hook script to check the commit log message.
+# Called by "git commit" with one argument, the name of the file
+# that has the commit 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, rename this file to "commit-msg".
+
+# Uncomment the below to add a Signed-off-by line to the message.
+# Doing this in a hook is a bad idea in general, but the prepare-commit-msg
+# hook is more suited to it.
+#
+# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
+# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"
+
+# This example catches duplicate Signed-off-by lines.
+
+test "" = "$(grep '^Signed-off-by: ' "$1" |
+	 sort | uniq -c | sed -e '/^[ 	]*1[ 	]/d')" || {
+	echo >&2 Duplicate Signed-off-by lines.
+	exit 1
+}

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/hooks/post-update.sample
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/hooks/post-update.sample b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/hooks/post-update.sample
new file mode 100755
index 0000000..ec17ec1
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/hooks/post-update.sample
@@ -0,0 +1,8 @@
+#!/bin/sh
+#
+# An example hook script to prepare a packed repository for use over
+# dumb transports.
+#
+# To enable this hook, rename this file to "post-update".
+
+exec git update-server-info

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/hooks/pre-applypatch.sample
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/hooks/pre-applypatch.sample b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/hooks/pre-applypatch.sample
new file mode 100755
index 0000000..b1f187c
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/hooks/pre-applypatch.sample
@@ -0,0 +1,14 @@
+#!/bin/sh
+#
+# An example hook script to verify what is about to be committed
+# 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.
+#
+# To enable this hook, rename this file to "pre-applypatch".
+
+. git-sh-setup
+test -x "$GIT_DIR/hooks/pre-commit" &&
+	exec "$GIT_DIR/hooks/pre-commit" ${1+"$@"}
+:

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/hooks/pre-commit.sample
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/hooks/pre-commit.sample b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/hooks/pre-commit.sample
new file mode 100755
index 0000000..68d62d5
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/hooks/pre-commit.sample
@@ -0,0 +1,49 @@
+#!/bin/sh
+#
+# An example hook script to verify what is about to be committed.
+# Called by "git commit" with no arguments.  The hook should
+# exit with non-zero status after issuing an appropriate message if
+# it wants to stop the commit.
+#
+# To enable this hook, rename this file to "pre-commit".
+
+if git rev-parse --verify HEAD >/dev/null 2>&1
+then
+	against=HEAD
+else
+	# Initial commit: diff against an empty tree object
+	against=4b825dc642cb6eb9a060e54bf8d69288fbee4904
+fi
+
+# If you want to allow non-ASCII filenames set this variable to true.
+allownonascii=$(git config --bool hooks.allownonascii)
+
+# Redirect output to stderr.
+exec 1>&2
+
+# Cross platform projects tend to avoid non-ASCII filenames; prevent
+# them from being added to the repository. We exploit the fact that the
+# printable range starts at the space character and ends with tilde.
+if [ "$allownonascii" != "true" ] &&
+	# Note that the use of brackets around a tr range is ok here, (it's
+	# even required, for portability to Solaris 10's /usr/bin/tr), since
+	# the square bracket bytes happen to fall in the designated range.
+	test $(git diff --cached --name-only --diff-filter=A -z $against |
+	  LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0
+then
+	cat <<\EOF
+Error: Attempt to add a non-ASCII file name.
+
+This can cause problems if you want to work with people on other platforms.
+
+To be portable it is advisable to rename the file.
+
+If you know what you are doing you can disable this check using:
+
+  git config hooks.allownonascii true
+EOF
+	exit 1
+fi
+
+# If there are whitespace errors, print the offending file names and fail.
+exec git diff-index --check --cached $against --

http://git-wip-us.apache.org/repos/asf/maven-scm/blob/f0cd0986/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/hooks/pre-push.sample
----------------------------------------------------------------------
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/hooks/pre-push.sample b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/hooks/pre-push.sample
new file mode 100755
index 0000000..1f3bceb
--- /dev/null
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/repoWithSubdirs/hooks/pre-push.sample
@@ -0,0 +1,54 @@
+#!/bin/sh
+
+# An example hook script to verify what is about to be pushed.  Called by "git
+# push" after it has checked the remote status, but before anything has been
+# pushed.  If this script exits with a non-zero status nothing will be pushed.
+#
+# This hook is called with the following parameters:
+#
+# $1 -- Name of the remote to which the push is being done
+# $2 -- URL to which the push is being done
+#
+# If pushing without using a named remote those arguments will be equal.
+#
+# Information about the commits which are being pushed is supplied as lines to
+# the standard input in the form:
+#
+#   <local ref> <local sha1> <remote ref> <remote sha1>
+#
+# This sample shows how to prevent push of commits where the log message starts
+# with "WIP" (work in progress).
+
+remote="$1"
+url="$2"
+
+z40=0000000000000000000000000000000000000000
+
+IFS=' '
+while read local_ref local_sha remote_ref remote_sha
+do
+	if [ "$local_sha" = $z40 ]
+	then
+		# Handle delete
+		:
+	else
+		if [ "$remote_sha" = $z40 ]
+		then
+			# New branch, examine all commits
+			range="$local_sha"
+		else
+			# Update to existing branch, examine new commits
+			range="$remote_sha..$local_sha"
+		fi
+
+		# Check for WIP commit
+		commit=`git rev-list -n 1 --grep '^WIP' "$range"`
+		if [ -n "$commit" ]
+		then
+			echo "Found WIP commit in $local_ref, not pushing"
+			exit 1
+		fi
+	fi
+done
+
+exit 0