> > Branch-diff vs v1: > 1: 42db734a980 ! 1: 73398da7119 sequencer: learn about the special "fake root commit" handling > @@ -54,40 +54,50 @@ > return NULL; > } > > ++/* Read author-script and return an ident line (author <email> timestamp) */ > +static const char *read_author_ident(struct strbuf *buf) I like the new way of read_author_ident. Thanks for writing it! > + > static const char staged_changes_advice[] = > @@ -159,7 +169,17 @@ > +/* Does this command create a (non-merge) commit? */ > +static int is_pick_or_similar(enum todo_command command) > +{ > -+ return command <= TODO_SQUASH; > ++ switch (command) { > ++ case TODO_PICK: > ++ case TODO_REVERT: > ++ case TODO_EDIT: > ++ case TODO_REWORD: > ++ case TODO_FIXUP: > ++ case TODO_SQUASH: > ++ return 1; > ++ default: > ++ return 0; > ++ } The switch case is not as bad as I thought following the discussion on of v1. This series is Reviewed-by: Stefan Beller <sbeller@xxxxxxxxxx> Thanks! <off topic> During a lunch discussion I wondered if the branch diff format could lead to another form of machine readable communication, i.e. if we want to add the ability to read the branch diff format and apply the changes. Note how applying this diff-diff would not create new commits, but rather amend existing commits.