view tests/test-eol-update.t @ 12779:891ddf76b73e

extensions.load: return module Makes extensions.load return the module that it has loaded. This is done so that callers can get information on this module, which e.g. can be used for generating docs.
author Erik Zielke <ez@aragost.com>
date Tue, 19 Oct 2010 13:43:40 +0200
parents 1aa7ba33f6a9
children 7439ea4146f8
line wrap: on
line source

Test EOL update

  $ cat > $HGRCPATH <<EOF
  > [diff]
  > git = 1
  > EOF

  $ seteol () {
  >     if [ $1 = "LF" ]; then
  >         EOL='\n'
  >     else
  >         EOL='\r\n'
  >     fi
  > }

  $ makerepo () {
  >     echo
  >     echo "# ==== setup repository ===="
  >     echo '% hg init'
  >     hg init repo
  >     cd repo
  > 
  >     cat > .hgeol <<EOF
  > [patterns]
  > **.txt = LF
  > EOF
  > 
  >     printf "first\nsecond\nthird\n" > a.txt
  >     hg commit --addremove -m 'LF commit'
  > 
  >     cat > .hgeol <<EOF
  > [patterns]
  > **.txt = CRLF
  > EOF
  > 
  >     printf "first\r\nsecond\r\nthird\r\n" > a.txt
  >     hg commit -m 'CRLF commit'
  > 
  >     cd ..
  > }

  $ dotest () {
  >     seteol $1
  > 
  >     echo
  >     echo "% hg clone repo repo-$1"
  >     hg clone --noupdate repo repo-$1
  >     cd repo-$1
  > 
  >     cat > .hg/hgrc <<EOF
  > [extensions]
  > eol =
  > EOF
  > 
  >     hg update
  > 
  >     echo '% printrepr.py a.txt (before)'
  >     python $TESTDIR/printrepr.py < a.txt
  > 
  >     printf "first${EOL}third${EOL}" > a.txt
  > 
  >     echo '% printrepr.py a.txt (after)'
  >     python $TESTDIR/printrepr.py < a.txt
  >     echo '% hg diff'
  >     hg diff | python $TESTDIR/printrepr.py
  > 
  >     echo '% hg update 0'
  >     hg update 0
  > 
  >     echo '% printrepr.py a.txt'
  >     python $TESTDIR/printrepr.py < a.txt
  >     echo '% hg diff'
  >     hg diff | python $TESTDIR/printrepr.py
  > 
  > 
  >     cd ..
  >     rm -r repo-$1
  > }

  $ makerepo
  
  # ==== setup repository ====
  % hg init
  adding .hgeol
  adding a.txt
  $ dotest LF
  
  % hg clone repo repo-LF
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
  % printrepr.py a.txt (before)
  first\r
  second\r
  third\r
  % printrepr.py a.txt (after)
  first
  third
  % hg diff
  diff --git a/a.txt b/a.txt
  --- a/a.txt
  +++ b/a.txt
  @@ -1,3 +1,2 @@
   first\r
  -second\r
   third\r
  % hg update 0
  merging a.txt
  1 files updated, 1 files merged, 0 files removed, 0 files unresolved
  % printrepr.py a.txt
  first
  third
  % hg diff
  diff --git a/a.txt b/a.txt
  --- a/a.txt
  +++ b/a.txt
  @@ -1,3 +1,2 @@
   first
  -second
   third
  $ dotest CRLF
  
  % hg clone repo repo-CRLF
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
  % printrepr.py a.txt (before)
  first\r
  second\r
  third\r
  % printrepr.py a.txt (after)
  first\r
  third\r
  % hg diff
  diff --git a/a.txt b/a.txt
  --- a/a.txt
  +++ b/a.txt
  @@ -1,3 +1,2 @@
   first\r
  -second\r
   third\r
  % hg update 0
  merging a.txt
  1 files updated, 1 files merged, 0 files removed, 0 files unresolved
  % printrepr.py a.txt
  first
  third
  % hg diff
  diff --git a/a.txt b/a.txt
  --- a/a.txt
  +++ b/a.txt
  @@ -1,3 +1,2 @@
   first
  -second
   third
  $ rm -r repo