git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [GSoC][PATCH v2 3/3] cherry-pick/revert: advise using --skip

From
PWPhillip Wood <phillip.wood123@gmail.com>
Date
Jun 12, 2019, 15:16 UTC
Message-ID
<3591ee0f-b302-23c8-dda5-00ff650887b8@gmail.com>
In-Reply-To
<20190611073152.12214-4-rohit.ashiwal265@gmail.com>
Hi Rohit
On 11/06/2019 08:31, Rohit Ashiwal wrote:
Show 61 quoted lines
> The previous commit introduced a --skip flag for cherry-pick and
> revert. Update the advice messages, to tell users about this less
> cumbersome way of skipping commits. Also add tests to ensure
> everything is working fine.
> 
> Signed-off-by: Rohit Ashiwal <rohit.ashiwal265@gmail.com>
> ---
> changes since last revision:
>      - selectively advice --skip
>      - add new test
> 
>   builtin/commit.c                | 13 ++++++++-----
>   sequencer.c                     |  7 +++++--
>   t/t3510-cherry-pick-sequence.sh | 20 ++++++++++++++++++++
>   3 files changed, 33 insertions(+), 7 deletions(-)
> 
> diff --git a/builtin/commit.c b/builtin/commit.c
> index 1c9e8e2228..1f47c51bdc 100644
> --- a/builtin/commit.c
> +++ b/builtin/commit.c
> @@ -60,15 +60,18 @@ N_("The previous cherry-pick is now empty, possibly due to conflict resolution.\
>   "\n");
>   
>   static const char empty_cherry_pick_advice_single[] =
> -N_("Otherwise, please use 'git reset'\n");
> +N_("Otherwise, please use 'git cherry-pick --skip'\n");
>   
>   static const char empty_cherry_pick_advice_multi[] =
> -N_("If you wish to skip this commit, use:\n"
> +N_("and then use:\n"
>   "\n"
> -"    git reset\n"
> +"    git cherry-pick --continue\n"
>   "\n"
> -"Then \"git cherry-pick --continue\" will resume cherry-picking\n"
> -"the remaining commits.\n");
> +"to resume cherry-picking the remaining commits.\n"
> +"If you wish to skip this commit, use:\n"
> +"\n"
> +"    git cherry-pick --skip\n"
> +"\n");
>   
>   static const char *color_status_slots[] = {
>   	[WT_STATUS_HEADER]	  = "header",
> diff --git a/sequencer.c b/sequencer.c
> index 93284cd7dd..ecf4be7e15 100644
> --- a/sequencer.c
> +++ b/sequencer.c
> @@ -2661,10 +2661,13 @@ static int create_seq_dir(struct repository *r)
>   			error(_("a %s is already in progress"),
>   				 action == REPLAY_REVERT ?
>   				 "revert" : "cherry-pick");
> -			advise(_("try \"git %s (--continue | "
> +			advise(_("try \"git %s (--continue | %s"
>   				 "--quit | --abort)\""),
>   				 action == REPLAY_REVERT ?
> -				 "revert" : "cherry-pick");
> +				 "revert" : "cherry-pick",
> +				 !file_exists(git_path_revert_head(r)) ?
> +				 !file_exists(git_path_cherry_pick_head(r)) ? ""
> +				 : "--skip | " : "--skip | ");
This could be simplified as
	(file_exists(git_path_revert_head(r) ||
	file_exists(git_path_cherry_pick_head(r)) ?
	"--skip | " ""
Best Wishes
Phillip
Show 34 quoted lines
>   			return -1;
>   		default:
>   			BUG(_("the control must not reach here"));
> diff --git a/t/t3510-cherry-pick-sequence.sh b/t/t3510-cherry-pick-sequence.sh
> index 6c1903a735..f298f02cd0 100755
> --- a/t/t3510-cherry-pick-sequence.sh
> +++ b/t/t3510-cherry-pick-sequence.sh
> @@ -172,6 +172,26 @@ test_expect_success 'check advice when we move HEAD by committing' '
>   	test_cmp expect advice
>   '
>   
> +test_expect_success 'selectively advise --skip while launching another sequence' '
> +	pristine_detach initial &&
> +	cat >expect <<-EOF &&
> +	error: a cherry-pick is already in progress
> +	hint: try "git cherry-pick (--continue | --skip | --quit | --abort)"
> +	fatal: cherry-pick failed
> +	EOF
> +	test_must_fail git cherry-pick picked..yetanotherpick &&
> +	test_must_fail git cherry-pick picked..yetanotherpick 2>advice && > +	test_cmp expect advice &&
> +	cat >expect <<-EOF &&
> +	error: a cherry-pick is already in progress
> +	hint: try "git cherry-pick (--continue | --quit | --abort)"
> +	fatal: cherry-pick failed
> +	EOF
> +	git reset --merge &&
> +	test_must_fail git cherry-pick picked..yetanotherpick 2>advice &&
> +	test_cmp expect advice
> +'
> +
>   test_expect_success 'allow skipping commit but not abort for a new history' '
>   	pristine_detach initial &&
>   	cat >expect <<-EOF &&
> 
Previous: Rohit AshiwalNext: Rohit Ashiwal
Message 30 of 95 in “Teach cherry-pick/revert to skip commits”
  1. Rohit AshiwalJun 8, 2019
  2. [GSoC][PATCH 1/3] sequencer: add advice for revertRohit Ashiwal, Jun 8, 2019
  3. Phillip WoodJun 9, 2019
  4. Rohit AshiwalJun 10, 2019
  5. Phillip WoodJun 10, 2019
  6. Rohit AshiwalJun 10, 2019
  7. Phillip WoodJun 10, 2019
  8. Junio C HamanoJun 10, 2019
  9. [GSoC][PATCH 2/3] cherry-pick/revert: add --skip optionRohit Ashiwal, Jun 8, 2019
  10. Thomas GummererJun 9, 2019
  11. Phillip WoodJun 9, 2019
  12. Rohit AshiwalJun 10, 2019
  13. Phillip WoodJun 10, 2019
  14. Rohit AshiwalJun 10, 2019
  15. Phillip WoodJun 10, 2019
  16. [GSoC][PATCH 3/3] cherry-pick/revert: update hintsRohit Ashiwal, Jun 8, 2019
  17. Thomas GummererJun 9, 2019
  18. Phillip WoodJun 9, 2019
  19. Rohit AshiwalJun 10, 2019
  20. Phillip WoodJun 10, 2019
  21. Rohit AshiwalJun 10, 2019
  22. Phillip WoodJun 10, 2019
  23. Thomas GummererJun 9, 2019
  24. Rohit AshiwalJun 9, 2019
  25. Thomas GummererJun 9, 2019
  26. [GSoC][PATCH v2 0/3] Teach cherry-pick/revert to skip commitsRohit Ashiwal, Jun 11, 2019
  27. [GSoC][PATCH v2 1/3] sequencer: add advice for revertRohit Ashiwal, Jun 11, 2019
  28. Junio C HamanoJun 11, 2019
  29. [GSoC][PATCH v2 3/3] cherry-pick/revert: advise using --skipRohit Ashiwal, Jun 11, 2019
  30. Phillip WoodJun 12, 2019
  31. [GSoC][PATCH v2 2/3] cherry-pick/revert: add --skip optionRohit Ashiwal, Jun 11, 2019
  32. Phillip WoodJun 12, 2019
  33. Junio C HamanoJun 12, 2019
  34. Phillip WoodJun 12, 2019
  35. [GSoC][PATCH v3 0/3] Teach cherry-pick/revert to skip commitsRohit Ashiwal, Jun 13, 2019
  36. [GSoC][PATCH v3 3/3] cherry-pick/revert: advise using --skipRohit Ashiwal, Jun 13, 2019
  37. [GSoC][PATCH v3 2/3] cherry-pick/revert: add --skip optionRohit Ashiwal, Jun 13, 2019
  38. Junio C HamanoJun 13, 2019
  39. Junio C HamanoJun 13, 2019
  40. Rohit AshiwalJun 14, 2019
  41. Rohit AshiwalJun 14, 2019
  42. Junio C HamanoJun 14, 2019
  43. Rohit AshiwalJun 16, 2019
  44. Phillip WoodJun 13, 2019
  45. [GSoC][PATCH v3 1/3] sequencer: add advice for revertRohit Ashiwal, Jun 13, 2019
  46. Phillip WoodJun 13, 2019
  47. Martin ÅgrenJun 13, 2019
  48. Junio C HamanoJun 13, 2019
  49. Rohit AshiwalJun 14, 2019
  50. Rohit AshiwalJun 14, 2019
  51. [GSoC][PATCH v4 0/4] [GSoC][PATCH 0/3] Teach cherry-pick/revert to skip commitsRohit Ashiwal, Jun 16, 2019
  52. [GSoC][PATCH v4 1/4] sequencer: add advice for revertRohit Ashiwal, Jun 16, 2019
  53. Thomas GummererJun 17, 2019
  54. [GSoC][PATCH v4 2/4] sequencer: rename reset_for_rollback to reset_mergeRohit Ashiwal, Jun 16, 2019
  55. [GSoC][PATCH v4 3/4] cherry-pick/revert: add --skip optionRohit Ashiwal, Jun 16, 2019
  56. Thomas GummererJun 17, 2019
  57. [GSoC][PATCH v4 4/4] cherry-pick/revert: advise using --skipRohit Ashiwal, Jun 16, 2019
  58. Thomas GummererJun 17, 2019
  59. [GSoC][PATCH v5 0/5] Teach cherry-pick/revert to skip commitsRohit Ashiwal, Jun 18, 2019
  60. [GSoC][PATCH v5 1/5] sequencer: add advice for revertRohit Ashiwal, Jun 18, 2019
  61. [GSoC][PATCH v5 2/5] sequencer: rename reset_for_rollback to reset_mergeRohit Ashiwal, Jun 18, 2019
  62. [GSoC][PATCH v5 3/5] sequencer: use argv_array in reset_mergeRohit Ashiwal, Jun 18, 2019
  63. [GSoC][PATCH v5 4/5] cherry-pick/revert: add --skip optionRohit Ashiwal, Jun 18, 2019
  64. Junio C HamanoJun 20, 2019
  65. Rohit AshiwalJun 20, 2019
  66. Phillip WoodJun 20, 2019
  67. Junio C HamanoJun 20, 2019
  68. Phillip WoodJun 20, 2019
  69. Rohit AshiwalJun 20, 2019
  70. Phillip WoodJun 20, 2019
  71. Rohit AshiwalJun 21, 2019
  72. [GSoC][PATCH v5 5/5] cherry-pick/revert: advise using --skipRohit Ashiwal, Jun 18, 2019
  73. [GSoC][PATCH v6 0/5] Teach cherry-pick/revert to skip commitsRohit Ashiwal, Jun 21, 2019
  74. [GSoC][PATCH v6 1/5] sequencer: add advice for revertRohit Ashiwal, Jun 21, 2019
  75. [GSoC][PATCH v6 2/5] sequencer: rename reset_for_rollback to reset_mergeRohit Ashiwal, Jun 21, 2019
  76. [GSoC][PATCH v6 3/5] sequencer: use argv_array in reset_mergeRohit Ashiwal, Jun 21, 2019
  77. [GSoC][PATCH v6 4/5] cherry-pick/revert: add --skip optionRohit Ashiwal, Jun 21, 2019
  78. [GSoC][PATCH v6 5/5] cherry-pick/revert: advise using --skipRohit Ashiwal, Jun 21, 2019
  79. Junio C HamanoJun 21, 2019
  80. [GSoC][PATCH v7 0/6] Teach cherry-pick/revert to skip commitsRohit Ashiwal, Jun 23, 2019
  81. [GSoC][PATCH v7 1/6] advice: add sequencerInUse config variableRohit Ashiwal, Jun 23, 2019
  82. Thomas GummererJun 25, 2019
  83. [GSoC][PATCH v7 4/6] sequencer: use argv_array in reset_mergeRohit Ashiwal, Jun 23, 2019
  84. [GSoC][PATCH v7 2/6] sequencer: add advice for revertRohit Ashiwal, Jun 23, 2019
  85. Phillip WoodJun 29, 2019
  86. [GSoC][PATCH v7 3/6] sequencer: rename reset_for_rollback to reset_mergeRohit Ashiwal, Jun 23, 2019
  87. [GSoC][PATCH v7 5/6] cherry-pick/revert: add --skip optionRohit Ashiwal, Jun 23, 2019
  88. [GSoC][PATCH v7 6/6] cherry-pick/revert: advise using --skipRohit Ashiwal, Jun 23, 2019
  89. [GSoC][PATCH v8 0/5] Teach cherry-pick/revert to skip commitsRohit Ashiwal, Jul 2, 2019
  90. [GSoC][PATCH v8 1/5] sequencer: add advice for revertRohit Ashiwal, Jul 2, 2019
  91. [GSoC][PATCH v8 2/5] sequencer: rename reset_for_rollback to reset_mergeRohit Ashiwal, Jul 2, 2019
  92. [GSoC][PATCH v8 3/5] sequencer: use argv_array in reset_mergeRohit Ashiwal, Jul 2, 2019
  93. [GSoC][PATCH v8 4/5] cherry-pick/revert: add --skip optionRohit Ashiwal, Jul 2, 2019
  94. [GSoC][PATCH v8 5/5] cherry-pick/revert: advise using --skipRohit Ashiwal, Jul 2, 2019
  95. Phillip WoodJul 2, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.