From: Dirk Süsserott Date: Mon, 24 Mar 2008 13:15:21 GMT Subject: Re: git-config: aliases with parameter expansion ($1 and such) Message-ID: <47E7A969.8010405@dirk.my1.cc> In-Reply-To: <7vzlso3kjc.fsf@gitster.siamese.dyndns.org> Thanks for the help. Both (1) atag = !sh -c 'git tag -a -m "$0" "$0"' and (2) atag = !sh -c 'git tag -a -m "$1" "$1"' - work, but in the latter case the '-' is indeed crucial. If not given, $1 is not set and git tag complains badly. When called without any args, (1) sets a tag called "sh" whereas (2) complains about the missing value for the -m option. So I decided to use the second form. Shells are funny things. ;-) BTW: Is it true that "-a" is implicitely added to "git tag" when the "-m" switch is present, i.e. are $ git tag -m foo foo and $ git tag -a -m foo foo equivalent? Thought so, but it's not in the docs. Junio C Hamano schrieb: > "Jay Soffian" writes: > > >> All my shell aliases therefor look like: >> >> h = "!sh -c 'git alias \"$1\" || git help \"$1\"' -" >> >> (Notice the trailing '-'.) >> > > Just for my curiosity, why aren't they > > >> h = "!sh -c 'git alias \"$0\" || git help \"$0\"'" >> > > without trailing '-'? >