summaryrefslogtreecommitdiff
path: root/git-cvsimport.perl
diff options
context:
space:
mode:
authorPavel Roskin <proski@gnu.org>2005-11-16 18:27:28 (GMT)
committerJunio C Hamano <junkio@cox.net>2005-11-16 21:19:18 (GMT)
commit8366a10ab21f22deb7ea4a9dbd02effcd279318c (patch)
tree6e4362e3906fcdcbb006cb60f0e67bf0adeb28a3 /git-cvsimport.perl
parentc0c35d5e419f3bf215103b1e26359aca288c2113 (diff)
downloadgit-8366a10ab21f22deb7ea4a9dbd02effcd279318c.zip
git-8366a10ab21f22deb7ea4a9dbd02effcd279318c.tar.gz
git-8366a10ab21f22deb7ea4a9dbd02effcd279318c.tar.bz2
symref support for import scripts
Fix git import script not to assume that .git/HEAD is a symlink. Signed-off-by: Pavel Roskin <proski@gnu.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'git-cvsimport.perl')
-rwxr-xr-xgit-cvsimport.perl9
1 files changed, 6 insertions, 3 deletions
diff --git a/git-cvsimport.perl b/git-cvsimport.perl
index 7bd9136..efe1934 100755
--- a/git-cvsimport.perl
+++ b/git-cvsimport.perl
@@ -437,7 +437,11 @@ unless(-d $git_dir) {
"Either use the correct '-o branch' option,\n".
"or import to a new repository.\n";
- $last_branch = basename(readlink("$git_dir/HEAD"));
+ open(F, "git-symbolic-ref HEAD |") or
+ die "Cannot run git-symbolic-ref: $!\n";
+ chomp ($last_branch = <F>);
+ $last_branch = basename($last_branch);
+ close(F);
unless($last_branch) {
warn "Cannot read the last branch name: $! -- assuming 'master'\n";
$last_branch = "master";
@@ -829,8 +833,7 @@ if($orig_branch) {
print "DONE; creating $orig_branch branch\n" if $opt_v;
system("cp","$git_dir/refs/heads/$opt_o","$git_dir/refs/heads/master")
unless -f "$git_dir/refs/heads/master";
- unlink("$git_dir/HEAD");
- symlink("refs/heads/$orig_branch","$git_dir/HEAD");
+ system('git-update-ref', 'HEAD', "$orig_branch");
unless ($opt_i) {
system('git checkout');
die "checkout failed: $?\n" if $?;