Rev 1655: Deal with moving branch parents. in http://people.samba.org/bzr/jelmer/bzr-svn/trunk
Jelmer Vernooij
jelmer at samba.org
Tue Aug 26 01:39:24 BST 2008
At http://people.samba.org/bzr/jelmer/bzr-svn/trunk
------------------------------------------------------------
revno: 1655
revision-id: jelmer at samba.org-20080826003921-jzwhvfzv7549hutx
parent: jelmer at samba.org-20080826002501-arkzcguo81eea0gt
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: 0.4
timestamp: Tue 2008-08-26 02:39:21 +0200
message:
Deal with moving branch parents.
modified:
repository.py repository.py-20060306123302-1f8c5069b3fe0265
=== modified file 'repository.py'
--- a/repository.py 2008-08-26 00:19:08 +0000
+++ b/repository.py 2008-08-26 00:39:21 +0000
@@ -773,6 +773,22 @@
created = set()
for (paths, revnum, revprops) in self._log.iter_changes(None, from_revnum, to_revnum):
for p in paths:
+ if layout.is_branch_parent(p):
+ if paths[p][0] in ('R', 'D'):
+ deleted.add(p)
+ elif paths[p][1] is not None:
+ parents = [p]
+ while parents:
+ p = parents.pop()
+ try:
+ for c in self.transport.get_dir(p, revnum)[0].keys():
+ n = p+"/"+c
+ if layout.is_branch(n):
+ created.add(n)
+ elif layout.is_branch_parent(n):
+ parents.append(n)
+ except SubversionException, (_, errors.ERR_FS_NOT_DIRECTORY):
+ pass
try:
(pt, project, bp, rp) = layout.parse(p)
if pt == "branch":
@@ -781,8 +797,7 @@
elif paths[p][0] == 'D' and rp == "":
deleted.add(bp)
except errors.InvalidSvnBranchPath:
- if paths[p][0] == 'D':
- deleted.add(p)
+ pass
return deleted, created
@needs_read_lock
More information about the bazaar-commits
mailing list