We have a trac server setup that works with the svn commits, so we can do things like "fixed #183" in the commit messages, and reference the changes involved. Right now I have eclipse with subclipse + trac plugins, and it works pretty well.

But I don't have internet all the time and it becomes very difficult to commit to an inaccessible svn server.

I would like to use some type of local repository for commits, and then push commits all at once, but individually to server. Changing svn / trac isn't an option at this time. Other developers can touch the svn server directly.

Is there a way to cache the commits locally, and then send them when I have internet again? Take in mind that I can't just do one big commit of all my changes because it makes it a nightmare since I can't selectively merge.

Basically is there a way to do this with git/bzr/mercurialand still use svn/trac as intended?

I'd be willing to do some scripting, but I don't know where to start.

  • Can use Mercurial easily, check : mercurial.selenic.com/wiki/WorkingWithSubversion – OneOfOne Nov 30 '10 at 1:15
  • 2
    This question appears to be off-topic because it is about a tool chain implementation / setup. – user53019 Aug 24 '13 at 18:46
  • When I originally wrote this question, I was under the impression that discussions about workflow belonged here - but apparently I was wrong. Here's a good review of how to decide if you should be asking on Stackoverflow or Programmers: meta.stackoverflow.com/questions/254570/… I am not sure of a good place to ask questions like above, perhaps with the temporal and subjective nature of the problem, a subreddit may be more relevant. – Ape-inago Dec 2 '15 at 14:58

git-svn does pretty much exactly what you want. I used to do this at a former place; they had SVN installed as source control, but the connection was unreliable so I tracked my changes locally in Git and only committed to the main repo when I had a hard line into the office server. It was really, REALLY useful having local branches, and merging my code in got much easier once I switched over.

The link up there is basically an online man page. If you decide to go this route, also check out the tutorials available online.

The only real complaint I had was that the initial checkout took a good 40 minutes; I went to grab a sandwich and a tea, and it had just finished when I got back. Committing and pushing thereafter was a breeze (actually much faster than the SVN process), but don't be surprised if that first pull takes a while.

| improve this answer | |
  • do you know if this is compatible with any git plugins for eclipse? if i point eclipse at the local git repo, will it work like I expect? – Ape-inago Nov 30 '10 at 8:01
  • 1
    To be honest git is easiest to use from terminal – radekg Nov 30 '10 at 10:45

Not the answer you're looking for? Browse other questions tagged or ask your own question.