This RFC series adds a "ref" command to rebase -i, and an option --refs to generate "ref" commands in the original TODO file. This makes it easy to rebase a branch together with intermediate markers, or a series of branches. For example, in this situation: part1 part2 topic | | | v v v A--*--*--*--*--*--* \ B <--master we may want to rebase 'topic' onto the new master, rewriting the intermediate branches 'part1', 'part2' to the corresponding new commits. This can be done with a sequence of "git rebase --onto" commands, but it's tricky to get right. With this series, the command $ git rebase -i --refs master topic suffices to produce this result: part1 part2 topic A | | | \ v v v B--*--*--*--*--*--* ^ | master These patches work for me. Before I recommend the last two patches for merge, they'll need the following additional work: - interoperate with rebase --abort - add documentation - probably add tests The series begins with two patches that are independently useful, and that I believe are ready for merge: pretty: Add %D for script-friendly decoration log --decorate=full: drop the "tag: " prefix They make the functionality of 'git log --decorate' available in an output format optimized for machine parsing. I expect other people will find this useful for other scripts. Greg -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html