git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* 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).