Thread (2 messages) flat view 2 messages, 2 authors, 2016-06-15

Re: [RFC 0/3] Reflogs for deleted refs: fix breakage and suggest namespace change

From: Alexey Muranov <hidden>
Date: 2016-06-15 22:54:30

On 19 Aug 2012, at 19:38, Junio C Hamano wrote:
Alexey Muranov [off-list ref] writes:
quoted
2. I think that allowing both "next" and "next/foo" complicates
the mapping from branch names to file paths, and it does not seem
necessary if dead reflogs are moved away to "graveyard" anyway.
It is unclear why the first two lines above leads to the conclusion
"it does not seem necessary" (but honestly, I do not particularly
care).
I thought that the first reason that allowing "next" and "next/foo" seemed necessary was avoiding conflicts with dead reflogs or between dead reflogs.  If dead reflog for "next/foo" is moved away, it will not conflict with a new one for "next".  There remains a problem with a conflict between dead "next/foo" and dead "next".  This can be solved as Jeff suggested by adding special "escape" symbols, or as i suggested below, by keeping reflogs deleted on different occasions in different "timestamp" directories.
quoted
3. There remains the question what to do with dead reflogs for
different branches having the same name.  Maybe, keep the death
date and time under the graveyard directory and not allow the user
to delete 2 times in less than 1 second?

/logs/graveyard/yyyy-mm-dd-hhmmss/refs/heads/next/foo
How would that help us in what way?

When I ask "git log -g next/foo" for the "next/foo" branch that
currently exists, I want to see the update history of its tip since
I created it for the last time, and then an entry that says I
created it at such and such time.  If I used to have the branch
before but deleted, then the output should be followed by another
entry that says I deleted it at such and such time, followed by the
history of the tip updates.
I only suggested how to resolve conflicts between dead reflogs in graveyard if "next" and "next/foo" cannot coexist.
For example, if first "next/foo" was created and deleted, and then "next" was created and deleted.  It also seems nice to me to have dead reflogs for different identically named branches (created and deleted independently) in separate files.

It is possible to collect the information for "git log -g next/foo" by looking through all "timestamp" subdirectories in graveyard.

-Alexey.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help