зеркало из https://github.com/microsoft/git.git
archimport: use safe_pipe_capture for user input
Refnames can contain shell metacharacters which need to be passed verbatim to sub-processes. Using safe_pipe_capture skips the shell entirely. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
4d4165b80d
Коммит
8d0fad0a7a
|
@ -983,7 +983,7 @@ sub find_parents {
|
||||||
# check that we actually know about the branch
|
# check that we actually know about the branch
|
||||||
next unless -e "$git_dir/refs/heads/$branch";
|
next unless -e "$git_dir/refs/heads/$branch";
|
||||||
|
|
||||||
my $mergebase = `git-merge-base $branch $ps->{branch}`;
|
my $mergebase = safe_pipe_capture(qw(git-merge-base), $branch, $ps->{branch});
|
||||||
if ($?) {
|
if ($?) {
|
||||||
# Don't die here, Arch supports one-way cherry-picking
|
# Don't die here, Arch supports one-way cherry-picking
|
||||||
# between branches with no common base (or any relationship
|
# between branches with no common base (or any relationship
|
||||||
|
@ -1074,7 +1074,7 @@ sub find_parents {
|
||||||
|
|
||||||
sub git_rev_parse {
|
sub git_rev_parse {
|
||||||
my $name = shift;
|
my $name = shift;
|
||||||
my $val = `git-rev-parse $name`;
|
my $val = safe_pipe_capture(qw(git-rev-parse), $name);
|
||||||
die "Error: git-rev-parse $name" if $?;
|
die "Error: git-rev-parse $name" if $?;
|
||||||
chomp $val;
|
chomp $val;
|
||||||
return $val;
|
return $val;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче