On Wed, 5 May 2009 (yes, different timezones), Kana Natsuno wrote: > On Wed, 06 May 2009 00:42:49 +0900, Jakub Narebski <jnareb@xxxxxxxxx> wrote: > > By the way, you can use continuation-of-line character (end line > > with '\') and/or can embed newlines using C escape sequence, i.e. "\n". > > > > So your code can look like this (although I am not sure it is worth it): > > > > [alias] > > lr = "!$SHELL -c ' \n\ > > n=10; \n\ > > 1=\"${1:-$n}\"; \n\ > > if ! [ \"${1##[0-9]*}\" = \"\" ]; then \n\ > > t=\"$1\"; \n\ > > 1=\"${2:-$n}\"; \n\ > > 2=\"$t\"; \n\ > > fi; \n\ > > git --no-pager l1 --reverse -\"$1\" \"${2:-HEAD}\" \n\ > > ' __dummy__" > > Thank you again, I didn't know that. It is better than what I wrote. By the way, "\n" is there only for nice looking output of git-config for this variable. For config file you need only to escape end of line. > > BTW. you need to quote value because it contains comment character '#' > > in 4th line of script. > > Really? As far as I read the code of git, especially parse_value() in config.c, > it is not necessary to escape '#'s because they are inside of the outermost > doublequotes and they should not be escaped, because \# is an unknown escape > sequence and git rejects them. If #s are escaped, it causes an error as follows: > > $ git config --get alias.lr > fatal: bad config file line 29 in /Users/kana/.gitconfig Errrr... what I meant is that you have to _quote_ value if it contains comment character, compare [string] unquoted = a # b quoted = "a # b" not that you have to escape comment character '#'. But I forgot about the fact that ## in your example is inside quotes anyway. -- Jakub Narebski Poland -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html