summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@gmx.de>2021-01-03 18:01:35 +0100
committerOswald Buddenhagen <oswald.buddenhagen@gmx.de>2021-05-18 11:05:44 +0000
commita9592e2bdefd97be8544f9319fe85b56258d0d94 (patch)
tree3352061f6a97e1fd07e92dea2de05848cbf59c58
parenta257d4c84ccff770f65956299ff3f8bba67fa5c0 (diff)
downloadqtrepotools-a9592e2bdefd97be8544f9319fe85b56258d0d94.tar.gz
gpick: fix filtering of locally excluded Changes
the commits of the assembled series have Changes assigned only after filtering+sorting, so we need to query by Change id instead of using Change links. amends 143b73c1. Change-Id: I30984ae86a48ad8d28899a3d5cb437bb2c76d064 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
-rwxr-xr-xbin/git-gpick3
-rw-r--r--bin/git_gpush.pm2
2 files changed, 2 insertions, 3 deletions
diff --git a/bin/git-gpick b/bin/git-gpick
index db3393c..31c427a 100755
--- a/bin/git-gpick
+++ b/bin/git-gpick
@@ -1663,8 +1663,7 @@ sub sort_series($$$$)
my $changeid = $$commit{changeid};
if (%selected && !defined($selected{$changeid})) {
- my $change = $$commit{change};
- if ($change && $$change{local}) {
+ if (defined($changeid2local{$changeid})) {
# Drop locally present Changes which are not part of the
# (possibly artificially limited) series. This causes partial
# updates being matched with only the corresponding fragments
diff --git a/bin/git_gpush.pm b/bin/git_gpush.pm
index 400c7fe..b8a38b8 100644
--- a/bin/git_gpush.pm
+++ b/bin/git_gpush.pm
@@ -1224,7 +1224,7 @@ our $local_base;
# SHA1 of the local branch's tip.
our $local_tip;
# Mapping of Change-Ids to commits on the local branch.
-my %changeid2local; # { change-id => SHA1 }
+our %changeid2local; # { change-id => SHA1 }
sub _source_map_prepare();
sub source_map_assign($$);