Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » EGit / JGit » getting bundle support into jgit/egit(bundles are a very powerful Git feature that should be supported by jgit/egit)
getting bundle support into jgit/egit [message #794571] Thu, 09 February 2012 13:03
R Shapiro is currently offline R ShapiroFriend
Messages: 386
Registered: June 2011
Senior Member
Standard Git has a simple but powerful set of features that allow a file to act as a kind of remote repository that can be used as the target of a fetch. Remote references can be configured to "track" a bundle file in much the same way you would track a branch in another repository. So 'git pull' will do the right thing, and 'git status' will show the right information (eg "behind by 3 commits" or whatever).

This is great for sharing commits via email and even better if you need to maintain a repository clone on a host that either can't have internet connectivity (for security reasons) or can but for some reason currently doesn't. None of the other version control systems I've used has this. The fact that Git does is one of the reasons we chose to use it.

Currently jgit/egit has almost no support for 'bundle' files. The one thing it does do is 'pull', if you manually configure the remote reference and the tracking (this is really just a 'merge' against an existing reference).

You can't create, query or fetch from bundle file in egit, you can't create a tracking branch to a bundle location, you can't use advanced synchronize to compare against a remote reference associated with a bundle, and the nice egit 1.3 feature that shows the ahead-of/behind count status for remote references doesn't work if the reference is pointing at a bundle.

I think it's important to add some bundle support to egit/jgit. Much of this should be easy. For instance there's no reason why synchronize and status shouldn't work when the remote reference is associated with a bundle. The reference itself is is perfectly normal, it just happens to live at the top-level of refs/remotes, not one level down. Similarly, creating a tracking branch to a bundle remote reference (the 'remote' in this case is ".").

Even adding these easy bits, and leaving aside for now the core bundle create and fetch operations, would be a big win.

Previous Topic:git remote add [alias] [url]
Next Topic:How to retrieve commit messages between two tags
Goto Forum:

Current Time: Mon Apr 23 19:25:02 GMT 2018

Powered by FUDForum. Page generated in 0.01759 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software