Re: Cloning empty repositories, was Re: What is the idea for bare repositories?
- From
Jeff King <peff@peff.net>
- Date
- Nov 15, 2007, 06:19 UTC
- Message-ID
- <20071115061941.GC10185@sigill.intra.peff.net>
- In-Reply-To
- <7vfxz8hbcf.fsf@gitster.siamese.dyndns.org>
On Wed, Nov 14, 2007 at 11:32:32AM -0800, Junio C Hamano wrote:
> We already spent quite a lot of time on this thread, and at > least to me I feel that my time would have been better spent if > instead I were looking at patches on some other topics, or > working on cleaning up cherry-pick/revert implementation.
Personally, I think cloning empty repositories should be allowed, but there are many more interesting things to be working on right now. However, I think the current behavior of not printing anything is quite bad, so here is a productive email that didn't take too long to write.
-- >8 -- git-clone: print an error message when trying to clone empty repo
Previously, cloning an empty repository looked like this:
$ (mkdir parent && cd parent && git --bare init) $ git-clone parent child Initialized empty Git repository in /home/peff/clone/child/.git/ $ cd child -bash: cd: child: No such file or directory $ echo 'wtf?' | mail git@vger.kernel.org
Now we at least report that the clone was not successful.
---
diff --git a/git-clone.sh b/git-clone.sh index 18003ab..e2b7a9c 100755 --- a/git-clone.sh +++ b/git-clone.sh @@ -278,7 +278,8 @@ yes) find objects -type f -print | sed -e 1q) # objects directory should not be empty because # we are cloning! - test -f "$repo/$sample_file" || exit + test -f "$repo/$sample_file" || + die "fatal: cannot clone empty repository" if ln "$repo/$sample_file" "$GIT_DIR/objects/sample" 2>/dev/null then rm -f "$GIT_DIR/objects/sample"