tests/test-inherit-mode.t
author Pierre-Yves David <pierre-yves.david@logilab.fr>
Mon, 30 Jan 2012 17:33:09 +0100
branchstable
changeset 16025 6697498bdd83
parent 15886 a5917346c72e
child 16225 7cf8de5a82d8
permissions -rw-r--r--
phases: write default phase data as soon as possible. Marks phase data as dirty when computing default phase. Actual writing is done when the lock is released. So, read only operation don't write phase data because they don't lock the repo.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
bb69460e9d2d tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6301
diff changeset
   141
  $ chmod g+s .hg/store 2> /dev/null
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"
bb69460e9d2d tests: unify test-inherit-mode
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6301
diff changeset
   149
  $ fi