summaryrefslogtreecommitdiff
path: root/git-svn.perl
diff options
context:
space:
mode:
authorMarten Svanfeldt (dev) <developer@svanfeldt.com>2008-11-12 16:38:06 (GMT)
committerEric Wong <normalperson@yhbt.net>2008-11-14 06:42:45 (GMT)
commit1b3069a753e2a2a3794db9235ea79747833cad65 (patch)
tree51a83920b46de4b1eeea7b92f37936eeb5f900aa /git-svn.perl
parentbcdd1b4456998256df19ea0347bf4a7fa5410eef (diff)
downloadgit-1b3069a753e2a2a3794db9235ea79747833cad65.zip
git-1b3069a753e2a2a3794db9235ea79747833cad65.tar.gz
git-1b3069a753e2a2a3794db9235ea79747833cad65.tar.bz2
git-svn: Update git-svn to use the ability to place temporary files within repository directory
This fixes git-svn within msys where Perl will provide temporary files with path such as /tmp while the git suit expects native Windows paths. Signed-off-by: Marten Svanfeldt <developer@svanfeldt.com> Acked-by: Eric Wong <normalperson@yhbt.net>
Diffstat (limited to 'git-svn.perl')
-rwxr-xr-xgit-svn.perl9
1 files changed, 5 insertions, 4 deletions
diff --git a/git-svn.perl b/git-svn.perl
index 86075ec..914c707 100755
--- a/git-svn.perl
+++ b/git-svn.perl
@@ -3332,11 +3332,11 @@ sub change_file_prop {
sub apply_textdelta {
my ($self, $fb, $exp) = @_;
- my $fh = Git::temp_acquire('svn_delta');
+ my $fh = $::_repository->temp_acquire('svn_delta');
# $fh gets auto-closed() by SVN::TxDelta::apply(),
# (but $base does not,) so dup() it for reading in close_file
open my $dup, '<&', $fh or croak $!;
- my $base = Git::temp_acquire('git_blob');
+ my $base = $::_repository->temp_acquire('git_blob');
if ($fb->{blob}) {
print $base 'link ' if ($fb->{mode_a} == 120000);
my $size = $::_repository->cat_blob($fb->{blob}, $base);
@@ -3377,7 +3377,8 @@ sub close_file {
warn "$path has mode 120000",
" but is not a link\n";
} else {
- my $tmp_fh = Git::temp_acquire('svn_hash');
+ my $tmp_fh = $::_repository->temp_acquire(
+ 'svn_hash');
my $res;
while ($res = sysread($fh, my $str, 1024)) {
my $out = syswrite($tmp_fh, $str, $res);
@@ -3765,7 +3766,7 @@ sub change_file_prop {
sub _chg_file_get_blob ($$$$) {
my ($self, $fbat, $m, $which) = @_;
- my $fh = Git::temp_acquire("git_blob_$which");
+ my $fh = $::_repository->temp_acquire("git_blob_$which");
if ($m->{"mode_$which"} =~ /^120/) {
print $fh 'link ' or croak $!;
$self->change_file_prop($fbat,'svn:special','*');