tests/test-eol-clone.t
author Matt Harbison <matt_harbison@yahoo.com>
Sun, 01 Apr 2018 01:27:18 -0400
branchstable
changeset 37156 7de7bd407251
parent 34661 eb586ed5d8ce
child 43206 7699d9237a67
permissions -rw-r--r--
server: ensure the incoming request falls under the prefix value Prior to this, the first test asserted in wsgiref.validate.check_environ() saying PATH didn't start with '/', but the second test served up the repo. The assertion was just added in this cycle (though the value of PATH is still wrong without the assertion). Allowing access to the repo at any URL outside of the prefix is a long standing bug. This also affected hgwebdir, at least when used via --subrepo. Paths are not being canonicalized, so accesses to things like 'foo/../bar' will get tossed out here, unless the prefix also matches.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12422
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
     1
Testing cloning with the EOL extension
11249
0bb67503ad4b eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
     2
13519
43b3b761d9d1 tests: don't overwrite HGRCPATH
Martin Geisler <mg@aragost.com>
parents: 12943
diff changeset
     3
  $ cat >> $HGRCPATH <<EOF
12422
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
     4
  > [extensions]
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
     5
  > eol =
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
     6
  > 
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
     7
  > [eol]
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
     8
  > native = CRLF
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
     9
  > EOF
11249
0bb67503ad4b eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
    10
12422
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    11
setup repository
11249
0bb67503ad4b eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
    12
12422
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    13
  $ hg init repo
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    14
  $ cd repo
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    15
  $ cat > .hgeol <<EOF
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    16
  > [patterns]
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    17
  > **.txt = native
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    18
  > EOF
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    19
  $ printf "first\r\nsecond\r\nthird\r\n" > a.txt
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    20
  $ hg commit --addremove -m 'checkin'
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    21
  adding .hgeol
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    22
  adding a.txt
11249
0bb67503ad4b eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
    23
12422
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    24
Clone
11249
0bb67503ad4b eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
    25
12422
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    26
  $ cd ..
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    27
  $ hg clone repo repo-2
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    28
  updating to branch default
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    29
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    30
  $ cd repo-2
12943
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12847
diff changeset
    31
  $ cat a.txt
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12847
diff changeset
    32
  first\r (esc)
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12847
diff changeset
    33
  second\r (esc)
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12847
diff changeset
    34
  third\r (esc)
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12847
diff changeset
    35
  $ hg cat a.txt
12422
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    36
  first
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    37
  second
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    38
  third
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    39
  $ hg remove .hgeol
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    40
  $ hg commit -m 'remove eol'
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    41
  $ hg push --quiet
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    42
  $ cd ..
11249
0bb67503ad4b eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
    43
12422
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    44
Test clone of repo with .hgeol in working dir, but no .hgeol in tip
11249
0bb67503ad4b eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
    45
12422
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    46
  $ hg clone repo repo-3
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    47
  updating to branch default
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    48
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    49
  $ cd repo-3
11249
0bb67503ad4b eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
    50
12943
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12847
diff changeset
    51
  $ cat a.txt
12422
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    52
  first
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    53
  second
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    54
  third
11249
0bb67503ad4b eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
    55
12422
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    56
Test clone of revision with .hgeol
11249
0bb67503ad4b eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
    57
12422
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    58
  $ cd ..
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    59
  $ hg clone -r 0 repo repo-4
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    60
  adding changesets
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    61
  adding manifests
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    62
  adding file changes
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    63
  added 1 changesets with 2 changes to 2 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 16913
diff changeset
    64
  new changesets 90f94e2cf4e2
12422
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    65
  updating to branch default
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    66
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    67
  $ cd repo-4
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    68
  $ cat .hgeol
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    69
  [patterns]
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    70
  **.txt = native
11249
0bb67503ad4b eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
    71
12943
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12847
diff changeset
    72
  $ cat a.txt
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12847
diff changeset
    73
  first\r (esc)
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12847
diff changeset
    74
  second\r (esc)
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12847
diff changeset
    75
  third\r (esc)
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 13521
diff changeset
    76
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 13521
diff changeset
    77
  $ cd ..