{"thread":{"id":"51720","subject":"[PATCH 0/2] completion: complete --skip for cherry-pick and revert","startedAt":"2019-08-24T09:07:17Z","lastAt":"2019-08-28T06:46:02Z","messageCount":12,"participants":["Denton Liu","Junio C Hamano"],"isPatch":true,"patchVersion":1,"patchTotal":2},"messages":[{"id":"381064","messageId":"cover.1566637431.git.liu.denton@gmail.com","threadId":"51720","inReplyTo":null,"subject":"[PATCH 0/2] completion: complete --skip for cherry-pick and revert","fromName":"Denton Liu","fromEmail":"liu.denton@gmail.com","sentAt":"2019-08-24T09:04:46Z","receivedAt":"2019-08-24T09:07:17Z","isPatch":true,"sender":{"key":"liu.denton@gmail.com","avatar":"https://avatars.githubusercontent.com/u/9620836?v=4"},"body":"Before, the completion script would not complete `--skip` for\ncherry-pick and revert, even though it is a valid option while that\noperation is in progress. Add that missing completion.\n\n\nDenton Liu (2):\n  completion: merge options for cherry-pick and revert\n  completion: add --skip for cherry-pick and revert\n\n contrib/completion/git-completion.bash | 12 +++++-------\n 1 file changed, 5 insertions(+), 7 deletions(-)\n\n-- \n2.23.0.248.g3a9dd8fb08\n\n"},{"id":"381065","messageId":"75adf581589dcce1a679d63977b1c82d333b0f77.1566637431.git.liu.denton@gmail.com","threadId":"51720","inReplyTo":"cover.1566637431.git.liu.denton@gmail.com","subject":"[PATCH 2/2] completion: add --skip for cherry-pick and revert","fromName":"Denton Liu","fromEmail":"liu.denton@gmail.com","sentAt":"2019-08-24T09:04:51Z","receivedAt":"2019-08-24T09:07:17Z","isPatch":true,"sender":{"key":"liu.denton@gmail.com","avatar":"https://avatars.githubusercontent.com/u/9620836?v=4"},"body":"Even though `--skip` is a valid command-line option for cherry-pick and\nrevert while they are in progress, it is not completed. Add this missing\noption to the completion script.\n\nSigned-off-by: Denton Liu <liu.denton@gmail.com>\n---\n contrib/completion/git-completion.bash | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash\nindex 62f8ef600d..ebcfb5a5af 100644\n--- a/contrib/completion/git-completion.bash\n+++ b/contrib/completion/git-completion.bash\n@@ -1361,7 +1361,7 @@ _git_checkout ()\n \tesac\n }\n \n-__git_cherry_pick_revert_inprogress_options=\"--continue --quit --abort\"\n+__git_cherry_pick_revert_inprogress_options=\"--continue --quit --abort --skip\"\n \n _git_cherry_pick ()\n {\n-- \n2.23.0.248.g3a9dd8fb08\n\n"},{"id":"381066","messageId":"cdcac975548502a58234f7537a5fe11dcdb538ea.1566637431.git.liu.denton@gmail.com","threadId":"51720","inReplyTo":"cover.1566637431.git.liu.denton@gmail.com","subject":"[PATCH 1/2] completion: merge options for cherry-pick and revert","fromName":"Denton Liu","fromEmail":"liu.denton@gmail.com","sentAt":"2019-08-24T09:04:49Z","receivedAt":"2019-08-24T09:07:17Z","isPatch":true,"sender":{"key":"liu.denton@gmail.com","avatar":"https://avatars.githubusercontent.com/u/9620836?v=4"},"body":"Since revert and cherry-pick share the same sequencer code, they should\nboth accept the same command-line options. Merge the\n`__git_cherry_pick_inprogress_options` and\n`__git_revert_inprogress_options` variables together into\n`__git_cherry_pick_revert_inprogress_options` so that the options aren't\nunnecessarily duplicated twice.\n\nSigned-off-by: Denton Liu <liu.denton@gmail.com>\n---\n contrib/completion/git-completion.bash | 12 +++++-------\n 1 file changed, 5 insertions(+), 7 deletions(-)\n\ndiff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash\nindex e087c4bf00..62f8ef600d 100644\n--- a/contrib/completion/git-completion.bash\n+++ b/contrib/completion/git-completion.bash\n@@ -1361,13 +1361,13 @@ _git_checkout ()\n \tesac\n }\n \n-__git_cherry_pick_inprogress_options=\"--continue --quit --abort\"\n+__git_cherry_pick_revert_inprogress_options=\"--continue --quit --abort\"\n \n _git_cherry_pick ()\n {\n \t__git_find_repo_path\n \tif [ -f \"$__git_repo_path\"/CHERRY_PICK_HEAD ]; then\n-\t\t__gitcomp \"$__git_cherry_pick_inprogress_options\"\n+\t\t__gitcomp \"$__git_cherry_pick_revert_inprogress_options\"\n \t\treturn\n \tfi\n \n@@ -1376,7 +1376,7 @@ _git_cherry_pick ()\n \tcase \"$cur\" in\n \t--*)\n \t\t__gitcomp_builtin cherry-pick \"\" \\\n-\t\t\t\"$__git_cherry_pick_inprogress_options\"\n+\t\t\t\"$__git_cherry_pick_revert_inprogress_options\"\n \t\t;;\n \t*)\n \t\t__git_complete_refs\n@@ -2512,20 +2512,18 @@ _git_restore ()\n \tesac\n }\n \n-__git_revert_inprogress_options=\"--continue --quit --abort\"\n-\n _git_revert ()\n {\n \t__git_find_repo_path\n \tif [ -f \"$__git_repo_path\"/REVERT_HEAD ]; then\n-\t\t__gitcomp \"$__git_revert_inprogress_options\"\n+\t\t__gitcomp \"$__git_cherry_pick_revert_inprogress_options\"\n \t\treturn\n \tfi\n \t__git_complete_strategy && return\n \tcase \"$cur\" in\n \t--*)\n \t\t__gitcomp_builtin revert \"\" \\\n-\t\t\t\"$__git_revert_inprogress_options\"\n+\t\t\t\"$__git_cherry_pick_revert_inprogress_options\"\n \t\treturn\n \t\t;;\n \tesac\n-- \n2.23.0.248.g3a9dd8fb08\n\n"},{"id":"381212","messageId":"xmqqftlnj20j.fsf@gitster-ct.c.googlers.com","threadId":"51720","inReplyTo":"cdcac975548502a58234f7537a5fe11dcdb538ea.1566637431.git.liu.denton@gmail.com","subject":"Re: [PATCH 1/2] completion: merge options for cherry-pick and revert","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2019-08-26T16:59:56Z","receivedAt":"2019-08-26T17:00:05Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Denton Liu <liu.denton@gmail.com> writes:\n\n> Since revert and cherry-pick share the same sequencer code, they should\n> both accept the same command-line options. Merge the\n> `__git_cherry_pick_inprogress_options` and\n> `__git_revert_inprogress_options` variables together into\n> `__git_cherry_pick_revert_inprogress_options` so that the options aren't\n> unnecessarily duplicated twice.\n\nHmm, will the claim hold true in the future?  I do agree that they\nwill share continue, quit and abort (and skip) forever, but I am not\nbold enough to declare that they will never have some unique option\nin addition to the common one only because they \"share the same\nsequencer\" machinery.  It is trivial to add a \"if we are in revert,\ndo this\" to the code, and it already works that way.\n\n__git_sequencer_inprogress_common_options=\"--continue --quit --abort\"\n__git_cherry_pick_inprogress_options=$__git_sequencer_inprogress_common_options\n__git_revert_inprogress_options=$__git_sequencer_inprogress_common_options\n\nmay be a bit more future-proof way, perhaps?  The places that use\nthe variable(s) already correctly distinguish cherry-pick and\nrevert, so even though the above and your version equally \"unify\"\nthe set of common options and allow adding a new common option\n(i.e. skip) with equal ease, yours makes giving unique option to one\nbut not to the other more difficult.\n"},{"id":"381303","messageId":"cover.1566880835.git.liu.denton@gmail.com","threadId":"51720","inReplyTo":"cover.1566637431.git.liu.denton@gmail.com","subject":"[PATCH v2 0/3] advertise --skip for cherry-pick and revert better","fromName":"Denton Liu","fromEmail":"liu.denton@gmail.com","sentAt":"2019-08-27T04:45:33Z","receivedAt":"2019-08-27T04:45:38Z","isPatch":true,"sender":{"key":"liu.denton@gmail.com","avatar":"https://avatars.githubusercontent.com/u/9620836?v=4"},"body":"Hi Junio, thanks for the suggestion. I incorporated your suggestion.\nAlso, I decided to incorporate another patch (3/3) I was planning on\nsubmitting later since both these patchsets have a common purpose:\nadvertising the `--skip` option better.\n\n\nBefore, the completion script would not complete `--skip` for\ncherry-pick and revert, even though it is a valid option while that\noperation is in progress. Add that missing completion.\n\nAlso, if a cherry-pick or revert is still in progress, mention the\n`--skip` flag in the status message so that users are more aware of\ntheir options.\n\nChanges since v1:\n\n* Instead of outright replacing the old completion variables, make them derive\n  from a common variable.\n* Add patch 3/3 and change the focus of this patchset so that it's focused on\n  advertising the `--skip` option better.\n\n\nDenton Liu (3):\n  completion: merge options for cherry-pick and revert\n  completion: add --skip for cherry-pick and revert\n  status: mention --skip for revert and cherry-pick\n\n contrib/completion/git-completion.bash | 6 ++++--\n t/t7512-status-help.sh                 | 6 ++++++\n wt-status.c                            | 4 ++++\n 3 files changed, 14 insertions(+), 2 deletions(-)\n\nRange-diff against v1:\n1:  cdcac97554 < -:  ---------- completion: merge options for cherry-pick and revert\n2:  75adf58158 < -:  ---------- completion: add --skip for cherry-pick and revert\n-:  ---------- > 1:  862802366a completion: merge options for cherry-pick and revert\n-:  ---------- > 2:  c83feb3d6e completion: add --skip for cherry-pick and revert\n-:  ---------- > 3:  be64ce1e92 status: mention --skip for revert and cherry-pick\n-- \n2.23.0.248.g3a9dd8fb08\n\n"},{"id":"381304","messageId":"862802366ab2dc636614b737bbb5d4fe26dba9e4.1566880835.git.liu.denton@gmail.com","threadId":"51720","inReplyTo":"cover.1566880835.git.liu.denton@gmail.com","subject":"[PATCH v2 1/3] completion: merge options for cherry-pick and revert","fromName":"Denton Liu","fromEmail":"liu.denton@gmail.com","sentAt":"2019-08-27T04:45:36Z","receivedAt":"2019-08-27T04:45:41Z","isPatch":true,"sender":{"key":"liu.denton@gmail.com","avatar":"https://avatars.githubusercontent.com/u/9620836?v=4"},"body":"Since revert and cherry-pick share the same sequencer code, they should\nboth accept the same command-line options. Derive the\n`__git_cherry_pick_inprogress_options` and\n`__git_revert_inprogress_options` variables from\n`__git_sequencer_inprogress_options` so that the options aren't\nunnecessarily duplicated twice.\n\nSigned-off-by: Denton Liu <liu.denton@gmail.com>\n---\n contrib/completion/git-completion.bash | 6 ++++--\n 1 file changed, 4 insertions(+), 2 deletions(-)\n\ndiff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash\nindex e087c4bf00..a7d3f58627 100644\n--- a/contrib/completion/git-completion.bash\n+++ b/contrib/completion/git-completion.bash\n@@ -1361,7 +1361,9 @@ _git_checkout ()\n \tesac\n }\n \n-__git_cherry_pick_inprogress_options=\"--continue --quit --abort\"\n+__git_sequencer_inprogress_options=\"--continue --quit --abort\"\n+\n+__git_cherry_pick_inprogress_options=$__git_sequencer_inprogress_options\n \n _git_cherry_pick ()\n {\n@@ -2512,7 +2514,7 @@ _git_restore ()\n \tesac\n }\n \n-__git_revert_inprogress_options=\"--continue --quit --abort\"\n+__git_revert_inprogress_options=$__git_sequencer_inprogress_options\n \n _git_revert ()\n {\n-- \n2.23.0.248.g3a9dd8fb08\n\n"},{"id":"381305","messageId":"c83feb3d6e15ee4666310aa0ac94596faec56d94.1566880835.git.liu.denton@gmail.com","threadId":"51720","inReplyTo":"cover.1566880835.git.liu.denton@gmail.com","subject":"[PATCH v2 2/3] completion: add --skip for cherry-pick and revert","fromName":"Denton Liu","fromEmail":"liu.denton@gmail.com","sentAt":"2019-08-27T04:45:39Z","receivedAt":"2019-08-27T04:45:46Z","isPatch":true,"sender":{"key":"liu.denton@gmail.com","avatar":"https://avatars.githubusercontent.com/u/9620836?v=4"},"body":"Even though `--skip` is a valid command-line option for cherry-pick and\nrevert while they are in progress, it is not completed. Add this missing\noption to the completion script.\n\nSigned-off-by: Denton Liu <liu.denton@gmail.com>\n---\n contrib/completion/git-completion.bash | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash\nindex a7d3f58627..b4651411b2 100644\n--- a/contrib/completion/git-completion.bash\n+++ b/contrib/completion/git-completion.bash\n@@ -1361,7 +1361,7 @@ _git_checkout ()\n \tesac\n }\n \n-__git_sequencer_inprogress_options=\"--continue --quit --abort\"\n+__git_sequencer_inprogress_options=\"--continue --quit --abort --skip\"\n \n __git_cherry_pick_inprogress_options=$__git_sequencer_inprogress_options\n \n-- \n2.23.0.248.g3a9dd8fb08\n\n"},{"id":"381306","messageId":"be64ce1e92c60f9587b137d36e98532604d4a1ff.1566880835.git.liu.denton@gmail.com","threadId":"51720","inReplyTo":"cover.1566880835.git.liu.denton@gmail.com","subject":"[PATCH v2 3/3] status: mention --skip for revert and cherry-pick","fromName":"Denton Liu","fromEmail":"liu.denton@gmail.com","sentAt":"2019-08-27T04:45:41Z","receivedAt":"2019-08-27T04:45:46Z","isPatch":true,"sender":{"key":"liu.denton@gmail.com","avatar":"https://avatars.githubusercontent.com/u/9620836?v=4"},"body":"When reverting or cherry-picking, one of the options we can pass the\nsequencer is `--skip`. However, unlike rebasing, `--skip` is not\nmentioned as a possible option in the status message. Mention it so that\nusers are more aware of their options.\n\nSigned-off-by: Denton Liu <liu.denton@gmail.com>\n---\n t/t7512-status-help.sh | 6 ++++++\n wt-status.c            | 4 ++++\n 2 files changed, 10 insertions(+)\n\ndiff --git a/t/t7512-status-help.sh b/t/t7512-status-help.sh\nindex e01c285cbf..66d7a62797 100755\n--- a/t/t7512-status-help.sh\n+++ b/t/t7512-status-help.sh\n@@ -733,6 +733,7 @@ test_expect_success 'status when cherry-picking before resolving conflicts' '\n On branch cherry_branch\n You are currently cherry-picking commit $TO_CHERRY_PICK.\n   (fix conflicts and run \"git cherry-pick --continue\")\n+  (use \"git cherry-pick --skip\" to skip this patch)\n   (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)\n \n Unmerged paths:\n@@ -757,6 +758,7 @@ test_expect_success 'status when cherry-picking after resolving conflicts' '\n On branch cherry_branch\n You are currently cherry-picking commit $TO_CHERRY_PICK.\n   (all conflicts fixed: run \"git cherry-pick --continue\")\n+  (use \"git cherry-pick --skip\" to skip this patch)\n   (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)\n \n Changes to be committed:\n@@ -778,6 +780,7 @@ test_expect_success 'status when cherry-picking after committing conflict resolu\n On branch cherry_branch\n Cherry-pick currently in progress.\n   (run \"git cherry-pick --continue\" to continue)\n+  (use \"git cherry-pick --skip\" to skip this patch)\n   (use \"git cherry-pick --abort\" to cancel the cherry-pick operation)\n \n nothing to commit (use -u to show untracked files)\n@@ -835,6 +838,7 @@ test_expect_success 'status while reverting commit (conflicts)' '\n On branch master\n You are currently reverting commit $TO_REVERT.\n   (fix conflicts and run \"git revert --continue\")\n+  (use \"git revert --skip\" to skip this patch)\n   (use \"git revert --abort\" to cancel the revert operation)\n \n Unmerged paths:\n@@ -855,6 +859,7 @@ test_expect_success 'status while reverting commit (conflicts resolved)' '\n On branch master\n You are currently reverting commit $TO_REVERT.\n   (all conflicts fixed: run \"git revert --continue\")\n+  (use \"git revert --skip\" to skip this patch)\n   (use \"git revert --abort\" to cancel the revert operation)\n \n Changes to be committed:\n@@ -887,6 +892,7 @@ test_expect_success 'status while reverting after committing conflict resolution\n On branch master\n Revert currently in progress.\n   (run \"git revert --continue\" to continue)\n+  (use \"git revert --skip\" to skip this patch)\n   (use \"git revert --abort\" to cancel the revert operation)\n \n nothing to commit (use -u to show untracked files)\ndiff --git a/wt-status.c b/wt-status.c\nindex 9f6c65a580..ad6282c7f8 100644\n--- a/wt-status.c\n+++ b/wt-status.c\n@@ -1433,6 +1433,8 @@ static void show_cherry_pick_in_progress(struct wt_status *s,\n \t\telse\n \t\t\tstatus_printf_ln(s, color,\n \t\t\t\t_(\"  (all conflicts fixed: run \\\"git cherry-pick --continue\\\")\"));\n+\t\tstatus_printf_ln(s, color,\n+\t\t\t_(\"  (use \\\"git cherry-pick --skip\\\" to skip this patch)\"));\n \t\tstatus_printf_ln(s, color,\n \t\t\t_(\"  (use \\\"git cherry-pick --abort\\\" to cancel the cherry-pick operation)\"));\n \t}\n@@ -1460,6 +1462,8 @@ static void show_revert_in_progress(struct wt_status *s,\n \t\telse\n \t\t\tstatus_printf_ln(s, color,\n \t\t\t\t_(\"  (all conflicts fixed: run \\\"git revert --continue\\\")\"));\n+\t\tstatus_printf_ln(s, color,\n+\t\t\t_(\"  (use \\\"git revert --skip\\\" to skip this patch)\"));\n \t\tstatus_printf_ln(s, color,\n \t\t\t_(\"  (use \\\"git revert --abort\\\" to cancel the revert operation)\"));\n \t}\n-- \n2.23.0.248.g3a9dd8fb08\n\n"},{"id":"381397","messageId":"xmqqef162rx2.fsf@gitster-ct.c.googlers.com","threadId":"51720","inReplyTo":"be64ce1e92c60f9587b137d36e98532604d4a1ff.1566880835.git.liu.denton@gmail.com","subject":"Re: [PATCH v2 3/3] status: mention --skip for revert and cherry-pick","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2019-08-27T21:56:57Z","receivedAt":"2019-08-27T21:57:02Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Denton Liu <liu.denton@gmail.com> writes:\n\n> When reverting or cherry-picking, one of the options we can pass the\n> sequencer is `--skip`. However, unlike rebasing, `--skip` is not\n> mentioned as a possible option in the status message. Mention it so that\n> users are more aware of their options.\n\nIs this a good thing, though?\n\nGiving up (because you do not have enough time or concentration to\nfinish the cherry-pick or revert in progress) with --abort, and\ncommitting to the resolution after spending effort to deal with a\nconflicted cherry-pick or revert with --continue, are both sensible\nactions after seeing the command stop due to conflicts.  Is \"--skip\"\na recommendable action in the same way?  Doesn't a multi-commit\nseries often break if you drop just one in the middle, especially\nif the series is sensibly structured as a logical progression?\n\n\n\n\n\n\n"},{"id":"381406","messageId":"20190827231827.GA26899@archbookpro.localdomain","threadId":"51720","inReplyTo":"xmqqef162rx2.fsf@gitster-ct.c.googlers.com","subject":"Re: [PATCH v2 3/3] status: mention --skip for revert and cherry-pick","fromName":"Denton Liu","fromEmail":"liu.denton@gmail.com","sentAt":"2019-08-27T23:18:27Z","receivedAt":"2019-08-27T23:18:32Z","isPatch":true,"sender":{"key":"liu.denton@gmail.com","avatar":"https://avatars.githubusercontent.com/u/9620836?v=4"},"body":"On Tue, Aug 27, 2019 at 02:56:57PM -0700, Junio C Hamano wrote:\n> Denton Liu <liu.denton@gmail.com> writes:\n> \n> > When reverting or cherry-picking, one of the options we can pass the\n> > sequencer is `--skip`. However, unlike rebasing, `--skip` is not\n> > mentioned as a possible option in the status message. Mention it so that\n> > users are more aware of their options.\n> \n> Is this a good thing, though?\n> \n> Giving up (because you do not have enough time or concentration to\n> finish the cherry-pick or revert in progress) with --abort, and\n> committing to the resolution after spending effort to deal with a\n> conflicted cherry-pick or revert with --continue, are both sensible\n> actions after seeing the command stop due to conflicts.  Is \"--skip\"\n> a recommendable action in the same way?  Doesn't a multi-commit\n> series often break if you drop just one in the middle, especially\n> if the series is sensibly structured as a logical progression?\n\nI think that the same argument for or against recommending `--skip`\ncould be made for rebases as well. However, in the rebase case, `--skip`\nis recommended whenever `--abort` is recommended. With this patch, I\nmade it so that revert and cherry-pick would have `--skip` and `--abort`\npaired as well.\n\nI'm pretty impartial about making this change but I would suggest if we\nchoose not to pursue this then we should also drop the `--skip`\nrecommendation from rebase as well.\n"},{"id":"381417","messageId":"xmqqwoey0zwa.fsf@gitster-ct.c.googlers.com","threadId":"51720","inReplyTo":"xmqqef162rx2.fsf@gitster-ct.c.googlers.com","subject":"Re: [PATCH v2 3/3] status: mention --skip for revert and cherry-pick","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2019-08-28T02:47:33Z","receivedAt":"2019-08-28T02:47:41Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Junio C Hamano <gitster@pobox.com> writes:\n\n> Is this a good thing, though?\n>\n> Giving up (because you do not have enough time or concentration to\n> finish the cherry-pick or revert in progress) with --abort, and\n> committing to the resolution after spending effort to deal with a\n> conflicted cherry-pick or revert with --continue, are both sensible\n> actions after seeing the command stop due to conflicts.  Is \"--skip\"\n> a recommendable action in the same way?  Doesn't a multi-commit\n> series often break if you drop just one in the middle, especially\n> if the series is sensibly structured as a logical progression?\n\nAddendum.\n\n\"rebase\" (especially with \"-i\") is fundamentally different from\n\"cherry-pick\" and it makes tons of sense to suggest \"--skip\" in the\nformer.  \"rebase -i\" is a tool to take a messy work in progress and\npolish it by reordering, discarding and combining commits.\n\"cherry-pick\" is to take a finished work already in one integration\ntrack, and transplant to another, often an older maintenance track,\nand there is no place for \"this conflict is too much to resolve so\nlet's drop it\".\n\n"},{"id":"381420","messageId":"20190828064558.GA2399@archbookpro.localdomain","threadId":"51720","inReplyTo":"xmqqwoey0zwa.fsf@gitster-ct.c.googlers.com","subject":"Re: [PATCH v2 3/3] status: mention --skip for revert and cherry-pick","fromName":"Denton Liu","fromEmail":"liu.denton@gmail.com","sentAt":"2019-08-28T06:45:58Z","receivedAt":"2019-08-28T06:46:02Z","isPatch":true,"sender":{"key":"liu.denton@gmail.com","avatar":"https://avatars.githubusercontent.com/u/9620836?v=4"},"body":"On Tue, Aug 27, 2019 at 07:47:33PM -0700, Junio C Hamano wrote:\n> Junio C Hamano <gitster@pobox.com> writes:\n> \n> > Is this a good thing, though?\n> >\n> > Giving up (because you do not have enough time or concentration to\n> > finish the cherry-pick or revert in progress) with --abort, and\n> > committing to the resolution after spending effort to deal with a\n> > conflicted cherry-pick or revert with --continue, are both sensible\n> > actions after seeing the command stop due to conflicts.  Is \"--skip\"\n> > a recommendable action in the same way?  Doesn't a multi-commit\n> > series often break if you drop just one in the middle, especially\n> > if the series is sensibly structured as a logical progression?\n> \n> Addendum.\n> \n> \"rebase\" (especially with \"-i\") is fundamentally different from\n> \"cherry-pick\" and it makes tons of sense to suggest \"--skip\" in the\n> former.  \"rebase -i\" is a tool to take a messy work in progress and\n> polish it by reordering, discarding and combining commits.\n> \"cherry-pick\" is to take a finished work already in one integration\n> track, and transplant to another, often an older maintenance track,\n> and there is no place for \"this conflict is too much to resolve so\n> let's drop it\".\n> \n\nI still believe that it's a good idea to let users know what all of\ntheir options are, including the --skip for cherry-pick and revert even\nif it may be rare that it's the right thing to do.\n\nThat being said, I'm not passionate enough about this change to pursue\nit so when you queue this patchset, please drop this patch.\n"}]}