Code

git-gui: Copy objects/info/alternates during standard clone
authorShawn O. Pearce <spearce@spearce.org>
Mon, 24 Sep 2007 12:50:58 +0000 (08:50 -0400)
committerShawn O. Pearce <spearce@spearce.org>
Tue, 25 Sep 2007 01:48:39 +0000 (21:48 -0400)
commit85f77eadcc1d6e5a62079ab86988ffe95e9421d5
treea1f90b93957cc635016ac059c434d3cbf7975d5c
parent81d4d3dddc5e96aea45a2623c9b1840491348b92
git-gui: Copy objects/info/alternates during standard clone

If the source repository is using an objects/info/alternates file
we need to copy the file to our new repository so that it can access
any objects that won't be copied/hardlinked as they are stored in the
alternate location.

We explicitly resolve all paths in the objects/info/alternates as
relative to the source repository but then convert them into an
absolute path for the new clone.  This allows the new clone to
access the exact same locaton as the source repository, even if
relative paths had been used before.

Under Cygwin we assume that Git is Cygwin based and that the paths
in objects/info/alternates must be valid Cygwin UNIX paths, so we
need to run `cygpath --unix` on each line in the alternate list.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
lib/choose_repository.tcl