Show More
@@ -221,9 +221,8 def pushbookmark(repo, key, old, new): | |||
|
221 | 221 | finally: |
|
222 | 222 | w.release() |
|
223 | 223 | |
|
224 | def updatefromremote(ui, repo, remote, path): | |
|
224 | def updatefromremote(ui, repo, remotemarks, path): | |
|
225 | 225 | ui.debug("checking for updated bookmarks\n") |
|
226 | remotemarks = remote.listkeys('bookmarks') | |
|
227 | 226 | changed = False |
|
228 | 227 | localmarks = repo._bookmarks |
|
229 | 228 | for k in sorted(remotemarks): |
@@ -4496,10 +4496,11 def pull(ui, repo, source="default", **o | |||
|
4496 | 4496 | ui.status(_('pulling from %s\n') % util.hidepassword(source)) |
|
4497 | 4497 | revs, checkout = hg.addbranchrevs(repo, other, branches, opts.get('rev')) |
|
4498 | 4498 | |
|
4499 | remotebookmarks = other.listkeys('bookmarks') | |
|
4500 | ||
|
4499 | 4501 | if opts.get('bookmark'): |
|
4500 | 4502 | if not revs: |
|
4501 | 4503 | revs = [] |
|
4502 | remotebookmarks = other.listkeys('bookmarks') | |
|
4503 | 4504 | for b in opts['bookmark']: |
|
4504 | 4505 | if b not in remotebookmarks: |
|
4505 | 4506 | raise util.Abort(_('remote bookmark %s not found!') % b) |
@@ -4514,7 +4515,7 def pull(ui, repo, source="default", **o | |||
|
4514 | 4515 | raise util.Abort(err) |
|
4515 | 4516 | |
|
4516 | 4517 | modheads = repo.pull(other, heads=revs, force=opts.get('force')) |
|
4517 |
bookmarks.updatefromremote(ui, repo, ot |
|
|
4518 | bookmarks.updatefromremote(ui, repo, remotebookmarks, source) | |
|
4518 | 4519 | if checkout: |
|
4519 | 4520 | checkout = str(repo.changelog.rev(other.lookup(checkout))) |
|
4520 | 4521 | repo._subtoppath = source |
@@ -547,9 +547,10 class hgsubrepo(abstractsubrepo): | |||
|
547 | 547 | else: |
|
548 | 548 | self._repo.ui.status(_('pulling subrepo %s from %s\n') |
|
549 | 549 | % (subrelpath(self), srcurl)) |
|
550 | remotebookmarks = other.listkeys('bookmarks') | |
|
550 | 551 | self._repo.pull(other) |
|
551 |
bookmarks.updatefromremote(self._repo.ui, self._repo, |
|
|
552 | srcurl) | |
|
552 | bookmarks.updatefromremote(self._repo.ui, self._repo, | |
|
553 | remotebookmarks, srcurl) | |
|
553 | 554 | |
|
554 | 555 | @annotatesubrepoerror |
|
555 | 556 | def get(self, state, overwrite=False): |
@@ -204,6 +204,39 update a remote bookmark from a non-head | |||
|
204 | 204 | Y 3:f6fc62dde3c0 |
|
205 | 205 | Z 1:0d2164f0ce0d |
|
206 | 206 | |
|
207 | update a bookmark in the middle of a client pulling changes | |
|
208 | ||
|
209 | $ cd .. | |
|
210 | $ hg clone -q a pull-race | |
|
211 | $ hg clone -q pull-race pull-race2 | |
|
212 | $ cd pull-race | |
|
213 | $ hg up -q Y | |
|
214 | $ echo c4 > f2 | |
|
215 | $ hg ci -Am4 | |
|
216 | $ echo c5 > f3 | |
|
217 | $ cat <<EOF > .hg/hgrc | |
|
218 | > [hooks] | |
|
219 | > outgoing.makecommit = hg ci -Am5; echo committed in pull-race | |
|
220 | > EOF | |
|
221 | $ cd ../pull-race2 | |
|
222 | $ hg pull | |
|
223 | pulling from $TESTTMP/pull-race (glob) | |
|
224 | searching for changes | |
|
225 | adding changesets | |
|
226 | adding f3 | |
|
227 | committed in pull-race | |
|
228 | adding manifests | |
|
229 | adding file changes | |
|
230 | added 1 changesets with 1 changes to 1 files | |
|
231 | updating bookmark Y | |
|
232 | (run 'hg update' to get a working copy) | |
|
233 | $ hg book | |
|
234 | * @ 1:0d2164f0ce0d | |
|
235 | X 1:0d2164f0ce0d | |
|
236 | Y 4:b0a5eff05604 | |
|
237 | Z 1:0d2164f0ce0d | |
|
238 | $ cd ../b | |
|
239 | ||
|
207 | 240 | diverging a remote bookmark fails |
|
208 | 241 | |
|
209 | 242 | $ hg up -q 4e3505fd9583 |
@@ -198,7 +198,6 listkeys hook | |||
|
198 | 198 | listkeys hook: HG_NAMESPACE=bookmarks HG_VALUES={'bar': '0000000000000000000000000000000000000000', 'foo': '0000000000000000000000000000000000000000'} |
|
199 | 199 | no changes found |
|
200 | 200 | listkeys hook: HG_NAMESPACE=phases HG_VALUES={'cb9a9f314b8b07ba71012fcdbc544b5a4d82ff5b': '1', 'publishing': 'True'} |
|
201 | listkeys hook: HG_NAMESPACE=bookmarks HG_VALUES={'bar': '0000000000000000000000000000000000000000', 'foo': '0000000000000000000000000000000000000000'} | |
|
202 | 201 | adding remote bookmark bar |
|
203 | 202 | importing bookmark bar |
|
204 | 203 | $ cd ../a |
General Comments 0
You need to be logged in to leave comments.
Login now