git fetch --reference

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I surprised myself trying to run git fetch --reference <local directory> <remote> in the hope git would use my <local directory> to resolve objects present in <remote> but not in my current repository ... just like git clone --reference <local directory> <URL>:

--reference <repository>
If the reference repository is on the local machine, automatically setup .git/objects/info/alternates to obtain objects from the reference repository. Using an already existing repository as an alternate will require fewer objects to be copied from the repository being cloned, reducing network and local storage
           costs.

git fetch --reference would set up a temporary objects/info/alternates ... and skrew everything up.

Having a git fetch --reference option would be great, so that I could fetch one remote and the other related one in a row without any special setup. [At this point, you're likely to suggest me to use a local mirror that I would git clone/fetch from, and your probably right, but for a one time hack, it's cumbersome.]

In the end I've read http://git-blame.blogspot.fr/2012/08/bringing-bit-more-sanity-to-alternates.html

First I thought having "git alternatives add" would enable me to temporary add the --reference <directory> before running git fetch ... But it seems --reference doesn't work as I first understand it: git clone --reference don't *copy* object from the --reference <repository> instead of *copying* them from the cloned <url>, eg. using --reference <repository> as kind of mirror. Instead --reference <repository> seems to add a kind of a symlink. And if the --reference <repository> disappear, things are going to be lost. See this : http://randyfay.com/content/git-clone-reference-considered-harmfu

So setting a temporary alternate with git fetch --reference is a non-sense ... To achieve what I intend to do with this option, a git repack would need to be issued to actually
copy the objects from the --reference <repository>.

So what's the best way to do a git fetch <remote>, copying objects from another local repository
to resolve delta ?

Regards.

--
Yann Droneaud
OPTEYA


--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]