annotate tests/test-diffdir.t @ 42054:399ed3e86a49

py2exe: add workaround to allow bundling of hgext3rd.* extensions py2exe doesn't know how to handle namespace packages *at all*, so it treats them like normal packages. As a result, if we try and bundle hgext3rd.evolve in a py2exe build, it won't work if we install evolve into the virtualenv. In order to work around this, tortoisehg installs hgext3rd.evolve etc into its staged hg directory, since it doesn't use a virtualenv. As a workaround for us, we'll just allow any extra packages users want bundled are part of hg during the pseudo-install phase that py2exe uses. I'm not happy about this, but it *works*. As a sample of how you'd make an MSI with evolve bundled: import os import shutil import subprocess import tempfile def stage_evolve(version): """Stage evolve for inclusion in py2exe binary.""" with tempfile.TemporaryDirectory() as temp: evolve = os.path.join(temp, "evolve") subprocess.check_call([ "hg.exe", "clone", "https://www.mercurial-scm.org/repo/evolve/", "--update", version, evolve, ]) dest = os.path.join('..', 'hgext3rd', 'evolve') if os.path.exists(dest): shutil.rmtree(dest) shutil.copytree(os.path.join(evolve, "hgext3rd", "evolve"), dest) def main(): stage_evolve('tip') print("\0") print("hgext3rd") print("hgext3rd.evolve") print("hgext3rd.evolve.hack") print("hgext3rd.evolve.thirdparty") if __name__ == "__main__": main() is a script you can pass to the wix/build.py as --extra-packages-script, and the resulting .msi will have an hg binary with evolve baked in. users will still need to enable evolve in their hgrc, so you'd probably also want to bundle configs in your msi for an enterprise environment, but that's already easy to do with the support for extra features and wxs files in the wix build process. Differential Revision: https://phab.mercurial-scm.org/D6189
author Augie Fackler <augie@google.com>
date Wed, 03 Apr 2019 11:46:29 -0400
parents 51b6ce257e0a
children fc4fb2f17dd4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11921
650d8a023249 tests: unify test-diffdir
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 4180
diff changeset
1 $ hg init
650d8a023249 tests: unify test-diffdir
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 4180
diff changeset
2 $ touch a
650d8a023249 tests: unify test-diffdir
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 4180
diff changeset
3 $ hg add a
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11921
diff changeset
4 $ hg ci -m "a"
536
c15b4bc0a11c Refactor diffrevs/diffdir into changes
mpm@selenic.com
parents:
diff changeset
5
11921
650d8a023249 tests: unify test-diffdir
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 4180
diff changeset
6 $ echo 123 > b
650d8a023249 tests: unify test-diffdir
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 4180
diff changeset
7 $ hg add b
650d8a023249 tests: unify test-diffdir
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 4180
diff changeset
8 $ hg diff --nodates
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11921
diff changeset
9 diff -r 3903775176ed b
11921
650d8a023249 tests: unify test-diffdir
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 4180
diff changeset
10 --- /dev/null
650d8a023249 tests: unify test-diffdir
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 4180
diff changeset
11 +++ b/b
650d8a023249 tests: unify test-diffdir
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 4180
diff changeset
12 @@ -0,0 +1,1 @@
650d8a023249 tests: unify test-diffdir
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 4180
diff changeset
13 +123
536
c15b4bc0a11c Refactor diffrevs/diffdir into changes
mpm@selenic.com
parents:
diff changeset
14
11921
650d8a023249 tests: unify test-diffdir
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 4180
diff changeset
15 $ hg diff --nodates -r tip
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11921
diff changeset
16 diff -r 3903775176ed b
11921
650d8a023249 tests: unify test-diffdir
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 4180
diff changeset
17 --- /dev/null
650d8a023249 tests: unify test-diffdir
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 4180
diff changeset
18 +++ b/b
650d8a023249 tests: unify test-diffdir
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 4180
diff changeset
19 @@ -0,0 +1,1 @@
650d8a023249 tests: unify test-diffdir
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 4180
diff changeset
20 +123
1723
fde8fb2cbede Fix diff against an empty file (issue124) and add a test for this.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 981
diff changeset
21
11921
650d8a023249 tests: unify test-diffdir
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 4180
diff changeset
22 $ echo foo > a
650d8a023249 tests: unify test-diffdir
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 4180
diff changeset
23 $ hg diff --nodates
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11921
diff changeset
24 diff -r 3903775176ed a
11921
650d8a023249 tests: unify test-diffdir
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 4180
diff changeset
25 --- a/a
650d8a023249 tests: unify test-diffdir
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 4180
diff changeset
26 +++ b/a
650d8a023249 tests: unify test-diffdir
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 4180
diff changeset
27 @@ -0,0 +1,1 @@
650d8a023249 tests: unify test-diffdir
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 4180
diff changeset
28 +foo
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11921
diff changeset
29 diff -r 3903775176ed b
11921
650d8a023249 tests: unify test-diffdir
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 4180
diff changeset
30 --- /dev/null
650d8a023249 tests: unify test-diffdir
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 4180
diff changeset
31 +++ b/b
650d8a023249 tests: unify test-diffdir
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 4180
diff changeset
32 @@ -0,0 +1,1 @@
650d8a023249 tests: unify test-diffdir
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 4180
diff changeset
33 +123
3825
000d122071b5 fix hg diff -r ''
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3199
diff changeset
34
11921
650d8a023249 tests: unify test-diffdir
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 4180
diff changeset
35 $ hg diff -r ""
12617
2063d36b406e revsets: make revpair revsets-aware
Matt Mackall <mpm@selenic.com>
parents: 12346
diff changeset
36 hg: parse error: empty query
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
37 [255]
11921
650d8a023249 tests: unify test-diffdir
Pradeepkumar Gayam <in3xes@gmail.com>
parents: 4180
diff changeset
38 $ hg diff -r tip -r ""
12617
2063d36b406e revsets: make revpair revsets-aware
Matt Mackall <mpm@selenic.com>
parents: 12346
diff changeset
39 hg: parse error: empty query
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12156
diff changeset
40 [255]
27901
29c8e35d3283 diff: don't crash when merged-in addition was removed (issue4786)
Martin von Zweigbergk <martinvonz@google.com>
parents: 12617
diff changeset
41
29c8e35d3283 diff: don't crash when merged-in addition was removed (issue4786)
Martin von Zweigbergk <martinvonz@google.com>
parents: 12617
diff changeset
42 Remove a file that was added via merge. Since the file is not in parent 1,
29c8e35d3283 diff: don't crash when merged-in addition was removed (issue4786)
Martin von Zweigbergk <martinvonz@google.com>
parents: 12617
diff changeset
43 it should not be in the diff.
29c8e35d3283 diff: don't crash when merged-in addition was removed (issue4786)
Martin von Zweigbergk <martinvonz@google.com>
parents: 12617
diff changeset
44
29c8e35d3283 diff: don't crash when merged-in addition was removed (issue4786)
Martin von Zweigbergk <martinvonz@google.com>
parents: 12617
diff changeset
45 $ hg ci -m 'a=foo' a
29c8e35d3283 diff: don't crash when merged-in addition was removed (issue4786)
Martin von Zweigbergk <martinvonz@google.com>
parents: 12617
diff changeset
46 $ hg co -Cq null
29c8e35d3283 diff: don't crash when merged-in addition was removed (issue4786)
Martin von Zweigbergk <martinvonz@google.com>
parents: 12617
diff changeset
47 $ echo 123 > b
29c8e35d3283 diff: don't crash when merged-in addition was removed (issue4786)
Martin von Zweigbergk <martinvonz@google.com>
parents: 12617
diff changeset
48 $ hg add b
29c8e35d3283 diff: don't crash when merged-in addition was removed (issue4786)
Martin von Zweigbergk <martinvonz@google.com>
parents: 12617
diff changeset
49 $ hg ci -m "b"
29c8e35d3283 diff: don't crash when merged-in addition was removed (issue4786)
Martin von Zweigbergk <martinvonz@google.com>
parents: 12617
diff changeset
50 created new head
29c8e35d3283 diff: don't crash when merged-in addition was removed (issue4786)
Martin von Zweigbergk <martinvonz@google.com>
parents: 12617
diff changeset
51 $ hg merge 1
29c8e35d3283 diff: don't crash when merged-in addition was removed (issue4786)
Martin von Zweigbergk <martinvonz@google.com>
parents: 12617
diff changeset
52 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
29c8e35d3283 diff: don't crash when merged-in addition was removed (issue4786)
Martin von Zweigbergk <martinvonz@google.com>
parents: 12617
diff changeset
53 (branch merge, don't forget to commit)
29c8e35d3283 diff: don't crash when merged-in addition was removed (issue4786)
Martin von Zweigbergk <martinvonz@google.com>
parents: 12617
diff changeset
54 $ hg rm -f a
29c8e35d3283 diff: don't crash when merged-in addition was removed (issue4786)
Martin von Zweigbergk <martinvonz@google.com>
parents: 12617
diff changeset
55 $ hg diff --nodates
29c8e35d3283 diff: don't crash when merged-in addition was removed (issue4786)
Martin von Zweigbergk <martinvonz@google.com>
parents: 12617
diff changeset
56
29c8e35d3283 diff: don't crash when merged-in addition was removed (issue4786)
Martin von Zweigbergk <martinvonz@google.com>
parents: 12617
diff changeset
57 Rename a file that was added via merge. Since the rename source is not in
29c8e35d3283 diff: don't crash when merged-in addition was removed (issue4786)
Martin von Zweigbergk <martinvonz@google.com>
parents: 12617
diff changeset
58 parent 1, the diff should be relative to /dev/null
29c8e35d3283 diff: don't crash when merged-in addition was removed (issue4786)
Martin von Zweigbergk <martinvonz@google.com>
parents: 12617
diff changeset
59
29c8e35d3283 diff: don't crash when merged-in addition was removed (issue4786)
Martin von Zweigbergk <martinvonz@google.com>
parents: 12617
diff changeset
60 $ hg co -Cq 2
29c8e35d3283 diff: don't crash when merged-in addition was removed (issue4786)
Martin von Zweigbergk <martinvonz@google.com>
parents: 12617
diff changeset
61 $ hg merge 1
29c8e35d3283 diff: don't crash when merged-in addition was removed (issue4786)
Martin von Zweigbergk <martinvonz@google.com>
parents: 12617
diff changeset
62 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
29c8e35d3283 diff: don't crash when merged-in addition was removed (issue4786)
Martin von Zweigbergk <martinvonz@google.com>
parents: 12617
diff changeset
63 (branch merge, don't forget to commit)
29c8e35d3283 diff: don't crash when merged-in addition was removed (issue4786)
Martin von Zweigbergk <martinvonz@google.com>
parents: 12617
diff changeset
64 $ hg mv a a2
29c8e35d3283 diff: don't crash when merged-in addition was removed (issue4786)
Martin von Zweigbergk <martinvonz@google.com>
parents: 12617
diff changeset
65 $ hg diff --nodates
29c8e35d3283 diff: don't crash when merged-in addition was removed (issue4786)
Martin von Zweigbergk <martinvonz@google.com>
parents: 12617
diff changeset
66 diff -r cf44b38435e5 a2
29c8e35d3283 diff: don't crash when merged-in addition was removed (issue4786)
Martin von Zweigbergk <martinvonz@google.com>
parents: 12617
diff changeset
67 --- /dev/null
29c8e35d3283 diff: don't crash when merged-in addition was removed (issue4786)
Martin von Zweigbergk <martinvonz@google.com>
parents: 12617
diff changeset
68 +++ b/a2
29c8e35d3283 diff: don't crash when merged-in addition was removed (issue4786)
Martin von Zweigbergk <martinvonz@google.com>
parents: 12617
diff changeset
69 @@ -0,0 +1,1 @@
29c8e35d3283 diff: don't crash when merged-in addition was removed (issue4786)
Martin von Zweigbergk <martinvonz@google.com>
parents: 12617
diff changeset
70 +foo
27902
51b6ce257e0a diff: don't crash when merged-in addition is copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 27901
diff changeset
71 $ hg diff --nodates --git
51b6ce257e0a diff: don't crash when merged-in addition is copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 27901
diff changeset
72 diff --git a/a2 b/a2
51b6ce257e0a diff: don't crash when merged-in addition is copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 27901
diff changeset
73 new file mode 100644
51b6ce257e0a diff: don't crash when merged-in addition is copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 27901
diff changeset
74 --- /dev/null
51b6ce257e0a diff: don't crash when merged-in addition is copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 27901
diff changeset
75 +++ b/a2
51b6ce257e0a diff: don't crash when merged-in addition is copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 27901
diff changeset
76 @@ -0,0 +1,1 @@
51b6ce257e0a diff: don't crash when merged-in addition is copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 27901
diff changeset
77 +foo