1 The infamous ''mark'' command in the ''rebase'' command
3 I realized today how easy it is to lose commits with the "merge preserving"
4 mode of the interactive rebase. In my case, it was when I tried to move a
5 bunch of commits from the tip of my branch into a topic branch.
7 But after moving the commits, I forgot to update the parent of the merge
8 commit. Possibly a mark command could have helped. The very same command
9 I called a nightmare for usability.
11 So I was wrong. Big news. :-)
13 However, I think that the syntax "mark :1" is something best left for
14 machine consumption, not for human beings.
16 But I have an idea: we could use some garbled commit subject, or in case of
17 merge parents, the merge subject as some human readable title of the mark.
19 The rebase script would then look something like this:
22 pick abcdefg Some ultra cool commit
25 pick hijklmn Some other cool commit
26 merge parent ultra-cool Merge 'ultra-cool' into master
29 The good news is: I added code that refuses to finish a rebase when there
30 are commits that were rewritten, but not part of the new HEAD's ancestry.