git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Feature request: relative paths
@ 2010-05-06  6:01 Eli Barzilay
  2010-05-06  8:31 ` Jonathan Nieder
  0 siblings, 1 reply; 6+ messages in thread
From: Eli Barzilay @ 2010-05-06  6:01 UTC (permalink / raw)
  To: git

An svn feature that I used a lot is `svn cat some-file' -- and with
git I can get close to that with `git show :some-file', except that
unlike other paths, it must be an absolute path from the repository
root.  I could obviously make up a script that will do it, but that's
just buying myself some time until I find some other command where
I'll want to use it.

It looks like it would be relatively easy to do this, since when I do
specify the relative path I get an error message suggesting the full
one (provided that the relative path is simple -- no ".." etc).  So,
now that I can actually UTSL, I went there, and tried some half-assed
hacking -- I made it so "::path" uses the prefix and normalizes the
result, so, for example

  cd git/Documentation
  git show ::../Documentation/./user-manual.conf

works as expected.  Using "::" looks bad IMO, and the hack I did is
likely suffering from some problems, but overall it doesn't look too
hard.

-- 
          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Feature request: relative paths
  2010-05-06  6:01 Feature request: relative paths Eli Barzilay
@ 2010-05-06  8:31 ` Jonathan Nieder
  2010-05-06  8:46   ` Björn Steinbrink
  0 siblings, 1 reply; 6+ messages in thread
From: Jonathan Nieder @ 2010-05-06  8:31 UTC (permalink / raw)
  To: Eli Barzilay; +Cc: git

Eli Barzilay wrote:

> An svn feature that I used a lot is `svn cat some-file' -- and with
> git I can get close to that with `git show :some-file'

git show -- some-file

Hope that helps,
Jonathan

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Feature request: relative paths
  2010-05-06  8:31 ` Jonathan Nieder
@ 2010-05-06  8:46   ` Björn Steinbrink
  2010-05-06  9:01     ` Jonathan Nieder
  2010-05-06  9:04     ` Jeff King
  0 siblings, 2 replies; 6+ messages in thread
From: Björn Steinbrink @ 2010-05-06  8:46 UTC (permalink / raw)
  To: Jonathan Nieder; +Cc: Eli Barzilay, git

On 2010.05.06 03:31:13 -0500, Jonathan Nieder wrote:
> Eli Barzilay wrote:
> 
> > An svn feature that I used a lot is `svn cat some-file' -- and with
> > git I can get close to that with `git show :some-file'
> 
> git show -- some-file

That's the same as "git show HEAD -- some-file" though, which shows a
commit with path-limited diff output. While ":some-file" (most likely)
identifies a blob, so "git show :some-file" shows the contents stored in
that blob.

Björn

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Feature request: relative paths
  2010-05-06  8:46   ` Björn Steinbrink
@ 2010-05-06  9:01     ` Jonathan Nieder
  2010-05-06  9:09       ` Jeff King
  2010-05-06  9:04     ` Jeff King
  1 sibling, 1 reply; 6+ messages in thread
From: Jonathan Nieder @ 2010-05-06  9:01 UTC (permalink / raw)
  To: Björn Steinbrink; +Cc: Eli Barzilay, git

Björn Steinbrink wrote:
> On 2010.05.06 03:31:13 -0500, Jonathan Nieder wrote:

>> git show -- some-file
>
> That's the same as "git show HEAD -- some-file" though, which shows a
> commit with path-limited diff output.

Thanks for catching the thinko.

> While ":some-file" (most likely)
> identifies a blob, so "git show :some-file" shows the contents stored in
> that blob.

I suggest reviving Dscho’s :./ syntax[1].

Cheers,
Jonathan

[1] http://thread.gmane.org/gmane.comp.version-control.git/68786/focus=68905

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Feature request: relative paths
  2010-05-06  8:46   ` Björn Steinbrink
  2010-05-06  9:01     ` Jonathan Nieder
@ 2010-05-06  9:04     ` Jeff King
  1 sibling, 0 replies; 6+ messages in thread
From: Jeff King @ 2010-05-06  9:04 UTC (permalink / raw)
  To: Björn Steinbrink; +Cc: Jonathan Nieder, Eli Barzilay, git

On Thu, May 06, 2010 at 10:46:07AM +0200, Björn Steinbrink wrote:

> > git show -- some-file
> 
> That's the same as "git show HEAD -- some-file" though, which shows a
> commit with path-limited diff output. While ":some-file" (most likely)
> identifies a blob, so "git show :some-file" shows the contents stored in
> that blob.

Yep. What Eli actually wants is to allow relative path specifiers in
tree-selectors. So you could do:

  git show :./some-file

or even

  git show HEAD~20:./some-file

and the "./" bit would magically expand into the current prefix within
the working tree.

This has come up several times on the list. It is a little bit of a
layering violation, because "treeish:path" may or may not bear any
resemblence to your current working tree. And the parsing of that syntax
happens in a fairly deep, library-ish place which doesn't know anything
about the working tree. However, in practice, I think it would be
extremely useful (because your working tree _does_ tend to be related to
the tree-ishs that you look at, especially if that tree-ish is HEAD).

I think in the past there was some vague negative sentiment around the
issues I described above. I don't think an actual patch was ever
produced, but I might be wrong. I suspect the only way to move the
discussion forward would be to actually show a patch.

-Peff

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Feature request: relative paths
  2010-05-06  9:01     ` Jonathan Nieder
@ 2010-05-06  9:09       ` Jeff King
  0 siblings, 0 replies; 6+ messages in thread
From: Jeff King @ 2010-05-06  9:09 UTC (permalink / raw)
  To: Jonathan Nieder; +Cc: Björn Steinbrink, Eli Barzilay, git

On Thu, May 06, 2010 at 04:01:33AM -0500, Jonathan Nieder wrote:

> I suggest reviving Dscho’s :./ syntax[1].
> [1] http://thread.gmane.org/gmane.comp.version-control.git/68786/focus=68905

Oops, I was wrong about "there is no patch" (apparently I even submitted
a followup!).

Yes, I think that patch is a sane start, but it needs some cleanup.

-Peff

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2010-05-06  9:09 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-05-06  6:01 Feature request: relative paths Eli Barzilay
2010-05-06  8:31 ` Jonathan Nieder
2010-05-06  8:46   ` Björn Steinbrink
2010-05-06  9:01     ` Jonathan Nieder
2010-05-06  9:09       ` Jeff King
2010-05-06  9:04     ` Jeff King

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).