Show HN: 'rebaser' improves on 'git rebase -i'
gist.github.com
gist.github.com
Each file gets an alpha-numeric character at a particular column, a list of which appears below the commit list.
Commits can be moved up and down safely (no conflicts) as long as they don't have any clashing columns.
My original idea was to somehow show the actual conflicts, but then I figured this gets the desired 80% for 2% of the effort...
In fact magit could probably do some of this with a hook on reordering commits which would not require more git metadata.
I'm not sure I care about any of this though as if I do rebase, reorder and then hit a conflict I can't resolve I can always abort the rebase.
I think we have very different definitions of the word "excellent". I'd call SourceTree's UI "barely adequate".
When I tried rebasing my Clojure fork against upstream I got
Traceback (most recent call last): File "/Users/michael.blume/bin/git-rebaser", line 96, in <module> write_todo(file, first, last, comments) File "/Users/michael.blume/bin/git-rebaser", line 61, in write_todo f = "[%s] %s" % (SYM[i], f) KeyError: 62 Could not execute editor
I'm guessing this is a case of the commits touching too many files?
To reproduce, check out master at https://github.com/michaelblume/clojure and rebase against b8607d5870
FOO=~/bin/vim export FOO env | grep FOO shows it as expanded.
I also renamed it 'git-prebase' so that it's easily added to git's autocomplete behavior and does not interfere with 'rebase'.