mirror of
https://github.com/git/git
synced 2024-09-13 13:24:41 +00:00
subtree: fix argument handling in check_parents
315a84f9aa
(subtree: use commits before rejoins for splits, 2018-09-28) changed the signature of check_parents from 'check_parents [REV...]' to 'check_parents PARENTS_EXPR INDENT'. In other words the variable list of parent revisions became a list embedded in a string. However it neglected to unpack the list again before sending it to cache_miss, leading to incorrect calls whenever more than one parent was present. This is the case whenever a merge commit is processed, with the end result being a loss of performance from unecessary rechecks. The indent parameter was subsequently removed ine9525a8a02
(subtree: have $indent actually affect indentation, 2021-04-27), but the argument handling bug remained. For consistency, take multiple arguments in check_parents, and pass all of them to cache_miss separately. Signed-off-by: James Limbouris <james@digitalmatter.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
e9d7761bb9
commit
3ce8888fb4
|
@ -296,10 +296,9 @@ cache_miss () {
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
# Usage: check_parents PARENTS_EXPR
|
# Usage: check_parents [REVS...]
|
||||||
check_parents () {
|
check_parents () {
|
||||||
assert test $# = 1
|
missed=$(cache_miss "$@") || exit $?
|
||||||
missed=$(cache_miss "$1") || exit $?
|
|
||||||
local indent=$(($indent + 1))
|
local indent=$(($indent + 1))
|
||||||
for miss in $missed
|
for miss in $missed
|
||||||
do
|
do
|
||||||
|
@ -753,7 +752,7 @@ process_split_commit () {
|
||||||
fi
|
fi
|
||||||
createcount=$(($createcount + 1))
|
createcount=$(($createcount + 1))
|
||||||
debug "parents: $parents"
|
debug "parents: $parents"
|
||||||
check_parents "$parents"
|
check_parents $parents
|
||||||
newparents=$(cache_get $parents) || exit $?
|
newparents=$(cache_get $parents) || exit $?
|
||||||
debug "newparents: $newparents"
|
debug "newparents: $newparents"
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue