Hi Eric, On Mon, 12 Feb 2018, Eric Sunshine wrote: > On Sat, Feb 10, 2018 at 7:10 PM, Johannes Schindelin > <johannes.schindelin@xxxxxx> wrote: > > [...] > > This commit implements the commands to label, and to reset to, given > > revisions. The syntax is: > > > > label <name> > > reset <name> > > [...] > > Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx> > > --- > > diff --git a/sequencer.c b/sequencer.c > > @@ -1922,6 +1951,151 @@ static int do_exec(const char *command_line) > > +static int safe_append(const char *filename, const char *fmt, ...) > > +{ > > + [...] > > + if (write_in_full(fd, buf.buf, buf.len) < 0) { > > + error_errno(_("could not write to '%s'"), filename); > > + rollback_lock_file(&lock); > > strbuf_release(&buf); > > > + return -1; > > + } > > + if (commit_lock_file(&lock) < 0) { > > + rollback_lock_file(&lock); > > strbuf_release(&buf); > > > + return error(_("failed to finalize '%s'"), filename); > > + } > > + > > strbuf_release(&buf); > > > + return 0; > > +} > > + > > +static int do_reset(const char *name, int len, struct replay_opts *opts) > > +{ > > + [...] > > + unpack_tree_opts.reset = 1; > > + > > + if (read_cache_unmerged()) > > rollback_lock_file(&lock); > strbuf_release(&ref_name); Thank you very much! I fixed these locally and force-pushed the recreate-merges branch to https://github.com/dscho/git. These fixes will be part of v4. Ciao, Dscho