[PATCH] cvsimport: use git-update-ref when updating
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Mar 30, 2006, 12:06 UTC
- Message-ID
- <Pine.LNX.4.63.0603301405160.18852@wbgn013.biozentrum.uni-wuerzburg.de>
This simplifies code, and also fixes a subtle bug: when importing in a shared repository, where another user last imported from CVS, cvsimport used to complain that it could not open <branch> for update.
Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
---
git-cvsimport.perl | 7 ++----- 1 files changed, 2 insertions(+), 5 deletions(-)
diff --git a/git-cvsimport.perl b/git-cvsimport.perl index 3728294..957af13 100755 --- a/git-cvsimport.perl +++ b/git-cvsimport.perl @@ -15,6 +15,7 @@ # You can change that with the '-o' opti use strict; use warnings; +use Fcntl; use Getopt::Std; use File::Spec; use File::Temp qw(tempfile); @@ -677,11 +678,7 @@ my $commit = sub { waitpid($pid,0); die "Error running git-commit-tree: $?\n" if $?; - open(C,">$git_dir/refs/heads/$branch") - or die "Cannot open branch $branch for update: $!\n"; - print C "$cid\n" - or die "Cannot write branch $branch for update: $!\n"; - close(C) + system("git-update-ref refs/heads/$branch $cid") == 0 or die "Cannot write branch $branch for update: $!\n"; if($tag) {