summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 2855d58)
raw | patch | inline | side by side (parent: 2855d58)
author | Herbert Valerio Riedel <hvr@gnu.org> | |
Mon, 17 Apr 2006 10:58:39 +0000 (06:58 -0400) | ||
committer | Junio C Hamano <junkio@cox.net> | |
Tue, 18 Apr 2006 09:26:52 +0000 (02:26 -0700) |
added svn:special symlink support for access methods other than
direct-http
Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Acked-by: Matthias Urlichs <smurf@smurf.noris.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
direct-http
Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Acked-by: Matthias Urlichs <smurf@smurf.noris.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
git-svnimport.perl | patch | blob | history |
diff --git a/git-svnimport.perl b/git-svnimport.perl
index 4d5371ca901cb7579e454443958e8ca360763dbe..60ed7ae3ee450878d8ef6dc3bf1f60670d1078d3 100755 (executable)
--- a/git-svnimport.perl
+++ b/git-svnimport.perl
use File::Spec;
use File::Temp qw(tempfile);
use POSIX qw(strftime dup2);
+use Fcntl qw(SEEK_SET);
sub new {
my($what,$repo) = @_;
}
my $mode;
if (exists $properties->{'svn:executable'}) {
- $mode = '0755';
+ $mode = '100755';
+ } elsif (exists $properties->{'svn:special'}) {
+ my ($special_content, $filesize);
+ $filesize = tell $fh;
+ seek $fh, 0, SEEK_SET;
+ read $fh, $special_content, $filesize;
+ if ($special_content =~ s/^link //) {
+ $mode = '120000';
+ seek $fh, 0, SEEK_SET;
+ truncate $fh, 0;
+ print $fh $special_content;
+ } else {
+ die "unexpected svn:special file encountered";
+ }
} else {
- $mode = '0644';
+ $mode = '100644';
}
close ($fh);