The patch I sent in my previous mail is correct, although this one is a
bit cleaner with respect to the old/new filenames including the correct
revision that patch was made against.

-travis
Index: svnmerge.py
===================================================================
--- svnmerge.py	(revision 27533)
+++ svnmerge.py	(working copy)
@@ -1116,16 +1116,18 @@ def display_revisions(revs, display_styl
     log format, or as diffs.  When displaying revisions numerically,
     prefix output with REVISIONS_MSG when in verbose mode.  Otherwise,
     request logs or diffs using SOURCE_URL."""
-    if display_style == "revisions":
+    if "revisions" in display_style:
         if revs:
             report(revisions_msg)
             print revs
-    elif display_style == "logs":
+        display_style.remove("revisions")
+    if "logs" in display_style:
         for start,end in revs.normalized():
             svn_command('log --incremental -v -r %d:%d %s' % \
                         (start, end, source_url))
-    elif display_style in ("diffs", "summarize"):
-        if display_style == 'summarize':
+        display_style.remove("logs")
+    if "diffs" in display_style or "summarize" in display_style:
+        if "summarize" in display_style:
             summarize = '--summarize '
         else:
             summarize = ''
@@ -1141,10 +1143,20 @@ def display_revisions(revs, display_styl
 
             # Note: the starting revision number to 'svn diff' is
             # NOT inclusive so we have to subtract one from ${START}.
-            svn_command("diff -r %d:%d %s %s" % (start - 1, end, summarize,
-                                                 source_url))
-    else:
-        assert False, "unhandled display style: %s" % display_style
+            svn_command("diff -r %d:%d %s" % (start - 1, end, source_url))
+
+        for style in ["diffs", "summarize"]:
+            try:
+                display_style.remove(style)
+            except ValueError:
+                continue
+
+    if display_style:
+        for style in display_style:
+            if style:
+                # Skip empty string styles, they are likely empty defaults
+                assert False, "unhandled display style: %s" % display_style
+
 
 def action_init(target_dir, target_props):
     """Initialize for merges."""
@@ -1244,7 +1256,10 @@ def action_avail(branch_dir, branch_prop
     if opts["revision"]:
         revs = revs & RevisionSet(opts["revision"])
 
-    display_revisions(revs, opts["avail-display"],
+    display_revisions(revs,
+                      [opts["avail-display-diff"],
+                       opts["avail-display-log"],
+                       opts["avail-display-summarize"]],
                       report_msg,
                       opts["source-url"])
 
@@ -1270,7 +1285,7 @@ def action_integrated(branch_dir, branch
     if opts["revision"]:
         revs = revs & RevisionSet(opts["revision"])
 
-    display_revisions(revs, opts["integrated-display"],
+    display_revisions(revs, [opts["integrated-display"]],
                       "revisions already integrated are:", opts["source-url"])
 
 def action_merge(branch_dir, branch_props):
@@ -1915,17 +1930,19 @@ command_table = {
                value=["blocked"],
                help="show the blocked revision list (see '%s block')" % NAME),
         Option("-d", "--diff",
-               dest="avail-display",
+               dest="avail-display-diff",
                value="diffs",
                default="revisions",
                help="show corresponding diff instead of revision list"),
         Option("--summarize",
-               dest="avail-display",
+               dest="avail-display-summarize",
                value="summarize",
+               default="",
                help="show summarized diff instead of revision list"),
         Option("-l", "--log",
-               dest="avail-display",
+               dest="avail-display-log",
                value="logs",
+               default="",
                help="show corresponding log history instead of revision list"),
         "-r",
         "-S",
@@ -1945,6 +1962,7 @@ command_table = {
         Option("-l", "--log",
                dest="integrated-display",
                value="logs",
+               default="",
                help="show corresponding log history instead of revision list"),
         "-r",
         "-S",
_______________________________________________
Svnmerge mailing list
[email protected]
http://www.orcaware.com/mailman/listinfo/svnmerge

Reply via email to