Skip to content

Commit

Permalink
remote-mediawiki: annotate unquoted uses of run_git()
Browse files Browse the repository at this point in the history
Explicitly annotate the invocations of run_git() which don't use
quoted arguments. I'm not converting these to run_git_quoted() because
these invocations pipe stderr to /dev/null, which the Perl open() API
doesn't support.

We could do a quoted version of this with IPC::Open3, but I don't
think it's worth it to go through that here. Let's instead just mark
these sites, and comment on why it's OK to use the variables we're
using.

This eliminates the last uses of run_git(), so we can remove the alias
for it introduced in an earlier commit.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
avar authored and gitster committed Sep 21, 2020
1 parent 4842a11 commit 878d150
Showing 1 changed file with 13 additions and 6 deletions.
19 changes: 13 additions & 6 deletions contrib/mw-to-git/git-remote-mediawiki.perl
Original file line number Diff line number Diff line change
Expand Up @@ -395,8 +395,6 @@ sub run_git_unquoted {
_run_git(["git $_[0]"], $_[1]);
}

BEGIN { *run_git = \&run_git_unquoted }

sub get_all_mediafiles {
my $pages = shift;
# Attach list of all pages for media files from the API,
Expand Down Expand Up @@ -522,8 +520,11 @@ sub download_mw_mediafile {
}

sub get_last_local_revision {
# Get note regarding last mediawiki revision
my $note = run_git("notes --ref=${remotename}/mediawiki show refs/mediawiki/${remotename}/master 2>/dev/null");
# Get note regarding last mediawiki revision.
#
# It's OK to use run_git_unquoted() here because $remotename is
# supplied by the local git itself.
my $note = run_git_unquoted("notes --ref=${remotename}/mediawiki show refs/mediawiki/${remotename}/master 2>/dev/null");
my @note_info = split(/ /, $note);

my $lastrevision_number;
Expand Down Expand Up @@ -1188,10 +1189,16 @@ sub mw_push_revision {
my $mw_revision = $last_remote_revid;

# Get sha1 of commit pointed by local HEAD
my $HEAD_sha1 = run_git("rev-parse ${local} 2>/dev/null");
#
# It's OK to use run_git_unquoted() because $local is supplied
# by the local git itself.
my $HEAD_sha1 = run_git_unquoted("rev-parse ${local} 2>/dev/null");
chomp($HEAD_sha1);
# Get sha1 of commit pointed by remotes/$remotename/master
my $remoteorigin_sha1 = run_git("rev-parse refs/remotes/${remotename}/master 2>/dev/null");
#
# It's OK to use run_git_unquoted() here because $remotename is
# supplied by the local git itself.
my $remoteorigin_sha1 = run_git_unquoted("rev-parse refs/remotes/${remotename}/master 2>/dev/null");
chomp($remoteorigin_sha1);

if ($last_local_revid > 0 &&
Expand Down

0 comments on commit 878d150

Please sign in to comment.