Git development
 help / color / mirror / Atom feed
* Re: gitk management of git diff-tree processes
From: David Holmer @ 2009-09-23 16:05 UTC (permalink / raw)
  To: git
In-Reply-To: <1253632204.8531.78.camel@blackbird>

On Tue, 2009-09-22 at 11:10 -0400, David Holmer wrote: 
> I find that if I am in gitk browsing through commits, gitk seems to be
> spawning a git diff-tree process in order to display the changes and
> patch file list in the bottom panes.
> 
> I have a certain commit that adds a very large amount of data to my
> repository (1.2 GB). Understandably, the git diff-tree process that
> tries to display the changes in this commit takes a VERY long time to
> run (e.g. churns indefinitely).
> 
> The issue is that I find that if I simply browse past this commit (e.g.
> using up/down arrows), gitk starts up a git diff-tree process and leaves
> it running. As many times as I pass the commit (e.g. while looking at
> changes before and after this commit), I end up with multiple processes
> all running and my CPUs quickly go to 100%. Furthermore, even if I exit
> gitk, all the git diff-tree processes keep running unless I manually
> kill them.
> 
> Perhaps gitk could kill the git diff-tree process it spawns if its
> output is no longer needed (e.g. user browses to a different commit, or
> gitk exits).
> 
> Thank you,
> David
> 
> $ ps -aF
> UID        PID  PPID  C    SZ   RSS PSR STIME TTY          TIME CMD
> david    23635     1 18 88365 102892  0 10:49 pts/1    00:01:11 git diff-tree -r -p --textconv -C --cc --no-commit-id -U3 8df50645c4cadf26dc951540e0c713b0826247b8
> david    23640     1 18 88368 102908  1 10:49 pts/1    00:01:10 git diff-tree -r -p --textconv -C --cc --no-commit-id -U3 8df50645c4cadf26dc951540e0c713b0826247b8
> david    23644     1 16 88368 102904  0 10:49 pts/1    00:01:04 git diff-tree -r -p --textconv -C --cc --no-commit-id -U3 8df50645c4cadf26dc951540e0c713b0826247b8
> david    23646     1 16 88367 102916  0 10:49 pts/1    00:01:04 git diff-tree -r -p --textconv -C --cc --no-commit-id -U3 8df50645c4cadf26dc951540e0c713b0826247b8
> david    23652     1 17 88365 102892  1 10:49 pts/1    00:01:07 git diff-tree -r -p --textconv -C --cc --no-commit-id -U3 8df50645c4cadf26dc951540e0c713b0826247b8
> david    23656     1 17 88368 102920  1 10:49 pts/1    00:01:06 git diff-tree -r -p --textconv -C --cc --no-commit-id -U3 8df50645c4cadf26dc951540e0c713b0826247b8
> david    23660     1 16 88369 102932  0 10:49 pts/1    00:01:03 git diff-tree -r -p --textconv -C --cc --no-commit-id -U3 8df50645c4cadf26dc951540e0c713b0826247b8
> david    23664     1 16 88368 102908  0 10:49 pts/1    00:01:03 git diff-tree -r -p --textconv -C --cc --no-commit-id -U3 8df50645c4cadf26dc951540e0c713b0826247b8
> david    23670     1 16 88368 102904  1 10:49 pts/1    00:01:03 git diff-tree -r -p --textconv -C --cc --no-commit-id -U3 8df50645c4cadf26dc951540e0c713b0826247b8
> david    23680     1 17 88365 102896  1 10:49 pts/1    00:01:05 git diff-tree -r -p --textconv -C --cc --no-commit-id -U3 8df50645c4cadf26dc951540e0c713b0826247b8
> david    23851 10444  0   692  1032   0 10:56 pts/1    00:00:00 ps -aF
> 
> $ git version
> git version 1.6.4.4
> 

Looking at the code of gitk, I believe the git diff-tree process is
spawned by proc getblobdiffs (gitk-git/gitk:7322). It sets up a command
that matches all the arguments I see in the above ps -aF listing
(gitk-git/gitk:7335):

set cmd [diffcmd $ids "-p $textconv -C --cc --no-commit-id -U
$diffcontext"]

It then seems to setup this command to be run and the output processed
via proc filerun (gitk-git/gitk:7352):

filerun $bdf [list getblobdiffline $bdf $diffids]

I am not very familiar with TCL. Is there a standard/correct way to
pre-maturely halt this filerun processing? It seems to use the fileevent
to know when there is more data to process.

A Google search turned up a way to get the PID from $bfd and said that
on unix systems you could run a kill, but that TCL had no built in kill
mechanism. This seems a bit hackish/non-cross platform. Is there a
better mechanism? Would something like closing the file descriptor cause
the filerun processing to finish and the git diff-tree to terminate with
a broken pipe?

Thank you,
David

-- 
David G. Holmer, Ph.D.
dholmer@persistentsystems.com
CTO and Co-Founder
Persistent Systems, LLC
www.persistentsystems.com
Office: 212-561-5895
Mobile: 650-533-4964
Fax: 212-202-3625

^ permalink raw reply

* [JGIT PATCH 1/2] add support for core.logAllRefUpdates configuration parameter
From: Halstrick, Christian @ 2009-09-23 16:42 UTC (permalink / raw)
  To: Shawn O. Pearce, Robin Rosenberg; +Cc: git@vger.kernel.org

From: Christian Halstrick <christian.halstrick@sap.com>

JGit should understand configuration parameter logAllRefUpdates and should
only log updates of refs when
  either the log file for this ref is already present
  or this configuration parameter is set to true
Before this commit JGit was always writing logs, regardless of this
parameter or existence of logfiles.

Signed-off-by: Christian Halstrick <christian.halstrick@sap.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
---
 .../src/org/spearce/jgit/lib/CoreConfig.java       |   10 ++++++++++
 .../src/org/spearce/jgit/lib/RefLogWriter.java     |   18 ++++++++++--------
 2 files changed, 20 insertions(+), 8 deletions(-)

diff --git a/org.spearce.jgit/src/org/spearce/jgit/lib/CoreConfig.java b/org.spearce.jgit/src/org/spearce/jgit/lib/CoreConfig.java
index ed3827b..ecd9544 100644
--- a/org.spearce.jgit/src/org/spearce/jgit/lib/CoreConfig.java
+++ b/org.spearce.jgit/src/org/spearce/jgit/lib/CoreConfig.java
@@ -56,10 +56,13 @@ public CoreConfig parse(final Config cfg) {
 	private final int compression;
 
 	private final int packIndexVersion;
+	
+	private final boolean logAllRefUpdates;
 
 	private CoreConfig(final Config rc) {
 		compression = rc.getInt("core", "compression", DEFAULT_COMPRESSION);
 		packIndexVersion = rc.getInt("pack", "indexversion", 2);
+		logAllRefUpdates = rc.getBoolean("core", "logAllRefUpdates", false);
 	}
 
 	/**
@@ -77,4 +80,11 @@ public int getCompression() {
 	public int getPackIndexVersion() {
 		return packIndexVersion;
 	}
+	
+	/**
+	 * @return whether to log all refUpdates 
+	 */
+	public boolean isLogAllRefUpdates() {
+		return logAllRefUpdates;
+	}
 }
diff --git a/org.spearce.jgit/src/org/spearce/jgit/lib/RefLogWriter.java b/org.spearce.jgit/src/org/spearce/jgit/lib/RefLogWriter.java
index 4aad809..1e5155c 100644
--- a/org.spearce.jgit/src/org/spearce/jgit/lib/RefLogWriter.java
+++ b/org.spearce.jgit/src/org/spearce/jgit/lib/RefLogWriter.java
@@ -112,16 +112,18 @@ private static void appendOneRecord(final ObjectId oldId,
 		final byte[] rec = Constants.encode(r.toString());
 		final File logdir = new File(db.getDirectory(), Constants.LOGS);
 		final File reflog = new File(logdir, refName);
-		final File refdir = reflog.getParentFile();
+		if (reflog.exists() || db.getConfig().getCore().isLogAllRefUpdates()) {
+			final File refdir = reflog.getParentFile();
 
-		if (!refdir.exists() && !refdir.mkdirs())
-			throw new IOException("Cannot create directory " + refdir);
+			if (!refdir.exists() && !refdir.mkdirs())
+				throw new IOException("Cannot create directory " + refdir);
 
-		final FileOutputStream out = new FileOutputStream(reflog, true);
-		try {
-			out.write(rec);
-		} finally {
-			out.close();
+			final FileOutputStream out = new FileOutputStream(reflog, true);
+			try {
+				out.write(rec);
+			} finally {
+				out.close();
+			}
 		}
 	}
 
-- 
1.6.4.msysgit.0

^ permalink raw reply related

* [JGIT PATCH 2/2] added some tests for config param logAllRefUpdates
From: Halstrick, Christian @ 2009-09-23 16:45 UTC (permalink / raw)
  To: Shawn O. Pearce, Robin Rosenberg; +Cc: git@vger.kernel.org

From: Christian Halstrick <christian.halstrick@sap.com>

Signed-off-by: Christian Halstrick <christian.halstrick@sap.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
---
 .../tst/org/spearce/jgit/lib/ReflogConfigTest.java |  111 ++++++++++++++++++++
 1 files changed, 111 insertions(+), 0 deletions(-)
 create mode 100644 org.spearce.jgit.test/tst/org/spearce/jgit/lib/ReflogConfigTest.java

diff --git a/org.spearce.jgit.test/tst/org/spearce/jgit/lib/ReflogConfigTest.java b/org.spearce.jgit.test/tst/org/spearce/jgit/lib/ReflogConfigTest.java
new file mode 100644
index 0000000..0e696a0
--- /dev/null
+++ b/org.spearce.jgit.test/tst/org/spearce/jgit/lib/ReflogConfigTest.java
@@ -0,0 +1,111 @@
+/*
+ * Copyright (C) 2009, Christian Halstrick, Matthias Sohn, SAP AG
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or
+ * without modification, are permitted provided that the following
+ * conditions are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ *   notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above
+ *   copyright notice, this list of conditions and the following
+ *   disclaimer in the documentation and/or other materials provided
+ *   with the distribution.
+ *
+ * - Neither the name of the Git Development Community nor the
+ *   names of its contributors may be used to endorse or promote
+ *   products derived from this software without specific prior
+ *   written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+package org.spearce.jgit.lib;
+
+import java.io.IOException;
+
+public class ReflogConfigTest extends RepositoryTestCase {
+	public void testlogAllRefUpdates() throws Exception {
+		long commitTime = 1154236443000L;
+		int tz = -4 * 60;
+		assertFalse(db.getConfig().getCore().isLogAllRefUpdates());
+		assertTrue("Reflog for HEAD should be empty", db.getReflogReader(
+				Constants.HEAD).getReverseEntries().size() == 0);
+
+		// do one commit and check that reflog size is 0: no reflogs should be
+		// written
+		final Tree t = new Tree(db);
+		addFileToTree(t, "i-am-a-file", "and this is the data in me\n");
+		commit(t, "A Commit\n", new PersonIdent(jauthor, commitTime, tz),
+				new PersonIdent(jcommitter, commitTime, tz));
+		commitTime += 100;
+		assertTrue(
+				"Reflog for HEAD should contain one entry",
+				db.getReflogReader(Constants.HEAD).getReverseEntries().size() == 0);
+
+		// set the logAllRefUpdates parameter to true and check it
+		db.getConfig().setBoolean("core", null, "logAllRefUpdates", true);
+		assertTrue(db.getConfig().getCore().isLogAllRefUpdates());
+
+		// do one commit and check that reflog size is 1
+		addFileToTree(t, "i-am-another-file", "and this is other data in me\n");
+		commit(t, "A Commit\n", new PersonIdent(jauthor, commitTime, tz),
+				new PersonIdent(jcommitter, commitTime, tz));
+		commitTime += 100;
+		assertTrue(
+				"Reflog for HEAD should contain one entry",
+				db.getReflogReader(Constants.HEAD).getReverseEntries().size() == 1);
+
+		// set the logAllRefUpdates parameter to false and check it
+		db.getConfig().setBoolean("core", null, "logAllRefUpdates", false);
+		assertFalse(db.getConfig().getCore().isLogAllRefUpdates());
+
+		// do one commit and check that reflog size is 2
+		addFileToTree(t, "i-am-anotheranother-file",
+				"and this is other other data in me\n");
+		commit(t, "A Commit\n", new PersonIdent(jauthor, commitTime, tz),
+				new PersonIdent(jcommitter, commitTime, tz));
+		assertTrue(
+				"Reflog for HEAD should contain one entry",
+				db.getReflogReader(Constants.HEAD).getReverseEntries().size() == 2);
+	}
+
+	private void addFileToTree(final Tree t, String filename, String content)
+			throws IOException {
+		FileTreeEntry f = t.addFile(filename);
+		writeTrashFile(f.getName(), content);
+		t.accept(new WriteTree(trash, db), TreeEntry.MODIFIED_ONLY);
+	}
+
+	private void commit(final Tree t, String commitMsg, PersonIdent author,
+			PersonIdent committer) throws IOException {
+		final Commit commit = new Commit(db);
+		commit.setAuthor(author);
+		commit.setCommitter(committer);
+		commit.setMessage(commitMsg);
+		commit.setTree(t);
+		ObjectWriter writer = new ObjectWriter(db);
+		commit.setCommitId(writer.writeCommit(commit));
+
+		int nl = commitMsg.indexOf('\n');
+		final RefUpdate ru = db.updateRef(Constants.HEAD);
+		ru.setNewObjectId(commit.getCommitId());
+		ru.setRefLogMessage("commit : "
+				+ ((nl == -1) ? commitMsg : commitMsg.substring(0, nl)), false);
+		ru.forceUpdate();
+	}
+}
\ No newline at end of file
-- 
1.6.4.msysgit.0


^ permalink raw reply related

* git-cvsimport: missing branches
From: Reto Glauser @ 2009-09-23 17:35 UTC (permalink / raw)
  To: git; +Cc: Matthias Urlichs, mhagger

Hello

I need to use CVS with a history of about 20 years (someway back it was 
converted from SCCS to CVS). I have to stay in sync with the CVS 
repository to import changes from co-workers and to eventually commit 
changes back. I do have access to the RCS ',v' files.

So, git-cvsimport is exactly what I was looking for. Except, if I do a 
git-cvsimport I have a couple of branches missing, and I don't know why.

I see the branch names from cvsps in the output, but somehow 
git-cvsimport skips them anyway. I tried to add a branch manually which 
got mit a couple of years of history back, but then it stops anyway.

I used cvs2git from http://cvs2svn.tigris.org which shows me these 
missing branches.

So, my questions are:

- Is the problem in cvsps or git-cvsimport or in the CVS history?
- Can I use the cvs2git import as a starting point and later use 
git-cvsimport for incrementally update the git repository?
- Can I somehow compare the result of git-cvsimport and cvs2git to see 
differences?
- Is there any other feasible workflow to stay in sync with a CVS 
repository with a large history while still using git behind the scene?

Any pointers appreciated.

Regards,
Reto

^ permalink raw reply

* Re: Feature Enhancement Idea.
From: Ciprian Dorin, Craciun @ 2009-09-23 18:17 UTC (permalink / raw)
  To: Deon George; +Cc: Johan Herland, git
In-Reply-To: <5b5e291e0909230412r3ce143abgd990c36e27736bae@mail.gmail.com>

On Wed, Sep 23, 2009 at 2:12 PM, Deon George <deon.george@gmail.com> wrote:
> 2009/9/23 Johan Herland <johan@herland.net>:
>> Have a look at git submodules ('git help submodule'), or the git-subtree
>> script that has been discussed on this list a couple of times [1].
>
> git submodule looks like it will do a little of what I want - I'll do
> some more reading on it to see exactly how it works. Thanks for the
> tip.
>
> My initial look at it seems to miss an important feature that my layer
> idea would provide. It looks like git submodule assumes that
> everything in a subdirectory belongs to a repository - with my layer
> idea, I would want any layer to share the same directory structure and
> files (or content) belonging to a distinct layer's repository.
>
> IE:
> the base might provide
> plugins
> plugins/README
> modules
> modules/README
> lib/common.php
>
> and a layer might provide
> plugins/a.php
> modules/a.php
> lib/a.php
>
> another layer might provide
> plugins/b.php
> modules/b.php
> lib/b.php
>
> If I was a C developer, I'd have a go at creating it - but I'm just a
> php developer :)
> ...deon


    Practically you want something like unionfs [1] but for git. Right?

    But probably you could settle for something like Hg Queues [2]. Is
there similar for Git?

    Ciprian Craciun.

    [1] http://en.wikipedia.org/wiki/UnionFS
    [2] http://mercurial.selenic.com/wiki/MqExtension

^ permalink raw reply

* [PATCH] Documentation - pt-BR.
From: Thiago Farina @ 2009-09-23 18:25 UTC (permalink / raw)
  To: git; +Cc: Thiago Farina

Translate some english words to portuguese and fix some typos on translation.

Signed-off-by: Thiago Farina <tfransosi@gmail.com>
---
 Documentation/pt_BR/gittutorial.txt |   22 +++++++++++-----------
 1 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/Documentation/pt_BR/gittutorial.txt b/Documentation/pt_BR/gittutorial.txt
index 81e7ad7..6fb396a 100644
--- a/Documentation/pt_BR/gittutorial.txt
+++ b/Documentation/pt_BR/gittutorial.txt
@@ -1,15 +1,15 @@
 gittutorial(7)
 ==============
 
-NAME
+NOME
 ----
 gittutorial - Um tutorial de introdução ao git (para versão 1.5.1 ou mais nova)
 
-SYNOPSIS
+SINOPSE
 --------
 git *
 
-DESCRIPTION
+DESCRIÇÃO
 -----------
 
 Este tutorial explica como importar um novo projeto para o git,
@@ -64,11 +64,11 @@ Git irá responder
 Initialized empty Git repository in .git/
 ------------------------------------------------
 
-Você agora iniciou seu diretório de trabalho--você deve ter notado um
-novo diretório criado, com o nome de ".git".
+Agora que você iniciou seu diretório de trabalho, você deve ter notado que um
+novo diretório foi criado com o nome de ".git".
 
 A seguir, diga ao git para gravar um instantâneo do conteúdo de todos os
-arquivos sob o diretório corrente (note o '.'), com 'git-add':
+arquivos sob o diretório atual (note o '.'), com 'git-add':
 
 ------------------------------------------------
 $ git add .
@@ -126,8 +126,8 @@ mudanças com:
 $ git commit
 ------------------------------------------------
 
-Isto irá novamente te pedir por uma mensagem descrevendo a mudança, e,
-então, gravar a nova versão do projeto.
+Ao executar esse comando, ele irá te pedir uma mensagem descrevendo a mudança,
+e, então, irá gravar a nova versão do projeto.
 
 Alternativamente, ao invés de executar 'git-add' antes, você pode usar
 
@@ -143,7 +143,7 @@ idéia começar a mensagem com uma simples e curta (menos de 50
 caracteres) linha sumarizando a mudança, seguida de uma linha em branco
 e, então, uma descrição mais detalhada. Ferramentas que transformam
 commits em email, por exemplo, usam a primeira linha no campo de
-cabeçalho Subject: e o resto no corpo.
+cabeçalho "Assunto:", e o resto no corpo.
 
 Git rastreia conteúdo, não arquivos
 ----------------------------
@@ -155,7 +155,7 @@ usado tanto para arquivos novos e arquivos recentemente modificados, e
 em ambos os casos, ele tira o instantâneo dos arquivos dados e armazena
 o conteúdo no índice, pronto para inclusão do próximo commit.
 
-Visualizando história do projeto
+Visualizando a história do projeto
 -----------------------
 
 Em qualquer ponto você pode visualizar a história das suas mudanças
@@ -165,7 +165,7 @@ usando
 $ git log
 ------------------------------------------------
 
-Se você também quer ver a diferença completa a cada passo, use
+Se você também quiser ver a diferença completa a cada passo, use
 
 ------------------------------------------------
 $ git log -p
-- 
1.6.5.rc1.44.ga1675

^ permalink raw reply related

* [PATCH] fix testsuite to not use any hooks possibly provided by source
From: Heiko Voigt @ 2009-09-23 18:30 UTC (permalink / raw)
  To: git

This is useful if you are using the testsuite with local changes that
include activated default hooks suitable for your teams installation.
In some cases the pre-commit or other hooks can prevent the testsuite
from getting the expected result.

Currently all example hooks in the main git repository are deactivated
so it makes no difference when running the testsuite without any. In
case a future testcase wants to test a default hooks behavior it should
copy it locally.

Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net>
---
or would you say that we need hooks in the testsuite template?

 t/test-lib.sh |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/t/test-lib.sh b/t/test-lib.sh
index f2ca536..446ab57 100644
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -626,7 +626,7 @@ else
 	GIT_EXEC_PATH=$GIT_VALGRIND/bin
 	export GIT_VALGRIND
 fi
-GIT_TEMPLATE_DIR=$(pwd)/../templates/blt
+GIT_TEMPLATE_DIR=$(pwd)/trash\ directory.templates
 unset GIT_CONFIG
 GIT_CONFIG_NOSYSTEM=1
 GIT_CONFIG_NOGLOBAL=1
@@ -638,6 +638,11 @@ test -d ../templates/blt || {
 	error "You haven't built things yet, have you?"
 }
 
+test -d "$GIT_TEMPLATE_DIR" || {
+	cp -r ../templates/blt "$GIT_TEMPLATE_DIR"
+	rm -f "$GIT_TEMPLATE_DIR"/hooks/*
+}
+
 if ! test -x ../test-chmtime; then
 	echo >&2 'You need to build test-chmtime:'
 	echo >&2 'Run "make test-chmtime" in the source (toplevel) directory'
-- 
1.6.5.rc1.12.gc72fe

^ permalink raw reply related

* [BUG?] git-cvsimport: path to cvspsfile
From: Kacper Kornet @ 2009-09-23 18:27 UTC (permalink / raw)
  To: git

Hi,

When I use:

git cvs-import -C <dir> -P <cvspsfile>

it looks for <cvpsfile> relative to <dir>, not the working directory.
Is it a bug or a feature?

Best wishes,
-- 
  Kacper

^ permalink raw reply

* Re: [BUG?] git-cvsimport: path to cvspsfile
From: Jeff King @ 2009-09-23 19:14 UTC (permalink / raw)
  To: git; +Cc: Johannes Sixt
In-Reply-To: <20090923182756.GA12430@onyx.camk.edu.pl>

On Wed, Sep 23, 2009 at 08:27:56PM +0200, Kacper Kornet wrote:

> When I use:
> 
> git cvs-import -C <dir> -P <cvspsfile>
> 
> it looks for <cvpsfile> relative to <dir>, not the working directory.
> Is it a bug or a feature?

Bug. The script does a chdir() and then looks at the cvspsfile later. I
think "-A" would have the same problem. Here is a totally untested patch
to address the issue. Johannes, will this is_absolute_path actually work
on Windows? I think The Right Way would be to use
File::Spec::file_name_is_absolute, but I haven't checked whether that is
part of core perl and if so, which version it appeared in.

diff --git a/git-cvsimport.perl b/git-cvsimport.perl
index 1ad20ac..08a30ec 100755
--- a/git-cvsimport.perl
+++ b/git-cvsimport.perl
@@ -579,10 +579,26 @@ sub get_headref ($) {
 	return $r;
 }
 
+sub is_absolute_path {
+	local $_ = shift;
+	return m{^/};
+}
+
+my $user_filename_prepend = '';
+sub munge_user_filename {
+	my $name = shift;
+	return is_absolute_path($name) ?
+		$name :
+		$user_filename_prepend . $name;
+}
+
 -d $git_tree
 	or mkdir($git_tree,0777)
 	or die "Could not create $git_tree: $!";
-chdir($git_tree);
+if ($git_tree ne '.') {
+	$user_filename_prepend = getwd() . '/';
+	chdir($git_tree);
+}
 
 my $last_branch = "";
 my $orig_branch = "";
@@ -644,7 +660,7 @@ unless (-d $git_dir) {
 -f "$git_dir/cvs-authors" and
   read_author_info("$git_dir/cvs-authors");
 if ($opt_A) {
-	read_author_info($opt_A);
+	read_author_info(munge_user_filename($opt_A));
 	write_author_info("$git_dir/cvs-authors");
 }
 
@@ -679,7 +695,7 @@ unless ($opt_P) {
 	$? == 0 or die "git-cvsimport: fatal: cvsps reported error\n";
 	close $cvspsfh;
 } else {
-	$cvspsfile = $opt_P;
+	$cvspsfile = munge_user_filename($opt_P);
 }
 
 open(CVS, "<$cvspsfile") or die $!;

^ permalink raw reply related

* Re: git-cvsimport: missing branches
From: Heiko Voigt @ 2009-09-23 19:51 UTC (permalink / raw)
  To: Reto Glauser; +Cc: git, Matthias Urlichs, mhagger
In-Reply-To: <4ABA5C5C.2060207@blinkeye.ch>

On Wed, Sep 23, 2009 at 07:35:24PM +0200, Reto Glauser wrote:
> - Is the problem in cvsps or git-cvsimport or in the CVS history?

It is very likely a problem of cvsps. I have collected a couple of tests
illustrating the current limitations:

http://repo.or.cz/w/cvsps-hv.git

Interested in fixing some of them ?

> - Can I use the cvs2git import as a starting point and later use  
> git-cvsimport for incrementally update the git repository?

Unfortunately there is no robust incremental tool for cvs at the moment.
As soon as you get your colleagues to use git the pain just dissapears ;)

> - Can I somehow compare the result of git-cvsimport and cvs2git to see  
> differences?

How about a plain diff between the directory structures.

> - Is there any other feasible workflow to stay in sync with a CVS  
> repository with a large history while still using git behind the scene?

During the transition phase I used to track the old system with a
seperate branch. Everytime you get an update from CVS you simply
commit it to that branch. Its important that you do not mix this branch
with your development. You do not do any work on it just commit the
clean revision like you get them from the server.

I then used feature branches for the work which I rebased regularly.
Once you want to merge a branch comes the hard part:

A:
* Update the tracking branch from CVS

* Merge the first/next commit from the branch in git

* Commit to cvs and copy the commit message

* Goto A:

Maybe for cvs you can script this. You can also merge the whole branch at
once if you are lazy but then the diffs will not be nice when you later
completely migrate to git.

cheers Heiko

^ permalink raw reply

* Re: Feature Enhancement Idea.
From: Junio C Hamano @ 2009-09-23 20:08 UTC (permalink / raw)
  To: Deon George; +Cc: git
In-Reply-To: <5b5e291e0909222317q47ae36d4la470f17ec3902124@mail.gmail.com>

Deon George <deon.george@gmail.com> writes:

> Like I mentioned, I can achieve some of this by the use of branches
> already, however, where it comes complicated, is when:
> * I commit a change to the wrong branch (and thus upstream will never
> see my enhancements),
> * I want to identify changes to one layer (that I went to send to
> upstream for review), without including the other layers (because it
> probably isnt relevant)
> * I want to work on more than one layer (I need to be diligent about
> pulling and merging)

I think you are getting ahead of yourself by coming up with "layers" as a
solution, without really spelling out and then thinking through what
problem you are trying to solve.

I think the primary scenario your itch comes from is (I am writing this
down to make sure I understand where you are trying to go):

 - you would want to build your changes on top of somebody else's code;

 - while doing so it is often more convenient if you do not have to think
   about which pieces of changes should go to upstream, and which other
   pieces of changes should stay local;

 - git allows you to do this with topic branch workflow, with selective
   adding with "add -p", stashing and branch switching.

 - You can however misidentify which bits should go to upstream and commit
   to a wrong branch.  You want to reduce the chance of this mistake.

Am I following you Ok so far?

Now, how does "layers" (I understand by this word you mean the concept of
"layering a worktree from one branch on top of layering a worktree from
another") solve that problem?  If you come up with a nice way to identify,
and have the tool help you identify, "these bits belong to that layer",
wouldn't that approach also apply to existing topic branch workflow by
having the same logic of that magic tool to help you say "these bits
should go to that topic branch"?

When the granularity of the change is per-file (your "autonomous" case),
"git checkout" to switch back to your topic would already solve half of
that issue.

Suppose you have mainline (origin/master) and your customization topic
(custom), and file F is something that does not and will never exist in
the mainline.  You use your master branch as your integration testing
branch.  With traditional topic branch workflow, you would

    $ git checkout custom
    ... work on F and other files, test the changes to your satisfaction
    $ git commit -m 'I am satisfied on my custom work'
    $ git checkout master
    $ git rebase origin/master ;# keep up with the upstream
    $ git cherry-pick ... ;# some commits in custom that should go to upstream
    $ git merge custom ;# test merge to be thrown away!

    ... now you are on the integrated result in 'master'.
    ... test, notice breakages in F, and edit it to improve it
    ... the changes to F belongs to 'custom', not for upstream!
    $ git checkout custom ;# this will take the changes to F with you
    $ git commit -m 'I should have done this to F instead' F

    ... go back to do more work
    $ git checkout master
    ... loop forever ;-)

and after you are satisfied, you would reset the merge from custom away
and offer the master that is combination of what was in the origin/master
plus the "upstream worthy" bits you cherry-picked ones from your custom
branch.

When the granularity is sub-file, "checkout -m custom" or "stash, checkout
custom, then unstash" would help carrying the changes across branches.
You would need to identify which changes you would want to commit to
"custom" and which changes you would want to give to upstream by making a
commit on "master" when you go back there again.  The middle part of the
above workflow will be slightly modified for a file G that is shared
between origin/master and custom branches, perhaps something like:

    ... now you are on the integrated result in 'master'.
    ... test, notice breakages in G, and edit it to improve it
    ... the changes to G belongs to 'custom', not for upstream!
    $ git checkout -m custom ;# this will take the changes to G with you
    $ git add -p G ;# pick changes that only belong to custom
    $ git commit -m 'I should have done this to G instead'

If the "layers" logic somehow can help you automate the process of sifting
your changes into these two categories (perhaps it may scan the file and
knows which function belongs to "custom" alone, I dunno and care about the
details at this level of discussion), wouldn't that same logic help you
the same way?

Past attempts that made into the toolchest are "add -p" (and "stash -p"
that uses the same mechanism) which is interactive and not automated.
Maybe you can build some logic to automate it further (e.g. "changes to
this function should automatically be excluded from "git add" while on
'master', but should automatically be included in "git add" while on
'custom'), and it may turn out be a good addition to the toolchest.

It also may make a good addition to the toolchest to have a tool to
further simplify the branch switching explicitly initiated by the end user
in the above illustrations.  In some cases, such as the "autonomous" case
above, you do not _have_ to go back to custom branch from the work-flow
point of view (you would be committing a totally untested work to custom
branch, but as long as you will revisit and retest the changes in its
context, it is not a major crime at all).  It would be useful if you can
say, while still on 'master' branch, "I just made this fix to file F that
belongs to 'custom'; commit that change alone to 'custom' branch".
Written as a shell script, roughly, it would look something like:

    #!/bin/sh
    target_branch="$1"
    base=$(git rev-parse --verify "$target_branch") || exit
    shift ;# all others are paths
    GIT_INDEX_FILE=.git/temp
    export GIT_INDEX_FILE
    git read-tree -m "$1"
    git add "$@"
    c=$(echo "side commit" | git commit-tree $(git write-tree) -p "$base")
    git update-ref "refs/heads/$target_branch" "$c"

But I do not see how the concept of "layering a worktree from one branch
on top of layering a worktree from another", which is the implication I
get from the word "git layers", helps any of that.  It seems an orthogonal
concept that we can do without to solve the problem you are describing.

^ permalink raw reply

* [PATCH 0/3] Add a pretty format to rewrapping/indenting commit messages
From: Johannes Schindelin @ 2009-09-23 20:34 UTC (permalink / raw)
  To: Git Mailing List; +Cc: Johannes Gilger, Junio C Hamano
In-Reply-To: <1253655038-20335-1-git-send-email-heipei@hackvalue.de>


I needed that a long time ago, so I implemented it and let it rut in my
personal tree.

Maybe somebody else wants to benefit from my work, too.

Johannes Schindelin (3):
  print_wrapped_text(): allow hard newlines
  Add strbuf_add_wrapped_text() to utf8.[ch]
  Add "%w" to pretty formats, which rewraps the commit message

 Documentation/pretty-formats.txt |    1 +
 pretty.c                         |   27 ++++++++++++++++++++++
 utf8.c                           |   45 ++++++++++++++++++++++++++++++-------
 utf8.h                           |    2 +
 4 files changed, 66 insertions(+), 9 deletions(-)

^ permalink raw reply

* [PATCH 1/3] print_wrapped_text(): allow hard newlines
From: Johannes Schindelin @ 2009-09-23 20:34 UTC (permalink / raw)
  To: Git Mailing List; +Cc: Johannes Gilger, Junio C Hamano
In-Reply-To: <alpine.DEB.1.00.0909232232050.4985@pacific.mpi-cbg.de>


print_wrapped_text() will insert its own newlines. Up until now, if the
text passed to it contained newlines, they would not be handled properly
(the wrapping got confused after that).

The strategy is to replace a single new-line with a space, but keep double
new-lines so that already-wrapped text with empty lines between paragraphs
will be handled properly.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
---
 utf8.c |   16 ++++++++++++++--
 1 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/utf8.c b/utf8.c
index db706ac..589876b 100644
--- a/utf8.c
+++ b/utf8.c
@@ -310,6 +310,8 @@ int print_wrapped_text(const char *text, int indent, int indent2, int width)
 		if (!c || isspace(c)) {
 			if (w < width || !space) {
 				const char *start = bol;
+				if (!c && text == start)
+					return w;
 				if (space)
 					start = space;
 				else
@@ -317,13 +319,23 @@ int print_wrapped_text(const char *text, int indent, int indent2, int width)
 				fwrite(start, text - start, 1, stdout);
 				if (!c)
 					return w;
-				else if (c == '\t')
-					w |= 0x07;
 				space = text;
+				if (c == '\t')
+					w |= 0x07;
+				else if (c == '\n') {
+					space++;
+					if (*space == '\n') {
+						putchar('\n');
+						goto new_line;
+					}
+					else
+						putchar(' ');
+				}
 				w++;
 				text++;
 			}
 			else {
+new_line:
 				putchar('\n');
 				text = bol = space + isspace(*space);
 				space = NULL;
-- 
1.6.4.297.gcb4cc

^ permalink raw reply related

* [PATCH 2/3] Add strbuf_add_wrapped_text() to utf8.[ch]
From: Johannes Schindelin @ 2009-09-23 20:34 UTC (permalink / raw)
  To: Git Mailing List; +Cc: Johannes Gilger, Junio C Hamano
In-Reply-To: <alpine.DEB.1.00.0909232232560.4985@pacific.mpi-cbg.de>


The newly added function can rewrap text according to a given first-line
indent, other-indent and text width.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
---
 utf8.c |   33 ++++++++++++++++++++++++---------
 utf8.h |    2 ++
 2 files changed, 26 insertions(+), 9 deletions(-)

diff --git a/utf8.c b/utf8.c
index 589876b..7383a70 100644
--- a/utf8.c
+++ b/utf8.c
@@ -1,4 +1,5 @@
 #include "git-compat-util.h"
+#include "strbuf.h"
 #include "utf8.h"
 
 /* This code is originally from http://www.cl.cam.ac.uk/~mgk25/ucs/ */
@@ -279,14 +280,22 @@ int is_utf8(const char *text)
 	return 1;
 }
 
-static void print_spaces(int count)
+static inline void strbuf_write(struct strbuf *sb, const char *buf, int len)
+{
+	if (sb)
+		strbuf_insert(sb, sb->len, buf, len);
+	else
+		fwrite(buf, len, 1, stdout);
+}
+
+static void print_spaces(struct strbuf *buf, int count)
 {
 	static const char s[] = "                    ";
 	while (count >= sizeof(s)) {
-		fwrite(s, sizeof(s) - 1, 1, stdout);
+		strbuf_write(buf, s, sizeof(s) - 1);
 		count -= sizeof(s) - 1;
 	}
-	fwrite(s, count, 1, stdout);
+	strbuf_write(buf, s, count);
 }
 
 /*
@@ -295,7 +304,8 @@ static void print_spaces(int count)
  * If indent is negative, assume that already -indent columns have been
  * consumed (and no extra indent is necessary for the first line).
  */
-int print_wrapped_text(const char *text, int indent, int indent2, int width)
+int strbuf_add_wrapped_text(struct strbuf *buf,
+		const char *text, int indent, int indent2, int width)
 {
 	int w = indent, assume_utf8 = is_utf8(text);
 	const char *bol = text, *space = NULL;
@@ -315,8 +325,8 @@ int print_wrapped_text(const char *text, int indent, int indent2, int width)
 				if (space)
 					start = space;
 				else
-					print_spaces(indent);
-				fwrite(start, text - start, 1, stdout);
+					print_spaces(buf, indent);
+				strbuf_write(buf, start, text - start);
 				if (!c)
 					return w;
 				space = text;
@@ -325,18 +335,18 @@ int print_wrapped_text(const char *text, int indent, int indent2, int width)
 				else if (c == '\n') {
 					space++;
 					if (*space == '\n') {
-						putchar('\n');
+						strbuf_write(buf, "\n", 1);
 						goto new_line;
 					}
 					else
-						putchar(' ');
+						strbuf_write(buf, " ", 1);
 				}
 				w++;
 				text++;
 			}
 			else {
 new_line:
-				putchar('\n');
+				strbuf_write(buf, "\n", 1);
 				text = bol = space + isspace(*space);
 				space = NULL;
 				w = indent = indent2;
@@ -352,6 +362,11 @@ new_line:
 	}
 }
 
+int print_wrapped_text(const char *text, int indent, int indent2, int width)
+{
+	return strbuf_add_wrapped_text(NULL, text, indent, indent2, width);
+}
+
 int is_encoding_utf8(const char *name)
 {
 	if (!name)
diff --git a/utf8.h b/utf8.h
index 2f1b14f..ae30ae4 100644
--- a/utf8.h
+++ b/utf8.h
@@ -10,6 +10,8 @@ int is_utf8(const char *text);
 int is_encoding_utf8(const char *name);
 
 int print_wrapped_text(const char *text, int indent, int indent2, int len);
+int strbuf_add_wrapped_text(struct strbuf *buf,
+		const char *text, int indent, int indent2, int width);
 
 #ifndef NO_ICONV
 char *reencode_string(const char *in, const char *out_encoding, const char *in_encoding);
-- 
1.6.4.297.gcb4cc

^ permalink raw reply related

* [PATCH 3/3] Add "%w" to pretty formats, which rewraps the commit message
From: Johannes Schindelin @ 2009-09-23 20:34 UTC (permalink / raw)
  To: Git Mailing List; +Cc: Johannes Gilger, Junio C Hamano
In-Reply-To: <alpine.DEB.1.00.0909232233330.4985@pacific.mpi-cbg.de>


Some repositories contain commit messages that are insanely long.
And not always is it an option to rewrite the commits with rewrapped
commit messages; just think of cvsimports or some such.

Now here is a remedy.

With "--pretty=format:%w(8,6,70)" you will get the commit messages
reformatted to width 70 where the first line has indent 8 and the
subsequent lines have indent 6.

The following command will output something similar to plain "git log
--color", except that the commit bodies will be rewrapped to fit inside
80 columns:

	git log --pretty=format:'%C(yellow)commit %H%C(reset)
	Author: %an <%ae>
	Date: %ad

	%w(4,4,80)'

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
---
 Documentation/pretty-formats.txt |    1 +
 pretty.c                         |   27 +++++++++++++++++++++++++++
 2 files changed, 28 insertions(+), 0 deletions(-)

diff --git a/Documentation/pretty-formats.txt b/Documentation/pretty-formats.txt
index 2a845b1..d727995 100644
--- a/Documentation/pretty-formats.txt
+++ b/Documentation/pretty-formats.txt
@@ -123,6 +123,7 @@ The placeholders are:
 - '%s': subject
 - '%f': sanitized subject line, suitable for a filename
 - '%b': body
+- '%w(indent,indent2,width)': rewrapped subject and body
 - '%Cred': switch color to red
 - '%Cgreen': switch color to green
 - '%Cblue': switch color to blue
diff --git a/pretty.c b/pretty.c
index f5983f8..639469e 100644
--- a/pretty.c
+++ b/pretty.c
@@ -595,6 +595,30 @@ static void format_decoration(struct strbuf *sb, const struct commit *commit)
 		strbuf_addch(sb, ')');
 }
 
+static int rewrap_text(struct strbuf *sb, const char *params, const char *text)
+{
+	int indent = 4, indent2 = 4, width = 80, pacmanned = 1;
+
+	if (params[0] == '(') {
+		char *p;
+
+		indent = strtoul(params + 1, &p, 0);
+		if (*p == ',') {
+			indent2 = strtoul(p + 1, &p, 0);
+			if (*p == ',')
+				width = strtoul(p + 1, &p, 0);
+		}
+		if (*p != ')') {
+			error ("Invalid parameters: %.*s",
+					(int)(p - params), params);
+			return 0;
+		}
+		pacmanned = p + 1 - params;
+	}
+	strbuf_add_wrapped_text(sb, text, indent, indent2, width);
+	return pacmanned;
+}
+
 static size_t format_commit_item(struct strbuf *sb, const char *placeholder,
                                void *context)
 {
@@ -735,6 +759,9 @@ static size_t format_commit_item(struct strbuf *sb, const char *placeholder,
 	case 'b':	/* body */
 		strbuf_addstr(sb, msg + c->body_off);
 		return 1;
+	case 'w':	/* re-wrapped body */
+		return rewrap_text(sb, placeholder + 1,
+				msg + c->subject_off) + 1;
 	}
 	return 0;	/* unknown placeholder */
 }
-- 
1.6.4.297.gcb4cc

^ permalink raw reply related

* Re: Add scripts to generate projects for other buildsystems (MSVC  vcproj, QMake)
From: Johannes Schindelin @ 2009-09-23 20:37 UTC (permalink / raw)
  To: Sebastian Schuberth
  Cc: msysGit, Marius Storm-Olsen, git, gitster, j6t, lznuaa, raa.lkml,
	snaury
In-Reply-To: <72888219-5bab-4964-9faf-0d40b4770e2c@o35g2000vbi.googlegroups.com>

[-- Attachment #1: Type: TEXT/PLAIN, Size: 1312 bytes --]

Hi,

On Wed, 23 Sep 2009, Sebastian Schuberth wrote:

> On Sep 16, 10:20 am, Marius Storm-Olsen <mstormo@gmail.com> wrote:
> 
> > These scripts generate projects for the MSVC IDE (.vcproj files) or
> > QMake (.pro files), based on the output of a 'make -n MSVC=1 V=1' run.
> >
> > This enables us to simply do the necesarry changes in the Makefile, and you
> > can update the other buildsystems by regenerating the files. Keeping the
> > other buildsystems up-to-date with main development.
> 
> I know I'm a little late with my comments as this patch set has
> already been merged to master. However, for future reference I'd like
> to point out that something similar could be archived by using e.g.
> CMake, and only maintaining the CMake project file. I'm not suggesting
> to actually switch to CMake at this time, but I wanted to point out
> that a guy called Pau Garcia i Quiles already seems to have created a
> preliminary CMakeLists.txt file for Git [1], and also tried to build
> Git for Windows using his CMake-generated MSVC project files.
> 
> [1] "CMake-ifying git", http://www.elpauer.org/?p=324

We actually discussed this, and I challenged Pau to provide a recipe (a la 
/src/openssl/release.sh) that builds, installs and commits CMake.

There was no response after that challenge.

Ciao,
Dscho

^ permalink raw reply

* Re: [PATCH 3/3] Add "%w" to pretty formats, which rewraps the commit message
From: Johannes Gilger @ 2009-09-23 21:00 UTC (permalink / raw)
  To: Git Mailing List; +Cc: Johannes Schindelin, Junio C Hamano, Johannes Gilger
In-Reply-To: <alpine.DEB.1.00.0909232233590.4985@pacific.mpi-cbg.de>

On 23/09/09 22:34, Johannes Schindelin wrote:
> With "--pretty=format:%w(8,6,70)" you will get the commit messages
> reformatted to width 70 where the first line has indent 8 and the
> subsequent lines have indent 6.

Hey Johannes,

you sent me your patches earlier (and I really liked the idea and could 
use it too, especially with svn-mindset people). One thing that bothers 
me about the %w flag is that is includes subject and body, when we 
already have atoms for both of these flags. So having a subject(x,y) and 
body(x,y) tag (where x is indent and y is textwidth to be rewrapped) 
would be nicer and more in the spirit of the existing format options 
imho.

Having said that I also have to acknowledge a clear advantage of your 
patch, which is that one doesn't need to clear trailing newlines when 
the subject is < wrapwidth and the body is empty (and one used 
%s(x,y)%n%n%b(x,y) as a format-tag). With my %B, %B(n) patch which is on 
pu (and which you should probably consider in case it gets into next ;) 
I do this by calling strbuf_rtrim after adding the body.

Greetings,
Jojo

-- 
Johannes Gilger <heipei@hackvalue.de>
http://heipei.net
GPG-Key: 0x42F6DE81
GPG-Fingerprint: BB49 F967 775E BB52 3A81  882C 58EE B178 42F6 DE81

^ permalink raw reply

* [JGIT PATCH 1/9] mavenizing step 1: moved over the initial poms from Jasons branch Signed-off-by: Mark Struberg <struberg@yahoo.de>
From: Mark Struberg @ 2009-09-23 21:16 UTC (permalink / raw)
  To: git, spearce; +Cc: Jason van Zyl

From: Jason van Zyl <jvanzyl@sonatype.com>

---
 .gitignore                    |    1 +
 org.spearce.jgit.pgm/pom.xml  |   59 ++++++++++
 org.spearce.jgit.test/pom.xml |   30 +++++
 org.spearce.jgit/pom.xml      |   35 ++++++
 pom.xml                       |  258 +++++++++++++++++++++++++++++++++++++++++
 5 files changed, 383 insertions(+), 0 deletions(-)
 create mode 100644 org.spearce.jgit.pgm/pom.xml
 create mode 100644 org.spearce.jgit.test/pom.xml
 create mode 100644 org.spearce.jgit/pom.xml
 create mode 100644 pom.xml

diff --git a/.gitignore b/.gitignore
index 5219cbc..37ca28d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,5 @@
 /jgit
 /jgit.jar
 /jgit_src.zip
+target
 /jgit_docs.zip
diff --git a/org.spearce.jgit.pgm/pom.xml b/org.spearce.jgit.pgm/pom.xml
new file mode 100644
index 0000000..9501cb5
--- /dev/null
+++ b/org.spearce.jgit.pgm/pom.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.spearce</groupId>
+    <artifactId>jgit-parent</artifactId>
+    <version>0.5.0-SNAPSHOT</version>  
+  </parent>
+  <artifactId>org.spearce.jgit.pgm</artifactId>
+  <name>JGit :: Pgm</name>
+  <dependencies>
+        <dependency>
+            <groupId>org.spearce</groupId>
+            <artifactId>org.spearce.jgit</artifactId>
+            <version>${project.version}</version>
+        </dependency>    
+        <dependency>
+            <groupId>args4j</groupId>
+            <artifactId>args4j</artifactId>
+        </dependency>
+  </dependencies>
+  <build>
+    <sourceDirectory>src</sourceDirectory>
+    <resources>
+      <resource>
+        <directory>src</directory>
+        <includes>
+          <include>**/services/**</include>
+        </includes>
+      </resource>
+    </resources>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-shade-plugin</artifactId>
+        <version>1.2</version>
+        <executions>
+          <execution>
+            <phase>package</phase>
+            <goals>
+              <goal>shade</goal>
+            </goals>
+            <configuration>
+              <finalName>jgit-cli</finalName>
+              <createDependencyReducedPom>false</createDependencyReducedPom>
+              <transformers>
+                <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>              
+                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
+                  <mainClass>org.spearce.jgit.pgm.Main</mainClass>
+                </transformer>
+              </transformers>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>      
+  </build>
+</project>
diff --git a/org.spearce.jgit.test/pom.xml b/org.spearce.jgit.test/pom.xml
new file mode 100644
index 0000000..db1fc46
--- /dev/null
+++ b/org.spearce.jgit.test/pom.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.spearce</groupId>
+    <artifactId>jgit-parent</artifactId>
+    <version>0.5.0-SNAPSHOT</version>  
+  </parent>
+  <artifactId>org.spearce.jgit.test</artifactId>
+  <name>JGit :: Test</name>
+  <dependencies>
+        <dependency>
+            <groupId>org.spearce</groupId>
+            <artifactId>org.spearce.jgit</artifactId>
+        </dependency>    
+    <dependency>
+      <groupId>com.jcraft</groupId>
+      <artifactId>jsch</artifactId>
+    </dependency>    
+  </dependencies>
+  <build>
+        <testResources>
+            <testResource>
+                <directory>tst-rsrc/</directory>
+            </testResource>
+        </testResources>
+        <testSourceDirectory>tst/</testSourceDirectory>
+  </build>
+</project>
diff --git a/org.spearce.jgit/pom.xml b/org.spearce.jgit/pom.xml
new file mode 100644
index 0000000..2510ff7
--- /dev/null
+++ b/org.spearce.jgit/pom.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.spearce</groupId>
+    <artifactId>jgit-parent</artifactId>
+    <version>0.5.0-SNAPSHOT</version>  
+  </parent>
+  <artifactId>org.spearce.jgit</artifactId>
+  <name>JGit :: Core</name>
+  <dependencies>
+    <dependency>
+      <groupId>com.jcraft</groupId>
+      <artifactId>jsch</artifactId>
+    </dependency>    
+  </dependencies>
+  <build>
+    <sourceDirectory>src</sourceDirectory>    
+    <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <version>2.4.2</version>
+                <configuration>
+                    <includes>
+                        <include>**/*Test.java</include>
+                        <include>**/*TestCase.java</include>
+                        <include>**/T000*.java</include>
+                    </includes>
+                </configuration>
+           </plugin>            
+    </plugins>
+  </build>
+</project>
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..7d52ba2
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,258 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+All rights reserved.
+Redistribution and use in source and binary forms, with or
+without modification, are permitted provided that the following
+conditions are met:
+
+Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+
+Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following
+disclaimer in the documentation and/or other materials provided
+with the distribution.
+
+Neither the name of the Git Development Community nor the
+names of its contributors may be used to endorse or promote
+products derived from this software without specific prior
+written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.spearce</groupId>
+    <artifactId>jgit-parent</artifactId>
+    <packaging>pom</packaging>
+    <version>0.5.0-SNAPSHOT</version>
+    <name>JGit :: Parent</name>
+    <url>http://repo.or.cz/w/egit.git</url>
+    <mailingLists>
+        <mailingList>
+            <name>GIT Mailing List</name>
+            <post>git@vger.kernel.org</post>
+            <archive>http://marc.info/?l=git</archive>
+        </mailingList>
+    </mailingLists>
+    <description>Pure Java implementation of Git</description>
+    <developers>
+        <developer>
+            <name>Shawn O. Pearce</name>
+            <email>spearce@spearce.org</email>
+            <roles>
+                <role>Maintainer</role>
+            </roles>
+        </developer>
+        <developer>
+            <name>Robin Rosenberg</name>
+            <email>robin.rosenberg@dewire.com</email>
+            <roles>
+                <role>Maintainer</role>
+            </roles>
+        </developer>
+        <developer>
+            <name>Dave Watson</name>
+            <email>dwatson@mimvista.com</email>
+            <roles>
+                <role>Developer</role>
+            </roles>
+        </developer>
+        <developer>
+            <name>Roger C. Soares</name>
+            <email>rogersoares@intelinet.com.br</email>
+            <roles>
+                <role>Developer</role>
+            </roles>
+	</developer>
+	<developer>
+            <name>Marek Zawirski</name>
+            <email>marek.zawirski@gmail.com</email>
+            <roles>
+                <role>Developer</role>
+            </roles>
+        </developer>
+        <developer>
+            <name>Charles O'Farrell</name>
+            <email>charleso@charleso.org</email>
+            <roles>
+                <role>Contributor</role>
+            </roles>
+        </developer>
+        <developer>
+            <name>Imran M Yousuf</name>
+            <email>imyousuf@smartitengineering.com</email>
+            <organization>Smart IT Engineering</organization>
+            <roles>
+                <role>Contributor</role>
+            </roles>
+        </developer>
+    </developers>
+    <licenses>
+        <license>
+            <name>3-clause (new-style) BSD license.</name>
+            <comments>
+                All rights reserved.
+                Redistribution and use in source and binary forms, with or
+                without modification, are permitted provided that the following
+                conditions are met:
+
+                Redistributions of source code must retain the above copyright
+                notice, this list of conditions and the following disclaimer.
+
+                Redistributions in binary form must reproduce the above
+                copyright notice, this list of conditions and the following
+                disclaimer in the documentation and/or other materials provided
+                with the distribution.
+
+                Neither the name of the Git Development Community nor the
+                names of its contributors may be used to endorse or promote
+                products derived from this software without specific prior
+                written permission.
+
+                THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+                CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+                INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+                OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+                ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+                CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+                SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+                NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+                LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+                CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+                STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+                ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+                ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+            </comments>
+        </license>
+    </licenses>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>2.0.1</version>
+                <configuration>
+                    <source>1.5</source>
+                    <target>1.5</target>
+                    <encoding>UTF-8</encoding>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+    <dependencies>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>3.8.1</version>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+    <dependencyManagement>
+    <dependencies>
+        <dependency>
+            <groupId>org.spearce</groupId>
+            <artifactId>org.spearce.jgit</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>com.jcraft</groupId>
+            <artifactId>jsch</artifactId>
+            <version>0.1.38</version>
+        </dependency>
+        <dependency>
+            <groupId>args4j</groupId>
+            <artifactId>args4j</artifactId>
+            <version>2.0.9</version>
+        </dependency>            
+    </dependencies>
+    </dependencyManagement>
+    <distributionManagement>
+        <snapshotRepository>
+            <id>jgit-maven-snapshot-repository</id>
+            <name>JGit Maven Snapshot Repository</name>
+            <url>dav:https://egit.googlecode.com/svn/maven/snapshot-repository/</url>
+            <uniqueVersion>true</uniqueVersion>
+        </snapshotRepository>
+    </distributionManagement>
+    <modules>
+      <module>org.spearce.jgit</module>
+      <module>org.spearce.jgit.test</module>   
+      <module>org.spearce.jgit.pgm</module>               
+    </modules>
+    <profiles>
+      <!-- Release -->      
+      <profile>
+        <id>jgit-release</id>
+        <build>
+        <plugins>
+          <!-- We want to sign the artifact, the POM, and all attached artifacts -->
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-gpg-plugin</artifactId>
+            <configuration>
+              <passphrase>${gpg.passphrase}</passphrase>
+            </configuration>
+            <executions>
+              <execution>
+                <goals>
+                  <goal>sign</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+          <!-- We want to deploy the artifact to a staging location for perusal -->
+          <plugin>
+            <inherited>true</inherited>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-deploy-plugin</artifactId>
+            <configuration>
+              <updateReleaseInfo>true</updateReleaseInfo>
+            </configuration>
+          </plugin>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-source-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>attach-sources</id>
+                <goals>
+                  <goal>jar</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-javadoc-plugin</artifactId>
+            <configuration>
+              <encoding>${project.build.sourceEncoding}</encoding>
+            </configuration>
+            <executions>
+              <execution>
+                <id>attach-javadocs</id>
+                <goals>
+                  <goal>jar</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>        
+        </build>
+      </profile>
+    </profiles>
+</project>
-- 
1.6.2.5

^ permalink raw reply related

* [JGIT PATCH 3/9] moving some license files and META-INF
From: Mark Struberg @ 2009-09-23 21:16 UTC (permalink / raw)
  To: git, spearce; +Cc: Mark Struberg
In-Reply-To: <1253740570-10718-2-git-send-email-struberg@yahoo.de>

Signed-off-by: Mark Struberg <struberg@yahoo.de>

removed LICENSE files from submodules. One in the parent folder is enough.
---
 org.spearce.jgit.test/LICENSE => LICENSE           |    0
 NOTICE                                             |    7 ++++
 .../lib => licenses}/JSch.LICENSE.txt              |    0
 org.spearce.jgit/LICENSE                           |   34 --------------------
 org.spearce.jgit/lib/jsch-0.1.37.jar               |  Bin 206178 -> 0 bytes
 org.spearce.jgit/lib/jsch-0.1.37.zip               |  Bin 268804 -> 0 bytes
 .../{ => src/main/resources}/META-INF/MANIFEST.MF  |    0
 7 files changed, 7 insertions(+), 34 deletions(-)
 rename org.spearce.jgit.test/LICENSE => LICENSE (100%)
 create mode 100644 NOTICE
 rename {org.spearce.jgit/lib => licenses}/JSch.LICENSE.txt (100%)
 delete mode 100644 org.spearce.jgit/LICENSE
 delete mode 100644 org.spearce.jgit/lib/jsch-0.1.37.jar
 delete mode 100644 org.spearce.jgit/lib/jsch-0.1.37.zip
 rename org.spearce.jgit/{ => src/main/resources}/META-INF/MANIFEST.MF (100%)

diff --git a/org.spearce.jgit.test/LICENSE b/LICENSE
similarity index 100%
rename from org.spearce.jgit.test/LICENSE
rename to LICENSE
diff --git a/NOTICE b/NOTICE
new file mode 100644
index 0000000..c19fbc3
--- /dev/null
+++ b/NOTICE
@@ -0,0 +1,7 @@
+JGIT Java native GIT core library
+
+see LICENSE for mor information
+
+This product uses the library jsch-0.1.38.jar as binary, 
+home page of the project is http://www.jcraft.com/jsch/ 
+
diff --git a/org.spearce.jgit/lib/JSch.LICENSE.txt b/licenses/JSch.LICENSE.txt
similarity index 100%
rename from org.spearce.jgit/lib/JSch.LICENSE.txt
rename to licenses/JSch.LICENSE.txt
diff --git a/org.spearce.jgit/LICENSE b/org.spearce.jgit/LICENSE
deleted file mode 100644
index 2917c22..0000000
--- a/org.spearce.jgit/LICENSE
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or
- * without modification, are permitted provided that the following
- * conditions are met:
- *
- * - Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * - Redistributions in binary form must reproduce the above
- *   copyright notice, this list of conditions and the following
- *   disclaimer in the documentation and/or other materials provided
- *   with the distribution.
- *
- * - Neither the name of the Git Development Community nor the
- *   names of its contributors may be used to endorse or promote
- *   products derived from this software without specific prior
- *   written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
- * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
diff --git a/org.spearce.jgit/lib/jsch-0.1.37.jar b/org.spearce.jgit/lib/jsch-0.1.37.jar
deleted file mode 100644
index e38c4b3..0000000
Binary files a/org.spearce.jgit/lib/jsch-0.1.37.jar and /dev/null differ
diff --git a/org.spearce.jgit/lib/jsch-0.1.37.zip b/org.spearce.jgit/lib/jsch-0.1.37.zip
deleted file mode 100644
index 63f3575..0000000
Binary files a/org.spearce.jgit/lib/jsch-0.1.37.zip and /dev/null differ
diff --git a/org.spearce.jgit/META-INF/MANIFEST.MF b/org.spearce.jgit/src/main/resources/META-INF/MANIFEST.MF
similarity index 100%
rename from org.spearce.jgit/META-INF/MANIFEST.MF
rename to org.spearce.jgit/src/main/resources/META-INF/MANIFEST.MF
-- 
1.6.2.5

^ permalink raw reply related

* [JGIT PATCH 4/9] checkin all eclipse project file changes
From: Mark Struberg @ 2009-09-23 21:16 UTC (permalink / raw)
  To: git, spearce; +Cc: Mark Struberg
In-Reply-To: <1253740570-10718-3-git-send-email-struberg@yahoo.de>

Signed-off-by: Mark Struberg <struberg@yahoo.de>
---
 org.spearce.jgit/.classpath                        |    7 +++++--
 org.spearce.jgit/.project                          |    6 ++++++
 .../.settings/org.eclipse.jdt.core.prefs           |    4 ++--
 .../.settings/org.maven.ide.eclipse.prefs          |    9 +++++++++
 org.spearce.jgit/build.properties                  |    6 +++---
 5 files changed, 25 insertions(+), 7 deletions(-)
 create mode 100644 org.spearce.jgit/.settings/org.maven.ide.eclipse.prefs

diff --git a/org.spearce.jgit/.classpath b/org.spearce.jgit/.classpath
index 304e861..c1c8f51 100644
--- a/org.spearce.jgit/.classpath
+++ b/org.spearce.jgit/.classpath
@@ -1,7 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="src" output="target/classes" path="src/main/java"/>
+	<classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
+	<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
+	<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
+	<classpathentry kind="output" path="target/classes"/>
 </classpath>
diff --git a/org.spearce.jgit/.project b/org.spearce.jgit/.project
index 7d38455..da2f7cf 100644
--- a/org.spearce.jgit/.project
+++ b/org.spearce.jgit/.project
@@ -20,8 +20,14 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.maven.ide.eclipse.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.maven.ide.eclipse.maven2Nature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 		<nature>org.eclipse.pde.PluginNature</nature>
 	</natures>
diff --git a/org.spearce.jgit/.settings/org.eclipse.jdt.core.prefs b/org.spearce.jgit/.settings/org.eclipse.jdt.core.prefs
index 8e8e172..22d560f 100644
--- a/org.spearce.jgit/.settings/org.eclipse.jdt.core.prefs
+++ b/org.spearce.jgit/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,4 @@
-#Sun Mar 15 01:13:43 CET 2009
+#Fri Sep 04 16:53:41 CEST 2009
 eclipse.preferences.version=1
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
@@ -34,7 +34,7 @@ org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
 org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
 org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
 org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=error
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
 org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
 org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
 org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
diff --git a/org.spearce.jgit/.settings/org.maven.ide.eclipse.prefs b/org.spearce.jgit/.settings/org.maven.ide.eclipse.prefs
new file mode 100644
index 0000000..1e219ee
--- /dev/null
+++ b/org.spearce.jgit/.settings/org.maven.ide.eclipse.prefs
@@ -0,0 +1,9 @@
+#Fri Sep 04 16:35:48 CEST 2009
+activeProfiles=
+eclipse.preferences.version=1
+fullBuildGoals=process-test-resources
+includeModules=false
+resolveWorkspaceProjects=true
+resourceFilterGoals=process-resources resources\:testResources
+skipCompilerPlugin=true
+version=1
diff --git a/org.spearce.jgit/build.properties b/org.spearce.jgit/build.properties
index aa1a008..b686345 100644
--- a/org.spearce.jgit/build.properties
+++ b/org.spearce.jgit/build.properties
@@ -1,5 +1,5 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
+source.. = src/main/java/
+output.. = target/classes/
+bin.includes = src/main/resources/,\
                .,\
                plugin.properties
-- 
1.6.2.5

^ permalink raw reply related

* [JGIT PATCH 6/9] enable missing test cases and fix jgit executable creation
From: Mark Struberg @ 2009-09-23 21:16 UTC (permalink / raw)
  To: git, spearce; +Cc: Mark Struberg
In-Reply-To: <1253740570-10718-5-git-send-email-struberg@yahoo.de>

* enable the T000* tests in surefire

* fix the creation of the jgit executable by correcting the
use_self filtering and performing the copy task in binary mode

Signed-off-by: Mark Struberg <struberg@yahoo.de>
---
 org.spearce.jgit.pgm/jgit.sh |    2 +-
 org.spearce.jgit.pgm/pom.xml |   12 +++++++++---
 org.spearce.jgit/pom.xml     |    5 +++++
 3 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/org.spearce.jgit.pgm/jgit.sh b/org.spearce.jgit.pgm/jgit.sh
index 5e44356..6c101a0 100755
--- a/org.spearce.jgit.pgm/jgit.sh
+++ b/org.spearce.jgit.pgm/jgit.sh
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-if [ "@@use_self@@" = "1" ]
+if [ "@use_self@" = "1" ]
 then
 	this_script=`which "$0" 2>/dev/null`
 	[ $? -gt 0 -a -f "$0" ] && this_script="$0"
diff --git a/org.spearce.jgit.pgm/pom.xml b/org.spearce.jgit.pgm/pom.xml
index ab399e5..47dfbf1 100644
--- a/org.spearce.jgit.pgm/pom.xml
+++ b/org.spearce.jgit.pgm/pom.xml
@@ -102,11 +102,17 @@
 						<phase>package</phase>
 						<configuration>
 							<tasks>
-								<concat destfile="${basedir}/jgit" force="no">
-									<fileset file="${basedir}/jgit.sh" />
+								<copy todir="${basedir}/target/">
+									<fileset file="${basedir}/jgit.sh"/>
+									<filterset>
+										<filter token="use_self" value="1"/>
+									</filterset>
+								</copy>
+								<concat destfile="${basedir}/target/jgit" force="yes" binary="true">
+									<fileset file="${basedir}/target/jgit.sh" />
 									<fileset file="${basedir}/target/jgit-cli.jar" />
 								</concat>
-								<chmod file="${basedir}/jgit" perm="a+x"/>
+								<chmod file="${basedir}/target/jgit" perm="a+x"/>
 							</tasks>
 						</configuration>
 						<goals>
diff --git a/org.spearce.jgit/pom.xml b/org.spearce.jgit/pom.xml
index eb01e16..f565dda 100644
--- a/org.spearce.jgit/pom.xml
+++ b/org.spearce.jgit/pom.xml
@@ -107,6 +107,10 @@
 						<groupId>org.apache.maven.plugins</groupId>
 						<artifactId>maven-surefire-plugin</artifactId>
 						<configuration>
+                            <includes>
+                                <include>**/*Test.java</include>
+                                <include>**/T00*.java</include>
+                            </includes>
 							<excludes>
 								<exclude>**/*TckTest.java</exclude>
 							</excludes>
@@ -125,6 +129,7 @@
 						<configuration>
 							<includes>
 								<include>**/*Test.java</include>
+                                <include>**/T00*.java</include>
 							</includes>
 						</configuration>
 					</plugin>
-- 
1.6.2.5

^ permalink raw reply related

* [JGIT PATCH 5/9] mavenized org.spearce.jgit.pgm
From: Mark Struberg @ 2009-09-23 21:16 UTC (permalink / raw)
  To: git, spearce; +Cc: Mark Struberg
In-Reply-To: <1253740570-10718-4-git-send-email-struberg@yahoo.de>

* moved org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/ -> org.spearce.jgit.pgm/src/main/java

* all pgm related stuff has been moved to org.speace.jgit.pgm
  This includes jgit.sh and the jgit executable

* create the jgit executable with maven; deleted make_jgit.sh.
  Instead type
  $>mvn clean install
  in the root directory and you'll get org.spearce.jgit.pgm/jgit

Signed-off-by: Mark Struberg <struberg@yahoo.de>
---
 NOTICE                                             |   12 +-
 .../lib => licenses}/args4j.LICENSE.txt            |    0
 make_jgit.sh                                       |  132 -------------
 org.spearce.jgit.pgm/.gitignore                    |    1 -
 jgit.sh => org.spearce.jgit.pgm/jgit.sh            |    7 +-
 org.spearce.jgit.pgm/lib/args4j-2.0.9.jar          |  Bin 40654 -> 0 bytes
 org.spearce.jgit.pgm/lib/args4j-2.0.9.zip          |  Bin 31516 -> 0 bytes
 org.spearce.jgit.pgm/pom.xml                       |  173 +++++++++++------
 .../org/spearce/jgit/pgm/AbstractFetchCommand.java |    0
 .../java}/org/spearce/jgit/pgm/Branch.java         |    0
 .../java}/org/spearce/jgit/pgm/Clone.java          |    0
 .../java}/org/spearce/jgit/pgm/Command.java        |    0
 .../java}/org/spearce/jgit/pgm/CommandCatalog.java |    0
 .../java}/org/spearce/jgit/pgm/CommandRef.java     |    0
 .../java}/org/spearce/jgit/pgm/Daemon.java         |    0
 .../{ => main/java}/org/spearce/jgit/pgm/Die.java  |    0
 .../java}/org/spearce/jgit/pgm/DiffTree.java       |    0
 .../java}/org/spearce/jgit/pgm/Fetch.java          |    0
 .../{ => main/java}/org/spearce/jgit/pgm/Glog.java |    0
 .../java}/org/spearce/jgit/pgm/IndexPack.java      |    0
 .../{ => main/java}/org/spearce/jgit/pgm/Init.java |    0
 .../{ => main/java}/org/spearce/jgit/pgm/Log.java  |    0
 .../java}/org/spearce/jgit/pgm/LsRemote.java       |    0
 .../java}/org/spearce/jgit/pgm/LsTree.java         |    0
 .../{ => main/java}/org/spearce/jgit/pgm/Main.java |    0
 .../java}/org/spearce/jgit/pgm/MergeBase.java      |    0
 .../{ => main/java}/org/spearce/jgit/pgm/Push.java |    0
 .../java}/org/spearce/jgit/pgm/ReceivePack.java    |    0
 .../java}/org/spearce/jgit/pgm/RevList.java        |    0
 .../java}/org/spearce/jgit/pgm/RevParse.java       |    0
 .../org/spearce/jgit/pgm/RevWalkTextBuiltin.java   |    0
 .../{ => main/java}/org/spearce/jgit/pgm/Rm.java   |    0
 .../java}/org/spearce/jgit/pgm/ShowRef.java        |    0
 .../{ => main/java}/org/spearce/jgit/pgm/Tag.java  |    0
 .../java}/org/spearce/jgit/pgm/TextBuiltin.java    |    0
 .../java}/org/spearce/jgit/pgm/UploadPack.java     |    0
 .../java}/org/spearce/jgit/pgm/Version.java        |    0
 .../org/spearce/jgit/pgm/debug/MakeCacheTree.java  |    0
 .../org/spearce/jgit/pgm/debug/ReadDirCache.java   |    0
 .../spearce/jgit/pgm/debug/RebuildCommitGraph.java |    0
 .../org/spearce/jgit/pgm/debug/ShowCacheTree.java  |    0
 .../org/spearce/jgit/pgm/debug/ShowCommands.java   |    0
 .../org/spearce/jgit/pgm/debug/ShowDirCache.java   |    0
 .../org/spearce/jgit/pgm/debug/WriteDirCache.java  |    0
 .../jgit/pgm/opt/AbstractTreeIteratorHandler.java  |    0
 .../org/spearce/jgit/pgm/opt/CmdLineParser.java    |    0
 .../org/spearce/jgit/pgm/opt/ObjectIdHandler.java  |    0
 .../jgit/pgm/opt/PathTreeFilterHandler.java        |    0
 .../org/spearce/jgit/pgm/opt/RefSpecHandler.java   |    0
 .../org/spearce/jgit/pgm/opt/RevCommitHandler.java |    0
 .../org/spearce/jgit/pgm/opt/RevTreeHandler.java   |    0
 .../spearce/jgit/pgm/opt/SubcommandHandler.java    |    0
 .../services/org.spearce.jgit.pgm.TextBuiltin      |    0
 .../org/spearce/jgit/pgm/build/JarLinkUtil.java    |  206 --------------------
 54 files changed, 129 insertions(+), 402 deletions(-)
 rename {org.spearce.jgit.pgm/lib => licenses}/args4j.LICENSE.txt (100%)
 delete mode 100755 make_jgit.sh
 rename jgit.sh => org.spearce.jgit.pgm/jgit.sh (79%)
 delete mode 100644 org.spearce.jgit.pgm/lib/args4j-2.0.9.jar
 delete mode 100644 org.spearce.jgit.pgm/lib/args4j-2.0.9.zip
 rename org.spearce.jgit.pgm/src/{ => main/java}/org/spearce/jgit/pgm/AbstractFetchCommand.java (100%)
 rename org.spearce.jgit.pgm/src/{ => main/java}/org/spearce/jgit/pgm/Branch.java (100%)
 rename org.spearce.jgit.pgm/src/{ => main/java}/org/spearce/jgit/pgm/Clone.java (100%)
 rename org.spearce.jgit.pgm/src/{ => main/java}/org/spearce/jgit/pgm/Command.java (100%)
 rename org.spearce.jgit.pgm/src/{ => main/java}/org/spearce/jgit/pgm/CommandCatalog.java (100%)
 rename org.spearce.jgit.pgm/src/{ => main/java}/org/spearce/jgit/pgm/CommandRef.java (100%)
 rename org.spearce.jgit.pgm/src/{ => main/java}/org/spearce/jgit/pgm/Daemon.java (100%)
 rename org.spearce.jgit.pgm/src/{ => main/java}/org/spearce/jgit/pgm/Die.java (100%)
 rename org.spearce.jgit.pgm/src/{ => main/java}/org/spearce/jgit/pgm/DiffTree.java (100%)
 rename org.spearce.jgit.pgm/src/{ => main/java}/org/spearce/jgit/pgm/Fetch.java (100%)
 rename org.spearce.jgit.pgm/src/{ => main/java}/org/spearce/jgit/pgm/Glog.java (100%)
 rename org.spearce.jgit.pgm/src/{ => main/java}/org/spearce/jgit/pgm/IndexPack.java (100%)
 rename org.spearce.jgit.pgm/src/{ => main/java}/org/spearce/jgit/pgm/Init.java (100%)
 rename org.spearce.jgit.pgm/src/{ => main/java}/org/spearce/jgit/pgm/Log.java (100%)
 rename org.spearce.jgit.pgm/src/{ => main/java}/org/spearce/jgit/pgm/LsRemote.java (100%)
 rename org.spearce.jgit.pgm/src/{ => main/java}/org/spearce/jgit/pgm/LsTree.java (100%)
 rename org.spearce.jgit.pgm/src/{ => main/java}/org/spearce/jgit/pgm/Main.java (100%)
 rename org.spearce.jgit.pgm/src/{ => main/java}/org/spearce/jgit/pgm/MergeBase.java (100%)
 rename org.spearce.jgit.pgm/src/{ => main/java}/org/spearce/jgit/pgm/Push.java (100%)
 rename org.spearce.jgit.pgm/src/{ => main/java}/org/spearce/jgit/pgm/ReceivePack.java (100%)
 rename org.spearce.jgit.pgm/src/{ => main/java}/org/spearce/jgit/pgm/RevList.java (100%)
 rename org.spearce.jgit.pgm/src/{ => main/java}/org/spearce/jgit/pgm/RevParse.java (100%)
 rename org.spearce.jgit.pgm/src/{ => main/java}/org/spearce/jgit/pgm/RevWalkTextBuiltin.java (100%)
 rename org.spearce.jgit.pgm/src/{ => main/java}/org/spearce/jgit/pgm/Rm.java (100%)
 rename org.spearce.jgit.pgm/src/{ => main/java}/org/spearce/jgit/pgm/ShowRef.java (100%)
 rename org.spearce.jgit.pgm/src/{ => main/java}/org/spearce/jgit/pgm/Tag.java (100%)
 rename org.spearce.jgit.pgm/src/{ => main/java}/org/spearce/jgit/pgm/TextBuiltin.java (100%)
 rename org.spearce.jgit.pgm/src/{ => main/java}/org/spearce/jgit/pgm/UploadPack.java (100%)
 rename org.spearce.jgit.pgm/src/{ => main/java}/org/spearce/jgit/pgm/Version.java (100%)
 rename org.spearce.jgit.pgm/src/{ => main/java}/org/spearce/jgit/pgm/debug/MakeCacheTree.java (100%)
 rename org.spearce.jgit.pgm/src/{ => main/java}/org/spearce/jgit/pgm/debug/ReadDirCache.java (100%)
 rename org.spearce.jgit.pgm/src/{ => main/java}/org/spearce/jgit/pgm/debug/RebuildCommitGraph.java (100%)
 rename org.spearce.jgit.pgm/src/{ => main/java}/org/spearce/jgit/pgm/debug/ShowCacheTree.java (100%)
 rename org.spearce.jgit.pgm/src/{ => main/java}/org/spearce/jgit/pgm/debug/ShowCommands.java (100%)
 rename org.spearce.jgit.pgm/src/{ => main/java}/org/spearce/jgit/pgm/debug/ShowDirCache.java (100%)
 rename org.spearce.jgit.pgm/src/{ => main/java}/org/spearce/jgit/pgm/debug/WriteDirCache.java (100%)
 rename org.spearce.jgit.pgm/src/{ => main/java}/org/spearce/jgit/pgm/opt/AbstractTreeIteratorHandler.java (100%)
 rename org.spearce.jgit.pgm/src/{ => main/java}/org/spearce/jgit/pgm/opt/CmdLineParser.java (100%)
 rename org.spearce.jgit.pgm/src/{ => main/java}/org/spearce/jgit/pgm/opt/ObjectIdHandler.java (100%)
 rename org.spearce.jgit.pgm/src/{ => main/java}/org/spearce/jgit/pgm/opt/PathTreeFilterHandler.java (100%)
 rename org.spearce.jgit.pgm/src/{ => main/java}/org/spearce/jgit/pgm/opt/RefSpecHandler.java (100%)
 rename org.spearce.jgit.pgm/src/{ => main/java}/org/spearce/jgit/pgm/opt/RevCommitHandler.java (100%)
 rename org.spearce.jgit.pgm/src/{ => main/java}/org/spearce/jgit/pgm/opt/RevTreeHandler.java (100%)
 rename org.spearce.jgit.pgm/src/{ => main/java}/org/spearce/jgit/pgm/opt/SubcommandHandler.java (100%)
 rename org.spearce.jgit.pgm/src/{ => main/resources}/META-INF/services/org.spearce.jgit.pgm.TextBuiltin (100%)
 delete mode 100644 org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/build/JarLinkUtil.java

diff --git a/NOTICE b/NOTICE
index c19fbc3..ad1d1ee 100644
--- a/NOTICE
+++ b/NOTICE
@@ -1,7 +1,13 @@
 JGIT Java native GIT core library
 
-see LICENSE for mor information
+see LICENSE for more information on JGIT.
 
-This product uses the library jsch-0.1.38.jar as binary, 
-home page of the project is http://www.jcraft.com/jsch/ 
+
+This product uses the library jsch-0.1.38.jar as binary. 
+The home page of the project is http://www.jcraft.com/jsch/ 
+See licenses/JSch.LICENSE.txt for more information.
+
+This product uses the library args4j-2.0.9.jar as binary, 
+The home page of the project is https://args4j.dev.java.net/
+See licenses/args4j.LICENSE.txt for more information.
 
diff --git a/org.spearce.jgit.pgm/lib/args4j.LICENSE.txt b/licenses/args4j.LICENSE.txt
similarity index 100%
rename from org.spearce.jgit.pgm/lib/args4j.LICENSE.txt
rename to licenses/args4j.LICENSE.txt
diff --git a/make_jgit.sh b/make_jgit.sh
deleted file mode 100755
index e3f7ffa..0000000
--- a/make_jgit.sh
+++ /dev/null
@@ -1,132 +0,0 @@
-#!/bin/sh
-
-O_CLI=jgit
-O_JAR=jgit.jar
-O_SRC=jgit_src.zip
-O_DOC=jgit_docs.zip
-
-PLUGINS="
-	org.spearce.jgit
-	org.spearce.jgit.pgm
-"
-JARS="
-	org.spearce.jgit/lib/jsch-0.1.37.jar
-	org.spearce.jgit.pgm/lib/args4j-2.0.9.jar
-"
-
-PSEP=":"
-T=".temp$$.$O_CLI"
-T_MF="$T.MF"
-R=`pwd`
-if [ "$OSTYPE" = "cygwin" ]
-then
-	R=`cygpath -m $R`
-	PSEP=";"
-fi
-if [ "$MSYSTEM" = "MINGW" -o "$MSYSTEM" = "MINGW32" ]
-then
-	PSEP=";"
-	R=`pwd -W`
-fi
-
-if [ -n "$JAVA_HOME" ]
-then
-	PATH=${JAVA_HOME}/bin${PSEP}${PATH}
-fi
-
-cleanup_bin() {
-	rm -f $T $O_CLI+ $O_JAR+ $O_SRC+ $T_MF
-	for p in $PLUGINS
-	do
-		rm -rf $p/bin2
-	done
-	rm -rf docs
-}
-
-die() {
-	cleanup_bin
-	rm -f $O_CLI $O_JAR $O_SRC
-	echo >&2 "$@"
-	exit 1
-}
-
-cleanup_bin
-rm -f $O_CLI $O_JAR $O_SRC $O_DOC
-
-VN=`git describe --abbrev=4 HEAD 2>/dev/null`
-git update-index -q --refresh
-if [ -n "`git diff-index --name-only HEAD --`" ]
-then
-	VN="$VN-dirty"
-fi
-VN=${VN:-untagged}`echo "$VN" | sed -e s/-/./g`
-
-CLASSPATH=
-for j in $JARS
-do
-	if [ -z "$CLASSPATH" ]
-	then
-		CLASSPATH="$R/$j"
-	else
-		CLASSPATH="${CLASSPATH}${PSEP}$R/$j"
-	fi
-done
-export CLASSPATH
-
-for p in $PLUGINS
-do
-	echo "Entering $p ..."
-	(cd $p/src &&
-	 mkdir ../bin2 &&
-	 find . -name \*.java -type f |
-	 xargs javac \
-		-source 1.5 \
-		-target 1.5 \
-		-encoding UTF-8 \
-		-g \
-		-d ../bin2) || die "Building $p failed."
-	CLASSPATH="${CLASSPATH}${PSEP}$R/$p/bin2"
-done
-echo
-
-echo "Version $VN" &&
-echo Manifest-Version: 1.0 >$T_MF &&
-echo Implementation-Title: jgit >>$T_MF &&
-echo Implementation-Version: $VN >>$T_MF &&
-
-java org.spearce.jgit.pgm.build.JarLinkUtil \
-	-include org.spearce.jgit/bin2 \
-	-file META-INF/MANIFEST.MF=$T_MF \
-	>$O_JAR+ &&
-mv $O_JAR+ $O_JAR &&
-echo "Created $O_JAR." &&
-
-java org.spearce.jgit.pgm.build.JarLinkUtil \
-	-include org.spearce.jgit/src \
-	-file META-INF/MANIFEST.MF=$T_MF \
-	>$O_SRC+ &&
-mv $O_SRC+ $O_SRC &&
-echo "Created $O_SRC." &&
-
-M_TB=META-INF/services/org.spearce.jgit.pgm.TextBuiltin &&
-sed s/@@use_self@@/1/ jgit.sh >$O_CLI+ &&
-java org.spearce.jgit.pgm.build.JarLinkUtil \
-	`for p in $JARS   ; do printf %s " -include $p"     ;done` \
-	`for p in $PLUGINS; do printf %s " -include $p/bin2";done` \
-	-file $M_TB=org.spearce.jgit.pgm/src/$M_TB \
-	-file META-INF/MANIFEST.MF=$T_MF \
-	>>$O_CLI+ &&
-chmod 555 $O_CLI+ &&
-mv $O_CLI+ $O_CLI &&
-echo "Created $O_CLI." || die "Build failed."
-
-echo "Building Javadocs ..."
-for p in $PLUGINS; do
-	javadoc -quiet -sourcepath "$p/src/" -d "docs/$p/" \
-	`find "$p/src" -name "*.java"`
-done
-
-(cd docs && jar cf "../$O_DOC" .)
-echo "Created $O_DOC."
-
-cleanup_bin
diff --git a/org.spearce.jgit.pgm/.gitignore b/org.spearce.jgit.pgm/.gitignore
index 934e0e0..ea8c4bf 100644
--- a/org.spearce.jgit.pgm/.gitignore
+++ b/org.spearce.jgit.pgm/.gitignore
@@ -1,2 +1 @@
-/bin
 /target
diff --git a/jgit.sh b/org.spearce.jgit.pgm/jgit.sh
similarity index 79%
rename from jgit.sh
rename to org.spearce.jgit.pgm/jgit.sh
index 6b9b224..5e44356 100755
--- a/jgit.sh
+++ b/org.spearce.jgit.pgm/jgit.sh
@@ -7,10 +7,9 @@ then
 	cp=$this_script
 else
 	jgit_home=`dirname $0`
-	cp="$jgit_home/org.spearce.jgit/bin"
-	cp="$cp:$jgit_home/org.spearce.jgit/lib/jsch-0.1.37.jar"
-	cp="$cp:$jgit_home/org.spearce.jgit.pgm/bin"
-	cp="$cp:$jgit_home/org.spearce.jgit.pgm/lib/args4j-2.0.9.jar"
+	cp="$jgit_home/../org.spearce.jgit/target/classes"
+	cp="$cp:$jgit_home/../org.spearce.jgit.pgm/target/classes"
+	cp="$cp:$jgit_home/target/jgit-cli.jar"
 	unset jgit_home
 	java_args=
 fi
diff --git a/org.spearce.jgit.pgm/lib/args4j-2.0.9.jar b/org.spearce.jgit.pgm/lib/args4j-2.0.9.jar
deleted file mode 100644
index a894c6e..0000000
Binary files a/org.spearce.jgit.pgm/lib/args4j-2.0.9.jar and /dev/null differ
diff --git a/org.spearce.jgit.pgm/lib/args4j-2.0.9.zip b/org.spearce.jgit.pgm/lib/args4j-2.0.9.zip
deleted file mode 100644
index eccd663..0000000
Binary files a/org.spearce.jgit.pgm/lib/args4j-2.0.9.zip and /dev/null differ
diff --git a/org.spearce.jgit.pgm/pom.xml b/org.spearce.jgit.pgm/pom.xml
index 9501cb5..ab399e5 100644
--- a/org.spearce.jgit.pgm/pom.xml
+++ b/org.spearce.jgit.pgm/pom.xml
@@ -1,59 +1,120 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+/*
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or
+ * without modification, are permitted provided that the following
+ * conditions are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ *   notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above
+ *   copyright notice, this list of conditions and the following
+ *   disclaimer in the documentation and/or other materials provided
+ *   with the distribution.
+ *
+ * - Neither the name of the Git Development Community nor the
+ *   names of its contributors may be used to endorse or promote
+ *   products derived from this software without specific prior
+ *   written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+-->
+
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <groupId>org.spearce</groupId>
-    <artifactId>jgit-parent</artifactId>
-    <version>0.5.0-SNAPSHOT</version>  
-  </parent>
-  <artifactId>org.spearce.jgit.pgm</artifactId>
-  <name>JGit :: Pgm</name>
-  <dependencies>
-        <dependency>
-            <groupId>org.spearce</groupId>
-            <artifactId>org.spearce.jgit</artifactId>
-            <version>${project.version}</version>
-        </dependency>    
-        <dependency>
-            <groupId>args4j</groupId>
-            <artifactId>args4j</artifactId>
-        </dependency>
-  </dependencies>
-  <build>
-    <sourceDirectory>src</sourceDirectory>
-    <resources>
-      <resource>
-        <directory>src</directory>
-        <includes>
-          <include>**/services/**</include>
-        </includes>
-      </resource>
-    </resources>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-shade-plugin</artifactId>
-        <version>1.2</version>
-        <executions>
-          <execution>
-            <phase>package</phase>
-            <goals>
-              <goal>shade</goal>
-            </goals>
-            <configuration>
-              <finalName>jgit-cli</finalName>
-              <createDependencyReducedPom>false</createDependencyReducedPom>
-              <transformers>
-                <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>              
-                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
-                  <mainClass>org.spearce.jgit.pgm.Main</mainClass>
-                </transformer>
-              </transformers>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>      
-  </build>
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<groupId>org.spearce</groupId>
+		<artifactId>jgit-parent</artifactId>
+		<version>0.5.0-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.spearce.jgit.pgm</artifactId>
+	<name>JGit :: Pgm</name>
+
+	<description>
+	Command line client for the JGit pure Java GIT implementation.
+	This includes the re-packaging of all dependencies into an 'uberjar'
+	</description>
+
+	<dependencies>
+		<dependency>
+			<groupId>org.spearce</groupId>
+			<artifactId>org.spearce.jgit</artifactId>
+			<version>${project.version}</version>
+		</dependency>
+		<dependency>
+			<groupId>args4j</groupId>
+			<artifactId>args4j</artifactId>
+		</dependency>
+	</dependencies>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-shade-plugin</artifactId>
+				<version>1.2</version>
+				<executions>
+					<execution>
+						<phase>package</phase>
+						<goals>
+							<goal>shade</goal>
+						</goals>
+						<configuration>
+<!-- temporarily DISABLED due to MSHADE-54	<shadedArtifactAttached>true</shadedArtifactAttached>-->
+							<finalName>jgit-cli</finalName>
+							<createDependencyReducedPom>false</createDependencyReducedPom>
+							<transformers>
+								<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
+								<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
+									<mainClass>org.spearce.jgit.pgm.Main</mainClass>
+								</transformer>
+							</transformers>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-antrun-plugin</artifactId>
+				<version>1.3</version>
+				<executions>
+					<execution>
+						<id>create_jgit</id>
+						<phase>package</phase>
+						<configuration>
+							<tasks>
+								<concat destfile="${basedir}/jgit" force="no">
+									<fileset file="${basedir}/jgit.sh" />
+									<fileset file="${basedir}/target/jgit-cli.jar" />
+								</concat>
+								<chmod file="${basedir}/jgit" perm="a+x"/>
+							</tasks>
+						</configuration>
+						<goals>
+							<goal>run</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
 </project>
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/AbstractFetchCommand.java b/org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/AbstractFetchCommand.java
similarity index 100%
rename from org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/AbstractFetchCommand.java
rename to org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/AbstractFetchCommand.java
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/Branch.java b/org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/Branch.java
similarity index 100%
rename from org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/Branch.java
rename to org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/Branch.java
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/Clone.java b/org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/Clone.java
similarity index 100%
rename from org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/Clone.java
rename to org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/Clone.java
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/Command.java b/org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/Command.java
similarity index 100%
rename from org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/Command.java
rename to org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/Command.java
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/CommandCatalog.java b/org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/CommandCatalog.java
similarity index 100%
rename from org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/CommandCatalog.java
rename to org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/CommandCatalog.java
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/CommandRef.java b/org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/CommandRef.java
similarity index 100%
rename from org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/CommandRef.java
rename to org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/CommandRef.java
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/Daemon.java b/org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/Daemon.java
similarity index 100%
rename from org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/Daemon.java
rename to org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/Daemon.java
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/Die.java b/org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/Die.java
similarity index 100%
rename from org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/Die.java
rename to org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/Die.java
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/DiffTree.java b/org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/DiffTree.java
similarity index 100%
rename from org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/DiffTree.java
rename to org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/DiffTree.java
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/Fetch.java b/org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/Fetch.java
similarity index 100%
rename from org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/Fetch.java
rename to org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/Fetch.java
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/Glog.java b/org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/Glog.java
similarity index 100%
rename from org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/Glog.java
rename to org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/Glog.java
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/IndexPack.java b/org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/IndexPack.java
similarity index 100%
rename from org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/IndexPack.java
rename to org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/IndexPack.java
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/Init.java b/org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/Init.java
similarity index 100%
rename from org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/Init.java
rename to org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/Init.java
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/Log.java b/org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/Log.java
similarity index 100%
rename from org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/Log.java
rename to org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/Log.java
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/LsRemote.java b/org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/LsRemote.java
similarity index 100%
rename from org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/LsRemote.java
rename to org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/LsRemote.java
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/LsTree.java b/org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/LsTree.java
similarity index 100%
rename from org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/LsTree.java
rename to org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/LsTree.java
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/Main.java b/org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/Main.java
similarity index 100%
rename from org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/Main.java
rename to org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/Main.java
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/MergeBase.java b/org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/MergeBase.java
similarity index 100%
rename from org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/MergeBase.java
rename to org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/MergeBase.java
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/Push.java b/org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/Push.java
similarity index 100%
rename from org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/Push.java
rename to org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/Push.java
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/ReceivePack.java b/org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/ReceivePack.java
similarity index 100%
rename from org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/ReceivePack.java
rename to org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/ReceivePack.java
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/RevList.java b/org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/RevList.java
similarity index 100%
rename from org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/RevList.java
rename to org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/RevList.java
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/RevParse.java b/org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/RevParse.java
similarity index 100%
rename from org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/RevParse.java
rename to org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/RevParse.java
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/RevWalkTextBuiltin.java b/org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/RevWalkTextBuiltin.java
similarity index 100%
rename from org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/RevWalkTextBuiltin.java
rename to org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/RevWalkTextBuiltin.java
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/Rm.java b/org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/Rm.java
similarity index 100%
rename from org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/Rm.java
rename to org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/Rm.java
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/ShowRef.java b/org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/ShowRef.java
similarity index 100%
rename from org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/ShowRef.java
rename to org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/ShowRef.java
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/Tag.java b/org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/Tag.java
similarity index 100%
rename from org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/Tag.java
rename to org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/Tag.java
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/TextBuiltin.java b/org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/TextBuiltin.java
similarity index 100%
rename from org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/TextBuiltin.java
rename to org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/TextBuiltin.java
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/UploadPack.java b/org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/UploadPack.java
similarity index 100%
rename from org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/UploadPack.java
rename to org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/UploadPack.java
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/Version.java b/org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/Version.java
similarity index 100%
rename from org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/Version.java
rename to org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/Version.java
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/debug/MakeCacheTree.java b/org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/debug/MakeCacheTree.java
similarity index 100%
rename from org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/debug/MakeCacheTree.java
rename to org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/debug/MakeCacheTree.java
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/debug/ReadDirCache.java b/org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/debug/ReadDirCache.java
similarity index 100%
rename from org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/debug/ReadDirCache.java
rename to org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/debug/ReadDirCache.java
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/debug/RebuildCommitGraph.java b/org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/debug/RebuildCommitGraph.java
similarity index 100%
rename from org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/debug/RebuildCommitGraph.java
rename to org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/debug/RebuildCommitGraph.java
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/debug/ShowCacheTree.java b/org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/debug/ShowCacheTree.java
similarity index 100%
rename from org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/debug/ShowCacheTree.java
rename to org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/debug/ShowCacheTree.java
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/debug/ShowCommands.java b/org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/debug/ShowCommands.java
similarity index 100%
rename from org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/debug/ShowCommands.java
rename to org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/debug/ShowCommands.java
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/debug/ShowDirCache.java b/org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/debug/ShowDirCache.java
similarity index 100%
rename from org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/debug/ShowDirCache.java
rename to org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/debug/ShowDirCache.java
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/debug/WriteDirCache.java b/org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/debug/WriteDirCache.java
similarity index 100%
rename from org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/debug/WriteDirCache.java
rename to org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/debug/WriteDirCache.java
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/opt/AbstractTreeIteratorHandler.java b/org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/opt/AbstractTreeIteratorHandler.java
similarity index 100%
rename from org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/opt/AbstractTreeIteratorHandler.java
rename to org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/opt/AbstractTreeIteratorHandler.java
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/opt/CmdLineParser.java b/org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/opt/CmdLineParser.java
similarity index 100%
rename from org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/opt/CmdLineParser.java
rename to org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/opt/CmdLineParser.java
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/opt/ObjectIdHandler.java b/org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/opt/ObjectIdHandler.java
similarity index 100%
rename from org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/opt/ObjectIdHandler.java
rename to org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/opt/ObjectIdHandler.java
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/opt/PathTreeFilterHandler.java b/org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/opt/PathTreeFilterHandler.java
similarity index 100%
rename from org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/opt/PathTreeFilterHandler.java
rename to org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/opt/PathTreeFilterHandler.java
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/opt/RefSpecHandler.java b/org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/opt/RefSpecHandler.java
similarity index 100%
rename from org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/opt/RefSpecHandler.java
rename to org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/opt/RefSpecHandler.java
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/opt/RevCommitHandler.java b/org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/opt/RevCommitHandler.java
similarity index 100%
rename from org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/opt/RevCommitHandler.java
rename to org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/opt/RevCommitHandler.java
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/opt/RevTreeHandler.java b/org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/opt/RevTreeHandler.java
similarity index 100%
rename from org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/opt/RevTreeHandler.java
rename to org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/opt/RevTreeHandler.java
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/opt/SubcommandHandler.java b/org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/opt/SubcommandHandler.java
similarity index 100%
rename from org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/opt/SubcommandHandler.java
rename to org.spearce.jgit.pgm/src/main/java/org/spearce/jgit/pgm/opt/SubcommandHandler.java
diff --git a/org.spearce.jgit.pgm/src/META-INF/services/org.spearce.jgit.pgm.TextBuiltin b/org.spearce.jgit.pgm/src/main/resources/META-INF/services/org.spearce.jgit.pgm.TextBuiltin
similarity index 100%
rename from org.spearce.jgit.pgm/src/META-INF/services/org.spearce.jgit.pgm.TextBuiltin
rename to org.spearce.jgit.pgm/src/main/resources/META-INF/services/org.spearce.jgit.pgm.TextBuiltin
diff --git a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/build/JarLinkUtil.java b/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/build/JarLinkUtil.java
deleted file mode 100644
index 929ee55..0000000
--- a/org.spearce.jgit.pgm/src/org/spearce/jgit/pgm/build/JarLinkUtil.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/*
- * Copyright (C) 2008, Shawn O. Pearce <spearce@spearce.org>
- *
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or
- * without modification, are permitted provided that the following
- * conditions are met:
- *
- * - Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * - Redistributions in binary form must reproduce the above
- *   copyright notice, this list of conditions and the following
- *   disclaimer in the documentation and/or other materials provided
- *   with the distribution.
- *
- * - Neither the name of the Git Development Community nor the
- *   names of its contributors may be used to endorse or promote
- *   products derived from this software without specific prior
- *   written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
- * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-package org.spearce.jgit.pgm.build;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-import java.util.zip.ZipOutputStream;
-
-import org.kohsuke.args4j.CmdLineException;
-import org.kohsuke.args4j.CmdLineParser;
-import org.kohsuke.args4j.Option;
-import org.kohsuke.args4j.spi.MapOptionHandler;
-
-/**
- * Combines multiple JAR and directory sources into a single JAR file.
- * <p>
- * This is a crude command line utility to combine multiple JAR files into a
- * single JAR file, without first needing to unpack the individual JARs.
- * <p>
- * The output ZIP stream is sent to standard out and can be redirected onto the
- * end of a shell script which starts the JRE.
- */
-public class JarLinkUtil {
-	/**
-	 * Combine multiple JARs.
-	 *
-	 * @param argv
-	 *            the command line arguments indicating the files to pack.
-	 * @throws IOException
-	 *             a source file could not be read.
-	 */
-	public static void main(final String[] argv) throws IOException {
-		final JarLinkUtil util = new JarLinkUtil();
-		final CmdLineParser clp = new CmdLineParser(util);
-		try {
-			clp.parseArgument(argv);
-		} catch (CmdLineException e) {
-			clp.printSingleLineUsage(System.err);
-			System.exit(1);
-		}
-		util.run();
-	}
-
-	@Option(name = "-include", required = true)
-	private List<File> includes = new ArrayList<File>();
-
-	@Option(name = "-file", handler = MapOptionHandler.class)
-	private Map<String, String> files = new HashMap<String, String>();
-
-	private final Map<String, File> chosenSources = new HashMap<String, File>();
-
-	private long creationTime;
-
-	private ZipOutputStream zos;
-
-	private JarLinkUtil() {
-		// Command line utility only.
-	}
-
-	private void run() throws IOException {
-		for (final File src : includes) {
-			if (src.isFile())
-				scanJar(src);
-			else
-				scanDirectory(src, src, "");
-		}
-		for (final Map.Entry<String, String> e : files.entrySet())
-			chosenSources.put(e.getKey(), new File(e.getValue()));
-
-		creationTime = System.currentTimeMillis();
-		zos = new ZipOutputStream(System.out);
-		zos.setLevel(9);
-
-		for (final File src : includes) {
-			if (src.isFile())
-				appendJar(src);
-			else
-				appendDirectory(src, src, "");
-		}
-		for (final String name : files.keySet())
-			appendFile(chosenSources.get(name), name);
-
-		zos.close();
-	}
-
-	private void scanJar(final File jarPath) throws IOException {
-		final ZipFile zf = new ZipFile(jarPath);
-		final Enumeration<? extends ZipEntry> e = zf.entries();
-		while (e.hasMoreElements())
-			chosenSources.put(e.nextElement().getName(), jarPath);
-		zf.close();
-	}
-
-	private void scanDirectory(final File rootPath, final File dirPath,
-			final String pfx) throws IOException {
-		final File[] entries = dirPath.listFiles();
-		if (entries == null)
-			return;
-		for (final File e : entries) {
-			if (e.getName().equals(".") || e.getName().equals(".."))
-				continue;
-
-			if (e.isDirectory())
-				scanDirectory(rootPath, e, pfx + e.getName() + "/");
-			else
-				chosenSources.put(pfx + e.getName(), rootPath);
-		}
-	}
-
-	private void appendJar(final File jarPath) throws IOException {
-		final ZipFile zf = new ZipFile(jarPath);
-		final Enumeration<? extends ZipEntry> e = zf.entries();
-		while (e.hasMoreElements()) {
-			final ZipEntry ze = e.nextElement();
-			final String name = ze.getName();
-			if (chosenSources.get(name) == jarPath)
-				appendEntry(name, ze.getSize(), ze.getTime(), zf
-						.getInputStream(ze));
-		}
-		zf.close();
-	}
-
-	private void appendDirectory(final File rootDir, final File dirPath,
-			final String pfx) throws IOException {
-		final File[] entries = dirPath.listFiles();
-		if (entries == null)
-			return;
-		for (final File e : entries) {
-			if (e.getName().equals(".") || e.getName().equals(".."))
-				continue;
-
-			if (e.isDirectory())
-				appendDirectory(rootDir, e, pfx + e.getName() + "/");
-			else if (chosenSources.get(pfx + e.getName()) == rootDir)
-				appendFile(e, pfx + e.getName());
-		}
-	}
-
-	private void appendFile(final File path, final String name)
-			throws IOException {
-		final long len = path.length();
-		final InputStream is = new FileInputStream(path);
-		appendEntry(name, len, creationTime, is);
-	}
-
-	private void appendEntry(final String name, final long len,
-			final long time, final InputStream is) throws IOException {
-		final ZipEntry ze = new ZipEntry(name);
-		ze.setSize(len);
-		ze.setTime(time);
-		zos.putNextEntry(ze);
-		try {
-			final byte[] buf = new byte[4096];
-			int n;
-			while ((n = is.read(buf)) >= 0)
-				zos.write(buf, 0, n);
-		} finally {
-			is.close();
-		}
-		zos.closeEntry();
-	}
-}
-- 
1.6.2.5

^ permalink raw reply related

* [JGIT PATCH 7/9] removing eclipse project files
From: Mark Struberg @ 2009-09-23 21:16 UTC (permalink / raw)
  To: git, spearce; +Cc: Mark Struberg
In-Reply-To: <1253740570-10718-6-git-send-email-struberg@yahoo.de>

All information necessary to build jgit is already available in
the maven pom.xmls.

Signed-off-by: Mark Struberg <struberg@yahoo.de>
---
 org.spearce.jgit.pgm/.classpath                    |    8 -
 org.spearce.jgit.pgm/.gitignore                    |    5 +
 org.spearce.jgit.pgm/.project                      |   17 -
 .../.settings/org.eclipse.core.resources.prefs     |    3 -
 .../.settings/org.eclipse.core.runtime.prefs       |    3 -
 .../.settings/org.eclipse.jdt.core.prefs           |  321 --------------------
 .../.settings/org.eclipse.jdt.ui.prefs             |    9 -
 org.spearce.jgit/.classpath                        |   10 -
 org.spearce.jgit/.gitignore                        |    6 +-
 org.spearce.jgit/.project                          |   34 --
 .../.settings/org.eclipse.core.resources.prefs     |    3 -
 .../.settings/org.eclipse.core.runtime.prefs       |    3 -
 .../.settings/org.eclipse.jdt.core.prefs           |  321 --------------------
 .../.settings/org.eclipse.jdt.ui.prefs             |    9 -
 .../.settings/org.maven.ide.eclipse.prefs          |    9 -
 15 files changed, 10 insertions(+), 751 deletions(-)
 delete mode 100644 org.spearce.jgit.pgm/.classpath
 delete mode 100644 org.spearce.jgit.pgm/.project
 delete mode 100644 org.spearce.jgit.pgm/.settings/org.eclipse.core.resources.prefs
 delete mode 100644 org.spearce.jgit.pgm/.settings/org.eclipse.core.runtime.prefs
 delete mode 100644 org.spearce.jgit.pgm/.settings/org.eclipse.jdt.core.prefs
 delete mode 100644 org.spearce.jgit.pgm/.settings/org.eclipse.jdt.ui.prefs
 delete mode 100644 org.spearce.jgit/.classpath
 delete mode 100644 org.spearce.jgit/.project
 delete mode 100644 org.spearce.jgit/.settings/org.eclipse.core.resources.prefs
 delete mode 100644 org.spearce.jgit/.settings/org.eclipse.core.runtime.prefs
 delete mode 100644 org.spearce.jgit/.settings/org.eclipse.jdt.core.prefs
 delete mode 100644 org.spearce.jgit/.settings/org.eclipse.jdt.ui.prefs
 delete mode 100644 org.spearce.jgit/.settings/org.maven.ide.eclipse.prefs

diff --git a/org.spearce.jgit.pgm/.classpath b/org.spearce.jgit.pgm/.classpath
deleted file mode 100644
index 50dd6d3..0000000
--- a/org.spearce.jgit.pgm/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry exported="true" kind="lib" path="lib/args4j-2.0.9.jar" sourcepath="lib/args4j-2.0.9.zip"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry combineaccessrules="false" exported="true" kind="src" path="/org.spearce.jgit"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.spearce.jgit.pgm/.gitignore b/org.spearce.jgit.pgm/.gitignore
index ea8c4bf..60a813a 100644
--- a/org.spearce.jgit.pgm/.gitignore
+++ b/org.spearce.jgit.pgm/.gitignore
@@ -1 +1,6 @@
 /target
+/.classpath
+/.project
+/.settings
+/*.iwl
+/*.ipr
diff --git a/org.spearce.jgit.pgm/.project b/org.spearce.jgit.pgm/.project
deleted file mode 100644
index e642f9e..0000000
--- a/org.spearce.jgit.pgm/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.spearce.jgit.pgm</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.spearce.jgit.pgm/.settings/org.eclipse.core.resources.prefs b/org.spearce.jgit.pgm/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 759548b..0000000
--- a/org.spearce.jgit.pgm/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Mon Aug 11 16:46:23 PDT 2008
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/org.spearce.jgit.pgm/.settings/org.eclipse.core.runtime.prefs b/org.spearce.jgit.pgm/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 006e07e..0000000
--- a/org.spearce.jgit.pgm/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Mon Mar 24 18:55:50 EDT 2008
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/org.spearce.jgit.pgm/.settings/org.eclipse.jdt.core.prefs b/org.spearce.jgit.pgm/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f0c80d3..0000000
--- a/org.spearce.jgit.pgm/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,321 +0,0 @@
-#Sun Mar 15 19:46:39 CET 2009
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.5
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines=false
-org.eclipse.jdt.core.formatter.comment.format_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=80
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
diff --git a/org.spearce.jgit.pgm/.settings/org.eclipse.jdt.ui.prefs b/org.spearce.jgit.pgm/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 709a440..0000000
--- a/org.spearce.jgit.pgm/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,9 +0,0 @@
-#Wed May 09 00:20:24 CEST 2007
-eclipse.preferences.version=1
-formatter_profile=_JGit
-formatter_settings_version=10
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=java;javax;org;com;
-org.eclipse.jdt.ui.ondemandthreshold=99
-org.eclipse.jdt.ui.staticondemandthreshold=99
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates/>
diff --git a/org.spearce.jgit/.classpath b/org.spearce.jgit/.classpath
deleted file mode 100644
index c1c8f51..0000000
--- a/org.spearce.jgit/.classpath
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" output="target/classes" path="src/main/java"/>
-	<classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
-	<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
-	<classpathentry kind="output" path="target/classes"/>
-</classpath>
diff --git a/org.spearce.jgit/.gitignore b/org.spearce.jgit/.gitignore
index 934e0e0..60a813a 100644
--- a/org.spearce.jgit/.gitignore
+++ b/org.spearce.jgit/.gitignore
@@ -1,2 +1,6 @@
-/bin
 /target
+/.classpath
+/.project
+/.settings
+/*.iwl
+/*.ipr
diff --git a/org.spearce.jgit/.project b/org.spearce.jgit/.project
deleted file mode 100644
index da2f7cf..0000000
--- a/org.spearce.jgit/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.spearce.jgit</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.maven.ide.eclipse.maven2Builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.maven.ide.eclipse.maven2Nature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/org.spearce.jgit/.settings/org.eclipse.core.resources.prefs b/org.spearce.jgit/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 66ac15c..0000000
--- a/org.spearce.jgit/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Mon Aug 11 16:46:12 PDT 2008
-eclipse.preferences.version=1
-encoding/<project>=UTF-8
diff --git a/org.spearce.jgit/.settings/org.eclipse.core.runtime.prefs b/org.spearce.jgit/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index cce0568..0000000
--- a/org.spearce.jgit/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Mon Mar 24 18:55:50 EDT 2008
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/org.spearce.jgit/.settings/org.eclipse.jdt.core.prefs b/org.spearce.jgit/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 22d560f..0000000
--- a/org.spearce.jgit/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,321 +0,0 @@
-#Fri Sep 04 16:53:41 CEST 2009
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=error
-org.eclipse.jdt.core.compiler.problem.unusedLocal=error
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
-org.eclipse.jdt.core.compiler.source=1.5
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines=false
-org.eclipse.jdt.core.formatter.comment.format_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=80
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
diff --git a/org.spearce.jgit/.settings/org.eclipse.jdt.ui.prefs b/org.spearce.jgit/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 709a440..0000000
--- a/org.spearce.jgit/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,9 +0,0 @@
-#Wed May 09 00:20:24 CEST 2007
-eclipse.preferences.version=1
-formatter_profile=_JGit
-formatter_settings_version=10
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=java;javax;org;com;
-org.eclipse.jdt.ui.ondemandthreshold=99
-org.eclipse.jdt.ui.staticondemandthreshold=99
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates/>
diff --git a/org.spearce.jgit/.settings/org.maven.ide.eclipse.prefs b/org.spearce.jgit/.settings/org.maven.ide.eclipse.prefs
deleted file mode 100644
index 1e219ee..0000000
--- a/org.spearce.jgit/.settings/org.maven.ide.eclipse.prefs
+++ /dev/null
@@ -1,9 +0,0 @@
-#Fri Sep 04 16:35:48 CEST 2009
-activeProfiles=
-eclipse.preferences.version=1
-fullBuildGoals=process-test-resources
-includeModules=false
-resolveWorkspaceProjects=true
-resourceFilterGoals=process-resources resources\:testResources
-skipCompilerPlugin=true
-version=1
-- 
1.6.2.5

^ permalink raw reply related

* [JGIT PATCH 9/9] Add the <scm> section to the parent pom
From: Mark Struberg @ 2009-09-23 21:16 UTC (permalink / raw)
  To: git, spearce; +Cc: Mark Struberg
In-Reply-To: <1253740570-10718-8-git-send-email-struberg@yahoo.de>


Signed-off-by: Mark Struberg <struberg@yahoo.de>
---
 pom.xml |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/pom.xml b/pom.xml
index 821e92c..ec4857c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -65,6 +65,12 @@
 	   <system>google-issue</system>
 	</issueManagement>
 	
+	<scm>
+		<connection>scm:git:git://repo.or.cz/jgit</connection>
+		<developerConnection>scm:git:git://repo.or.cz/jgit</developerConnection>
+		<url>http://repo.or.cz/r/jgit.git</url>
+	</scm>
+	
 	<developers>
 		<developer>
 			<name>Shawn O. Pearce</name>
-- 
1.6.2.5

^ permalink raw reply related

* [JGIT PATCH 8/9] renamed the PathSuffixFilter test to JUnit conventions, so it gets executed via maven test.
From: Mark Struberg @ 2009-09-23 21:16 UTC (permalink / raw)
  To: git, spearce; +Cc: Mark Struberg
In-Reply-To: <1253740570-10718-7-git-send-email-struberg@yahoo.de>

Signed-off-by: Mark Struberg <struberg@yahoo.de>
---
 ...lterTestCase.java => PathSuffixFilterTest.java} |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
 rename org.spearce.jgit/src/test/java/org/spearce/jgit/treewalk/filter/{PathSuffixFilterTestCase.java => PathSuffixFilterTest.java} (98%)

diff --git a/org.spearce.jgit/src/test/java/org/spearce/jgit/treewalk/filter/PathSuffixFilterTestCase.java b/org.spearce.jgit/src/test/java/org/spearce/jgit/treewalk/filter/PathSuffixFilterTest.java
similarity index 98%
rename from org.spearce.jgit/src/test/java/org/spearce/jgit/treewalk/filter/PathSuffixFilterTestCase.java
rename to org.spearce.jgit/src/test/java/org/spearce/jgit/treewalk/filter/PathSuffixFilterTest.java
index 56d9765..0043a7d 100644
--- a/org.spearce.jgit/src/test/java/org/spearce/jgit/treewalk/filter/PathSuffixFilterTestCase.java
+++ b/org.spearce.jgit/src/test/java/org/spearce/jgit/treewalk/filter/PathSuffixFilterTest.java
@@ -50,7 +50,7 @@
 import org.spearce.jgit.lib.RepositoryTestCase;
 import org.spearce.jgit.treewalk.TreeWalk;
 
-public class PathSuffixFilterTestCase extends RepositoryTestCase {
+public class PathSuffixFilterTest extends RepositoryTestCase {
 
 	public void testNonRecursiveFiltering() throws IOException {
 		final ObjectWriter ow = new ObjectWriter(db);
-- 
1.6.2.5

^ permalink raw reply related


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox