Thread (1 message) 1 message, 1 author, 2016-06-15

Re: Borrowing objects from nearby repositories

From: Junio C Hamano <hidden>
Date: 2016-06-15 23:00:31

Ævar Arnfjörð Bjarmason [off-list ref] writes:
quoted
1) Introduce '--borrow' to `git-fetch`.  This would behave similarly
to '--reference', except that it operates on a temporary basis, and
does not assume that the reference repository will exist after the
operation completes, so any used objects are copied into the local
objects database.  In theory, this mechanism would be distinct from
--reference', so if both are used, some objects would be copied, and
some objects would be accessible via a reference repository referenced
by the alternates file.

Isn't this the same as git clone --reference <path> --no-hardlinks
<url> ?

Also without --no-hardlinks we're not assuming that the other repo
doesn't go away (you could rm-rf it), just that the files won't be
*modified*, which Git won't do, but you could manually do with other
tools, so the default is to hardlink.
I think that the standard practice with the existing toolset is to
clone with reference and then repack.  That is:

    $ git clone --reference <borrowee> git://over/there mine
    $ cd mine
    $ git repack -a -d

And then you can try this:

    $ mv .git/objects/info/alternates .git/objects/info/alternates.disabled
    $ git fsck

to make sure that you are no longer borrowing anything from the
borrowee.  Once you are satisfied, you can remove the saved-away
alternates.disabled file.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help