git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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 pause
Johannes 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
Previous: Johannes SchindelinNext: Johannes Schindelin
Message 6 of 9 in “BUG: git rebase -i -p silently looses commits”
  1. Constantine PlotnikovNov 2, 2009
  2. demerphqNov 2, 2009
  3. Constantine PlotnikovNov 2, 2009
  4. Sverre RabbelierNov 2, 2009
  5. Johannes SchindelinNov 2, 2009
  6. Greg PriceNov 4, 2009
  7. Johannes SchindelinNov 11, 2009
  8. Greg PriceNov 12, 2009
  9. Johannes SchindelinNov 13, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.