From: Ivan Shmakov <ivan@siamics.net>
To: emacs-devel@gnu.org
Subject: Re: Multiple checkout copies
Date: Tue, 03 Feb 2015 19:17:36 +0000 [thread overview]
Message-ID: <877fvyhkj3.fsf@violet.siamics.net> (raw)
In-Reply-To: <87zj8u25eh.fsf@fencepost.gnu.org> (David Kastrup's message of "Tue, 03 Feb 2015 19:53:26 +0100")
>>>>> David Kastrup <dak@gnu.org> writes:
>>>>> Ivan Shmakov <ivan@siamics.net> writes:
>>>>> David Kastrup <dak@gnu.org> writes:
[…]
>>> 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.
>> And why would I want that,
> In order not to accumulate temporary branches that are no longer
> present in upstream?
How would the branches “accumulate” in the case git-fetch(1) is
given an explicit list of them to follow?
>> especially given that I’m already aware that a. some of the objects
>> may be used elsewhere (and thus such an operation would be
>> potentially unsafe) and b. the packs received from the remote are
>> likely to contain a mix of Git objects belonging to both removed and
>> extant branches,
> Why would they?
Because the development happens in several branches in parallel?
>> and it would thus /not/ be possible to remove them anyway?
>> And as for repacking such a mirror from time to time, — it’s going
>> to be a sure nuisance due to backup reasons, etc.
> Uh, it's going to get repacked anyway. Git does that without asking.
… Unless disabled with gc.auto = 0, gc.autopacklimit = 0.
>>> Even without -p, references in frequently rewritten work branches
>>> (like Git's pu or next branches) will disappear eventually.
>> Do fast-forward updates (which git-fetch(1) defaults to) ever result
>> in dangling Git objects?
> Maybe it would be worth checking the man pages before making such
> statements. It's just annoying when people spray arbitrary
> statements to the list and leave it to others to clean up.
> git-fetch does not merge in any manner and consequently also does not
> "fast-forward". It updates references after making them backed by
> the respective objects. You are confusing this with the git-pull
> action of updating a local branch based on a remote-tracking branch.
Well, would you then care to explain the wording of the Git
error message below?
+ git fetch -t origin master:master
From git://github.com/XXX/XXX
! [rejected] master -> master (non-fast-forward)
Not to mention that git-fetch(1) explicitly uses this same term
(as of Git 2.1.4.)
I do not generally support the opinion that Git terminology is
confusing, but I find it quite possible that it may sometimes be
inconsistent at best. Maybe it’s just such a case.
> There is a very limited situation when using explicit branch names
> for source and target branch where git-fetch will only update a
> reference to a non-descendant when given the option -f.
Yes.
[…]
>> Also, I’m typically interested in mirroring just a few branches
>> (mostly ‘master’ and the latest stable, if any.) Per my experience,
>> such branches rarely (if ever) get “rewritten.”
> "I'm typically interested in" is no base for promoting problematic
> workflows since it violates the "do not use it unless you understand
> what it does" dictum for the recipient of such a recipe.
The whole idea behind this discussion is to clarify when
--shared is reasonable, — and when it isn’t. Isn’t it?
--
FSF associate member #7257 http://boycottsystemd.org/ … 3013 B6A0 230E 334A
next prev parent reply other threads:[~2015-02-03 19:17 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-01 20:34 Multiple checkout copies Richard Stallman
2015-02-01 21:43 ` Paul Eggert
2015-02-02 13:35 ` Richard Stallman
2015-02-02 15:19 ` Elias Mårtenson
2015-02-03 1:10 ` Richard Stallman
2015-02-03 1:32 ` Paul Eggert
2015-02-03 8:40 ` David Kastrup
2015-02-02 17:42 ` Ivan Shmakov
2015-02-02 18:12 ` Ivan Shmakov
2015-02-03 1:10 ` Richard Stallman
2015-02-03 7:14 ` Ivan Shmakov
2015-02-03 10:02 ` Achim Gratz
2015-02-03 10:22 ` David Kastrup
2015-02-03 12:53 ` Achim Gratz
2015-02-03 13:15 ` David Kastrup
2015-02-03 13:37 ` Ivan Shmakov
2015-02-03 13:57 ` David Kastrup
2015-02-03 18:30 ` Ivan Shmakov
2015-02-03 18:53 ` David Kastrup
2015-02-03 19:17 ` Ivan Shmakov [this message]
2015-02-03 19:41 ` David Kastrup
2015-02-03 20:25 ` Ivan Shmakov
2015-02-04 23:02 ` Richard Stallman
2015-02-03 17:46 ` Stefan Monnier
2015-02-03 16:50 ` Steinar Bang
2015-02-03 17:05 ` David Kastrup
2015-02-03 22:55 ` Steinar Bang
2015-02-03 23:05 ` Richard Stallman
2015-02-04 8:48 ` Achim Gratz
2015-02-04 8:55 ` David Kastrup
2015-02-04 12:02 ` Ivan Shmakov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=877fvyhkj3.fsf@violet.siamics.net \
--to=ivan@siamics.net \
--cc=emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).