> kfogel@tigris.org writes:
>
>>http://subversion.tigris.org/issues/show_bug.cgi?id=2434
>
>>------- Additional comments from kfogel@tigris.org Mon Nov 7 09:59:04 -0800 2005 -------
>>So, anyone know if there's a Cygwin (or APR) function for escaping a
>>path so that it can be invoked as an executable reliably on Cygwin?
>>Should we just put the executable path in single quotes or
>>something?
This is a cross-platform issue, not specific to CygWin.
The implementation uses "system()" which requires that the program name and
arguments are represented by a single string with spaces delimiting program
name and arguments. We should use svn_io_run_command which keeps the program
name and arguments separately intact.
Philip Martin wrote:
> There was a patch to do something like that in the past. The current
> code allows things like
>
> SVN_EDITOR="LD_LIBRARY_PATH=/some/lib /some/program"
>
> and the patch would have stopped that working.
It also allows initial arguments to be specified, like SVN_EDITOR="/bin/editor
--option=x".
I doubt it was intended to allow things like that; that looks like an
accidental artifact of the implementation. In the absence of any further
argument for keeping the current behaviour I recommend calling it a bug and
fixing it, i.e. treat the whole variable as the name of a program.
Further, I note that the documentation (in the book; is there any other?) is
inadequate. It doesn't specify what the variable can contain (abs path,
program to be searched for in $PATH, initial arguments, ...), and it specifies
the order of priority wrongly.
The attached "book-editor-cmd.patch" improves it.
- Julian
Fix and improve the description of the "editor-cmd" configuration option.
* en/book/ch07.xml
(svn.advanced.confarea.opts.config): Improve description of "editor-cmd".
* en/book/ch09.xml
(svn.ref.svn.sw): Add a cross-reference to the above.
Index: en/book/ch07.xml
===================================================================
--- en/book/ch07.xml (revision 1811)
+++ en/book/ch07.xml (working copy)
@@ -482,12 +482,28 @@ collabnet = svn.collab.net
user wishes to edit, and the edits take place right
in the editor program (see <xref
linkend="svn.advanced.props" />). This option's default
- value is empty. If the option is not set, Subversion
- will fall back to checking the environment variables
- <literal>SVN_EDITOR</literal>,
- <literal>VISUAL</literal>, and
- <literal>EDITOR</literal> (in that order) for an
- editor command.</para>
+ value is empty. The order of priority for selecting the
+ editor to use is:</para>
+ <orderedlist>
+ <listitem>
+ <para>Command-line option <literal>--editor-cmd</literal></para>
+ </listitem>
+ <listitem>
+ <para>Environment variable <literal>SVN_EDITOR</literal></para>
+ </listitem>
+ <listitem>
+ <para>Configuration option <literal>editor-cmd</literal></para>
+ </listitem>
+ <listitem>
+ <para>Environment variable <literal>VISUAL</literal></para>
+ </listitem>
+ <listitem>
+ <para>Environment variable <literal>EDITOR</literal></para>
+ </listitem>
+ <listitem>
+ <para>Optionally, a default specified at compile time</para>
+ </listitem>
+ </orderedlist>
</listitem>
</varlistentry>
<varlistentry>
Index: en/book/ch09.xml
===================================================================
--- en/book/ch09.xml (revision 1811)
+++ en/book/ch09.xml (working copy)
@@ -108,7 +108,9 @@ $ svn status -v myfile
<replaceable>CMD</replaceable></term>
<listitem>
<para>Specifies an external program to use to edit a log message
- or a property value.</para>
+ or a property value. See the <literal>editor-cmd</literal>
+ section in <xref linkend="svn.advanced.confarea.opts.config"/>
+ for ways to specify a default editor.</para>
</listitem>
</varlistentry>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Nov 8 14:12:47 2005