Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
git-svnimport symlink support
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>
git-svnimport.perl
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
2855d58
)
diff --git
a/git-svnimport.perl
b/git-svnimport.perl
index 4d5371ca901cb7579e454443958e8ca360763dbe..60ed7ae3ee450878d8ef6dc3bf1f60670d1078d3 100755
(executable)
--- a/
git-svnimport.perl
+++ b/
git-svnimport.perl
@@
-98,6
+98,7
@@
package SVNconn;
use File::Spec;
use File::Temp qw(tempfile);
use POSIX qw(strftime dup2);
use File::Spec;
use File::Temp qw(tempfile);
use POSIX qw(strftime dup2);
+use Fcntl qw(SEEK_SET);
sub new {
my($what,$repo) = @_;
sub new {
my($what,$repo) = @_;
@@
-143,9
+144,22
@@
sub file {
}
my $mode;
if (exists $properties->{'svn:executable'}) {
}
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 {
} else {
- $mode = '0644';
+ $mode = '
10
0644';
}
close ($fh);
}
close ($fh);