This is basically a rewrite. While adding tests to handle some of the case mentioned in Shawns comments, I had to give up the locking strategy and go for something more like git, i.e. rename proceeds in small steps and the I try to undo if a problem is encountered. Add to that some small enchancments to ref support. Not the big change we discussed earlier. The branch command is touched by one of the patches, but it does not include rename. -- robin Robin Rosenberg (10): Make sure we get the right storage for loose/pack/loose and packed refs Add a toString for debugging to RemoteRefUpdate Add a toString to LockFile Add more tests for RefUpdate Do not write to the reflog unless the refupdate logmessage is set Add a utility method for shortening long ref names to short ones. Set a nice reflog message in the branch command Add ref rename support to JGit Add ref rename support to the branch dialog Improve error reporting in the branch dialog .../src/org/spearce/egit/ui/UIText.java | 18 + .../ui/internal/dialogs/BranchSelectionDialog.java | 133 +++++-- .../src/org/spearce/egit/ui/uitext.properties | 7 + .../src/org/spearce/jgit/pgm/Branch.java | 15 +- .../org/spearce/jgit/test/resources/packed-refs | 1 + .../tst/org/spearce/jgit/lib/RefTest.java | 75 +++ .../tst/org/spearce/jgit/lib/RefUpdateTest.java | 483 ++++++++++++++++++-- .../org/spearce/jgit/transport/TransportTest.java | 2 +- .../src/org/spearce/jgit/lib/LockFile.java | 5 + .../src/org/spearce/jgit/lib/RefDatabase.java | 60 +++- .../src/org/spearce/jgit/lib/RefLogWriter.java | 34 ++- .../src/org/spearce/jgit/lib/RefRename.java | 163 +++++++ .../src/org/spearce/jgit/lib/RefUpdate.java | 65 ++- .../src/org/spearce/jgit/lib/Repository.java | 31 ++ .../spearce/jgit/transport/RemoteRefUpdate.java | 13 +- 15 files changed, 1015 insertions(+), 90 deletions(-) create mode 100644 org.spearce.jgit/src/org/spearce/jgit/lib/RefRename.java -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html