tests/manifest-bug
author mpm@selenic.com
Sun, 29 May 2005 09:06:43 -0800
changeset 190 3dd5ce2fddb6
parent 28 9f64ee817199
permissions -rw-r--r--
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-----
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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