Mercurial > hg > mercurial-crew-with-dirclash
changeset 5235:8ede77c2d008
pull -r: pass the revisions as the heads argument of findincoming
This can make a hg pull -r faster if the remote repo has many heads,
and fixes an "abort: received changelog group is empty".
author | Alexis S. L. Carvalho <alexis@cecm.usp.br> |
---|---|
date | Mon, 27 Aug 2007 01:44:35 -0300 |
parents | 9d7052f17d77 |
children | cbe6e263357b |
files | mercurial/localrepo.py tests/test-pull-r tests/test-pull-r.out |
diffstat | 3 files changed, 65 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/localrepo.py +++ b/mercurial/localrepo.py @@ -1312,7 +1312,7 @@ class localrepository(repo.repository): mylock = True try: - fetch = self.findincoming(remote, force=force) + fetch = self.findincoming(remote, heads=heads, force=force) if fetch == [nullid]: self.ui.status(_("requesting all changes\n"))
new file mode 100755 --- /dev/null +++ b/tests/test-pull-r @@ -0,0 +1,27 @@ +#!/bin/sh + +hg init repo +cd repo +echo foo > foo +hg ci -qAm 'add foo' -d '0 0' +echo >> foo +hg ci -m 'change foo' -d '0 0' +hg up -qC 0 +echo bar > bar +hg ci -qAm 'add bar' -d '0 0' +hg log +cd .. +hg init copy +cd copy + +echo '% pull -r 0' +hg pull -qr 0 ../repo +hg log + +echo '% pull -r 1' +hg pull -qr 1 ../repo +hg log + +# this used to abort: received changelog group is empty +echo '% pull -r 1 again' +hg pull -qr 1 ../repo
new file mode 100644 --- /dev/null +++ b/tests/test-pull-r.out @@ -0,0 +1,37 @@ +changeset: 2:effea6de0384 +tag: tip +parent: 0:bbd179dfa0a7 +user: test +date: Thu Jan 01 00:00:00 1970 +0000 +summary: add bar + +changeset: 1:ed1b79f46b9a +user: test +date: Thu Jan 01 00:00:00 1970 +0000 +summary: change foo + +changeset: 0:bbd179dfa0a7 +user: test +date: Thu Jan 01 00:00:00 1970 +0000 +summary: add foo + +% pull -r 0 +changeset: 0:bbd179dfa0a7 +tag: tip +user: test +date: Thu Jan 01 00:00:00 1970 +0000 +summary: add foo + +% pull -r 1 +changeset: 1:ed1b79f46b9a +tag: tip +user: test +date: Thu Jan 01 00:00:00 1970 +0000 +summary: change foo + +changeset: 0:bbd179dfa0a7 +user: test +date: Thu Jan 01 00:00:00 1970 +0000 +summary: add foo + +% pull -r 1 again