Mercurial > hg
annotate tests/test-merge8.t @ 28164:ad11edefa7c4
localrepo: move new repo requirements into standalone function (API)
This patch extracts the code for determining requirements for a new
repo into a standalone function. By doing so, future code that will
perform an in-place repository upgrade (e.g. to generaldelta) can
examine the set of proposed new requirements and possibly take
additional actions (such as adding dotencode or fncache) when
performing the upgrade.
This patch is marked as API because _baserequirements (which was added
in b090601a80d1 so extensions could override it) has been removed and
will presumably impact whatever extension it was added for. Consumers
should be able to monkeypatch the new function to achieve the same
functionality.
The "create" argument has been dropped because the function is only
called in one location and "create" is always true in that case.
While it makes logical sense for this code to be a method so extensions
can implement a custom repo class / method to override it, this won't
actually work. This is because requirements determination occurs during
localrepository.__init__ and this is before the "reposetup"
"callback" is fired. So, the only way for extensions to customize
requirements would be to overwrite localrepo.localrepository or to
monkeypatch a function on a module during extsetup(). Since we try to
keep localrepository small, we use a standalone function. There is
probably room to offer extensions a "hook" point to alter repository
creation. But that is scope bloat.
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Mon, 15 Feb 2016 13:20:20 -0800 |
parents | f2719b387380 |
children | eb586ed5d8ce |
rev | line source |
---|---|
11981
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
1 Test for changeset ba7c74081861 |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
2 (update dirstate correctly for non-branchmerge updates) |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
3 $ hg init a |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
4 $ cd a |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
5 $ echo a > a |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
6 $ hg add a |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
7 $ hg commit -m a |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
8 $ cd .. |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
9 $ hg clone a b |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
10 updating to branch default |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
11 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
12 $ cd a |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
13 $ hg mv a b |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
14 $ hg commit -m move |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
15 $ echo b >> b |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
16 $ hg commit -m b |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
17 $ cd ../b |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
18 $ hg pull ../a |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
19 pulling from ../a |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
20 searching for changes |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
21 adding changesets |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
22 adding manifests |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
23 adding file changes |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
24 added 2 changesets with 2 changes to 1 files |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
25 (run 'hg update' to get a working copy) |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
26 $ hg update |
518b90d66fad
tests: unify test-merge8
Pradeepkumar Gayam <in3xes@gmail.com>
parents:
3389
diff
changeset
|
27 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
11981
diff
changeset
|
28 |
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
11981
diff
changeset
|
29 $ cd .. |