Mercurial > hg
annotate tests/test-inherit-mode.t @ 17970:0b03454abae7
ancestor: faster algorithm for difference of ancestor sets
One of the major reasons rebase is slow in large repositories is
the computation of the detach set: the set of ancestors of the
changesets to rebase not in the destination parent. This is currently
done via a revset that does two walks all the way to the root of
the DAG. Instead of doing that, to find ancestors of a set <revs>
not in another set <common> we walk up the tree in reverse revision
number order, maintaining sets of nodes visited from <revs>, <common>
or both.
For the common case where the sets are close both topologically and
in revision number (relative to repository size), this has been
found to speed up rebase by around 15-20%. When the nodes are farther
apart and the DAG is highly branching, it is harder to say which
would win.
Here's how long computing the detach set takes in a linear repository
with over 400000 changesets, rebasing near tip:
Rebasing across 4 changesets
Revset method: 2.2s
New algorithm: 0.00015s
Rebasing across 250 changesets
Revset method: 2.2s
New algorithm: 0.00069s
Rebasing across 10000 changesets
Revset method: 2.4s
New algorithm: 0.019s
author | Siddharth Agarwal <sid0@fb.com> |
---|---|
date | Mon, 26 Nov 2012 11:46:51 -0800 |
parents | 6ef3107c661e |
children | a55b06885cda |
rev | line source |
---|---|
12096
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
1 test that new files created in .hg inherit the permissions from .hg/store |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
2 |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
3 |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
4 $ "$TESTDIR/hghave" unix-permissions || exit 80 |
6064
c608f67a87c0
add test-inherit-mode
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
5 |
12096
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
6 $ mkdir dir |
6064
c608f67a87c0
add test-inherit-mode
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
7 |
12096
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
8 just in case somebody has a strange $TMPDIR |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
9 |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
10 $ chmod g-s dir |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
11 $ cd dir |
6064
c608f67a87c0
add test-inherit-mode
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
12 |
12096
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
13 $ cat >printmodes.py <<EOF |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
14 > import os, sys |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
15 > |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
16 > allnames = [] |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
17 > isdir = {} |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
18 > for root, dirs, files in os.walk(sys.argv[1]): |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
19 > for d in dirs: |
12743
4c4aeaab2339
check-code: add 'no tab indent' check for unified tests
Adrian Buehlmann <adrian@cadifra.com>
parents:
12096
diff
changeset
|
20 > name = os.path.join(root, d) |
4c4aeaab2339
check-code: add 'no tab indent' check for unified tests
Adrian Buehlmann <adrian@cadifra.com>
parents:
12096
diff
changeset
|
21 > isdir[name] = 1 |
4c4aeaab2339
check-code: add 'no tab indent' check for unified tests
Adrian Buehlmann <adrian@cadifra.com>
parents:
12096
diff
changeset
|
22 > allnames.append(name) |
12096
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
23 > for f in files: |
12743
4c4aeaab2339
check-code: add 'no tab indent' check for unified tests
Adrian Buehlmann <adrian@cadifra.com>
parents:
12096
diff
changeset
|
24 > name = os.path.join(root, f) |
4c4aeaab2339
check-code: add 'no tab indent' check for unified tests
Adrian Buehlmann <adrian@cadifra.com>
parents:
12096
diff
changeset
|
25 > allnames.append(name) |
12096
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
26 > allnames.sort() |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
27 > for name in allnames: |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
28 > suffix = name in isdir and '/' or '' |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
29 > print '%05o %s%s' % (os.lstat(name).st_mode & 07777, name, suffix) |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
30 > EOF |
6064
c608f67a87c0
add test-inherit-mode
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
31 |
12096
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
32 $ cat >mode.py <<EOF |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
33 > import sys |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
34 > import os |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
35 > print '%05o' % os.lstat(sys.argv[1]).st_mode |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
36 > EOF |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
37 |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
38 $ umask 077 |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
39 |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
40 $ hg init repo |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
41 $ cd repo |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
42 |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
43 $ chmod 0770 .hg/store |
6064
c608f67a87c0
add test-inherit-mode
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
44 |
12096
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
45 before commit |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
46 store can be written by the group, other files cannot |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
47 store is setgid |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
48 |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
49 $ python ../printmodes.py . |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
50 00700 ./.hg/ |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
51 00600 ./.hg/00changelog.i |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
52 00600 ./.hg/requires |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
53 00770 ./.hg/store/ |
6113
8ca25589e960
try to fix test-inherit-mode on HFS+
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6073
diff
changeset
|
54 |
12096
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
55 $ mkdir dir |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
56 $ touch foo dir/bar |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
57 $ hg ci -qAm 'add files' |
6064
c608f67a87c0
add test-inherit-mode
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
58 |
12096
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
59 after commit |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
60 working dir files can only be written by the owner |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
61 files created in .hg can be written by the group |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
62 (in particular, store/**, dirstate, branch cache file, undo files) |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
63 new directories are setgid |
6064
c608f67a87c0
add test-inherit-mode
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
64 |
12096
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
65 $ python ../printmodes.py . |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
66 00700 ./.hg/ |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
67 00600 ./.hg/00changelog.i |
15886
a5917346c72e
localrepo: update branchcache in a more reliable way
Mads Kiilerich <mads@kiilerich.com>
parents:
15483
diff
changeset
|
68 00770 ./.hg/cache/ |
a5917346c72e
localrepo: update branchcache in a more reliable way
Mads Kiilerich <mads@kiilerich.com>
parents:
15483
diff
changeset
|
69 00660 ./.hg/cache/branchheads |
12096
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
70 00660 ./.hg/dirstate |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
71 00660 ./.hg/last-message.txt |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
72 00600 ./.hg/requires |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
73 00770 ./.hg/store/ |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
74 00660 ./.hg/store/00changelog.i |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
75 00660 ./.hg/store/00manifest.i |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
76 00770 ./.hg/store/data/ |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
77 00770 ./.hg/store/data/dir/ |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
78 00660 ./.hg/store/data/dir/bar.i |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
79 00660 ./.hg/store/data/foo.i |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
80 00660 ./.hg/store/fncache |
15483
9ae766f2f452
phases: set new commit in 1-phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
15455
diff
changeset
|
81 00660 ./.hg/store/phaseroots |
12096
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
82 00660 ./.hg/store/undo |
15455
c6f87bdab2a1
phases: add rollback support
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
14266
diff
changeset
|
83 00660 ./.hg/store/undo.phaseroots |
14266
89e7d35e0ef0
fix bookmarks rollback behavior
Alexander Solovyov <alexander@solovyov.net>
parents:
13272
diff
changeset
|
84 00660 ./.hg/undo.bookmarks |
12096
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
85 00660 ./.hg/undo.branch |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
86 00660 ./.hg/undo.desc |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
87 00660 ./.hg/undo.dirstate |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
88 00700 ./dir/ |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
89 00600 ./dir/bar |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
90 00600 ./foo |
6064
c608f67a87c0
add test-inherit-mode
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
91 |
12096
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
92 $ umask 007 |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
93 $ hg init ../push |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
94 |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
95 before push |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
96 group can write everything |
6064
c608f67a87c0
add test-inherit-mode
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
97 |
12096
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
98 $ python ../printmodes.py ../push |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
99 00770 ../push/.hg/ |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
100 00660 ../push/.hg/00changelog.i |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
101 00660 ../push/.hg/requires |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
102 00770 ../push/.hg/store/ |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
103 |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
104 $ umask 077 |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
105 $ hg -q push ../push |
6064
c608f67a87c0
add test-inherit-mode
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff
changeset
|
106 |
12096
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
107 after push |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
108 group can still write everything |
6113
8ca25589e960
try to fix test-inherit-mode on HFS+
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6073
diff
changeset
|
109 |
12096
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
110 $ python ../printmodes.py ../push |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
111 00770 ../push/.hg/ |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
112 00660 ../push/.hg/00changelog.i |
13272
5ccdca7df211
move tags.cache and branchheads.cache to a collected cache folder .hg/cache/
jfh <jason@jasonfharris.com>
parents:
12743
diff
changeset
|
113 00770 ../push/.hg/cache/ |
5ccdca7df211
move tags.cache and branchheads.cache to a collected cache folder .hg/cache/
jfh <jason@jasonfharris.com>
parents:
12743
diff
changeset
|
114 00660 ../push/.hg/cache/branchheads |
12096
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
115 00660 ../push/.hg/requires |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
116 00770 ../push/.hg/store/ |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
117 00660 ../push/.hg/store/00changelog.i |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
118 00660 ../push/.hg/store/00manifest.i |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
119 00770 ../push/.hg/store/data/ |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
120 00770 ../push/.hg/store/data/dir/ |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
121 00660 ../push/.hg/store/data/dir/bar.i |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
122 00660 ../push/.hg/store/data/foo.i |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
123 00660 ../push/.hg/store/fncache |
16025
6697498bdd83
phases: write default phase data as soon as possible.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
15886
diff
changeset
|
124 00660 ../push/.hg/store/phaseroots |
12096
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
125 00660 ../push/.hg/store/undo |
15455
c6f87bdab2a1
phases: add rollback support
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
14266
diff
changeset
|
126 00660 ../push/.hg/store/undo.phaseroots |
14266
89e7d35e0ef0
fix bookmarks rollback behavior
Alexander Solovyov <alexander@solovyov.net>
parents:
13272
diff
changeset
|
127 00660 ../push/.hg/undo.bookmarks |
12096
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
128 00660 ../push/.hg/undo.branch |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
129 00660 ../push/.hg/undo.desc |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
130 00660 ../push/.hg/undo.dirstate |
6113
8ca25589e960
try to fix test-inherit-mode on HFS+
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6073
diff
changeset
|
131 |
12096
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
132 |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
133 Test that we don't lose the setgid bit when we call chmod. |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
134 Not all systems support setgid directories (e.g. HFS+), so |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
135 just check that directories have the same mode. |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
136 |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
137 $ cd .. |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
138 $ hg init setgid |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
139 $ cd setgid |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
140 $ chmod g+rwx .hg/store |
16225
7cf8de5a82d8
tests: ignore the return code of chmod in test-inherit-mode
Javi Merino <cibervicho@gmail.com>
parents:
16025
diff
changeset
|
141 $ chmod g+s .hg/store 2> /dev/null || true |
12096
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
142 $ mkdir dir |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
143 $ touch dir/file |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
144 $ hg ci -qAm 'add dir/file' |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
145 $ storemode=`python ../mode.py .hg/store` |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
146 $ dirmode=`python ../mode.py .hg/store/data/dir` |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
147 $ if [ "$storemode" != "$dirmode" ]; then |
bb69460e9d2d
tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
6301
diff
changeset
|
148 > echo "$storemode != $dirmode" |
16912
6ef3107c661e
tests: cleanup of tests that got lost in their own nested directories
Mads Kiilerich <mads@kiilerich.com>
parents:
16225
diff
changeset
|
149 > fi |
6ef3107c661e
tests: cleanup of tests that got lost in their own nested directories
Mads Kiilerich <mads@kiilerich.com>
parents:
16225
diff
changeset
|
150 $ cd .. |
6ef3107c661e
tests: cleanup of tests that got lost in their own nested directories
Mads Kiilerich <mads@kiilerich.com>
parents:
16225
diff
changeset
|
151 |
6ef3107c661e
tests: cleanup of tests that got lost in their own nested directories
Mads Kiilerich <mads@kiilerich.com>
parents:
16225
diff
changeset
|
152 $ cd .. # g-s dir |