annotate tests/manifest-bug @ 190:3dd5ce2fddb6

merge: short-circuit search for merge into empty repo -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 merge: short-circuit search for merge into empty repo We should have 3 cases for merge: - - we have no changesets - - we have less than half the changesets - - we have more than half the changesets For no changesets, we can immediately tell that we need everything. This happens when we initially branch from a remote repo, so we simply shortcircuit the search and grab everything from the root When we're actually tracking a project, we should generally have most of the changesets, so the current search algorithm should minimize searching. It should rarely occur that upstreams gets far ahead of us, in which case, we suffer a longer search. manifest hash: eabd55841b03225176ea72b985aad36431a438a9 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCmfajywK+sNU5EO8RAuyKAKCf7Nw6XSK5HEzbrZae7Q06e3dk4wCgjbK6 YUTEfkpPP1h3mNHIHRKz+aI= =eGMq -----END PGP SIGNATURE-----
author mpm@selenic.com
date Sun, 29 May 2005 09:06:43 -0800
parents 9f64ee817199
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
28
9f64ee817199 Add some tests to the repo
mpm@selenic.com
parents:
diff changeset
1 #!/bin/sh -x
9f64ee817199 Add some tests to the repo
mpm@selenic.com
parents:
diff changeset
2
9f64ee817199 Add some tests to the repo
mpm@selenic.com
parents:
diff changeset
3 set +e
9f64ee817199 Add some tests to the repo
mpm@selenic.com
parents:
diff changeset
4
9f64ee817199 Add some tests to the repo
mpm@selenic.com
parents:
diff changeset
5 BASE=foo.base
9f64ee817199 Add some tests to the repo
mpm@selenic.com
parents:
diff changeset
6 BR1=foo.br1
9f64ee817199 Add some tests to the repo
mpm@selenic.com
parents:
diff changeset
7 BR2=foo.br2
9f64ee817199 Add some tests to the repo
mpm@selenic.com
parents:
diff changeset
8 BR2_1=foo.br2_1
9f64ee817199 Add some tests to the repo
mpm@selenic.com
parents:
diff changeset
9
9f64ee817199 Add some tests to the repo
mpm@selenic.com
parents:
diff changeset
10 mkdir $BASE
9f64ee817199 Add some tests to the repo
mpm@selenic.com
parents:
diff changeset
11 cd $BASE
9f64ee817199 Add some tests to the repo
mpm@selenic.com
parents:
diff changeset
12 hg init
9f64ee817199 Add some tests to the repo
mpm@selenic.com
parents:
diff changeset
13 echo test > file
9f64ee817199 Add some tests to the repo
mpm@selenic.com
parents:
diff changeset
14 hg add file
9f64ee817199 Add some tests to the repo
mpm@selenic.com
parents:
diff changeset
15 EDITOR="echo 'initial commit' > " hg commit
9f64ee817199 Add some tests to the repo
mpm@selenic.com
parents:
diff changeset
16 cd ..
9f64ee817199 Add some tests to the repo
mpm@selenic.com
parents:
diff changeset
17
9f64ee817199 Add some tests to the repo
mpm@selenic.com
parents:
diff changeset
18 mkdir $BR1
9f64ee817199 Add some tests to the repo
mpm@selenic.com
parents:
diff changeset
19 cd $BR1
9f64ee817199 Add some tests to the repo
mpm@selenic.com
parents:
diff changeset
20 hg branch ../$BASE
9f64ee817199 Add some tests to the repo
mpm@selenic.com
parents:
diff changeset
21 hg checkout
9f64ee817199 Add some tests to the repo
mpm@selenic.com
parents:
diff changeset
22 echo test > file1
9f64ee817199 Add some tests to the repo
mpm@selenic.com
parents:
diff changeset
23 hg addremove
9f64ee817199 Add some tests to the repo
mpm@selenic.com
parents:
diff changeset
24 EDITOR="echo side commit >" hg commit
9f64ee817199 Add some tests to the repo
mpm@selenic.com
parents:
diff changeset
25 cd ..
9f64ee817199 Add some tests to the repo
mpm@selenic.com
parents:
diff changeset
26
9f64ee817199 Add some tests to the repo
mpm@selenic.com
parents:
diff changeset
27 mkdir $BR2
9f64ee817199 Add some tests to the repo
mpm@selenic.com
parents:
diff changeset
28 cd $BR2
9f64ee817199 Add some tests to the repo
mpm@selenic.com
parents:
diff changeset
29 hg branch ../$BASE
9f64ee817199 Add some tests to the repo
mpm@selenic.com
parents:
diff changeset
30 hg checkout
9f64ee817199 Add some tests to the repo
mpm@selenic.com
parents:
diff changeset
31 echo yet more >> file2
9f64ee817199 Add some tests to the repo
mpm@selenic.com
parents:
diff changeset
32 hg addremove
9f64ee817199 Add some tests to the repo
mpm@selenic.com
parents:
diff changeset
33 EDITOR="echo second update >" hg commit
9f64ee817199 Add some tests to the repo
mpm@selenic.com
parents:
diff changeset
34 cd ..
9f64ee817199 Add some tests to the repo
mpm@selenic.com
parents:
diff changeset
35
9f64ee817199 Add some tests to the repo
mpm@selenic.com
parents:
diff changeset
36 mkdir $BR2_1
9f64ee817199 Add some tests to the repo
mpm@selenic.com
parents:
diff changeset
37 cd $BR2_1
9f64ee817199 Add some tests to the repo
mpm@selenic.com
parents:
diff changeset
38 hg branch ../$BR2
9f64ee817199 Add some tests to the repo
mpm@selenic.com
parents:
diff changeset
39 hg checkout
9f64ee817199 Add some tests to the repo
mpm@selenic.com
parents:
diff changeset
40 EDITOR="echo commit merge >" hg merge ../$BR1
9f64ee817199 Add some tests to the repo
mpm@selenic.com
parents:
diff changeset
41
9f64ee817199 Add some tests to the repo
mpm@selenic.com
parents:
diff changeset
42 hg checkout