On Sun, Jul 15, 2012 at 01:24:18AM +0300, Zeeshan Ali (Khattak) wrote:
> > Think what "log ^^ origin" would mean. Is it "log ^HEAD^ origin"?
> > Is it "log HEAD^^ origin"? They mean totally different things.
> Sorry for my ignorance here but what does ^ *before* HEAD even mean? I
It means "not" (before "HEAD" or any other commit specifier). See
"Specifying Ranges" in "git help revisions".
> > Compared to that, at least ~<n> does not have such ambiguity within
> > the context of Git (having to quote is an ambiguity within the
> > context of using Git with shells that support dirstacks in their
> > tilde expansion).
> Don't know whats dirstacks support either but that I guess just means
> that bash (the shell I have always used) doesn't do that.
Bash does support them, but you may not use them personally. Here are
some examples of how a more bare "~" can go wrong:
$ set -x
[this instructs the shell to show us what it is executing]
$ git log ~
+ git log /home/peff
[oops, the shell expanded our home directory and passed it to git]
$ git log ~1
+ git log '~1'
[this one works ok, but...]
$ pushd /tmp
$ pushd $HOME
$ git log ~1
+ git log /tmp
[oops, pushd users cannot use ~<n> without quoting]
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html