Re: BUG: git rebase -i -p silently looses commits
- From
Greg Price <price@ksplice.com>
- Date
- Nov 4, 2009, 21:46 UTC
- Message-ID
- <20091104214611.GL9139@dr-wily.mit.edu>
- In-Reply-To
- <alpine.DEB.1.00.0911021832530.2479@felix-maschine>
On Mon, 2 Nov 2009, Johannes Schindelin wrote:
> Having said that, I worked for some time on fixing this issue, and I > actually run a version of rebase -i -p here that allows reordering > commits, but it is far from stable (and due to GSoC and day-job > obligations, I had no time to work on it in months).
I'm interested in this topic too. Some weeks ago I took your rebase-i-p branch from January and rebased it onto the latest release; it's at git://repo.or.cz/git/price.git rebase-i-p and now based on v1.6.5.2. I fixed a few bugs and added a feature, and it's the version I run day to day.
Constantine and others interested in reordering commits with -p, you're welcome to pull and build this version and try it out. It mostly solves my problems, and maybe it will solve yours. Be warned it does have bugs, and also be warned that I may rewind and rebase that branch. I'd be glad to hear about bugs you see, though.
Dscho, do you have a TODO written somewhere of what work you're aware the topic still needs? I plan to continue spending a little time working on it, and I have my own list but it'd be good to compare it with yours.
Cheers, Greg
PS - I'm open to suggestions on the workflow for how to develop a topic branch like this. Some rewinding seems necessary as half-baked patches get finished, etc, but if Dscho or someone else finds time to work on it too, then the rewinding gets in the way of pull/push collaboration.
PPS - For those just scanning along, the shortlog so far:
Greg Price (6):
rebase -i -p: honor -s
rebase -i -p: get full message from original merge commit
rebase -i -p: always merge --no-ff
rebase -i: Add the "ref" command
rebase -i -p: Preserve author information on merges.
[broken] rebase -i: implement pauseJohannes Schindelin (19):
Some of Dscho's tools
debug settings in Makefile
Make CFLAGS more strict
rebase -i --root: simplify code
rebase -i: make pick_one() safer
rebase -i -p: add helper parse_commit() to find rewritten commits
rebase -i: add the "goto" command
rebase -i -p: add a helper to add mappings for rewritten commits
rebase -i -p: Add the "merge" command
rebase -i: make sure that the commands record the rewritten commits
rebase -i: move the code to write the rebase script into generate_script()
rebase -i: let generate_script output to stdout
rebase -i -p: refactor the preparation for -p into its own function
rebase -i -p: use patch-id directly to determine the dropped commits
rebase tests' fake-editor.sh: allow debugging with DEBUG_EDIT
rebase's fake-editor: prepare for "goto" and "merge" commands
rebase -i -p: generate a script using "goto" and "merge"
TODO
Make some tests in t3412 a little bit stricter