Mercurial > hg
annotate tests/test-update-issue1456.t @ 34002:2ad028635ccd
util: use ~ as a suffix for a temp file in the same directory as a source file
Tools like Buck have patterns to ignore the creation of files (in the working
copy) that match certain patterns:
https://github.com/facebook/buck/blob/39278a4f0701c5239eae148968dc1ed4cc8661f7/src/com/facebook/buck/cli/Main.java#L259-L299
When Buck sees a new source file (as reported by Watchman), it has to invalidate
a number of caches associated with the directory that contains the file.
Using a standard suffix, such as `~`, would make it easier for Buck and others
to filter out these types of file creation events.
The other uses of `tempfile.mkstemp()` in Hg do not appear to be problematic
because they (generally speaking) do not specify the `dir` parameter, so the
new file is created in the system-appropriate temp directory, which is outside
the working copy.
Test Plan:
`make tests`
Differential Revision: https://phab.mercurial-scm.org/D468
author | Michael Bolin <mbolin@fb.com> |
---|---|
date | Tue, 22 Aug 2017 00:38:38 +0000 |
parents | 7a9cbb315d84 |
children | 527ce85c2e60 |
rev | line source |
---|---|
22046
7a9cbb315d84
tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents:
19801
diff
changeset
|
1 #require execbit |
15442
db0340f4b507
tests: use 'hghave execbit' for tests that manipulate x bit in file system
Mads Kiilerich <mads@kiilerich.com>
parents:
12316
diff
changeset
|
2 |
12279 | 3 $ rm -rf a |
4 $ hg init a | |
5 $ cd a | |
7569
89207edf3973
correctly update dirstate after update+mode change (issue1456)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff
changeset
|
6 |
12279 | 7 $ echo foo > foo |
8 $ hg ci -qAm0 | |
18895
ed676ed67a5c
manifestmerge: handle workdir removed, remote removed with flags
Siddharth Agarwal <sid0@fb.com>
parents:
18334
diff
changeset
|
9 $ echo toremove > toremove |
ed676ed67a5c
manifestmerge: handle workdir removed, remote removed with flags
Siddharth Agarwal <sid0@fb.com>
parents:
18334
diff
changeset
|
10 $ echo todelete > todelete |
ed676ed67a5c
manifestmerge: handle workdir removed, remote removed with flags
Siddharth Agarwal <sid0@fb.com>
parents:
18334
diff
changeset
|
11 $ chmod +x foo toremove todelete |
ed676ed67a5c
manifestmerge: handle workdir removed, remote removed with flags
Siddharth Agarwal <sid0@fb.com>
parents:
18334
diff
changeset
|
12 $ hg ci -qAm1 |
ed676ed67a5c
manifestmerge: handle workdir removed, remote removed with flags
Siddharth Agarwal <sid0@fb.com>
parents:
18334
diff
changeset
|
13 |
ed676ed67a5c
manifestmerge: handle workdir removed, remote removed with flags
Siddharth Agarwal <sid0@fb.com>
parents:
18334
diff
changeset
|
14 Test that local removed/deleted, remote removed works with flags |
ed676ed67a5c
manifestmerge: handle workdir removed, remote removed with flags
Siddharth Agarwal <sid0@fb.com>
parents:
18334
diff
changeset
|
15 $ hg rm toremove |
ed676ed67a5c
manifestmerge: handle workdir removed, remote removed with flags
Siddharth Agarwal <sid0@fb.com>
parents:
18334
diff
changeset
|
16 $ rm todelete |
12279 | 17 $ hg co -q 0 |
18895
ed676ed67a5c
manifestmerge: handle workdir removed, remote removed with flags
Siddharth Agarwal <sid0@fb.com>
parents:
18334
diff
changeset
|
18 |
12279 | 19 $ echo dirty > foo |
20 $ hg up -c | |
19801
41abe2e3e3b7
update: standardize error message for dirty update --check
Siddharth Agarwal <sid0@fb.com>
parents:
18895
diff
changeset
|
21 abort: uncommitted changes |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12279
diff
changeset
|
22 [255] |
12279 | 23 $ hg up -q |
24 $ cat foo | |
25 dirty | |
26 $ hg st -A | |
27 M foo | |
18895
ed676ed67a5c
manifestmerge: handle workdir removed, remote removed with flags
Siddharth Agarwal <sid0@fb.com>
parents:
18334
diff
changeset
|
28 C todelete |
ed676ed67a5c
manifestmerge: handle workdir removed, remote removed with flags
Siddharth Agarwal <sid0@fb.com>
parents:
18334
diff
changeset
|
29 C toremove |
7569
89207edf3973
correctly update dirstate after update+mode change (issue1456)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff
changeset
|
30 |
12279 | 31 Validate update of standalone execute bit change: |
32 | |
33 $ hg up -C 0 | |
18895
ed676ed67a5c
manifestmerge: handle workdir removed, remote removed with flags
Siddharth Agarwal <sid0@fb.com>
parents:
18334
diff
changeset
|
34 1 files updated, 0 files merged, 2 files removed, 0 files unresolved |
12279 | 35 $ chmod -x foo |
36 $ hg ci -m removeexec | |
37 nothing changed | |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12279
diff
changeset
|
38 [1] |
12279 | 39 $ hg up -C 0 |
40 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
41 $ hg up | |
18895
ed676ed67a5c
manifestmerge: handle workdir removed, remote removed with flags
Siddharth Agarwal <sid0@fb.com>
parents:
18334
diff
changeset
|
42 3 files updated, 0 files merged, 0 files removed, 0 files unresolved |
12279 | 43 $ hg st |
44 | |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
15442
diff
changeset
|
45 $ cd .. |