Rev 3338: merge bzr.dev in file:///v/home/vila/src/bzr/experimental/faster-selftest/
Vincent Ladeuil
v.ladeuil+lp at free.fr
Wed Apr 23 14:50:39 BST 2008
At file:///v/home/vila/src/bzr/experimental/faster-selftest/
------------------------------------------------------------
revno: 3338
revision-id: v.ladeuil+lp at free.fr-20080423135033-nhnu9u2re6m1c2xw
parent: v.ladeuil+lp at free.fr-20080417145539-480w60em7x6cf5s7
parent: pqm at pqm.ubuntu.com-20080422120059-sony5sthnlewabge
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: cleanup-test-suite-loading
timestamp: Wed 2008-04-23 15:50:33 +0200
message:
merge bzr.dev
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/log.py log.py-20050505065812-c40ce11702fe5fb1
bzrlib/msgeditor.py msgeditor.py-20050901111708-ef6d8de98f5d8f2f
bzrlib/plugins/launchpad/lp_directory.py lp_indirect.py-20070126012204-de5rugwlt22c7u7e-1
bzrlib/repository.py rev_storage.py-20051111201905-119e9401e46257e3
bzrlib/smart/server.py server.py-20061110062051-chzu10y32vx8gvur-1
bzrlib/tests/test_log.py testlog.py-20050728115707-1a514809d7d49309
------------------------------------------------------------
revno: 3302.3.75
revision-id: pqm at pqm.ubuntu.com-20080422120059-sony5sthnlewabge
parent: pqm at pqm.ubuntu.com-20080421181503-z5opy8fb01ksjc5w
parent: mbp at sourcefrog.net-20080422095815-np97h22g15tejnhq
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Tue 2008-04-22 13:00:59 +0100
message:
(mbp,trivial) fix incorrect indentation in _run_editor
modified:
bzrlib/msgeditor.py msgeditor.py-20050901111708-ef6d8de98f5d8f2f
------------------------------------------------------------
revno: 3302.58.1
revision-id: mbp at sourcefrog.net-20080422095815-np97h22g15tejnhq
parent: pqm at pqm.ubuntu.com-20080421181503-z5opy8fb01ksjc5w
committer: Martin Pool <mbp at sourcefrog.net>
branch nick: trivial
timestamp: Tue 2008-04-22 19:58:15 +1000
message:
Fix incorrect indentation (#220333)
modified:
bzrlib/msgeditor.py msgeditor.py-20050901111708-ef6d8de98f5d8f2f
------------------------------------------------------------
revno: 3302.3.74
revision-id: pqm at pqm.ubuntu.com-20080421181503-z5opy8fb01ksjc5w
parent: pqm at pqm.ubuntu.com-20080421032507-zw44l9w8k1riva6y
parent: john at arbash-meinel.com-20080421160533-abpkc2ahl7h5m3nl
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Mon 2008-04-21 19:15:03 +0100
message:
(jam) bug #209948,
properly skip over ghosts when displaying the log for a single file
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/log.py log.py-20050505065812-c40ce11702fe5fb1
bzrlib/tests/test_log.py testlog.py-20050728115707-1a514809d7d49309
------------------------------------------------------------
revno: 3302.57.2
revision-id: john at arbash-meinel.com-20080421160533-abpkc2ahl7h5m3nl
parent: john at arbash-meinel.com-20080418175434-t91cnuokuwovt1s6
parent: pqm at pqm.ubuntu.com-20080421032507-zw44l9w8k1riva6y
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: log_bug_209948
timestamp: Mon 2008-04-21 11:05:33 -0500
message:
resolve NEWS conflict
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/plugins/launchpad/lp_directory.py lp_indirect.py-20070126012204-de5rugwlt22c7u7e-1
bzrlib/smart/server.py server.py-20061110062051-chzu10y32vx8gvur-1
------------------------------------------------------------
revno: 3302.57.1
revision-id: john at arbash-meinel.com-20080418175434-t91cnuokuwovt1s6
parent: pqm at pqm.ubuntu.com-20080417155359-m3nxwwr442bgmsne
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: log_bug_209948
timestamp: Fri 2008-04-18 12:54:34 -0500
message:
Fix bug #209948, properly skip over ghosts when displaying the changes for a single file.
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/log.py log.py-20050505065812-c40ce11702fe5fb1
bzrlib/tests/test_log.py testlog.py-20050728115707-1a514809d7d49309
------------------------------------------------------------
revno: 3302.3.73
revision-id: pqm at pqm.ubuntu.com-20080421032507-zw44l9w8k1riva6y
parent: pqm at pqm.ubuntu.com-20080419002305-25ayhxp3m0b95e9c
parent: mbp at sourcefrog.net-20080421010717-iji0e7xjwd1i6x2p
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Mon 2008-04-21 04:25:07 +0100
message:
(mbp) Set SO_REUSEADDR on server sockets (#164288)
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/smart/server.py server.py-20061110062051-chzu10y32vx8gvur-1
------------------------------------------------------------
revno: 3302.56.1
revision-id: mbp at sourcefrog.net-20080421010717-iji0e7xjwd1i6x2p
parent: pqm at pqm.ubuntu.com-20080419002305-25ayhxp3m0b95e9c
committer: Martin Pool <mbp at sourcefrog.net>
branch nick: 164288-reuseaddr
timestamp: Mon 2008-04-21 11:07:17 +1000
message:
Set SO_REUSEADDR on server sockets (#164288)
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/smart/server.py server.py-20061110062051-chzu10y32vx8gvur-1
------------------------------------------------------------
revno: 3302.3.72
revision-id: pqm at pqm.ubuntu.com-20080419002305-25ayhxp3m0b95e9c
parent: pqm at pqm.ubuntu.com-20080417155359-m3nxwwr442bgmsne
parent: john at arbash-meinel.com-20080418220716-6nznomxj9gem1imi
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Sat 2008-04-19 01:23:05 +0100
message:
(jam) Trivial update to warning message when a user has not run
lp-login
modified:
bzrlib/plugins/launchpad/lp_directory.py lp_indirect.py-20070126012204-de5rugwlt22c7u7e-1
------------------------------------------------------------
revno: 3302.55.1
revision-id: john at arbash-meinel.com-20080418220716-6nznomxj9gem1imi
parent: pqm at pqm.ubuntu.com-20080417155359-m3nxwwr442bgmsne
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: jam-integration
timestamp: Fri 2008-04-18 17:07:16 -0500
message:
Trivial warning message update when user has not run lp-login
modified:
bzrlib/plugins/launchpad/lp_directory.py lp_indirect.py-20070126012204-de5rugwlt22c7u7e-1
------------------------------------------------------------
revno: 3302.3.71
revision-id: pqm at pqm.ubuntu.com-20080417155359-m3nxwwr442bgmsne
parent: pqm at pqm.ubuntu.com-20080417100712-7pdn4q0fg9eoy3a2
parent: john at arbash-meinel.com-20080416145933-9gckdbje0wbjpd6p
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Thu 2008-04-17 16:53:59 +0100
message:
(jam) Fix a performance regression in knit=>knit fetching.
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/repository.py rev_storage.py-20051111201905-119e9401e46257e3
------------------------------------------------------------
revno: 3302.54.2
revision-id: john at arbash-meinel.com-20080416145933-9gckdbje0wbjpd6p
parent: john at arbash-meinel.com-20080416145419-n2o7pkchnet77smi
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: knit_fetch_regression
timestamp: Wed 2008-04-16 09:59:33 -0500
message:
Update NEWS to reflect the regression fix.
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
------------------------------------------------------------
revno: 3302.54.1
revision-id: john at arbash-meinel.com-20080416145419-n2o7pkchnet77smi
parent: pqm at pqm.ubuntu.com-20080416060444-1mgq4chv82tgm2sc
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: knit_fetch_regression
timestamp: Wed 2008-04-16 09:54:19 -0500
message:
Knit => knit fetching also has some very bad 'for x in revision_ids: has_revision_id()' calls
modified:
bzrlib/repository.py rev_storage.py-20051111201905-119e9401e46257e3
-------------- next part --------------
=== modified file 'NEWS'
--- a/NEWS 2008-04-17 14:55:39 +0000
+++ b/NEWS 2008-04-23 13:50:33 +0000
@@ -26,9 +26,19 @@
* Avoid muttering every time a child update does not cause a progress bar
update. (John Arbash Meinel, #213771)
+ * Set SO_REUSEADDR on server sockets of ``bzr serve`` to avoid problems
+ rebinding the socket when starting the server a second time.
+ (John Arbash Meinel, Martin Pool, #164288)
+
* Severe performance degradation in fetching from knit repositories to
- packs due to parsing the entire revisions.kndx on every graph walk
- iteration fixed by using the Repository.get_graph API. (Robert Collins)
+ knits and packs due to parsing the entire revisions.kndx on every graph
+ walk iteration fixed by using the Repository.get_graph API. There was
+ another regression in knit => knit fetching which re-read the index for
+ every revision each side had in common.
+ (Robert Collins, John Arbash Meinel)
+
+ * When logging the changes to a particular file, there was a bug if there
+ were ghosts in the revision ancestry. (John Arbash Meinel, #209948)
DOCUMENTATION:
=== modified file 'bzrlib/log.py'
--- a/bzrlib/log.py 2008-03-28 03:54:40 +0000
+++ b/bzrlib/log.py 2008-04-18 17:54:34 +0000
@@ -479,6 +479,11 @@
if rev in weave_modifed_revisions:
rev_ancestry.add(rev)
for parent in parents:
+ if parent not in ancestry:
+ # parent is a Ghost, which won't be present in
+ # sorted_rev_list, but we may access it later, so create an
+ # empty node for it
+ ancestry[parent] = set()
rev_ancestry = rev_ancestry.union(ancestry[parent])
ancestry[rev] = rev_ancestry
=== modified file 'bzrlib/msgeditor.py'
--- a/bzrlib/msgeditor.py 2007-11-17 17:22:08 +0000
+++ b/bzrlib/msgeditor.py 2008-04-22 09:58:15 +0000
@@ -61,10 +61,10 @@
## mutter("trying editor: %r", (edargs +[filename]))
x = call(edargs + [filename])
except OSError, e:
- # We're searching for an editor, so catch safe errors and continue
- if e.errno in (errno.ENOENT, ):
- continue
- raise
+ # We're searching for an editor, so catch safe errors and continue
+ if e.errno in (errno.ENOENT, ):
+ continue
+ raise
if x == 0:
return True
elif x == 127:
=== modified file 'bzrlib/plugins/launchpad/lp_directory.py'
--- a/bzrlib/plugins/launchpad/lp_directory.py 2008-04-02 03:11:19 +0000
+++ b/bzrlib/plugins/launchpad/lp_directory.py 2008-04-18 22:07:16 +0000
@@ -93,10 +93,9 @@
if _lp_login is None:
if not _warned_login:
trace.warning('You have not informed bzr of your '
- 'launchpad login. If you are attempting a '
- 'write operation it may fail. If it does, '
- 'run "bzr launchpad-login YOUR_ID" to '
- 'set your login and try again.')
+ 'launchpad login. If you are attempting a\n'
+ 'write operation and it fails, run '
+ '"bzr launchpad-login YOUR_ID" and try again.')
_warned_login = True
continue
url = urlunsplit((scheme, '%s@%s' % (_lp_login, netloc),
=== modified file 'bzrlib/repository.py'
--- a/bzrlib/repository.py 2008-04-14 22:39:51 +0000
+++ b/bzrlib/repository.py 2008-04-16 14:54:19 +0000
@@ -592,10 +592,10 @@
Returns a set of the present revisions.
"""
result = []
- for id in revision_ids:
- if self.has_revision(id):
- result.append(id)
- return result
+ graph = self.get_graph()
+ parent_map = graph.get_parent_map(revision_ids)
+ # The old API returned a list, should this actually be a set?
+ return parent_map.keys()
@staticmethod
def create(a_bzrdir):
=== modified file 'bzrlib/smart/server.py'
--- a/bzrlib/smart/server.py 2007-12-13 22:22:58 +0000
+++ b/bzrlib/smart/server.py 2008-04-21 01:07:17 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2006, 2007 Canonical Ltd
+# Copyright (C) 2006, 2007, 2008 Canonical Ltd
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -18,6 +18,7 @@
import errno
import socket
+import sys
import threading
from bzrlib.hooks import Hooks
@@ -59,6 +60,10 @@
self._socket_error = socket_error
self._socket_timeout = socket_timeout
self._server_socket = socket.socket()
+ # SO_REUSERADDR has a different meaning on Windows
+ if sys.platform != 'win32':
+ self._server_socket.setsockopt(socket.SOL_SOCKET,
+ socket.SO_REUSEADDR, 1)
self._server_socket.bind((host, port))
self._sockname = self._server_socket.getsockname()
self.port = self._sockname[1]
=== modified file 'bzrlib/tests/test_log.py'
--- a/bzrlib/tests/test_log.py 2008-03-26 21:42:35 +0000
+++ b/bzrlib/tests/test_log.py 2008-04-18 17:54:34 +0000
@@ -891,6 +891,20 @@
# f3 should be marked as modified by revisions A, B, C, and D
self.assertAllRevisionsForFileID(tree, 'f2-id', ['D', 'C', 'A'])
+ def test_file_id_with_ghosts(self):
+ # This is testing bug #209948, where having a ghost would cause
+ # _filter_revisions_touching_file_id() to fail.
+ tree = self.create_tree_with_single_merge()
+ # We need to add a revision, so switch back to a write-locked tree
+ tree.unlock()
+ tree.lock_write()
+ first_parent = tree.last_revision()
+ tree.set_parent_ids([first_parent, 'ghost-revision-id'])
+ self.build_tree_contents([('tree/f1', 'A\nB\nXX\n')])
+ tree.commit('commit with a ghost', rev_id='XX')
+ self.assertAllRevisionsForFileID(tree, 'f1-id', ['XX', 'B', 'A'])
+ self.assertAllRevisionsForFileID(tree, 'f2-id', ['D', 'C', 'A'])
+
class TestShowChangedRevisions(TestCaseWithTransport):
More information about the bazaar-commits
mailing list