emacs-devel
[Top][All Lists]
Advanced

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

Re: Multiple checkout copies


From: David Kastrup
Subject: Re: Multiple checkout copies
Date: Tue, 03 Feb 2015 14:57:11 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux)

Ivan Shmakov <address@hidden> writes:

>>>>>> David Kastrup <address@hidden> writes:
>>>>>> Achim Gratz <address@hidden> writes:
>
> […]
>
>  >> In any case, as long as the repo cloned via "--shared" is a bare
>  >> repository that was cloned from upstream Emacs and you do not clone
>  >> the second generation again in this manner, "--shared" is still
>  >> safe.
>
>  > No, it isn't.  You can have both local branches and remote branches
>  > removed from the cloned bare repo while your --shared clone still
>  > uses objects that are no longer retained in the first clone.
>
>       “Can” in the sense that you /can/ use Git to shoot yourself in
>       the foot, or are there cases where git-fetch(1) would indeed
>       autoremove any branch references from a bare repository?

If you want to mirror the upstream, you'll use "git fetch -p" in order
to have branches that are removed upstream to get deleted in the mirror
as well.  Even without -p, references in frequently rewritten work
branches (like Git's pu or next branches) will disappear eventually.

>  >> It can still be a net win for throw-away clones needed during a
>  >> build.
>
>  > Basically the only sensible use is for temporary clones used (and
>  > deleted again) within a script.
>
>       I use a separate filesystem for local mirrors, including those
>       of upstream Git repositories.  Thus, --shared is pretty much the
>       only space-saving option.
>
>       Works for me that way since c. 2008.

"Works for me" is subject to "until it doesn't".  Which is the whole
point about warning about potentially dangerous operations.

-- 
David Kastrup



reply via email to

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