The following commit has been merged in the sourcev3 branch: commit b31f4ab67d4878f9d42feedeea417f963cff0611 Author: Frank Lichtenheld <[EMAIL PROTECTED]> Date: Mon Feb 11 00:14:28 2008 +0100
Dpkg::Source::VCS::git: simplify read_git_config * scripts/Dpkg/Source/VCS/git.pm(read_git_config): Simplify by setting $/ = "\0" instead of splitting on \n, which separates keys and values, but can also occour in the values themself. diff --git a/scripts/Dpkg/Source/VCS/git.pm b/scripts/Dpkg/Source/VCS/git.pm index 6867828..9caf241 100644 --- a/scripts/Dpkg/Source/VCS/git.pm +++ b/scripts/Dpkg/Source/VCS/git.pm @@ -81,26 +81,11 @@ sub read_git_config { my %ret; open(GIT_CONFIG, '-|', "git", "config", "--file", $file, "--null", "-l") || subprocerr("git config"); - my ($key, $value); + local $/ = "\0"; while (<GIT_CONFIG>) { - if (! defined $key) { - $key=$_; - chomp $key; - $value=""; - } - elsif (/(.*)\0(.*)/) { - $value.=$1; - push @{$ret{$key}}, $value; - $key=$2; - chomp $key; - $value=""; - } - else { - $value.=$1; - } - } - if (defined $key && length $key) { - push @{$ret{$key}}, $value; + chomp; + my ($key, $value) = split(/\n/, $_, 2); + push @{$ret{$key}}, $value; } close(GIT_CONFIG) || syserr(_g("git config exited nonzero")); @@ -244,7 +229,11 @@ sub post_unpack_tar { print GIT_CONFIG "\n# "._g("The following setting(s) were disabled by dpkg-source").":\n"; foreach my $field (sort keys %config) { foreach my $value (@{$config{$field}}) { + if (defined($value)) { print GIT_CONFIG "# $field=$value\n"; + } else { + print GIT_CONFIG "# $field\n"; + } } } close GIT_CONFIG; -- dpkg's main repository -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]