From: "Shawn O. Pearce" <spearce@spearce.org>
To: Johannes Schindelin <Johannes.Schindelin@gmx.de>,
David Birchfield <dbirchfield@asu.edu>
Cc: git@vger.kernel.org
Subject: Re: jgit merge question
Date: Wed, 14 Jan 2009 07:30:34 -0800 [thread overview]
Message-ID: <20090114153034.GZ10179@spearce.org> (raw)
In-Reply-To: <alpine.DEB.1.00.0901141124460.3586@pacific.mpi-cbg.de>
Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> On Wed, 14 Jan 2009, David Birchfield wrote:
>
> > I have been working with the JGit library and with the pgm files and
> > other documentation I have been able to implement most of the basic
> > functions that I need for my testing application - including fetch.
> > This is great!
I'm glad JGit has been useful for you.
> > However, I have not been able to successfully implement
> > the merge function with JGit. There is some reference to this in the
> > mail archive, but I cannot find any of the merge code that is referenced
> > in the distribution.
David is probably talking about the 8 patch series I proposed to add a
crude merge API to JGit. The patches are available here, based on the
current JGit master:
http://android.git.kernel.org/?p=tools/egit.git;a=shortlog;h=refs/heads/for-gerrit2
git://android.git.kernel.org/tools/egit.git for-gerrit2
as I'm still highly dependent upon this in Gerrit2, but I haven't
been able to fix enough bugs and add enough unit tests to make
Robin happy with accepting them into the library. I plan to get
back to that as soon as Gerrit2 is live for Android.
That API is a very, very crude merge API. I don't like coding
with it from the application level. It doesn't give Gerrit2
enough error information when it fails, and that means any other
application will also be unhappy with it.
It also has at least one bug, but at least its a conservative bug
(it won't merge subtrees sometimes and aborts even though they
should have merged clean). Its also missing a huge block of code
about head simplification; that block is in Gerrit2 application
code rather than down in the library (that was a mistake in design).
So basically, yea, I've proposed something, but there are some very
good reasons why there isn't merge support yet in JGit.
> http://thread.gmane.org/gmane.comp.version-control.git/100524/focus=100589
Yea, we also need the diff implementation so we can do file-level
merges. That merge API above only does path-level merges. If a
file is modified on both sides, the merge API I use in Gerrit2
just aborts. That typically isn't what a human who is trying to
use Git for development wants.
> Yes, it has not been implemented, basically because it needs a diff
> implementation, and I constantly run out of time working on it. I have
> something that works, but needs lots of improvements to be usable
> (basically, it has to avoid deep recursion depths).
What's a little stack space between friends? ;-)
--
Shawn.
next prev parent reply other threads:[~2009-01-14 15:32 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <S1760244AbZANHqN/20090114074613Z+1959@vger.kernel.org>
2009-01-14 7:55 ` jgit merge question David Birchfield
2009-01-14 10:26 ` Johannes Schindelin
2009-01-14 15:30 ` Shawn O. Pearce [this message]
2009-01-14 22:03 ` David Birchfield
2009-01-14 23:12 ` Shawn O. Pearce
2009-01-15 3:47 ` David Birchfield
2009-01-15 4:01 ` Shawn O. Pearce
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090114153034.GZ10179@spearce.org \
--to=spearce@spearce.org \
--cc=Johannes.Schindelin@gmx.de \
--cc=dbirchfield@asu.edu \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.