tests/test-eol-add.t
author Jesse Glick <jesse.glick@oracle.com>
Fri, 04 May 2012 15:56:45 -0400
changeset 16646 a1dcd842ce17
parent 13519 43b3b761d9d1
permissions -rw-r--r--
localrepo: optimize internode status calls using withflags Introduce manifestdict.withflags() to get a set of all files which have any flags set, since these are likely to be a minority. Otherwise checking .flags() for every file is a lot of dictionary lookups and is quite slow.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12421
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
     1
Test adding .hgeol
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
12421
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
     4
  > [diff]
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
     5
  > git = 1
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
     6
  > EOF
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
     7
  $ seteol () {
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
     8
  >     if [ $1 = "LF" ]; then
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
     9
  >         EOL='\n'
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    10
  >     else
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    11
  >         EOL='\r\n'
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    12
  >     fi
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    13
  > }
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    14
  $ makerepo () {
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    15
  >     echo
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    16
  >     echo "# ==== setup repository ===="
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    17
  >     echo '% hg init'
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    18
  >     hg init repo
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    19
  >     cd repo
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    20
  >     printf "first\nsecond\nthird\n" > a.txt
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    21
  >     hg commit -d '100 0' --addremove -m 'LF commit'
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    22
  >     cd ..
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    23
  > }
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    24
  $ dotest () {
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    25
  >     seteol $1
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    26
  >     echo
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    27
  >     echo "% hg clone repo repo-$1"
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    28
  >     hg clone repo repo-$1
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    29
  >     cd repo-$1
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    30
  >     cat > .hg/hgrc <<EOF
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    31
  > [extensions]
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    32
  > eol =
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    33
  > [eol]
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    34
  > native = LF
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    35
  > EOF
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    36
  >     cat > .hgeol <<EOF
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    37
  > [patterns]
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    38
  > **.txt = native
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    39
  > [repository]
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    40
  > native = $1
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    41
  > EOF
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    42
  >     echo '% hg add .hgeol'
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    43
  >     hg add .hgeol
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    44
  >     echo '% hg status'
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    45
  >     hg status
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    46
  >     echo '% hg commit'
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    47
  >     hg commit -d '200 0' -m 'Added .hgeol file'
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    48
  >     echo '% hg status'
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    49
  >     hg status
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    50
  >     echo '% hg tip -p'
12943
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12421
diff changeset
    51
  >     hg tip -p
12421
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    52
  >     cd ..
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    53
  >     rm -r repo-$1
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    54
  > }
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    55
  $ makerepo
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    56
  
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    57
  # ==== setup repository ====
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    58
  % hg init
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    59
  adding a.txt
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    60
  $ dotest LF
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    61
  
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    62
  % hg clone repo repo-LF
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    63
  updating to branch default
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    64
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    65
  % hg add .hgeol
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    66
  % hg status
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    67
  A .hgeol
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    68
  % hg commit
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    69
  % hg status
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    70
  % hg tip -p
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    71
  changeset:   1:33503edb53b0
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    72
  tag:         tip
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    73
  user:        test
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    74
  date:        Thu Jan 01 00:03:20 1970 +0000
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    75
  summary:     Added .hgeol file
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    76
  
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    77
  diff --git a/.hgeol b/.hgeol
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    78
  new file mode 100644
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    79
  --- /dev/null
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    80
  +++ b/.hgeol
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    81
  @@ -0,0 +1,4 @@
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    82
  +[patterns]
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    83
  +**.txt = native
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    84
  +[repository]
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    85
  +native = LF
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    86
  
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    87
  $ dotest CRLF
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    88
  
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    89
  % hg clone repo repo-CRLF
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    90
  updating to branch default
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    91
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    92
  % hg add .hgeol
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    93
  % hg status
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    94
  M a.txt
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    95
  A .hgeol
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    96
  % hg commit
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    97
  % hg status
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    98
  % hg tip -p
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    99
  changeset:   1:6e64eaa9eb23
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
   100
  tag:         tip
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
   101
  user:        test
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
   102
  date:        Thu Jan 01 00:03:20 1970 +0000
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
   103
  summary:     Added .hgeol file
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
   104
  
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
   105
  diff --git a/.hgeol b/.hgeol
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
   106
  new file mode 100644
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
   107
  --- /dev/null
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
   108
  +++ b/.hgeol
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
   109
  @@ -0,0 +1,4 @@
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
   110
  +[patterns]
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
   111
  +**.txt = native
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
   112
  +[repository]
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
   113
  +native = CRLF
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
   114
  diff --git a/a.txt b/a.txt
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
   115
  --- a/a.txt
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
   116
  +++ b/a.txt
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
   117
  @@ -1,3 +1,3 @@
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
   118
  -first
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
   119
  -second
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
   120
  -third
12943
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12421
diff changeset
   121
  +first\r (esc)
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12421
diff changeset
   122
  +second\r (esc)
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12421
diff changeset
   123
  +third\r (esc)
12421
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
   124
  
0ae7cad68842 tests: unify test-eol-add
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
   125
  $ rm -r repo