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

Re: [PATCH] replace: List replacement along with the object

From: Michael J Gruber <hidden>
Date: 2016-06-15 22:51:55

Christian Couder venit, vidit, dixit 25.08.2011 18:29:
On Thu, Aug 25, 2011 at 4:39 PM, Michael J Gruber
[off-list ref] wrote:
quoted
The documentation could be misunderstood as if "git replace -l" lists
the replacements of the specified objects. Currently, it lists the
replaced objects.
You could just change the documentation to make it more explicit.
Well, sure. I just didn't find the current form that useful.
quoted
Change the output to the form "<object> <replacement>" so that there is
an easy way to find the replacement, besides the more difficult to find
git show-ref $(git replace -l).
I shamelessly copied the "-l <pattern>" feature and the documentation
from "git tag". If you just change the output of "git replace -l" it
will make the UI inconsistent between both commands.
I don't think many people will expect consistency between branch and tag
on the one hand, and replace refs on the other hand. It requires the
knowledge that a replacement is basically a lightweight tag stored in a
different namespace in refs/, which I would actually consider an
implementation detail.
Maybe you could add a "-L <pattern>" feature to "git replace", "git
tag" and "git branch" that would output "<ref name> <ref content>"?
I'd use "-v" then if this is about consistency, because that *always*
means "verbose", and migrate the misnamed "git tag -v"...

Junio C Hamano venit, vidit, dixit 25.08.2011 21:07:
Michael J Gruber [off-list ref] writes:
quoted
The documentation could be misunderstood as if "git replace -l" lists
the replacements of the specified objects. Currently, it lists the
replaced objects.
Seeing that you had to change existing tests, I do not think this is an
improvement. The existing scripts can read the list of objects and find
replacement themselves (if they want to find that out, that is), no?
If "replace -l" is considered fair game for scripts then the output
should probably not change, though I left the meaning of "$1" for each
line of the output as is on purpose.

But, how would scripts find the replacement? rev-parse does not do it,
rev-list does not do it, and using show-ref requires the user to know
about the actual implementation as refs under refs/replace.

Seems that the doc change is the only option.

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