[PATCH] Use git-for-each-ref to check whether the origin branch exists.
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- May 23, 2007, 11:13 UTC
- Message-ID
- <Pine.LNX.4.64.0705231153000.4113@racer.site>
- In-Reply-To
- <Pine.LNX.4.64.0705230909310.25524@lar.bfw.de>
From: Stephan Springl <springl-git@bfw-online.de>
This works in repositories that have their refs packed by "git-pack-refs --all --prune" whereas testing the file $git_dir/refs/heads/$opt_o does not.
Acked-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
---
On Wed, 23 May 2007, Stephan Springl wrote: > This helps us to use git-cvsimport on our ref-packed > repositories.
Default for ref-packed repositories is to pack only the tags, therefore you usually do not need this patch. However, it looks obviously correct to me. A cursory test also showed that it does not break anything.
> Maybe you want to use this or a similar solution to be > integrated in stock git. Unfortunately your patch is white-space corrupted (it has an extra space on all lines starting with a space, it seems). Therefore I redid it with this email.
It would be nice to follow Documentation/SubmittingPatches next time. For example, I guess that you want to sign off on it...
git-cvsimport.perl | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/git-cvsimport.perl b/git-cvsimport.perl index ac74bc5..f68afe7 100755 --- a/git-cvsimport.perl +++ b/git-cvsimport.perl @@ -559,11 +559,6 @@ unless (-d $git_dir) { $last_branch = $opt_o; $orig_branch = ""; } else { - -f "$git_dir/refs/heads/$opt_o" - or die "Branch '$opt_o' does not exist.\n". - "Either use the correct '-o branch' option,\n". - "or import to a new repository.\n"; - open(F, "git-symbolic-ref HEAD |") or die "Cannot run git-symbolic-ref: $!\n"; chomp ($last_branch = <F>); @@ -588,6 +583,11 @@ unless (-d $git_dir) { $branch_date{$head} = $1; } close(H); + if (!exists $branch_date{$opt_o}) { + die "Branch '$opt_o' does not exist.\n". + "Either use the correct '-o branch' option,\n". + "or import to a new repository.\n"; + } } -d $git_dir
-- 1.5.2.2527.ga2df