Thread (1 message) 1 message, 1 author, 2016-06-15

Re: [PATCH/RFC] diff --relative: output paths as relative to the current subdirectory

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:44:13

Linus Torvalds [off-list ref] writes:
So I simply don't think that we should assume a working directory for any 
basic git operation, unless that operation fundamentally needs one because 
it's only defined for a system with working directories (which is fairly 
rare, but obviously happens: "git reset --hard", "git pull/merge", "git 
checkout" etc).
Yeah, but that begs for a larger design-level question.

Instead of treating "diff --relative=drivers/ a..b", as a
special case, shouldn't we have a more general "I may be in a
bare repository, but please pretend that my prefix were this
path" option?

    $ git --prefix=drivers/ diff --relative a..b -- scsi
    $ git --prefix=drivers/scsi log a..b .

Of course, if you are truly in a bare repository and if you did
an operation that wants a work tree, you would get mostly
useless results, e.g.

    $ git --prefix=fs/ diff v2.6.24 -- ext3

will give you tons of whole-file removals.

I suspect that a lot of existing code assumes a non NULL prefix
automatically means we have work tree, which needs to be fixed,
if we go this route, though.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help