annotate tests/test-default-push.t @ 24787:9d5c27890790

largefiles: for update -C, only update largefiles when necessary Before, a --clean update with largefiles would use the "optimization" that it didn't read hashes from standin files before and after the update. Instead of trusting the content of the standin files, it would rehash all the actual largefiles that lfdirstate reported clean and update the standins that didn't have the expected content. It could thus in some "impossible" situations automatically recover from some "largefile got out sync with its standin" issues (even there apparently still were weird corner cases where it could fail). This extra checking is similar to what core --clean intentionally do not do, and it made update --clean unbearable slow. Usually in core Mercurial, --clean will rely on the dirstate to find the files it should update. (It is thus intentionally possible (when trying to trick the system or if there should be bugs) to end up in situations where --clean not will restore the working directory content correctly.) Checking every file when we "know" it is ok is however not an option - that would be too slow. Instead, trust the content of the standin files. Use the same logic for --clean as for linear updates and trust the dirstate and that our "logic" will keep them in sync. It is much cheaper to just rehash the largefiles reported dirty by a status walk and read all standins than to hash largefiles. Most of the changes are just a change of indentation now when the different kinds of updates no longer are handled that differently. Standins for added files are however only written when doing a normal update, while deleted and removed files only will be updated for --clean updates.
author Mads Kiilerich <madski@unity3d.com>
date Wed, 15 Apr 2015 15:22:16 -0400
parents 2be7d5ebd4d0
children 10917b062adf
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12287
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
1 $ hg init a
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
2
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
3 $ echo a > a/a
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
4 $ hg --cwd a ci -Ama
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
5 adding a
2496
6dbb8ae0a0b3 add test for default-push.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
6
12287
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
7 $ hg clone a c
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
8 updating to branch default
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
9 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
2496
6dbb8ae0a0b3 add test for default-push.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
10
12287
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
11 $ hg clone a b
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
12 updating to branch default
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
13 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
14
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
15 $ echo b >> b/a
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
16 $ hg --cwd b ci -mb
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
17
20558
c4f45ce85351 push: provide a hint when no paths in configured (issue3692)
anuraggoel <anurag.dsps@gmail.com>
parents: 15447
diff changeset
18 Push should provide a hint when both 'default' and 'default-push' not set:
c4f45ce85351 push: provide a hint when no paths in configured (issue3692)
anuraggoel <anurag.dsps@gmail.com>
parents: 15447
diff changeset
19 $ cd c
c4f45ce85351 push: provide a hint when no paths in configured (issue3692)
anuraggoel <anurag.dsps@gmail.com>
parents: 15447
diff changeset
20 $ hg push --config paths.default=
c4f45ce85351 push: provide a hint when no paths in configured (issue3692)
anuraggoel <anurag.dsps@gmail.com>
parents: 15447
diff changeset
21 pushing to default-push
c4f45ce85351 push: provide a hint when no paths in configured (issue3692)
anuraggoel <anurag.dsps@gmail.com>
parents: 15447
diff changeset
22 abort: default repository not configured!
c4f45ce85351 push: provide a hint when no paths in configured (issue3692)
anuraggoel <anurag.dsps@gmail.com>
parents: 15447
diff changeset
23 (see the "path" section in "hg help config")
c4f45ce85351 push: provide a hint when no paths in configured (issue3692)
anuraggoel <anurag.dsps@gmail.com>
parents: 15447
diff changeset
24 [255]
c4f45ce85351 push: provide a hint when no paths in configured (issue3692)
anuraggoel <anurag.dsps@gmail.com>
parents: 15447
diff changeset
25
c4f45ce85351 push: provide a hint when no paths in configured (issue3692)
anuraggoel <anurag.dsps@gmail.com>
parents: 15447
diff changeset
26 $ cd ..
c4f45ce85351 push: provide a hint when no paths in configured (issue3692)
anuraggoel <anurag.dsps@gmail.com>
parents: 15447
diff changeset
27
12287
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
28 Push should push to 'default' when 'default-push' not set:
2496
6dbb8ae0a0b3 add test for default-push.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
29
12287
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
30 $ hg --cwd b push
15447
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 12640
diff changeset
31 pushing to $TESTTMP/a (glob)
12287
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
32 searching for changes
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
33 adding changesets
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
34 adding manifests
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
35 adding file changes
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
36 added 1 changesets with 1 changes to 1 files
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
37
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
38 Push should push to 'default-push' when set:
2496
6dbb8ae0a0b3 add test for default-push.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
39
22837
2be7d5ebd4d0 config: use the same hgrc for a cloned repo as for an uninitted repo
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 20558
diff changeset
40 $ echo '[paths]' >> b/.hg/hgrc
12287
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
41 $ echo 'default-push = ../c' >> b/.hg/hgrc
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
42 $ hg --cwd b push
15447
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 12640
diff changeset
43 pushing to $TESTTMP/c (glob)
12287
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
44 searching for changes
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
45 adding changesets
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
46 adding manifests
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
47 adding file changes
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
48 added 1 changesets with 1 changes to 1 files