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

Re: [RFC] Add "edit" action for interactive rebase?

From
Andrew Wong <andrew.kw.w@gmail.com>
Date
Sep 10, 2012, 20:13 UTC
Message-ID
<CADgNjakmRsfqBajpeob0e2pA9tSj5KSS+0m6rkR+9bdBV+ZepA@mail.gmail.com>
In-Reply-To
<504E3145.9070006@kdbg.org>
On Mon, Sep 10, 2012 at 2:28 PM, Johannes Sixt <j6t@kdbg.org> wrote:
Show 5 quoted lines
> Did you think about what can go wrong? For example, starting with this
> todo sheet:
>
>   exec false
>   pick 1234567
Ah, that's definitely a problem.

I was going to say we probably just to check the "done" file, same as the one we do for a fresh "rebase -i", but it turns out the "exec false" will fool the "has_action" check for a fresh "rebase -i" too. Heh.

Maybe we should improve the check for a fresh "rebase -i" case, then we can do the same check for this case. Maybe we can grep for a "pick" in "done" file? Or we can check if there's anything in "rewritten"? Though I'm not sure if any of those is really foolproof. Or should we just ignore this case and assume the user knows what s/he's doing?

Incidentally, if the starting todo file is:
    pick A
    exec false
    pick B
If the user then changes the "pick B" to "squash B", it should be a
valid I think, and "rebase -i" should handle that properly. It should,
because that's the same thing as:
    pick C (which results in a conflict and stopped)
    squash D
OT: That "exec false" !
I ran into numerous occasions where I wanted to manually do something
before the "first commit after upstream", such as creating a new
commit or merge.  And I only had two ways of doing it:
1. to rebase against "upstream^", and then mark the upstream as edit
2. insert a "exec bash" in front of the "first commit"
But "exec false" will work much much nicer. :)
Previous: Johannes Sixt
Message 34 of 34 in “[RFC] Add "edit" action for interactive rebase?”
  1. Andrew WongSep 10, 2012
  2. rebase -i: Teach "--edit" actionAndrew Wong, Sep 10, 2012
  3. Matthieu MoySep 10, 2012
  4. Andrew WongSep 10, 2012
  5. Jeff KingSep 10, 2012
  6. Johannes SixtSep 10, 2012
  7. Jeff KingSep 10, 2012
  8. Andrew WongSep 10, 2012
  9. Junio C HamanoSep 10, 2012
  10. Andrew WongSep 10, 2012
  11. 0/3 rebase -i: Teach "--edit-todo"Andrew Wong, Sep 15, 2012
  12. 1/3 rebase -i: Refactor help messages for todo fileAndrew Wong, Sep 15, 2012
  13. 2/3 rebase -i: Teach "--edit-todo" actionAndrew Wong, Sep 15, 2012
  14. Junio C HamanoSep 16, 2012
  15. Andrew WongSep 16, 2012
  16. Junio C HamanoSep 18, 2012
  17. 3/3 rebase -i: Add tests for "--edit-todo"Andrew Wong, Sep 15, 2012
  18. Junio C HamanoSep 16, 2012
  19. 1/3 rebase -i: Refactor help messages for todo fileAndrew Wong, Sep 16, 2012
  20. 2/3 rebase -i: Teach "--edit-todo" actionAndrew Wong, Sep 16, 2012
  21. Martin von ZweigbergkSep 17, 2012
  22. 0/4 rebase -i: Teach "--edit-todo" actionAndrew Wong, Sep 18, 2012
  23. 1/4 rebase usage: subcommands can not be combined with -iAndrew Wong, Sep 18, 2012
  24. 2/4 rebase -i: Refactor help messages for todo fileAndrew Wong, Sep 18, 2012
  25. 3/4 rebase -i: Teach "--edit-todo" actionAndrew Wong, Sep 18, 2012
  26. 4/4 rebase -i: Add tests for "--edit-todo"Andrew Wong, Sep 18, 2012
  27. Martin von ZweigbergkSep 18, 2012
  28. Andrew WongSep 18, 2012
  29. Martin von ZweigbergkSep 18, 2012
  30. 5/4 rebase -i: suggest using --edit-todo to fix an unknown instructionJohannes Sixt, Sep 19, 2012
  31. Junio C HamanoSep 19, 2012
  32. 3/3 rebase -i: Add tests for "--edit-todo"Andrew Wong, Sep 16, 2012
  33. Johannes SixtSep 10, 2012
  34. Andrew WongSep 10, 2012

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.