equal
deleted
inserted
replaced
4 # Copyright 2007 Matt Mackall |
4 # Copyright 2007 Matt Mackall |
5 # |
5 # |
6 # This software may be used and distributed according to the terms of the |
6 # This software may be used and distributed according to the terms of the |
7 # GNU General Public License version 2 or any later version. |
7 # GNU General Public License version 2 or any later version. |
8 |
8 |
9 import changegroup |
9 import changegroup, bookmarks |
10 from node import nullrev, short |
10 from node import nullrev, short |
11 from i18n import _ |
11 from i18n import _ |
12 import os |
12 import os |
13 |
13 |
14 def _bundle(repo, bases, heads, node, suffix, extranodes=None, compress=True): |
14 def _bundle(repo, bases, heads, node, suffix, extranodes=None, compress=True): |
103 savebases.append(cl.node(r)) |
103 savebases.append(cl.node(r)) |
104 |
104 |
105 saveheads.difference_update(parents) |
105 saveheads.difference_update(parents) |
106 saveheads.add(r) |
106 saveheads.add(r) |
107 |
107 |
|
108 bm = repo._bookmarks |
|
109 updatebm = [] |
|
110 for m in bm: |
|
111 rev = repo[bm[m]].rev() |
|
112 if rev in tostrip: |
|
113 updatebm.append(m) |
|
114 |
108 saveheads = [cl.node(r) for r in saveheads] |
115 saveheads = [cl.node(r) for r in saveheads] |
109 files = _collectfiles(repo, striprev) |
116 files = _collectfiles(repo, striprev) |
110 |
117 |
111 extranodes = _collectextranodes(repo, files, striprev) |
118 extranodes = _collectextranodes(repo, files, striprev) |
112 |
119 |
153 if not repo.ui.verbose: |
160 if not repo.ui.verbose: |
154 repo.ui.popbuffer() |
161 repo.ui.popbuffer() |
155 f.close() |
162 f.close() |
156 if not keeppartialbundle: |
163 if not keeppartialbundle: |
157 os.unlink(chgrpfile) |
164 os.unlink(chgrpfile) |
|
165 |
|
166 for m in updatebm: |
|
167 bm[m] = repo['.'].node() |
|
168 bookmarks.write(repo) |
|
169 |
158 except: |
170 except: |
159 if backupfile: |
171 if backupfile: |
160 ui.warn(_("strip failed, full bundle stored in '%s'\n") |
172 ui.warn(_("strip failed, full bundle stored in '%s'\n") |
161 % backupfile) |
173 % backupfile) |
162 elif saveheads: |
174 elif saveheads: |