Subject: Re: [GSoC update] Sequencer for inclusion

From: Jonathan Nieder <[email-masked]>
Date: Tue, 12 Jul 2011 00:58:17 -0500

Junio C Hamano wrote:

> After all, this series was labeled "for inclusion", not an RFC, which
> would mean the submitter, helpers, and reviewers all made reasonable
> effort to perfect the series to their ability, no?

Yep, that is how I interpret the subject line, too.

Wow, the series has been through a lot of iterations.  I finally found
a moment to dig up the ones I replied to (a full list would be harder
since search.gmane.org is still down).  Maybe they can save others
some time, too.

 - RFC: Sequencer Foundations [1]
   The basic themes are introduced and Daniel explains the
   two-levels concept.

 - Sequencer Foundations[2]
   Basic discussion of the purpose of die()-to-error() conversion and
   the suggestion of an almost crash-only design to avoid some of its
   problems.

 - Better error handling around revert[3]
   A quick discussion of die() versus assert() and how to unwind
   after errors.

 - Sequencer Foundations v3, v4[4]
   Capturing globals in a struct.  Whether to save error codes before
   propagating them (versus the simpler "return -1").  Another round
   of die()-to-error() versus crash-only code.  Pacing and the idea of
   merging bit-by-bit.

 - Implementing --abort processing[5][6]
   UI design is difficult.  The easiest way is to teach the porcelain
   to do what you were doing by hand already.

 - Sequencer with continuation features[7]
   Commit messages.  Variable names.  commit_list_append().  It seems
   we are closing in.

 - Sequencer: the insn sheet format[8]
   Various loose ends: i18n, commit messages, relationship between
   breakage of scripts and workflows and the need to patch tests, the
   "me" variable, advise(), variable names.

I suspect that getting the workarounds that keep existing scripts
working will take another round.  However, some of the early patches
might be ready.  My review will focus on that possibility.

Ram, thanks for your hard work.

[1] http://thread.gmane.org/gmane.comp.version-control.git/171255
[2] http://thread.gmane.org/gmane.comp.version-control.git/173408
[3] http://thread.gmane.org/gmane.comp.version-control.git/174043/focus=174050
[4] http://thread.gmane.org/gmane.comp.version-control.git/174393/focus=174540
[5] http://thread.gmane.org/gmane.comp.version-control.git/174874
[6] http://thread.gmane.org/gmane.comp.version-control.git/175638
[7] http://thread.gmane.org/gmane.comp.version-control.git/176139
[8] http://thread.gmane.org/gmane.comp.version-control.git/176647