emacs-devel
[Top][All Lists]
Advanced

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

Re: Multiple checkout copies


From: Ivan Shmakov
Subject: Re: Multiple checkout copies
Date: Mon, 02 Feb 2015 18:12:43 +0000
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)

>>>>> Ivan Shmakov <address@hidden> writes:

[…]

 > also setting up .git/objects/info/alternates under the latter
 > pointing to emacs-1/.git/objects, so that all the Git commits
 > available under the first are also available under the second.

 > $ git clone --shared emacs-1 emacs-2

 > The branches and tags of these two working copies are entirely
 > independent, however.

 > The --shared option is the default when both the source and the
 > target directories are on the same filesystem.

        I stand corrected, – the default in this case is to use
        hardlinks for the Git objects; no ‘alternates’ file is involved.

        Using --shared may be risky, as Git may choose to GC the
        dangling objects away from emacs-1, not taking into account the
        possibility of them being used in some other trees.  In my case,
        the source directory is often a “bare” Git repository used only
        to mirror the upstream one, and thus it has no “local” commits,
        which are somewhat likely to become dangling after rebases and
        such.  (And the upstream branches these mirrors track are
        fast-forward, so git-fetch(1) isn’t going to produce any
        dangling objects, either.)

-- 
FSF associate member #7257  http://boycottsystemd.org/  … 3013 B6A0 230E 334A



reply via email to

[Prev in Thread] Current Thread [Next in Thread]