From: Felipe Contreras <hidden> Date: 2021-06-13 05:00:11
These are obvious fixes that I sent many times in series like [1], but
for some reason they were never merged.
There's absolutely no reason not to merge these.
[1] https://lore.kernel.org/git/20201218211026.1937168-1-felipe.contreras@gmail.com/
Felipe Contreras (3):
pull: cleanup autostash check
pull: trivial cleanup
pull: trivial whitespace style fix
builtin/pull.c | 26 +++++++++++---------------
1 file changed, 11 insertions(+), 15 deletions(-)
--
2.32.0
From: Felipe Contreras <hidden> Date: 2021-06-13 04:59:59
Two spaces unaligned to anything is not part of the coding-style. A
single tab is.
Signed-off-by: Felipe Contreras <redacted>
---
builtin/pull.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
@@ -126,9 +126,9 @@ static struct option pull_options[] = {/* Options passed to git-merge or git-rebase */OPT_GROUP(N_("Options related to merging")),OPT_CALLBACK_F('r',"rebase",&opt_rebase,-"(false|true|merges|preserve|interactive)",-N_("incorporate changes by rebasing rather than merging"),-PARSE_OPT_OPTARG,parse_opt_rebase),+"(false|true|merges|preserve|interactive)",+N_("incorporate changes by rebasing rather than merging"),+PARSE_OPT_OPTARG,parse_opt_rebase),OPT_PASSTHRU('n',NULL,&opt_diffstat,NULL,N_("do not show a diffstat at the end of the merge"),PARSE_OPT_NOARG|PARSE_OPT_NONEG),
From: Felipe Contreras <hidden> Date: 2021-06-13 05:00:05
There's no need to store ran_ff. Now it's obvious from the conditionals.
Signed-off-by: Felipe Contreras <redacted>
---
builtin/pull.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
@@ -1068,11 +1067,10 @@ int cmd_pull(int argc, const char **argv, const char *prefix)if(can_ff){/* we can fast-forward this without invoking rebase */opt_ff="--ff-only";-ran_ff=1;ret=run_merge();-}-if(!ran_ff)+}else{ret=run_rebase(&newbase,&upstream);+}if(!ret&&(recurse_submodules==RECURSE_SUBMODULES_ON||recurse_submodules==RECURSE_SUBMODULES_ON_DEMAND))
From: Felipe Contreras <hidden> Date: 2021-06-13 05:00:14
Currently "git pull --rebase" takes a shortcut in the case a
fast-forward merge is possible; run_merge() is called with --ff-only.
However, "git merge" didn't have an --autostash option, so, when "git
pull --rebase --autostash" was called *and* the fast-forward merge
shortcut was taken, then the pull failed.
This was fixed in commit f15e7cf5cc (pull: ff --rebase --autostash
works in dirty repo, 2017-06-01) by simply skipping the fast-forward
merge shortcut.
Later on "git merge" learned the --autostash option [a03b55530a
(merge: teach --autostash option, 2020-04-07)], and so did "git pull"
[d9f15d37f1 (pull: pass --autostash to merge, 2020-04-07)].
Therefore it's not necessary to skip the fast-forward merge shortcut
anymore when called with --rebase --autostash.
Let's always take the fast-forward merge shortcut by essentially
reverting f15e7cf5cc.
Reviewed-by: Elijah Newren <redacted>
Signed-off-by: Felipe Contreras <redacted>
---
builtin/pull.c | 16 +++++++---------
1 file changed, 7 insertions(+), 9 deletions(-)
@@ -1065,13 +1064,12 @@ int cmd_pull(int argc, const char **argv, const char *prefix)recurse_submodules==RECURSE_SUBMODULES_ON_DEMAND)&&submodule_touches_in_range(the_repository,&upstream,&curr_head))die(_("cannot rebase with locally recorded submodule modifications"));-if(!autostash){-if(can_ff){-/* we can fast-forward this without invoking rebase */-opt_ff="--ff-only";-ran_ff=1;-ret=run_merge();-}++if(can_ff){+/* we can fast-forward this without invoking rebase */+opt_ff="--ff-only";+ran_ff=1;+ret=run_merge();}if(!ran_ff)ret=run_rebase(&newbase,&upstream);
I was really surprised to see the Reviewed-by on patch 1, and did not
remember what review I had done. Unfortunately, since your new patch
series aren't posted as responses to old ones (see
https://lore.kernel.org/git/CABPp-BEEiPP7AEk4Wexw4_MDHcin2n8xkMowO=OXTn9pNPaG0A@mail.gmail.com/T/#u
for an example of what I mean), and since the cover letter you linked
to didn't reference previous series, there's no trace of where it came
from. I had to go digging to try to find it. Any chance you could
tweak your posts in the future to help reviewers follow how things
have evolved?
On Sat, Jun 12, 2021 at 9:59 PM Felipe Contreras
[off-list ref] wrote:
Currently "git pull --rebase" takes a shortcut in the case a
fast-forward merge is possible; run_merge() is called with --ff-only.
However, "git merge" didn't have an --autostash option, so, when "git
pull --rebase --autostash" was called *and* the fast-forward merge
shortcut was taken, then the pull failed.
This was fixed in commit f15e7cf5cc (pull: ff --rebase --autostash
works in dirty repo, 2017-06-01) by simply skipping the fast-forward
merge shortcut.
Later on "git merge" learned the --autostash option [a03b55530a
(merge: teach --autostash option, 2020-04-07)], and so did "git pull"
[d9f15d37f1 (pull: pass --autostash to merge, 2020-04-07)].
Therefore it's not necessary to skip the fast-forward merge shortcut
anymore when called with --rebase --autostash.
Let's always take the fast-forward merge shortcut by essentially
reverting f15e7cf5cc.
Reviewed-by: Elijah Newren <redacted>
I think you are basing the Reviewed-by on
https://lore.kernel.org/git/CABPp-BEsQWsHMAmwc3gmJnXcS+aR-FtoMJxBRQ=BpARP49-L-Q@mail.gmail.com/;
is that correct? Messages from folks that they seem to like the patch
or believe it looks good should be translated into an Acked-by rather
than a Reviewed-by; from Documentation/SubmittingPatches:
* `Reviewed-by:`, unlike the other tags, can only be offered by the
reviewer and means that she is completely satisfied that the patch
is ready for application. It is usually offered only after a
detailed review.
Sorry for not catching this when you posted v3 & v4 of your earlier
series. When your series exploded in size and seemed to just be
accumulating additional changes you wanted to make in the area that
weren't in response to reviewer feedback (I wasn't sure why the new
patches in subsequent rerolls weren't just separate series), I didn't
have the bandwidth to keep up and review them, so I just missed it.
@@ -1065,13 +1064,12 @@ int cmd_pull(int argc, const char **argv, const char *prefix)recurse_submodules==RECURSE_SUBMODULES_ON_DEMAND)&&submodule_touches_in_range(the_repository,&upstream,&curr_head))die(_("cannot rebase with locally recorded submodule modifications"));-if(!autostash){-if(can_ff){-/* we can fast-forward this without invoking rebase */-opt_ff="--ff-only";-ran_ff=1;-ret=run_merge();-}++if(can_ff){+/* we can fast-forward this without invoking rebase */+opt_ff="--ff-only";+ran_ff=1;+ret=run_merge();}if(!ran_ff)ret=run_rebase(&newbase,&upstream);--
On Sat, Jun 12, 2021 at 9:59 PM Felipe Contreras
[off-list ref] wrote:
quoted hunk
There's no need to store ran_ff. Now it's obvious from the conditionals.
Signed-off-by: Felipe Contreras <redacted>
---
builtin/pull.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
@@ -1068,11 +1067,10 @@ int cmd_pull(int argc, const char **argv, const char *prefix)if(can_ff){/* we can fast-forward this without invoking rebase */opt_ff="--ff-only";-ran_ff=1;ret=run_merge();-}-if(!ran_ff)+}else{ret=run_rebase(&newbase,&upstream);+}if(!ret&&(recurse_submodules==RECURSE_SUBMODULES_ON||recurse_submodules==RECURSE_SUBMODULES_ON_DEMAND))--
On Sat, Jun 12, 2021 at 9:59 PM Felipe Contreras
[off-list ref] wrote:
quoted hunk
Two spaces unaligned to anything is not part of the coding-style. A
single tab is.
Signed-off-by: Felipe Contreras <redacted>
---
builtin/pull.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
@@ -126,9 +126,9 @@ static struct option pull_options[] = {/* Options passed to git-merge or git-rebase */OPT_GROUP(N_("Options related to merging")),OPT_CALLBACK_F('r',"rebase",&opt_rebase,-"(false|true|merges|preserve|interactive)",-N_("incorporate changes by rebasing rather than merging"),-PARSE_OPT_OPTARG,parse_opt_rebase),+"(false|true|merges|preserve|interactive)",+N_("incorporate changes by rebasing rather than merging"),+PARSE_OPT_OPTARG,parse_opt_rebase),OPT_PASSTHRU('n',NULL,&opt_diffstat,NULL,N_("do not show a diffstat at the end of the merge"),PARSE_OPT_NOARG|PARSE_OPT_NONEG),--
2.32.0
Not only does this change bring this code in alignment with the coding
style, it also makes it more consistent with the other code around it.
None of the other options parsing in this file used a
tab-and-two-space indent, so it's curious why this one was added this
way. Anyway, thanks for fixing.
I was really surprised to see the Reviewed-by on patch 1, and did not
remember what review I had done. Unfortunately, since your new patch
series aren't posted as responses to old ones (see
https://lore.kernel.org/git/CABPp-BEEiPP7AEk4Wexw4_MDHcin2n8xkMowO=OXTn9pNPaG0A@mail.gmail.com/T/#u
for an example of what I mean), and since the cover letter you linked
to didn't reference previous series,
But my cover letter did reference a previous series:
https://lore.kernel.org/git/20201218211026.1937168-1-felipe.contreras@gmail.com/
See patch 3, 4, and 5.
The problem is that these patches (along with many others) were part of
different series, that I reordered, split, and joined in order to make it
clear why all of them were needed. When I split them people didn't
understand the context, and when I joined them, suddenly there were too
many.
there's no trace of where it came from. I had to go digging to try to
find it. Any chance you could tweak your posts in the future to help
reviewers follow how things have evolved?
I always do that, including this series.
In order to properly dig through all the versions of these particualr 3
patches it would probably take me an hour, and I don't know how much
value that would provide. I just picked the latest one I could find that
contained them.
--
Felipe Contreras
From: Felipe Contreras <hidden> Date: 2021-06-15 10:59:08
Elijah Newren wrote:
On Sat, Jun 12, 2021 at 9:59 PM Felipe Contreras
[off-list ref] wrote:
quoted
Currently "git pull --rebase" takes a shortcut in the case a
fast-forward merge is possible; run_merge() is called with --ff-only.
However, "git merge" didn't have an --autostash option, so, when "git
pull --rebase --autostash" was called *and* the fast-forward merge
shortcut was taken, then the pull failed.
This was fixed in commit f15e7cf5cc (pull: ff --rebase --autostash
works in dirty repo, 2017-06-01) by simply skipping the fast-forward
merge shortcut.
Later on "git merge" learned the --autostash option [a03b55530a
(merge: teach --autostash option, 2020-04-07)], and so did "git pull"
[d9f15d37f1 (pull: pass --autostash to merge, 2020-04-07)].
Therefore it's not necessary to skip the fast-forward merge shortcut
anymore when called with --rebase --autostash.
Let's always take the fast-forward merge shortcut by essentially
reverting f15e7cf5cc.
Reviewed-by: Elijah Newren <redacted>
Messages from folks that they seem to like the patch
or believe it looks good should be translated into an Acked-by rather
than a Reviewed-by; from Documentation/SubmittingPatches:
To me an acknowledgment means something entirely different, and must be
expressly given.
* `Reviewed-by:`, unlike the other tags, can only be offered by the
reviewer and means that she is completely satisfied that the patch
is ready for application. It is usually offered only after a
detailed review.
Yeah, I read that after I sent v3. In this series I simply cherry-picked
it from a previous series.
I guess I'll just avoid both.
--
Felipe Contreras
From: Felipe Contreras <hidden> Date: 2021-06-17 16:18:03
These are obvious fixes that I sent many times in series like [1], but
for some reason they were never merged.
No changes since v1, except the removal of a reviewed-by trailer that
was not expressly given.
[1] https://lore.kernel.org/git/20201218211026.1937168-1-felipe.contreras@gmail.com/
Felipe Contreras (3):
pull: cleanup autostash check
pull: trivial cleanup
pull: trivial whitespace style fix
builtin/pull.c | 26 +++++++++++---------------
1 file changed, 11 insertions(+), 15 deletions(-)
Range-diff against v1:
1: f9520dbf78 ! 1: bc5d3227a9 pull: cleanup autostash check
@@ Commit message
Let's always take the fast-forward merge shortcut by essentially
reverting f15e7cf5cc.
- Reviewed-by: Elijah Newren [off-list ref]
Signed-off-by: Felipe Contreras [off-list ref]
## builtin/pull.c ##
2: e677256db0 = 2: d3c944d2fd pull: trivial cleanup
3: 34a9e2d50f = 3: aadc7e17dc pull: trivial whitespace style fix
--
2.32.0
From: Felipe Contreras <hidden> Date: 2021-06-17 16:18:05
Currently "git pull --rebase" takes a shortcut in the case a
fast-forward merge is possible; run_merge() is called with --ff-only.
However, "git merge" didn't have an --autostash option, so, when "git
pull --rebase --autostash" was called *and* the fast-forward merge
shortcut was taken, then the pull failed.
This was fixed in commit f15e7cf5cc (pull: ff --rebase --autostash
works in dirty repo, 2017-06-01) by simply skipping the fast-forward
merge shortcut.
Later on "git merge" learned the --autostash option [a03b55530a
(merge: teach --autostash option, 2020-04-07)], and so did "git pull"
[d9f15d37f1 (pull: pass --autostash to merge, 2020-04-07)].
Therefore it's not necessary to skip the fast-forward merge shortcut
anymore when called with --rebase --autostash.
Let's always take the fast-forward merge shortcut by essentially
reverting f15e7cf5cc.
Signed-off-by: Felipe Contreras <redacted>
---
builtin/pull.c | 16 +++++++---------
1 file changed, 7 insertions(+), 9 deletions(-)
@@ -1065,13 +1064,12 @@ int cmd_pull(int argc, const char **argv, const char *prefix)recurse_submodules==RECURSE_SUBMODULES_ON_DEMAND)&&submodule_touches_in_range(the_repository,&upstream,&curr_head))die(_("cannot rebase with locally recorded submodule modifications"));-if(!autostash){-if(can_ff){-/* we can fast-forward this without invoking rebase */-opt_ff="--ff-only";-ran_ff=1;-ret=run_merge();-}++if(can_ff){+/* we can fast-forward this without invoking rebase */+opt_ff="--ff-only";+ran_ff=1;+ret=run_merge();}if(!ran_ff)ret=run_rebase(&newbase,&upstream);
From: Felipe Contreras <hidden> Date: 2021-06-17 16:18:07
There's no need to store ran_ff. Now it's obvious from the conditionals.
Signed-off-by: Felipe Contreras <redacted>
---
builtin/pull.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
@@ -1068,11 +1067,10 @@ int cmd_pull(int argc, const char **argv, const char *prefix)if(can_ff){/* we can fast-forward this without invoking rebase */opt_ff="--ff-only";-ran_ff=1;ret=run_merge();-}-if(!ran_ff)+}else{ret=run_rebase(&newbase,&upstream);+}if(!ret&&(recurse_submodules==RECURSE_SUBMODULES_ON||recurse_submodules==RECURSE_SUBMODULES_ON_DEMAND))
From: Felipe Contreras <hidden> Date: 2021-06-17 16:18:11
Two spaces unaligned to anything is not part of the coding-style. A
single tab is.
Signed-off-by: Felipe Contreras <redacted>
---
builtin/pull.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
@@ -126,9 +126,9 @@ static struct option pull_options[] = {/* Options passed to git-merge or git-rebase */OPT_GROUP(N_("Options related to merging")),OPT_CALLBACK_F('r',"rebase",&opt_rebase,-"(false|true|merges|preserve|interactive)",-N_("incorporate changes by rebasing rather than merging"),-PARSE_OPT_OPTARG,parse_opt_rebase),+"(false|true|merges|preserve|interactive)",+N_("incorporate changes by rebasing rather than merging"),+PARSE_OPT_OPTARG,parse_opt_rebase),OPT_PASSTHRU('n',NULL,&opt_diffstat,NULL,N_("do not show a diffstat at the end of the merge"),PARSE_OPT_NOARG|PARSE_OPT_NONEG),
On Thu, Jun 17, 2021 at 9:17 AM Felipe Contreras
[off-list ref] wrote:
These are obvious fixes that I sent many times in series like [1], but
for some reason they were never merged.
No changes since v1, except the removal of a reviewed-by trailer that
was not expressly given.