This is my first attempt to change svn; so please tell me if I did anything
not-up-to-snuff. I would love to snuff-up.
(BTW, I made this patch with my svn built with this change applied, which
felt a lot better than running an external program that I'm *pretty sure*
has the same semantics...)
-Dan Bentley
P.S. One potential objection I could imagine is that this breaks parallelism
with other options in the "[helpers]" section. Should I expand the scope of
this patch to fix up every such use of editor-cmd and diff3-cmd as well?
[[[
Fix issue #3071: enhancement to svn diff to indicate that an external
diff-cmd should NOT be used
* subversion/libsvn_client/diff.c
(diff_content_changed): Changed to use "" to mean "use built-in diff".
This allows a default in config to be overridden on command line.
* subversion/svn/main.c:
(svn_cl__options): Document new meaning of empty string in diff-cmd
option.
Patch by: Dan Bentley <subversion_at_danbentley.com>
]]]
Index: subversion/libsvn_client/diff.c
===================================================================
--- subversion/libsvn_client/diff.c (revision 29979)
+++ subversion/libsvn_client/diff.c (working copy)
@@ -566,10 +566,12 @@
SVN_CONFIG_CATEGORY_CONFIG,
APR_HASH_KEY_STRING);
svn_config_get(cfg, &diff_cmd, SVN_CONFIG_SECTION_HELPERS,
- SVN_CONFIG_OPTION_DIFF_CMD, NULL);
+ SVN_CONFIG_OPTION_DIFF_CMD, "");
}
- if (diff_cmd)
+ /* "" means use internal diff so that an option in a config file can be
+ overridden by a command-line setting. */
+ if (strlen(diff_cmd))
{
/* Print out the diff header. */
SVN_ERR(svn_stream_printf_from_utf8
Index: subversion/svn/main.c
===================================================================
--- subversion/svn/main.c (revision 29979)
+++ subversion/svn/main.c (working copy)
@@ -211,7 +211,8 @@
{"ignore-externals", opt_ignore_externals, 0,
N_("ignore externals definitions")},
#ifndef AS400
- {"diff-cmd", opt_diff_cmd, 1, N_("use ARG as diff command")},
+ {"diff-cmd", opt_diff_cmd, 1, N_("use ARG as diff command ('' for "
+ "built-in diff)")},
{"diff3-cmd", opt_merge_cmd, 1, N_("use ARG as merge command")},
{"editor-cmd", opt_editor_cmd, 1, N_("use ARG as external editor")},
#endif
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-03-21 12:42:31 CET