> URL: http://svn.apache.org/r1492168
> Log: > Implement '--log' option for 'svn mergeinfo --show-revs' subcommand to print > revisions log message, author and date. > * subversion/svn/mergeinfo-cmd.c > (): Include svn_compat.h and svn_props.h. > (SEP_STRING, print_log_details): New. > (mergeinfo_log): New, mostly extracted from svn_cl__mergeinfo(). > (svn_cl__mergeinfo): Call mergeinfo_log(). > > * subversion/svn/svn.c > (svn_cl__longopt_t): Add opt_mergeinfo_log. > (svn_cl__options): Add description for '--log' option. > (svn_cl__cmd_table): Add opt_mergeinfo_log to mergeinfo subcommand. > (sub_main): Handle '--log' option. > > * subversion/tests/cmdline/mergeinfo_tests.py > (mergeinfo_log): New test. > (test_list): Add mergeinfo_log. > Modified: subversion/trunk/subversion/svn/mergeinfo-cmd.c > ============================================================================== > --- subversion/trunk/subversion/svn/mergeinfo-cmd.c (original) > +++ subversion/trunk/subversion/svn/mergeinfo-cmd.c Wed Jun 12 12:06:03 2013 > @@ -55,6 +57,61 @@ print_log_rev(void *baton, > return SVN_NO_ERROR; > } > > +/* The separator between log messages. */ > +#define SEP_STRING \ > + > "------------------------------------------------------------------------\n" > + > +/* Implements the svn_log_entry_receiver_t interface. */ > +static svn_error_t * > +print_log_details(void *baton, > + svn_log_entry_t *log_entry, > + apr_pool_t *pool) Could we use the log receiver already present in log-cmd.c instead? If not, why not? - Julian > +{ > + const char *author; > + const char *date; > + const char *message; > + > + svn_compat_log_revprops_out(&author, &date, &message, log_entry->revprops); > + > + if (author == NULL) > + author = _("(no author)"); > + > + if (date && date[0]) > + /* Convert date to a format for humans. */ > + SVN_ERR(svn_cl__time_cstring_to_human_cstring(&date, date, pool)); > + else > + date = _("(no date)"); > + > + if (log_entry->non_inheritable) > + SVN_ERR(svn_cmdline_printf(pool, > + SEP_STRING "r%ld* | %s | %s", > + log_entry->revision, author, date)); > + else > + SVN_ERR(svn_cmdline_printf(pool, > + SEP_STRING "r%ld | %s | %s", > + log_entry->revision, author, date)); > + > + if (message != NULL) > + { > + /* Number of lines in the msg. */ > + int lines = svn_cstring_count_newlines(message) + 1; > + > + SVN_ERR(svn_cmdline_printf(pool, > + Q_(" | %d line", " | %d lines", lines), > + lines)); > + } > + > + SVN_ERR(svn_cmdline_printf(pool, "\n")); > + > + if (message != NULL) > + { > + /* A blank line always precedes the log message. */ > + SVN_ERR(svn_cmdline_printf(pool, "\n%s\n", message)); > + } > + > + return SVN_NO_ERROR; > +} [...]