On Wed, Oct 30, 2013 at 11:54 PM, Junio C Hamano <gits...@pobox.com> wrote:
> Eugene Sajine <eugu...@gmail.com> writes:
>> That was my initial intention, because I would like to be able to pass
>> parameters like to git log or git blame correctly without the explicit
>> use of $1. Could you please advise about how to make it work with the
>> !sh -c ?
>> Because the same exact (sed 's/@\\S*//') syntax didn't work with "sh -c".
> You can make it work if you think step-by-step. First, this is what
> you want to run:
> sh -c 'git log --format="..." "$@" | sed "s/@\S*//"' -
> so that "git euguess master..next" would turn into
> sh -c 'git log --format="..." "$@" | sed "s/@\S*//"' - master..next
> Now, you want to wrap it into an alias, i.e.
> euguess = "!sh -c ..."
> That ... part is read by our configuration reader, so you need to
> quote the double quotes and backslashes with backslash, which would
> give you something like:
> euguess = "!sh -c 'git log --format=\"%h %ae %s\"
> --date=short \"$@\" | sed \"s/@\\S*//\"' -"
Thanks for taking the time - I appreciate that a lot.
It does work properly now except there is some difference between the
when i'm in a subfolder in git repo i can say
git log filename
But it seems that if the alias is used i need to specify full path
from the root of the repo no matter where i am.
git log a/b/c/filename
the difference is obviously in the working directory
when i add an alias:
pd = "!sh -c 'pwd'"
i get this:
$ git pd
Is there any way to help that situation?
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