Rev 4297: log --include-merges (Ian Clatworthy) in file:///home/pqm/archives/thelove/bzr/%2Btrunk/

Canonical.com Patch Queue Manager pqm at pqm.ubuntu.com
Fri Apr 17 09:41:47 BST 2009


At file:///home/pqm/archives/thelove/bzr/%2Btrunk/

------------------------------------------------------------
revno: 4297
revision-id: pqm at pqm.ubuntu.com-20090417084143-8ias85nrnap1hk9z
parent: pqm at pqm.ubuntu.com-20090416170746-92fj72e2i2qpkojj
parent: ian.clatworthy at canonical.com-20090417073844-tumdc6nse3v2nj8s
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Fri 2009-04-17 09:41:43 +0100
message:
  log --include-merges (Ian Clatworthy)
modified:
  NEWS                           NEWS-20050323055033-4e00b5db738777ff
  bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
  bzrlib/log.py                  log.py-20050505065812-c40ce11702fe5fb1
  bzrlib/tests/blackbox/test_log.py test_log.py-20060112090212-78f6ea560c868e24
  bzrlib/tests/test_log.py       testlog.py-20050728115707-1a514809d7d49309
    ------------------------------------------------------------
    revno: 4296.1.1
    revision-id: ian.clatworthy at canonical.com-20090417073844-tumdc6nse3v2nj8s
    parent: pqm at pqm.ubuntu.com-20090416170746-92fj72e2i2qpkojj
    parent: ian.clatworthy at canonical.com-20090417073457-q3vnaa8q9kw73kcl
    committer: Ian Clatworthy <ian.clatworthy at canonical.com>
    branch nick: ianc-integration
    timestamp: Fri 2009-04-17 17:38:44 +1000
    message:
      log --include-merges (Ian Clatworthy)
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
      bzrlib/log.py                  log.py-20050505065812-c40ce11702fe5fb1
      bzrlib/tests/blackbox/test_log.py test_log.py-20060112090212-78f6ea560c868e24
      bzrlib/tests/test_log.py       testlog.py-20050728115707-1a514809d7d49309
    ------------------------------------------------------------
    revno: 4221.2.3
    revision-id: ian.clatworthy at canonical.com-20090417073457-q3vnaa8q9kw73kcl
    parent: ian.clatworthy at canonical.com-20090417061754-76691g221dn59f50
    committer: Ian Clatworthy <ian.clatworthy at canonical.com>
    branch nick: log.include-merges
    timestamp: Fri 2009-04-17 17:34:57 +1000
    message:
      jam feedback: don't show advice if --levels explicitly given
    modified:
      bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
      bzrlib/log.py                  log.py-20050505065812-c40ce11702fe5fb1
      bzrlib/tests/blackbox/test_log.py test_log.py-20060112090212-78f6ea560c868e24
      bzrlib/tests/test_log.py       testlog.py-20050728115707-1a514809d7d49309
    ------------------------------------------------------------
    revno: 4221.2.2
    revision-id: ian.clatworthy at canonical.com-20090417061754-76691g221dn59f50
    parent: ian.clatworthy at canonical.com-20090331145620-4mgu3w2bg4tfvriq
    committer: Ian Clatworthy <ian.clatworthy at canonical.com>
    branch nick: log.include-merges
    timestamp: Fri 2009-04-17 16:17:54 +1000
    message:
      jam feedback: make --levels and --include-merges mutually exclusive
    modified:
      bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
    ------------------------------------------------------------
    revno: 4221.2.1
    revision-id: ian.clatworthy at canonical.com-20090331145620-4mgu3w2bg4tfvriq
    parent: pqm at pqm.ubuntu.com-20090331100842-0x25r10mpiyxv5d9
    committer: Ian Clatworthy <ian.clatworthy at canonical.com>
    branch nick: log.include-merges
    timestamp: Wed 2009-04-01 00:56:20 +1000
    message:
      --include-merges as an alias for --levels 0 in log
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
      bzrlib/log.py                  log.py-20050505065812-c40ce11702fe5fb1
      bzrlib/tests/blackbox/test_log.py test_log.py-20060112090212-78f6ea560c868e24
      bzrlib/tests/test_log.py       testlog.py-20050728115707-1a514809d7d49309
=== modified file 'NEWS'
--- a/NEWS	2009-04-16 17:07:46 +0000
+++ b/NEWS	2009-04-17 07:38:44 +0000
@@ -173,6 +173,9 @@
   version controlled files match the ignore pattern. (Neil
   Martinsen-Burrell, #248895)
 
+* ``bzr log`` now has ``--include-merges`` as an alias for ``--levels 0``.
+  (Ian Clatworthy)
+
 * ``bzr send`` is faster on repositories with deep histories.
   (Ian Clatworthy)
 

=== modified file 'bzrlib/builtins.py'
--- a/bzrlib/builtins.py	2009-04-09 23:12:55 +0000
+++ b/bzrlib/builtins.py	2009-04-17 07:38:44 +0000
@@ -2105,6 +2105,8 @@
             Option('show-diff',
                    short_name='p',
                    help='Show changes made in each revision as a patch.'),
+            Option('include-merges',
+                   help='Show merged revisions like --levels 0 does.'),
             ]
     encoding_type = 'replace'
 
@@ -2119,13 +2121,20 @@
             levels=None,
             message=None,
             limit=None,
-            show_diff=False):
+            show_diff=False,
+            include_merges=False):
         from bzrlib.log import (
             Logger,
             make_log_request_dict,
             _get_info_for_log_files,
             )
         direction = (forward and 'forward') or 'reverse'
+        if include_merges:
+            if levels is None:
+                levels = 0
+            else:
+                raise errors.BzrCommandError(
+                    '--levels and --include-merges are mutually exclusive')
 
         if change is not None:
             if len(change) > 1:
@@ -2188,7 +2197,8 @@
             lf = log_format(show_ids=show_ids, to_file=self.outf,
                             show_timezone=timezone,
                             delta_format=get_verbosity_level(),
-                            levels=levels)
+                            levels=levels,
+                            show_advice=levels is None)
 
             # Choose the algorithm for doing the logging. It's annoying
             # having multiple code paths like this but necessary until

=== modified file 'bzrlib/log.py'
--- a/bzrlib/log.py	2009-03-31 00:57:48 +0000
+++ b/bzrlib/log.py	2009-04-17 07:34:57 +0000
@@ -1290,16 +1290,18 @@
     preferred_levels = 0
 
     def __init__(self, to_file, show_ids=False, show_timezone='original',
-                 delta_format=None, levels=None):
+                 delta_format=None, levels=None, show_advice=False):
         """Create a LogFormatter.
 
         :param to_file: the file to output to
         :param show_ids: if True, revision-ids are to be displayed
         :param show_timezone: the timezone to use
         :param delta_format: the level of delta information to display
-          or None to leave it u to the formatter to decide
+          or None to leave it to the formatter to decide
         :param levels: the number of levels to display; None or -1 to
           let the log formatter decide.
+        :param show_advice: whether to show advice at the end of the
+          log or not
         """
         self.to_file = to_file
         # 'exact' stream used to show diff, it should print content 'as is'
@@ -1312,6 +1314,7 @@
             delta_format = 2 # long format
         self.delta_format = delta_format
         self.levels = levels
+        self._show_advice = show_advice
         self._merge_count = 0
 
     def get_levels(self):
@@ -1332,12 +1335,12 @@
 
     def show_advice(self):
         """Output user advice, if any, when the log is completed."""
-        if self.levels == 1 and self._merge_count > 0:
+        if self._show_advice and self.levels == 1 and self._merge_count > 0:
             advice_sep = self.get_advice_separator()
             if advice_sep:
                 self.to_file.write(advice_sep)
             self.to_file.write(
-                "Use --levels 0 (or -n0) to see merged revisions.\n")
+                "Use --include-merges or -n0 to see merged revisions.\n")
 
     def get_advice_separator(self):
         """Get the text separating the log from the closing advice."""

=== modified file 'bzrlib/tests/blackbox/test_log.py'
--- a/bzrlib/tests/blackbox/test_log.py	2009-03-31 00:57:48 +0000
+++ b/bzrlib/tests/blackbox/test_log.py	2009-04-17 07:34:57 +0000
@@ -397,8 +397,6 @@
 timestamp: Just now
 message:
   first post
-------------------------------------------------------------
-Use --levels 0 (or -n0) to see merged revisions.
 """)
 
     def test_force_merge_revisions_on(self):
@@ -424,6 +422,14 @@
 
 """)
 
+    def test_include_merges(self):
+        # Confirm --include-merges gives the same output as -n0
+        self._prepare_short()
+        out_im, err_im = self.run_bzr('log --include-merges')
+        out_n0, err_n0 = self.run_bzr('log -n0')
+        self.assertEqual(err_im, err_n0)
+        self.assertEqual(out_im, out_n0)
+
     def test_force_merge_revisions_N(self):
         self._prepare_short()
         out,err = self.run_bzr('log --short -n2')
@@ -607,7 +613,7 @@
       @@ -0,0 +1,1 @@
       +contents of parent/file2
 
-Use --levels 0 (or -n0) to see merged revisions.
+Use --include-merges or -n0 to see merged revisions.
 """)
 
     def test_log_show_diff_line(self):
@@ -645,7 +651,7 @@
       @@ -0,0 +1,1 @@
       +contents of parent/file2
 
-Use --levels 0 (or -n0) to see merged revisions.
+Use --include-merges or -n0 to see merged revisions.
 """)
         out,err = self.run_bzr('log -p --short file1')
         self.assertEqual('', err)

=== modified file 'bzrlib/tests/test_log.py'
--- a/bzrlib/tests/test_log.py	2009-03-31 00:57:48 +0000
+++ b/bzrlib/tests/test_log.py	2009-04-17 07:34:57 +0000
@@ -301,7 +301,23 @@
     1 Joe Foo\t2005-11-22
       rev-1
 
-Use --levels 0 (or -n0) to see merged revisions.
+""",
+                             logfile.getvalue())
+
+    def test_short_log_with_merges_and_advice(self):
+        wt = self._prepare_tree_with_merges()
+        logfile = self.make_utf8_encoded_stringio()
+        formatter = log.ShortLogFormatter(to_file=logfile,
+            show_advice=True)
+        log.show_log(wt.branch, formatter)
+        self.assertEqualDiff("""\
+    2 Joe Foo\t2005-11-22 [merge]
+      rev-2
+
+    1 Joe Foo\t2005-11-22
+      rev-1
+
+Use --include-merges or -n0 to see merged revisions.
 """,
                              logfile.getvalue())
 
@@ -340,7 +356,6 @@
     2 Joe Foo\t2005-11-22 [merge]
       rev-2b
 
-Use --levels 0 (or -n0) to see merged revisions.
 """,
                              logfile.getvalue())
 
@@ -359,7 +374,6 @@
     1 Joe Foo\t2005-11-22
       rev-1
 
-Use --levels 0 (or -n0) to see merged revisions.
 """,
                              logfile.getvalue())
 
@@ -886,8 +900,6 @@
 added:
   f1
   f2
-------------------------------------------------------------
-Use --levels 0 (or -n0) to see merged revisions.
 """,
                              the_log)
 




More information about the bazaar-commits mailing list