Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [egit-dev] GitHub Mylyn Connector?

Chris Aniszczyk <zx@xxxxxxxxxxxxxxxxx> wrote:
> On Mon, Feb 8, 2010 at 8:13 PM, Shawn O. Pearce <spearce@xxxxxxxxxxx> wrote:
> > Gerrit's remote API is basically a native git protocol over SSH.
> > Where it isn't... it should be. ??Review data should actually be
> > git notes, shipped over the wire using the native git protocol.
> 
> It pains me greatly to hit the browser everytime I use Gerrit.

You aren't the only one.  It would be really nice to do a full
review cycle strictly in Eclipse, if Eclipse is your IDE-of-choice
and you have EGit enabled on the project.
 
> Ideally, a simple RESTful API would work. However, really anything I
> can call anything as long as there's an API.

Uh.  Sure.  The API between the browser UI and the server is actually
an extended JSON-RPC, but the actual API isn't frozen in stone.
We sometimes make changes to it.

Ideally, clients would be proper Git clients and speaking Git
objects to Gerrit, rather than JSON-RPC.
 
> I didn't know about git-notes... is there a reason that Gerrit doesn't
> use it? Or just history?

git-notes are new in Git 1.6.6, which was an early Christmas '09
present from Junio.

Gerrit predates that by a good amount.

But we'd basically want to put comments about any given patch set
(aka 1 commit) into a git note on that commit.  And then use some
sort of meta-record somewhere to chain together all of the commits
that make up all of the versions of one change.

If you use notes, then the protocol starts to turn into editing a
local note object, and pushing it to publish it.  Not much different
from editing a commit and pushing it.  So sort of like the Mylyn
Reviews project, where the review data is stored inside of the
VCS itself.

JGit needs to support the git-notes fan-out structure in a tree.
And support efficient lookup of notes for a commit.  I haven't had
time to add support for this yet.  But its actually really high
on my priority list, because I want to move Gerrit to this model
sooner rather than later.

I should try to publish my current priority list for JGit somehow...

-- 
Shawn.


Back to the top