tests/test-default-push.t
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
Sat, 21 Sep 2013 21:33:29 +0900
changeset 19778 55ef79031009
parent 15447 9910f60a37ee
child 20558 c4f45ce85351
permissions -rw-r--r--
localrepo: make supported features manageable in each repositories individually Before this patch, all localrepositories support same features, because supported features are managed by the class variable "supported" of "localrepository". For example, "largefiles" feature provided by largefiles extension is recognized as supported, by adding the feature name to "supported" of "localrepository". So, commands handling multiple repositories at a time like below misunderstand that such features are supported also in repositories not enabling corresponded extensions: - clone/pull from or push to localhost - recursive execution in subrepo tree "reposetup()" can't be used to fix this problem, because it is invoked after checking whether supported features satisfy ones required in the target repository. So, this patch adds the set object named as "featuresetupfuncs" to "localrepository" to manage hook functions to setup supported features of each repositories. If any functions are added to "featuresetupfuncs", they are invoked, and information about supported features is managed in each repositories individually. This patch also adds checking below: - pull from localhost: whether features supported in the local(= dst) repository satisfies ones required in the remote(= src) - push to localhost: whether features supported in the remote(= dst) repository satisfies ones required in the local(= src) Managing supported features by the class variable means that there is no difference of supported features between each instances of "localrepository" in the same Python process, so such checking is not needed before this patch. Even with this patch, if intermediate bundlefile is used as pulling source, pulling indirectly from the remote repository, which requires features more than ones supported in the local, can't be prevented, because bundlefile has no information about "required features" in it.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
    18
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
    19
12287
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
    20
  $ hg --cwd b push
15447
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 12640
diff changeset
    21
  pushing to $TESTTMP/a (glob)
12287
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
    22
  searching for changes
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
    23
  adding changesets
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
    24
  adding manifests
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
    25
  adding file changes
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
    26
  added 1 changesets with 1 changes to 1 files
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
    27
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
    28
Push should push to 'default-push' when 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
  $ echo 'default-push = ../c' >> b/.hg/hgrc
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
    31
  $ hg --cwd b push
15447
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 12640
diff changeset
    32
  pushing to $TESTTMP/c (glob)
12287
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
    33
  searching for changes
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
    34
  adding changesets
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
    35
  adding manifests
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
    36
  adding file changes
d8707306d667 tests: unify test-default-push
Adrian Buehlmann <adrian@cadifra.com>
parents: 2496
diff changeset
    37
  added 1 changesets with 1 changes to 1 files
2496
6dbb8ae0a0b3 add test for default-push.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    38