Rev 4007: Merge 1.12 final back into bzr.dev (and the 1.11 tip revision) in file:///home/pqm/archives/thelove/bzr/%2Btrunk/

Canonical.com Patch Queue Manager pqm at pqm.ubuntu.com
Fri Feb 13 22:05:30 GMT 2009


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

------------------------------------------------------------
revno: 4007
revision-id: pqm at pqm.ubuntu.com-20090213220525-f4o6y76g5mjtxb7k
parent: pqm at pqm.ubuntu.com-20090213050147-k7dnx3d7rk3uoufh
parent: john at arbash-meinel.com-20090213212416-xdvzbxf0ld5a5cxj
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Fri 2009-02-13 22:05:25 +0000
message:
  Merge 1.12 final back into bzr.dev (and the 1.11 tip revision)
added:
  bzrlib/help_topics/en/log-formats.txt logformats.txt-20090209081655-5wpbws2oqz8k5oq7-1
modified:
  NEWS                           NEWS-20050323055033-4e00b5db738777ff
  bzrlib/_dirstate_helpers_c.pyx dirstate_helpers.pyx-20070503201057-u425eni465q4idwn-3
  bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
  bzrlib/bzrdir.py               bzrdir.py-20060131065624-156dfea39c4387cb
  bzrlib/commands.py             bzr.py-20050309040720-d10f4714595cf8c3
  bzrlib/help_topics/__init__.py help_topics.py-20060920210027-rnim90q9e0bwxvy4-1
  bzrlib/help_topics/en/configuration.txt configuration.txt-20060314161707-868350809502af01
  setup.py                       setup.py-20050314065409-02f8a0a6e3f9bc70
  tools/win32/build_release.py   build_release.py-20081105204355-2ghh5cv01v1x4rzz-1
  tools/win32/bzr.iss.cog        bzr.iss.cog-20060622100836-b3yup582rt3y0nvm-5
    ------------------------------------------------------------
    revno: 4005.1.3
    revision-id: john at arbash-meinel.com-20090213212416-xdvzbxf0ld5a5cxj
    parent: john at arbash-meinel.com-20090213212125-aiqf2d1as2pd2xy2
    parent: pqm at pqm.ubuntu.com-20090119122508-t03dqq4axqfag58c
    committer: John Arbash Meinel <john at arbash-meinel.com>
    branch nick: jam-integration
    timestamp: Fri 2009-02-13 15:24:16 -0600
    message:
      Merge the 1.11-final into bzr.dev (no changes, just grabbing the tip rev)
        ------------------------------------------------------------
        revno: 3932.7.2
        revision-id: pqm at pqm.ubuntu.com-20090119122508-t03dqq4axqfag58c
        parent: pqm at pqm.ubuntu.com-20090115082637-f802qau8az1f5awi
        parent: mbp at sourcefrog.net-20090119113338-81srt3d42gpqyhqb
        committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
        branch nick: 1.11
        timestamp: Mon 2009-01-19 12:25:08 +0000
        message:
          (mbp) prepare 1.11final
        modified:
          NEWS                           NEWS-20050323055033-4e00b5db738777ff
          bzrlib/__init__.py             __init__.py-20050309040759-33e65acf91bbcd5d
        ------------------------------------------------------------
        revno: 3932.7.1
        revision-id: pqm at pqm.ubuntu.com-20090115082637-f802qau8az1f5awi
        parent: pqm at pqm.ubuntu.com-20090114230346-i9lm6l9v3gz8zzeu
        parent: mbp at sourcefrog.net-20090115074041-a4im46in3f8cb1vd
        committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
        branch nick: 1.11
        timestamp: Thu 2009-01-15 08:26:37 +0000
        message:
          (mbp, for vila) Fix failing test when CompiledChunksToLines is not available.
        modified:
          NEWS                           NEWS-20050323055033-4e00b5db738777ff
          bzrlib/tests/test_osutils.py   test_osutils.py-20051201224856-e48ee24c12182989
    ------------------------------------------------------------
    revno: 4005.1.2
    revision-id: john at arbash-meinel.com-20090213212125-aiqf2d1as2pd2xy2
    parent: john at arbash-meinel.com-20090212185516-wwdbov5nb7fxat8r
    parent: pqm at pqm.ubuntu.com-20090213054838-lkk3nsn89bp3b0yt
    committer: John Arbash Meinel <john at arbash-meinel.com>
    branch nick: jam-integration
    timestamp: Fri 2009-02-13 15:21:25 -0600
    message:
      Merge bzr 1.12 final
    added:
      bzrlib/help_topics/en/log-formats.txt logformats.txt-20090209081655-5wpbws2oqz8k5oq7-1
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
      bzrlib/bzrdir.py               bzrdir.py-20060131065624-156dfea39c4387cb
      bzrlib/commands.py             bzr.py-20050309040720-d10f4714595cf8c3
      bzrlib/help_topics/__init__.py help_topics.py-20060920210027-rnim90q9e0bwxvy4-1
      bzrlib/help_topics/en/configuration.txt configuration.txt-20060314161707-868350809502af01
      setup.py                       setup.py-20050314065409-02f8a0a6e3f9bc70
      tools/win32/build_release.py   build_release.py-20081105204355-2ghh5cv01v1x4rzz-1
      tools/win32/bzr.iss.cog        bzr.iss.cog-20060622100836-b3yup582rt3y0nvm-5
        ------------------------------------------------------------
        revno: 3995.3.8
        revision-id: pqm at pqm.ubuntu.com-20090213054838-lkk3nsn89bp3b0yt
        parent: pqm at pqm.ubuntu.com-20090213042447-0xdv0p882f1ljkkm
        parent: mbp at sourcefrog.net-20090213050626-22emxvrezi1dgkdq
        committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
        branch nick: 1.12
        timestamp: Fri 2009-02-13 05:48:38 +0000
        message:
          (mbp) Release 1.12final
        modified:
          NEWS                           NEWS-20050323055033-4e00b5db738777ff
          bzrlib/__init__.py             __init__.py-20050309040759-33e65acf91bbcd5d
            ------------------------------------------------------------
            revno: 3995.9.1
            revision-id: mbp at sourcefrog.net-20090213050626-22emxvrezi1dgkdq
            parent: pqm at pqm.ubuntu.com-20090213042447-0xdv0p882f1ljkkm
            committer: Martin Pool <mbp at sourcefrog.net>
            branch nick: prepare-1.12
            timestamp: Fri 2009-02-13 16:06:26 +1100
            message:
              Release 1.12
            modified:
              NEWS                           NEWS-20050323055033-4e00b5db738777ff
              bzrlib/__init__.py             __init__.py-20050309040759-33e65acf91bbcd5d
        ------------------------------------------------------------
        revno: 3995.3.7
        revision-id: pqm at pqm.ubuntu.com-20090213042447-0xdv0p882f1ljkkm
        parent: pqm at pqm.ubuntu.com-20090213034648-8ze2v2pcaayow7q6
        parent: mbp at sourcefrog.net-20090213033852-r33rq1c9hme8jhzk
        committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
        branch nick: 1.12
        timestamp: Fri 2009-02-13 04:24:47 +0000
        message:
          (mbp) Install all Tortoise documentation
        modified:
          tools/win32/bzr.iss.cog        bzr.iss.cog-20060622100836-b3yup582rt3y0nvm-5
            ------------------------------------------------------------
            revno: 3995.8.2
            revision-id: mbp at sourcefrog.net-20090213033852-r33rq1c9hme8jhzk
            parent: mbp at sourcefrog.net-20090213025256-hvktkjemq2odxgzj
            parent: mhammond at skippinet.com.au-20090112015534-yfxg50p7mpds9j4v
            committer: Martin Pool <mbp at sourcefrog.net>
            branch nick: prepare-1.12
            timestamp: Fri 2009-02-13 14:38:52 +1100
            message:
              Install all Tortoise documentation
            modified:
              tools/win32/bzr.iss.cog        bzr.iss.cog-20060622100836-b3yup582rt3y0nvm-5
            ------------------------------------------------------------
            revno: 3932.6.1
            revision-id: mhammond at skippinet.com.au-20090112015534-yfxg50p7mpds9j4v
            parent: pqm at pqm.ubuntu.com-20090109083113-p1thptdqdbf68wix
            committer: Mark Hammond <mhammond at skippinet.com.au>
            branch nick: bzr.work.win32binary
            timestamp: Mon 2009-01-12 12:55:34 +1100
            message:
              Include all .html files from the tortoise doc directory.
            modified:
              tools/win32/bzr.iss.cog        bzr.iss.cog-20060622100836-b3yup582rt3y0nvm-5
        ------------------------------------------------------------
        revno: 3995.3.6
        revision-id: pqm at pqm.ubuntu.com-20090213034648-8ze2v2pcaayow7q6
        parent: pqm at pqm.ubuntu.com-20090212193947-qwq2q5ysy7w0htev
        parent: mbp at sourcefrog.net-20090213025256-hvktkjemq2odxgzj
        committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
        branch nick: 1.12
        timestamp: Fri 2009-02-13 03:46:48 +0000
        message:
          (mbp) merge log help improvements
        added:
          bzrlib/help_topics/en/log-formats.txt logformats.txt-20090209081655-5wpbws2oqz8k5oq7-1
        modified:
          NEWS                           NEWS-20050323055033-4e00b5db738777ff
          bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
          bzrlib/commands.py             bzr.py-20050309040720-d10f4714595cf8c3
          bzrlib/help_topics/__init__.py help_topics.py-20060920210027-rnim90q9e0bwxvy4-1
          bzrlib/help_topics/en/configuration.txt configuration.txt-20060314161707-868350809502af01
            ------------------------------------------------------------
            revno: 3995.8.1
            revision-id: mbp at sourcefrog.net-20090213025256-hvktkjemq2odxgzj
            parent: pqm at pqm.ubuntu.com-20090212193947-qwq2q5ysy7w0htev
            parent: ian.clatworthy at canonical.com-20090209081918-f1togtefhj7qnrfg
            committer: Martin Pool <mbp at sourcefrog.net>
            branch nick: prepare-1.12
            timestamp: Fri 2009-02-13 13:52:56 +1100
            message:
              merge log help improvements
            added:
              bzrlib/help_topics/en/log-formats.txt logformats.txt-20090209081655-5wpbws2oqz8k5oq7-1
            modified:
              NEWS                           NEWS-20050323055033-4e00b5db738777ff
              bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
              bzrlib/commands.py             bzr.py-20050309040720-d10f4714595cf8c3
              bzrlib/help_topics/__init__.py help_topics.py-20060920210027-rnim90q9e0bwxvy4-1
              bzrlib/help_topics/en/configuration.txt configuration.txt-20060314161707-868350809502af01
            ------------------------------------------------------------
            revno: 3974.1.4
            revision-id: ian.clatworthy at canonical.com-20090209081918-f1togtefhj7qnrfg
            parent: ian.clatworthy at canonical.com-20090130083226-osn2cqtua7ltzvgs
            committer: Ian Clatworthy <ian.clatworthy at canonical.com>
            branch nick: bzr.log-help
            timestamp: Mon 2009-02-09 18:19:18 +1000
            message:
              log-formats topic and explained range searching
            added:
              bzrlib/help_topics/en/log-formats.txt logformats.txt-20090209081655-5wpbws2oqz8k5oq7-1
            modified:
              NEWS                           NEWS-20050323055033-4e00b5db738777ff
              bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
              bzrlib/help_topics/__init__.py help_topics.py-20060920210027-rnim90q9e0bwxvy4-1
            ------------------------------------------------------------
            revno: 3974.1.3
            revision-id: ian.clatworthy at canonical.com-20090130083226-osn2cqtua7ltzvgs
            parent: ian.clatworthy at canonical.com-20090130082645-yq1ijwtgy7gqfl57
            committer: Ian Clatworthy <ian.clatworthy at canonical.com>
            branch nick: bzr.log-help
            timestamp: Fri 2009-01-30 18:32:26 +1000
            message:
              tweak configuration settings help
            modified:
              bzrlib/help_topics/en/configuration.txt configuration.txt-20060314161707-868350809502af01
            ------------------------------------------------------------
            revno: 3974.1.2
            revision-id: ian.clatworthy at canonical.com-20090130082645-yq1ijwtgy7gqfl57
            parent: ian.clatworthy at canonical.com-20090130082617-xmoibxl3tu0rt96u
            committer: Ian Clatworthy <ian.clatworthy at canonical.com>
            branch nick: bzr.log-help
            timestamp: Fri 2009-01-30 18:26:45 +1000
            message:
              enhanced log help
            modified:
              NEWS                           NEWS-20050323055033-4e00b5db738777ff
              bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
            ------------------------------------------------------------
            revno: 3974.1.1
            revision-id: ian.clatworthy at canonical.com-20090130082617-xmoibxl3tu0rt96u
            parent: pqm at pqm.ubuntu.com-20090130031028-y70uzzpad9c47v09
            committer: Ian Clatworthy <ian.clatworthy at canonical.com>
            branch nick: bzr.log-help
            timestamp: Fri 2009-01-30 18:26:17 +1000
            message:
              keep section ordering in help
            modified:
              bzrlib/commands.py             bzr.py-20050309040720-d10f4714595cf8c3
        ------------------------------------------------------------
        revno: 3995.3.5
        revision-id: pqm at pqm.ubuntu.com-20090212193947-qwq2q5ysy7w0htev
        parent: pqm at pqm.ubuntu.com-20090212190109-rnc6b1svl3nmblu5
        parent: john at arbash-meinel.com-20090212161113-bicnzfxkk96aeslv
        committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
        branch nick: 1.12
        timestamp: Thu 2009-02-12 19:39:47 +0000
        message:
          (jam) Fix bug #328135 to avoid circular import logic w/
          	--development-wt5
        modified:
          NEWS                           NEWS-20050323055033-4e00b5db738777ff
          bzrlib/bzrdir.py               bzrdir.py-20060131065624-156dfea39c4387cb
            ------------------------------------------------------------
            revno: 3995.7.1
            revision-id: john at arbash-meinel.com-20090212161113-bicnzfxkk96aeslv
            parent: pqm at pqm.ubuntu.com-20090211084652-5z7uw3v922pope42
            committer: John Arbash Meinel <john at arbash-meinel.com>
            branch nick: bug328135
            timestamp: Thu 2009-02-12 10:11:13 -0600
            message:
              Fix bug #328135.
              We can't import bzrlib.workingtree_4 before importing bzrlib.workingtree
              Circular importing logic causes it to get partially-loaded modules which
              cause problems.
            modified:
              NEWS                           NEWS-20050323055033-4e00b5db738777ff
              bzrlib/bzrdir.py               bzrdir.py-20060131065624-156dfea39c4387cb
        ------------------------------------------------------------
        revno: 3995.3.4
        revision-id: pqm at pqm.ubuntu.com-20090212190109-rnc6b1svl3nmblu5
        parent: pqm at pqm.ubuntu.com-20090211084652-5z7uw3v922pope42
        parent: john at arbash-meinel.com-20090211154501-4xof39g47ykw3z5g
        committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
        branch nick: 1.12
        timestamp: Thu 2009-02-12 19:01:09 +0000
        message:
          (jam) Update setup.py and build_release.py to handle bzr-svn >= 0.5.0
        modified:
          setup.py                       setup.py-20050314065409-02f8a0a6e3f9bc70
          tools/win32/build_release.py   build_release.py-20081105204355-2ghh5cv01v1x4rzz-1
            ------------------------------------------------------------
            revno: 3995.6.2
            revision-id: john at arbash-meinel.com-20090211154501-4xof39g47ykw3z5g
            parent: john at arbash-meinel.com-20090211153331-04xd8poq6we7jhsj
            committer: John Arbash Meinel <john at arbash-meinel.com>
            branch nick: bzr.1.12
            timestamp: Thu 2009-02-12 02:45:01 +1100
            message:
              Update build_release for bzr-svn 0.5.0 which now requires subvertpy
            modified:
              tools/win32/build_release.py   build_release.py-20081105204355-2ghh5cv01v1x4rzz-1
            ------------------------------------------------------------
            revno: 3995.6.1
            revision-id: john at arbash-meinel.com-20090211153331-04xd8poq6we7jhsj
            parent: pqm at pqm.ubuntu.com-20090211084652-5z7uw3v922pope42
            committer: John Arbash Meinel <john at arbash-meinel.com>
            branch nick: bzr.1.12
            timestamp: Thu 2009-02-12 02:33:31 +1100
            message:
              add subvertpy as a necessary library.
            modified:
              setup.py                       setup.py-20050314065409-02f8a0a6e3f9bc70
        ------------------------------------------------------------
        revno: 3995.3.3
        revision-id: pqm at pqm.ubuntu.com-20090211084652-5z7uw3v922pope42
        parent: pqm at pqm.ubuntu.com-20090210172934-dzt1iz4ctlhcc8b6
        parent: mbp at sourcefrog.net-20090210093903-5gg7y0e91zxup0t4
        committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
        branch nick: 1.12
        timestamp: Wed 2009-02-11 08:46:52 +0000
        message:
          (mbp) prepare 1.12rc1
        ------------------------------------------------------------
        revno: 3995.2.3
        revision-id: mbp at sourcefrog.net-20090210093903-5gg7y0e91zxup0t4
        parent: mbp at sourcefrog.net-20090210092440-cxbs2qpslelfgfzc
        committer: Martin Pool <mbp at sourcefrog.net>
        branch nick: prepare-1.12
        timestamp: Tue 2009-02-10 20:39:03 +1100
        message:
          prepare 1.12rc1
        modified:
          NEWS                           NEWS-20050323055033-4e00b5db738777ff
          bzrlib/__init__.py             __init__.py-20050309040759-33e65acf91bbcd5d
    ------------------------------------------------------------
    revno: 4005.1.1
    revision-id: john at arbash-meinel.com-20090212185516-wwdbov5nb7fxat8r
    parent: pqm at pqm.ubuntu.com-20090212154913-cleqwmh36ss3gswk
    committer: John Arbash Meinel <john at arbash-meinel.com>
    branch nick: jam-integration
    timestamp: Thu 2009-02-12 12:55:16 -0600
    message:
      Related to bug #328674, give a better error for a corrupt dirstate.
    modified:
      bzrlib/_dirstate_helpers_c.pyx dirstate_helpers.pyx-20070503201057-u425eni465q4idwn-3
=== modified file 'NEWS'
--- a/NEWS	2009-02-11 22:25:18 +0000
+++ b/NEWS	2009-02-13 21:21:25 +0000
@@ -45,15 +45,29 @@
       it), without overriding the command. (Robert Collins)
 
 
+bzr 1.12 "1234567890" 2009-02-13
+--------------------------------
+
+This release of Bazaar contains many improvements to the speed,
+documentation and functionality of ``bzr log`` and the display of logged
+revisions by ``bzr status``.  bzr now also gives a better indication of
+progress, both in the way operations are drawn onto a text terminal, and
+by showing the rate of network IO.
+
+  BUG FIXES:
+
+    * ``bzr init --development-wt5[-rich-root]`` would fail because of
+      circular import errors. (John Arbash Meinel, #328135)
+
+  DOCUMENTATION:
+
+    * Expanded the help for log and added a new help topic called
+      ``log-formats``.  (Ian Clatworthy)
+
+
 bzr 1.12rc1 "1234567890" 2009-02-10
 -----------------------------------
 
-This release of Bazaar contains many improvements to the speed and
-functionality of ``bzr log`` and the display of logged revisions by ``bzr
-status``.  bzr now also gives a better indication of progress, both in the
-way operations are drawn onto a text terminal, and by showing the rate of
-network IO.
-
   COMPATIBILITY BREAKS:
 
     * By default, ``bzr status`` after a merge now shows just the pending

=== modified file 'bzrlib/_dirstate_helpers_c.pyx'
--- a/bzrlib/_dirstate_helpers_c.pyx	2008-10-04 17:01:00 +0000
+++ b/bzrlib/_dirstate_helpers_c.pyx	2009-02-12 18:55:16 +0000
@@ -1256,8 +1256,14 @@
             path = self.pathjoin(entry[0][0], entry[0][1])
             # parent id is the entry for the path in the target tree
             # TODO: these are the same for an entire directory: cache em.
-            parent_id = self.state._get_entry(self.target_index,
-                                         path_utf8=entry[0][0])[0][2]
+            parent_entry = self.state._get_entry(self.target_index,
+                                                 path_utf8=entry[0][0])
+            if parent_entry is None:
+                raise errors.DirstateCorrupt(self.state,
+                    "We could not find the parent entry in index %d"
+                    " for the entry: %s"
+                    % (self.target_index, entry[0]))
+            parent_id = parent_entry[0][2]
             if parent_id == entry[0][2]:
                 parent_id = None
             if path_info is not None:

=== modified file 'bzrlib/builtins.py'
--- a/bzrlib/builtins.py	2009-02-12 05:43:29 +0000
+++ b/bzrlib/builtins.py	2009-02-13 21:21:25 +0000
@@ -1822,31 +1822,173 @@
 
 
 class cmd_log(Command):
-    """Show log of a branch, file, or directory.
-
-    By default show the log of the branch containing the working directory.
-
-    To request a range of logs, you can use the command -r begin..end
-    -r revision requests a specific revision, -r ..end or -r begin.. are
-    also valid.
-
-    :Examples:
-        Log the current branch::
-
-            bzr log
-
-        Log a file::
-
-            bzr log foo.c
-
-        Log the last 10 revisions of a branch::
-
-            bzr log -r -10.. http://server/branch
+    """Show historical log for a branch or subset of a branch.
+
+    log is bzr's default tool for exploring the history of a branch.
+    The branch to use is taken from the first parameter. If no parameters
+    are given, the branch containing the working directory is logged.
+    Here are some simple examples::
+
+      bzr log                       log the current branch
+      bzr log foo.py                log a file in its branch
+      bzr log http://server/branch  log a branch on a server
+
+    The filtering, ordering and information shown for each revision can
+    be controlled as explained below. By default, all revisions are
+    shown sorted (topologically) so that newer revisions appear before
+    older ones and descendants always appear before ancestors. If displayed,
+    merged revisions are shown indented under the revision in which they
+    were merged.
+
+    :Output control:
+ 
+      The log format controls how information about each revision is
+      displayed. The standard log formats are called ``long``, ``short``
+      and ``line``. The default is long. See ``bzr help log-formats``
+      for more details on log formats.
+
+      The following options can be used to control what information is
+      displayed::
+  
+        -l N        display a maximum of N revisions
+        -n N        display N levels of revisions (0 for all, 1 for collapsed)
+        -v          display a status summary (delta) for each revision
+        -p          display a diff (patch) for each revision
+        --show-ids  display revision-ids (and file-ids), not just revnos
+  
+      Note that the default number of levels to display is a function of the
+      log format. If the -n option is not used, ``short`` and ``line`` show
+      just the top level (mainline) while ``long`` shows all levels of merged
+      revisions.
+  
+      Status summaries are shown using status flags like A, M, etc. To see
+      the changes explained using words like ``added`` and ``modified``
+      instead, use the -vv option.
+  
+    :Ordering control:
+  
+      To display revisions from oldest to newest, use the --forward option.
+      In most cases, using this option will have little impact on the total
+      time taken to produce a log, though --forward does not incrementally
+      display revisions like --reverse does when it can.
+  
+    :Revision filtering:
+  
+      The -r option can be used to specify what revision or range of revisions
+      to filter against. The various forms are shown below::
+  
+        -rX      display revision X
+        -rX..    display revision X and later
+        -r..Y    display up to and including revision Y
+        -rX..Y   display from X to Y inclusive
+  
+      See ``bzr help revisionspec`` for details on how to specify X and Y.
+      Some common examples are given below::
+  
+        -r-1                show just the tip
+        -r-10..             show the last 10 mainline revisions
+        -rsubmit:..         show what's new on this branch
+        -rancestor:path..   show changes since the common ancestor of this
+                            branch and the one at location path
+        -rdate:yesterday..  show changes since yesterday
+  
+      When logging a range of revisions using -rX..Y, log starts at
+      revision Y and searches back in history through the primary
+      ("left-hand") parents until it finds X. When logging just the
+      top level (using -n1), an error is reported if X is not found
+      along the way. If multi-level logging is used (-n0), X may be
+      a nested merge revision and the log will be truncated accordingly.
+
+    :Path filtering:
+  
+      If a parameter is given and it's not a branch, the log will be filtered
+      to show only those revisions that changed the nominated file or
+      directory.
+  
+      Filenames are interpreted within their historical context. To log a
+      deleted file, specify a revision range so that the file existed at
+      the end or start of the range.
+  
+      Historical context is also important when interpreting pathnames of
+      renamed files/directories. Consider the following example:
+  
+      * revision 1: add tutorial.txt
+      * revision 2: modify tutorial.txt
+      * revision 3: rename tutorial.txt to guide.txt; add tutorial.txt
+  
+      In this case:
+  
+      * ``bzr log guide.txt`` will log the file added in revision 1
+  
+      * ``bzr log tutorial.txt`` will log the new file added in revision 3
+  
+      * ``bzr log -r2 -p tutorial.txt`` will show the changes made to
+        the original file in revision 2.
+  
+      * ``bzr log -r2 -p guide.txt`` will display an error message as there
+        was no file called guide.txt in revision 2.
+  
+      Renames are always followed by log. By design, there is no need to
+      explicitly ask for this (and no way to stop logging a file back
+      until it was last renamed).
+  
+      Note: If the path is a directory, only revisions that directly changed
+      that directory object are currently shown. This is considered a bug.
+      (Support for filtering against multiple files and for files within a
+      directory is under development.)
+  
+    :Other filtering:
+  
+      The --message option can be used for finding revisions that match a
+      regular expression in a commit message.
+  
+    :Tips & tricks:
+  
+      GUI tools and IDEs are often better at exploring history than command
+      line tools. You may prefer qlog or glog from the QBzr and Bzr-Gtk packages
+      respectively for example. (TortoiseBzr uses qlog for displaying logs.) See
+      http://bazaar-vcs.org/BzrPlugins and http://bazaar-vcs.org/IDEIntegration.
+  
+      Web interfaces are often better at exploring history than command line
+      tools, particularly for branches on servers. You may prefer Loggerhead
+      or one of its alternatives. See http://bazaar-vcs.org/WebInterface.
+  
+      You may find it useful to add the aliases below to ``bazaar.conf``::
+  
+        [ALIASES]
+        tip = log -r-1 -n1
+        top = log -r-10.. --short --forward
+        show = log -v -p -n1 --long
+  
+      ``bzr tip`` will then show the latest revision while ``bzr top``
+      will show the last 10 mainline revisions. To see the details of a
+      particular revision X,  ``bzr show -rX``.
+  
+      As many GUI tools and Web interfaces do, you may prefer viewing
+      history collapsed initially. If you are interested in looking deeper
+      into a particular merge X, use ``bzr log -n0 -rX``. If you like
+      working this way, you may wish to either:
+  
+      * change your default log format to short (or line)
+      * add this alias: log = log -n1
+  
+      ``bzr log -v`` on a branch with lots of history is currently
+      very slow. A fix for this issue is currently under development.
+      With or without that fix, it is recommended that a revision range
+      be given when using the -v option.
+  
+      bzr has a generic full-text matching plugin, bzr-search, that can be
+      used to find revisions matching user names, commit messages, etc.
+      Among other features, this plugin can find all revisions containing
+      a list of words but not others.
+  
+      When exploring non-mainline history on large projects with deep
+      history, the performance of log can be greatly improved by installing
+      the revnocache plugin. This plugin buffers historical information
+      trading disk space for faster speed.
     """
-
-    # TODO: Make --revision support uuid: and hash: [future tag:] notation.
-
     takes_args = ['location?']
+    _see_also = ['log-formats', 'revisionspec']
     takes_options = [
             Option('forward',
                    help='Show from oldest to newest.'),

=== modified file 'bzrlib/bzrdir.py'
--- a/bzrlib/bzrdir.py	2009-02-10 05:47:45 +0000
+++ b/bzrlib/bzrdir.py	2009-02-13 21:21:25 +0000
@@ -3136,7 +3136,7 @@
     'bzrlib.repofmt.pack_repo.RepositoryFormatKnitPack6',
     help='A working-tree format that supports views and content filtering.',
     branch_format='bzrlib.branch.BzrBranchFormat7',
-    tree_format='bzrlib.workingtree_4.WorkingTreeFormat5',
+    tree_format='bzrlib.workingtree.WorkingTreeFormat5',
     experimental=True,
     )
 format_registry.register_metadir('development-wt5-rich-root',
@@ -3144,7 +3144,7 @@
     help='A variant of development-wt5 that supports rich-root data '
          '(needed for bzr-svn).',
     branch_format='bzrlib.branch.BzrBranchFormat7',
-    tree_format='bzrlib.workingtree_4.WorkingTreeFormat5',
+    tree_format='bzrlib.workingtree.WorkingTreeFormat5',
     experimental=True,
     )
 # The following two formats should always just be aliases.

=== modified file 'bzrlib/commands.py'
--- a/bzrlib/commands.py	2009-02-12 03:45:55 +0000
+++ b/bzrlib/commands.py	2009-02-13 21:21:25 +0000
@@ -346,7 +346,7 @@
             raise NotImplementedError("sorry, no detailed help yet for %r" % self.name())
 
         # Extract the summary (purpose) and sections out from the text
-        purpose,sections = self._get_help_parts(doc)
+        purpose,sections,order = self._get_help_parts(doc)
 
         # If a custom usage section was provided, use it
         if sections.has_key('Usage'):
@@ -384,9 +384,9 @@
         # Add the custom sections (e.g. Examples). Note that there's no need
         # to indent these as they must be indented already in the source.
         if sections:
-            labels = sorted(sections.keys())
-            for label in labels:
-                result += ':%s:\n%s\n\n' % (label,sections[label])
+            for label in order:
+                if sections.has_key(label):
+                    result += ':%s:\n%s\n\n' % (label,sections[label])
 
         # Add the aliases, source (plug-in) and see also links, if any
         if self.aliases:
@@ -421,38 +421,41 @@
     def _get_help_parts(text):
         """Split help text into a summary and named sections.
 
-        :return: (summary,sections) where summary is the top line and
+        :return: (summary,sections,order) where summary is the top line and
             sections is a dictionary of the rest indexed by section name.
+            order is the order the section appear in the text.
             A section starts with a heading line of the form ":xxx:".
             Indented text on following lines is the section value.
             All text found outside a named section is assigned to the
             default section which is given the key of None.
         """
-        def save_section(sections, label, section):
+        def save_section(sections, order, label, section):
             if len(section) > 0:
                 if sections.has_key(label):
                     sections[label] += '\n' + section
                 else:
+                    order.append(label)
                     sections[label] = section
 
         lines = text.rstrip().splitlines()
         summary = lines.pop(0)
         sections = {}
+        order = []
         label,section = None,''
         for line in lines:
             if line.startswith(':') and line.endswith(':') and len(line) > 2:
-                save_section(sections, label, section)
+                save_section(sections, order, label, section)
                 label,section = line[1:-1],''
             elif (label is not None) and len(line) > 1 and not line[0].isspace():
-                save_section(sections, label, section)
+                save_section(sections, order, label, section)
                 label,section = None,line
             else:
                 if len(section) > 0:
                     section += '\n' + line
                 else:
                     section = line
-        save_section(sections, label, section)
-        return summary, sections
+        save_section(sections, order, label, section)
+        return summary, sections, order
 
     def get_help_topic(self):
         """Return the commands help topic - its name."""

=== modified file 'bzrlib/help_topics/__init__.py'
--- a/bzrlib/help_topics/__init__.py	2009-02-10 00:29:26 +0000
+++ b/bzrlib/help_topics/__init__.py	2009-02-13 02:52:56 +0000
@@ -744,6 +744,8 @@
                         'Types of conflicts and what to do about them')
 topic_registry.register('hooks', _load_from_file,
                         'Points at which custom processing can be added')
+topic_registry.register('log-formats', _load_from_file,
+                        'Details on the logging formats available')
 
 
 # Register concept topics.

=== modified file 'bzrlib/help_topics/en/configuration.txt'
--- a/bzrlib/help_topics/en/configuration.txt	2009-01-07 06:02:16 +0000
+++ b/bzrlib/help_topics/en/configuration.txt	2009-01-30 08:32:26 +0000
@@ -178,8 +178,8 @@
 The main configuration file, bazaar.conf
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-``bazaar.conf`` only allows one
-section called ``[DEFAULT]``. This default section contains the default
+``bazaar.conf`` allows two sections: ``[DEFAULT]`` and ``[ALIASES]``.
+The default section contains the default
 configuration options for all branches. The default section can be
 overriden by providing a branch-specific section in ``locations.conf``.
 
@@ -244,6 +244,13 @@
 ``BZR_EDITOR``, and overrides the ``VISUAL`` and ``EDITOR`` environment
 variables.
 
+log_format
+~~~~~~~~~~
+
+The default log format to use. Standard log formats are ``long``, ``short``
+and ``line``. Additional formats may be provided by plugins. The default
+value is ``long``.
+
 check_signatures
 ~~~~~~~~~~~~~~~~
 

=== added file 'bzrlib/help_topics/en/log-formats.txt'
--- a/bzrlib/help_topics/en/log-formats.txt	1970-01-01 00:00:00 +0000
+++ b/bzrlib/help_topics/en/log-formats.txt	2009-02-09 08:19:18 +0000
@@ -0,0 +1,33 @@
+Log formats
+===========
+
+A log format controls how information about each revision is displayed.
+The standard log formats are compared below::
+
+  Feature                 long           short         line
+  ----------------------  -------------  ------------  -------------------
+  design goal             detailed view  concise view  1 revision per line
+  committer               name+email     name only     name only
+  author                  name+email     -             -
+  date-time format        full           date only     date only
+  commit message          full           full          top line
+  tags                    yes            yes           yes
+  merges indicator        -              yes           -
+  status/delta            optional       optional      -
+  diff/patch              optional       optional      -
+  revision-id             optional       optional      -
+  branch nick             yes            -             -
+  foreign vcs properties  yes            yes           -
+  preferred levels        all            1             1
+
+The default format is ``long``. To change this, define the ``log_format``
+setting in the ``[DEFAULT]`` section of ``bazaar.conf`` like this (say)::
+
+  [DEFAULT]
+  log_format = short
+
+Alternatively, to change the log format used for a given query, use the
+--long, --short or --line options.
+
+If one of the standard log formats does not meet your needs, additional
+formats can be provided by plugins.

=== modified file 'setup.py'
--- a/setup.py	2009-02-05 21:53:22 +0000
+++ b/setup.py	2009-02-11 15:33:31 +0000
@@ -408,6 +408,10 @@
         os.environ["PATH"] = path + os.pathsep + qt_dir
 
 
+def get_svn_py2exe_info(includes, excludes, packages):
+    packages.append('subvertpy')
+
+
 if 'bdist_wininst' in sys.argv:
     def find_docs():
         docs = []
@@ -586,6 +590,9 @@
     if 'qbzr' in plugins:
         get_qbzr_py2exe_info(includes, excludes, packages)
 
+    if 'svn' in plugins:
+        get_svn_py2exe_info(includes, excludes, packages)
+
     if "TBZR" in os.environ:
         # TORTOISE_OVERLAYS_MSI_WIN32 must be set to the location of the
         # TortoiseOverlays MSI installer file. It is in the TSVN svn repo and

=== modified file 'tools/win32/build_release.py'
--- a/tools/win32/build_release.py	2009-01-12 18:17:05 +0000
+++ b/tools/win32/build_release.py	2009-02-11 15:45:01 +0000
@@ -4,10 +4,11 @@
 # When preparing a new release, make sure to set all of these to the latest
 # values.
 VERSIONS = {
-    'bzr': '1.11',
-    'qbzr': '0.9.6',
-    'bzrtools': '1.11.0',
-    'bzr-svn': '0.4.16',
+    'bzr': '1.12',
+    'qbzr': '0.9.7',
+    'bzrtools': '1.12.0',
+    'bzr-svn': '0.5.0',
+    'subvertpy': '0.6.2',
 }
 
 # This will be passed to 'make' to ensure we build with the right python
@@ -123,8 +124,8 @@
 
 
 def _plugin_tag_name(plugin_name):
-    if plugin_name == 'bzr-svn':
-        return 'bzr-svn-' + VERSIONS['bzr-svn']
+    if plugin_name in ('bzr-svn', 'subvertpy'):
+        return '%s-%s' % (plugin_name, VERSIONS[plugin_name])
     # bzrtools and qbzr use 'release-X.Y.Z'
     return 'release-' + VERSIONS[plugin_name]
 
@@ -189,6 +190,7 @@
     update_tbzr()
     clean_target()
     create_target()
+    install_plugin('subvertpy')
     install_plugin('bzrtools')
     install_plugin('qbzr')
     install_plugin('bzr-svn')

=== modified file 'tools/win32/bzr.iss.cog'
--- a/tools/win32/bzr.iss.cog	2009-01-09 05:15:49 +0000
+++ b/tools/win32/bzr.iss.cog	2009-01-12 01:55:34 +0000
@@ -106,7 +106,7 @@
 ;     cog.outl('Source: "tbzrshellext_x64.dll"; DestDir: "{app}"; Flags: ignoreversion restartreplace uninsrestartdelete; Components: tortoise; Check: IsWin64;')
 ;     cog.outl(r'Source: "plugins\qbzr\*"; DestDir: "{app}\plugins\qbzr"; Flags: createallsubdirs ignoreversion recursesubdirs restartreplace uninsrestartdelete; Components: tortoise')
 ;
-;     cog.outl('Source: "%s\\doc\\index.html"; DestDir: "{app}\\doc\\tbzr"; Flags: ignoreversion; Components: tortoise' % os.environ['TBZR'])
+;     cog.outl('Source: "%s\\doc\\*.html"; DestDir: "{app}\\doc\\tbzr"; Flags: ignoreversion; Components: tortoise' % os.environ['TBZR'])
 ; ]]]
 ; [[[end]]]
 




More information about the bazaar-commits mailing list