* interactive rebase editor pathname variable
@ 2010-05-13 18:32 Neal Kreitzinger
2010-05-14 7:59 ` Jonathan Nieder
0 siblings, 1 reply; 3+ messages in thread
From: Neal Kreitzinger @ 2010-05-13 18:32 UTC (permalink / raw)
To: git
Hi,
It appears that git-commit and git-tag pass a partial pathname to the
core.editor, e.g. ".git/COMMIT_EDITMSG" that is relative to the working tree
directory. However, git-rebase -i passes an absolute pathname to the
core.editor, e.g.
"home/someuser/someworkingtree/.git/rebase-merge/git-rebase-todo". This
causes problems in our shop because our proprietary editor cannot handle
pathnames beginning with a period (it translates the period to a slash) and
therefore our entry for core.editor is 'someeditor "$PWD/$1"'. This breaks
on git rebase -i when the $1 contains the full pathname. Can this be added
to the bugfix list for git to make the $1 value passed to core.editor by all
git commands to always be relative pathnames (or absolute pathnames). FWIW,
I prefer absolute pathnames because a config entry of 'someeditor $1' is
more straightforward than 'someeditor "$PWD/$1"'. (Note: the reason I must
pass $1 is because the editor runs on top of a runtime and is actually
called as 'someruntime someeditor "$1"')
v/r,
Neal
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: interactive rebase editor pathname variable
2010-05-13 18:32 interactive rebase editor pathname variable Neal Kreitzinger
@ 2010-05-14 7:59 ` Jonathan Nieder
2010-05-14 12:49 ` Bert Wesarg
0 siblings, 1 reply; 3+ messages in thread
From: Jonathan Nieder @ 2010-05-14 7:59 UTC (permalink / raw)
To: Neal Kreitzinger; +Cc: git
Hi Neal,
Neal Kreitzinger wrote:
> git-rebase -i passes an absolute pathname to the
> core.editor, e.g.
> "home/someuser/someworkingtree/.git/rebase-merge/git-rebase-todo". This
> causes problems in our shop because our proprietary editor cannot handle
> pathnames beginning with a period (it translates the period to a slash) and
> therefore our entry for core.editor is 'someeditor "$PWD/$1"'.
For your example, git uses the shell to run the following command.
someeditor "$PWD/$1" "$@"
I would suggest something like the following instead.
[core]
editor = "sh -c '\
case \"$1\" in \
/*|[A-Za-z]:*) file=\"$1\";; \
*) file=\"$(pwd)/$1\";; \
esac; \
someruntime someditor \"$file\"' -"
Hope that helps,
Jonathan
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: interactive rebase editor pathname variable
2010-05-14 7:59 ` Jonathan Nieder
@ 2010-05-14 12:49 ` Bert Wesarg
0 siblings, 0 replies; 3+ messages in thread
From: Bert Wesarg @ 2010-05-14 12:49 UTC (permalink / raw)
To: Jonathan Nieder; +Cc: Neal Kreitzinger, git
On Fri, May 14, 2010 at 09:59, Jonathan Nieder <jrnieder@gmail.com> wrote:
> Hi Neal,
>
> Neal Kreitzinger wrote:
>
>> git-rebase -i passes an absolute pathname to the
>> core.editor, e.g.
>> "home/someuser/someworkingtree/.git/rebase-merge/git-rebase-todo". This
>> causes problems in our shop because our proprietary editor cannot handle
>> pathnames beginning with a period (it translates the period to a slash) and
>> therefore our entry for core.editor is 'someeditor "$PWD/$1"'.
>
> For your example, git uses the shell to run the following command.
>
> someeditor "$PWD/$1" "$@"
>
> I would suggest something like the following instead.
>
> [core]
> editor = "sh -c '\
> case \"$1\" in \
> /*|[A-Za-z]:*) file=\"$1\";; \
> *) file=\"$(pwd)/$1\";; \
> esac; \
> someruntime someditor \"$file\"' -"
>
Barely tested:
someditor "$PWD/${1/#$PWD\//}"
Bert
> Hope that helps,
> Jonathan
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2010-05-14 12:49 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-05-13 18:32 interactive rebase editor pathname variable Neal Kreitzinger
2010-05-14 7:59 ` Jonathan Nieder
2010-05-14 12:49 ` Bert Wesarg
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).