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