Mercurial > hg
annotate tests/fakepatchtime.py @ 37717:0664be4f0c1f
hg: pass command intents to repo/peer creation (API)
The previous commit introduced a mechanism to declare command intents.
This commit changes the repository and peer instantiation mechanism
so the intents are passed down to each repository and peer type so
they can do with them whatever they please.
Currently, nobody does anything with any intent.
Differential Revision: https://phab.mercurial-scm.org/D3377
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Sat, 14 Apr 2018 09:57:44 -0700 |
parents | c6061cadb400 |
children | 2372284d9457 |
rev | line source |
---|---|
25756
a4a41525180c
tests: add extension to emulate invoking internalpatch at the specific time
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff
changeset
|
1 # extension to emulate invoking 'patch.internalpatch()' at the time |
a4a41525180c
tests: add extension to emulate invoking internalpatch at the specific time
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff
changeset
|
2 # specified by '[fakepatchtime] fakenow' |
a4a41525180c
tests: add extension to emulate invoking internalpatch at the specific time
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff
changeset
|
3 |
27284
f624b0e69105
tests/fakepatchtime.py: use absolute_import
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25756
diff
changeset
|
4 from __future__ import absolute_import |
f624b0e69105
tests/fakepatchtime.py: use absolute_import
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25756
diff
changeset
|
5 |
f624b0e69105
tests/fakepatchtime.py: use absolute_import
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25756
diff
changeset
|
6 from mercurial import ( |
f624b0e69105
tests/fakepatchtime.py: use absolute_import
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25756
diff
changeset
|
7 extensions, |
f624b0e69105
tests/fakepatchtime.py: use absolute_import
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25756
diff
changeset
|
8 patch as patchmod, |
34772
7be2f229285b
configitems: register the test 'fakepatchtime.fakenow' config
Boris Feld <boris.feld@octobus.net>
parents:
27284
diff
changeset
|
9 registrar, |
27284
f624b0e69105
tests/fakepatchtime.py: use absolute_import
Gregory Szorc <gregory.szorc@gmail.com>
parents:
25756
diff
changeset
|
10 ) |
36607
c6061cadb400
util: extract all date-related utils in utils/dateutil module
Boris Feld <boris.feld@octobus.net>
parents:
36325
diff
changeset
|
11 from mercurial.utils import dateutil |
25756
a4a41525180c
tests: add extension to emulate invoking internalpatch at the specific time
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff
changeset
|
12 |
34772
7be2f229285b
configitems: register the test 'fakepatchtime.fakenow' config
Boris Feld <boris.feld@octobus.net>
parents:
27284
diff
changeset
|
13 configtable = {} |
7be2f229285b
configitems: register the test 'fakepatchtime.fakenow' config
Boris Feld <boris.feld@octobus.net>
parents:
27284
diff
changeset
|
14 configitem = registrar.configitem(configtable) |
7be2f229285b
configitems: register the test 'fakepatchtime.fakenow' config
Boris Feld <boris.feld@octobus.net>
parents:
27284
diff
changeset
|
15 |
36325
9a75619776ca
py3: add b'' prefixes in fakepatchtime.py
Pulkit Goyal <7895pulkit@gmail.com>
parents:
34772
diff
changeset
|
16 configitem(b'fakepatchtime', b'fakenow', |
34772
7be2f229285b
configitems: register the test 'fakepatchtime.fakenow' config
Boris Feld <boris.feld@octobus.net>
parents:
27284
diff
changeset
|
17 default=None, |
7be2f229285b
configitems: register the test 'fakepatchtime.fakenow' config
Boris Feld <boris.feld@octobus.net>
parents:
27284
diff
changeset
|
18 ) |
7be2f229285b
configitems: register the test 'fakepatchtime.fakenow' config
Boris Feld <boris.feld@octobus.net>
parents:
27284
diff
changeset
|
19 |
25756
a4a41525180c
tests: add extension to emulate invoking internalpatch at the specific time
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff
changeset
|
20 def internalpatch(orig, ui, repo, patchobj, strip, |
36325
9a75619776ca
py3: add b'' prefixes in fakepatchtime.py
Pulkit Goyal <7895pulkit@gmail.com>
parents:
34772
diff
changeset
|
21 prefix=b'', files=None, |
9a75619776ca
py3: add b'' prefixes in fakepatchtime.py
Pulkit Goyal <7895pulkit@gmail.com>
parents:
34772
diff
changeset
|
22 eolmode=b'strict', similarity=0): |
25756
a4a41525180c
tests: add extension to emulate invoking internalpatch at the specific time
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff
changeset
|
23 if files is None: |
a4a41525180c
tests: add extension to emulate invoking internalpatch at the specific time
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff
changeset
|
24 files = set() |
a4a41525180c
tests: add extension to emulate invoking internalpatch at the specific time
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff
changeset
|
25 r = orig(ui, repo, patchobj, strip, |
a4a41525180c
tests: add extension to emulate invoking internalpatch at the specific time
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff
changeset
|
26 prefix=prefix, files=files, |
a4a41525180c
tests: add extension to emulate invoking internalpatch at the specific time
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff
changeset
|
27 eolmode=eolmode, similarity=similarity) |
a4a41525180c
tests: add extension to emulate invoking internalpatch at the specific time
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff
changeset
|
28 |
36325
9a75619776ca
py3: add b'' prefixes in fakepatchtime.py
Pulkit Goyal <7895pulkit@gmail.com>
parents:
34772
diff
changeset
|
29 fakenow = ui.config(b'fakepatchtime', b'fakenow') |
25756
a4a41525180c
tests: add extension to emulate invoking internalpatch at the specific time
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff
changeset
|
30 if fakenow: |
a4a41525180c
tests: add extension to emulate invoking internalpatch at the specific time
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff
changeset
|
31 # parsing 'fakenow' in YYYYmmddHHMM format makes comparison between |
a4a41525180c
tests: add extension to emulate invoking internalpatch at the specific time
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff
changeset
|
32 # 'fakenow' value and 'touch -t YYYYmmddHHMM' argument easy |
36607
c6061cadb400
util: extract all date-related utils in utils/dateutil module
Boris Feld <boris.feld@octobus.net>
parents:
36325
diff
changeset
|
33 fakenow = dateutil.parsedate(fakenow, [b'%Y%m%d%H%M'])[0] |
25756
a4a41525180c
tests: add extension to emulate invoking internalpatch at the specific time
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff
changeset
|
34 for f in files: |
a4a41525180c
tests: add extension to emulate invoking internalpatch at the specific time
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff
changeset
|
35 repo.wvfs.utime(f, (fakenow, fakenow)) |
a4a41525180c
tests: add extension to emulate invoking internalpatch at the specific time
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff
changeset
|
36 |
a4a41525180c
tests: add extension to emulate invoking internalpatch at the specific time
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff
changeset
|
37 return r |
a4a41525180c
tests: add extension to emulate invoking internalpatch at the specific time
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff
changeset
|
38 |
a4a41525180c
tests: add extension to emulate invoking internalpatch at the specific time
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff
changeset
|
39 def extsetup(ui): |
a4a41525180c
tests: add extension to emulate invoking internalpatch at the specific time
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
diff
changeset
|
40 extensions.wrapfunction(patchmod, 'internalpatch', internalpatch) |