Rev 4393: (igc) fix locking in tags command in file:///home/pqm/archives/thelove/bzr/%2Btrunk/
Canonical.com Patch Queue Manager
pqm at pqm.ubuntu.com
Sat May 30 16:01:14 BST 2009
At file:///home/pqm/archives/thelove/bzr/%2Btrunk/
------------------------------------------------------------
revno: 4393
revision-id: pqm at pqm.ubuntu.com-20090530150110-c87w11jf6sqevh16
parent: pqm at pqm.ubuntu.com-20090529112630-p1bfpivkz3igjzn2
parent: ian.clatworthy at canonical.com-20090530140729-hpjn4946at67jseh
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Sat 2009-05-30 16:01:10 +0100
message:
(igc) fix locking in tags command
modified:
bzrlib/builtins.py builtins.py-20050830033751-fc01482b9ca23183
------------------------------------------------------------
revno: 4392.1.1
revision-id: ian.clatworthy at canonical.com-20090530140729-hpjn4946at67jseh
parent: pqm at pqm.ubuntu.com-20090529112630-p1bfpivkz3igjzn2
parent: ian.clatworthy at canonical.com-20090530062403-ti2d0ja7c9bozqbt
committer: Ian Clatworthy <ian.clatworthy at canonical.com>
branch nick: integration
timestamp: Sun 2009-05-31 00:07:29 +1000
message:
(igc) fix locking in tags command
modified:
bzrlib/builtins.py builtins.py-20050830033751-fc01482b9ca23183
------------------------------------------------------------
revno: 4390.1.3
revision-id: ian.clatworthy at canonical.com-20090530062403-ti2d0ja7c9bozqbt
parent: ian.clatworthy at canonical.com-20090530062101-gct3axq5r2r0ss3x
parent: pqm at pqm.ubuntu.com-20090529112630-p1bfpivkz3igjzn2
committer: Ian Clatworthy <ian.clatworthy at canonical.com>
branch nick: faster-tags
timestamp: Sat 2009-05-30 16:24:03 +1000
message:
merge bzr.dev r4391
added:
bzrlib/tests/per_repository_reference/test_fetch.py test_fetch.py-20090511214909-25pkgmoam913lrji-1
bzrlib/tests/per_repository_reference/test_initialize.py test_initialize.py-20090527083941-4rz2urcthjet5e2i-1
bzrlib/tests/per_repository_reference/test_unlock.py test_unlock.py-20090526160031-14lvypj5pbrndnyz-1
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/branch.py branch.py-20050309040759-e4baf4e0d046576e
bzrlib/groupcompress.py groupcompress.py-20080705181503-ccbxd6xuy1bdnrpu-8
bzrlib/inventory.py inventory.py-20050309040759-6648b84ca2005b37
bzrlib/knit.py knit.py-20051212171256-f056ac8f0fbe1bd9
bzrlib/remote.py remote.py-20060720103555-yeeg2x51vn0rbtdp-1
bzrlib/repofmt/groupcompress_repo.py repofmt.py-20080715094215-wp1qfvoo7093c8qr-1
bzrlib/repofmt/pack_repo.py pack_repo.py-20070813041115-gjv5ma7ktfqwsjgn-1
bzrlib/repository.py rev_storage.py-20051111201905-119e9401e46257e3
bzrlib/tests/per_repository/test_fileid_involved.py test_file_involved.py-20051215205901-728a172d1014daaa
bzrlib/tests/per_repository/test_write_group.py test_write_group.py-20070716105516-89n34xtogq5frn0m-1
bzrlib/tests/per_repository_reference/__init__.py __init__.py-20080220025549-nnm2s80it1lvcwnc-2
bzrlib/tests/per_repository_reference/test_default_stacking.py test_default_stackin-20090311055345-9ajahgm58oq3wh6h-1
bzrlib/tests/test_graph.py test_graph_walker.py-20070525030405-enq4r60hhi9xrujc-1
bzrlib/tests/test_groupcompress.py test_groupcompress.p-20080705181503-ccbxd6xuy1bdnrpu-13
bzrlib/tests/test_pack_repository.py test_pack_repository-20080801043947-eaw0e6h2gu75kwmy-1
bzrlib/tests/test_repository.py test_repository.py-20060131075918-65c555b881612f4d
------------------------------------------------------------
revno: 4390.1.2
revision-id: ian.clatworthy at canonical.com-20090530062101-gct3axq5r2r0ss3x
parent: ian.clatworthy at canonical.com-20090529032625-znolk6xrgnzlcm6m
committer: Ian Clatworthy <ian.clatworthy at canonical.com>
branch nick: faster-tags
timestamp: Sat 2009-05-30 16:21:01 +1000
message:
fix locking in tags command
modified:
bzrlib/builtins.py builtins.py-20050830033751-fc01482b9ca23183
=== modified file 'bzrlib/builtins.py'
--- a/bzrlib/builtins.py 2009-05-29 03:26:25 +0000
+++ b/bzrlib/builtins.py 2009-05-30 06:21:01 +0000
@@ -5027,42 +5027,42 @@
if not tags:
return
- if revision:
- branch.lock_read()
- try:
+ branch.lock_read()
+ try:
+ if revision:
graph = branch.repository.get_graph()
rev1, rev2 = _get_revision_range(revision, branch, self.name())
revid1, revid2 = rev1.rev_id, rev2.rev_id
# only show revisions between revid1 and revid2 (inclusive)
tags = [(tag, revid) for tag, revid in tags if
graph.is_between(revid, revid1, revid2)]
- finally:
- branch.unlock()
- if sort == 'alpha':
- tags.sort()
- elif sort == 'time':
- timestamps = {}
- for tag, revid in tags:
- try:
- revobj = branch.repository.get_revision(revid)
- except errors.NoSuchRevision:
- timestamp = sys.maxint # place them at the end
- else:
- timestamp = revobj.timestamp
- timestamps[revid] = timestamp
- tags.sort(key=lambda x: timestamps[x[1]])
- if not show_ids:
- # [ (tag, revid), ... ] -> [ (tag, dotted_revno), ... ]
- for index, (tag, revid) in enumerate(tags):
- try:
- revno = branch.revision_id_to_dotted_revno(revid)
- if isinstance(revno, tuple):
- revno = '.'.join(map(str, revno))
- except errors.NoSuchRevision:
- # Bad tag data/merges can lead to tagged revisions
- # which are not in this branch. Fail gracefully ...
- revno = '?'
- tags[index] = (tag, revno)
+ if sort == 'alpha':
+ tags.sort()
+ elif sort == 'time':
+ timestamps = {}
+ for tag, revid in tags:
+ try:
+ revobj = branch.repository.get_revision(revid)
+ except errors.NoSuchRevision:
+ timestamp = sys.maxint # place them at the end
+ else:
+ timestamp = revobj.timestamp
+ timestamps[revid] = timestamp
+ tags.sort(key=lambda x: timestamps[x[1]])
+ if not show_ids:
+ # [ (tag, revid), ... ] -> [ (tag, dotted_revno), ... ]
+ for index, (tag, revid) in enumerate(tags):
+ try:
+ revno = branch.revision_id_to_dotted_revno(revid)
+ if isinstance(revno, tuple):
+ revno = '.'.join(map(str, revno))
+ except errors.NoSuchRevision:
+ # Bad tag data/merges can lead to tagged revisions
+ # which are not in this branch. Fail gracefully ...
+ revno = '?'
+ tags[index] = (tag, revno)
+ finally:
+ branch.unlock()
for tag, revspec in tags:
self.outf.write('%-20s %s\n' % (tag, revspec))
More information about the bazaar-commits
mailing list