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