git-gui clone: What is the difference of each “Clone Type”?
Using the standard
git-gui (v 0.20.GITGUI), there are three “Clone type” options, when you want to clone a repository:
- Full Copy
What is the difference between these three types?
Is this a
git-gui thing, or is there a command line equivalent?
One Solution collect form web for “git-gui clone: What is the difference of each “Clone Type”?”
Those messages come from commit ab08b36, gitgui-0.9.0, Sept. 2007 (ten years ago!), by Shawn O. Pearce (
Shawn commented at the time:
If the source repository is on the local disk we try to use a
hardlink to connect the objects into the new clone as this can
be many times faster than copying the objects or packing them and
passing the data through a pipe to index-pack.
git-clone, we stick to pure Tcl [file link -hard] operation thus avoiding the need to fork a cpio process to setup the hardlinks.
If hardlinks do not appear to be supported (e.g. filesystem doesn’t allow them or we are crossing filesystem boundaries) we use file copying instead.
So there is no exact git clone equivalent.
But shared and hardlink applies only for cloning local repos and are equivalent to
git clone -l and
git clone --shared.
Full will copy all pack files.