mbox series

[GSoC,v7,0/6] Teach cherry-pick/revert to skip commits

Message ID 20190623200338.17144-1-rohit.ashiwal265@gmail.com (mailing list archive)
Headers show
Series Teach cherry-pick/revert to skip commits | expand

Message

Rohit Ashiwal June 23, 2019, 8:03 p.m. UTC
Tied all loose ends. Add an advice config variable to guard advise() call
in 2/6.

Rohit Ashiwal (6):
  advice: add sequencerInUse config variable
  sequencer: add advice for revert
  sequencer: rename reset_for_rollback to reset_merge
  sequencer: use argv_array in reset_merge
  cherry-pick/revert: add --skip option
  cherry-pick/revert: advise using --skip

 Documentation/config/advice.txt   |   2 +
 Documentation/git-cherry-pick.txt |   4 +-
 Documentation/git-revert.txt      |   4 +-
 Documentation/sequencer.txt       |   4 +
 advice.c                          |   2 +
 advice.h                          |   1 +
 builtin/commit.c                  |  13 +--
 builtin/revert.c                  |   5 ++
 sequencer.c                       | 134 ++++++++++++++++++++++++++----
 sequencer.h                       |   1 +
 t/t3510-cherry-pick-sequence.sh   | 122 +++++++++++++++++++++++++++
 11 files changed, 266 insertions(+), 26 deletions(-)

Range-diff:
-:  ---------- > 1:  207042a895 advice: add sequencerInUse config variable
1:  67c212090d ! 2:  d7c603d47f sequencer: add advice for revert
    @@ -46,7 +46,8 @@
     +	}
     +	if (in_progress_error) {
     +		error("%s", in_progress_error);
    -+		advise("%s", in_progress_advice);
    ++		if (advice_sequencer_in_use)
    ++			advise("%s", in_progress_advice);
      		return -1;
     -	} else if (mkdir(git_path_seq_dir(), 0777) < 0)
     +	}
2:  300d6f64f0 = 3:  b70299c572 sequencer: rename reset_for_rollback to reset_merge
3:  edc35f6a4c = 4:  569122c861 sequencer: use argv_array in reset_merge
4:  2b16d7ea4d = 5:  4580f0e5af cherry-pick/revert: add --skip option
5:  8f278b5139 ! 6:  f6f21b055b cherry-pick/revert: advise using --skip
    @@ -64,14 +64,12 @@
      		default:
      			BUG("unexpected action in create_seq_dir");
     @@
    - 	}
      	if (in_progress_error) {
      		error("%s", in_progress_error);
    --		advise("%s", in_progress_advice);
    -+		if (advise_skip)
    -+			advise(in_progress_advice, "--skip | ");
    -+		else
    -+			advise(in_progress_advice, "");
    + 		if (advice_sequencer_in_use)
    +-			advise("%s", in_progress_advice);
    ++			advise(in_progress_advice,
    ++				advise_skip ? "--skip | " : "");
      		return -1;
      	}
      	if (mkdir(git_path_seq_dir(), 0777) < 0)