From: Yann Dirson <dirson@bertin.fr>
To: Zefram <zefram@fysh.org>
Cc: Jeff King <peff@peff.net>, git@vger.kernel.org
Subject: Re: ghost refs
Date: Tue, 20 Apr 2010 15:00:15 +0200 [thread overview]
Message-ID: <20100420150015.4bd80387@chalon.bertin.fr> (raw)
In-Reply-To: <20100420120228.GM17930@lake.fysh.org>
Le Tue, 20 Apr 2010 13:02:28 +0100,
Zefram <zefram@fysh.org> a écrit :
> Jeff King wrote:
> > 2. Make a refs/dead hierarchy so that the reflogs don't interfere
> > with new branches. This just pushes off the problem, though, for
> > when you try to delete "foo/bar" and see that "refs/dead/foo" is
> > already blocking its spot in the reflog graveyard.
>
> This is easily solved by tweaking the name for dead reflogs.
> logs/dead_refs/foo~ doesn't clash with logs/dead_refs/foo/bar~.
>
> You might also want to stick a sequence number into the filename, for
> when you delete more than one foo/bar branch.
That sounds cool. A logs/dead_refs/ namespace of some sort seems to be
unavoidable, to avoid the clash between old "logs/refs/foo/bar~"
and new "logs/refs/foo".
We would also need a syntax for accessing those. Maybe something
reminiscent of Debian "epochs" in version number. That would
give a syntax like "foo@{1:1}" and "foo@{2:1}" to access the dead and
long-dead refs' logs, respectively looking into foo~<largest> and
foo~<largest-1>.
Going that way, we would probably want to add a "delete" entries in the
reflog when deleting a ref - but that would make "foo@{1:0}" a
non-sense, we could just reject it.
Another option than adding a sequence number would be to move back the
dead_refs/ log back to refs/ when the branch is creating again. That
way just after resurection we have:
foo@{0} : now
foo@{1} : invalid (deleted state)
foo@{2} : the ref as it was 2 operations before
That would kinda make sense too, but then if the new "foo" is something
completely unrelated, we may rather want to refer to foo{1:1}
(which is stable until next deletion of foo) rather than foo@{2}, which
varies with current foo. But the 1st solution could give us that too,
by considering logs/dead_refs/foo~ the logical continuation of
logs/refs/foo.
Would that make sense ?
--
Yann
next prev parent reply other threads:[~2010-04-20 13:09 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-07 16:38 ghost refs John Dlugosz
2010-04-07 16:58 ` Avery Pennarun
2010-04-07 21:00 ` Jeff King
2010-04-07 22:00 ` John Dlugosz
2010-04-07 22:03 ` Avery Pennarun
2010-04-07 22:10 ` John Dlugosz
2010-04-07 22:11 ` Avery Pennarun
2010-04-08 4:30 ` Jeff King
2010-04-08 16:07 ` John Dlugosz
2010-04-08 16:55 ` Junio C Hamano
2010-04-08 19:49 ` Jeff King
2010-04-08 20:42 ` Junio C Hamano
2010-04-08 22:14 ` Avery Pennarun
2010-04-08 23:04 ` Nicolas Sebrecht
2010-04-17 11:51 ` Jeff King
2010-04-17 16:32 ` Junio C Hamano
2010-04-17 16:57 ` Git documentation writing guidelines (was: Re: ghost refs) Jakub Narebski
2010-04-18 0:28 ` Git documentation writing guidelines Junio C Hamano
2010-04-19 15:33 ` ghost refs John Dlugosz
2010-04-20 7:02 ` Yann Dirson
2010-04-20 11:51 ` Jeff King
2010-04-20 12:02 ` Zefram
2010-04-20 13:00 ` Yann Dirson [this message]
2010-04-20 13:14 ` Zefram
2010-04-20 13:33 ` Jay Soffian
2010-04-20 14:24 ` Jeff King
2010-04-20 14:42 ` Yann Dirson
2010-04-20 14:52 ` Jay Soffian
2010-04-20 15:03 ` Alex Riesen
2010-04-20 15:10 ` Jeff King
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100420150015.4bd80387@chalon.bertin.fr \
--to=dirson@bertin.fr \
--cc=git@vger.kernel.org \
--cc=peff@peff.net \
--cc=zefram@fysh.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.
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 NNTP newsgroup(s).