view tests/test-eol-add.t @ 22014:71083b020b4a

push: extract future heads computation into pushop Bundle2 will allow pushing all different parts of the push in a single bundle. This mean that the discovery for each part needs to be done before trying to push. Currently we may have different behaviors for phases and obsolescence markers when the push of changesets fails. For example, information may still be exchanged for a part of the history where changesets are common but where phases mismatch. So the preparation of the push need to determine what information need to be pushed in both situations. And it needs a different set of heads for this. Therefore we are moving heads computation within pushop for easy access by all parties. We start with the simplest set of heads.
author Pierre-Yves David <pierre-yves.david@fb.com>
date Tue, 01 Jul 2014 17:20:31 +0200
parents 43b3b761d9d1
children
line wrap: on
line source

Test adding .hgeol

  $ 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
  >     printf "first\nsecond\nthird\n" > a.txt
  >     hg commit -d '100 0' --addremove -m 'LF commit'
  >     cd ..
  > }
  $ dotest () {
  >     seteol $1
  >     echo
  >     echo "% hg clone repo repo-$1"
  >     hg clone repo repo-$1
  >     cd repo-$1
  >     cat > .hg/hgrc <<EOF
  > [extensions]
  > eol =
  > [eol]
  > native = LF
  > EOF
  >     cat > .hgeol <<EOF
  > [patterns]
  > **.txt = native
  > [repository]
  > native = $1
  > EOF
  >     echo '% hg add .hgeol'
  >     hg add .hgeol
  >     echo '% hg status'
  >     hg status
  >     echo '% hg commit'
  >     hg commit -d '200 0' -m 'Added .hgeol file'
  >     echo '% hg status'
  >     hg status
  >     echo '% hg tip -p'
  >     hg tip -p
  >     cd ..
  >     rm -r repo-$1
  > }
  $ makerepo
  
  # ==== setup repository ====
  % hg init
  adding a.txt
  $ dotest LF
  
  % hg clone repo repo-LF
  updating to branch default
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  % hg add .hgeol
  % hg status
  A .hgeol
  % hg commit
  % hg status
  % hg tip -p
  changeset:   1:33503edb53b0
  tag:         tip
  user:        test
  date:        Thu Jan 01 00:03:20 1970 +0000
  summary:     Added .hgeol file
  
  diff --git a/.hgeol b/.hgeol
  new file mode 100644
  --- /dev/null
  +++ b/.hgeol
  @@ -0,0 +1,4 @@
  +[patterns]
  +**.txt = native
  +[repository]
  +native = LF
  
  $ dotest CRLF
  
  % hg clone repo repo-CRLF
  updating to branch default
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  % hg add .hgeol
  % hg status
  M a.txt
  A .hgeol
  % hg commit
  % hg status
  % hg tip -p
  changeset:   1:6e64eaa9eb23
  tag:         tip
  user:        test
  date:        Thu Jan 01 00:03:20 1970 +0000
  summary:     Added .hgeol file
  
  diff --git a/.hgeol b/.hgeol
  new file mode 100644
  --- /dev/null
  +++ b/.hgeol
  @@ -0,0 +1,4 @@
  +[patterns]
  +**.txt = native
  +[repository]
  +native = CRLF
  diff --git a/a.txt b/a.txt
  --- a/a.txt
  +++ b/a.txt
  @@ -1,3 +1,3 @@
  -first
  -second
  -third
  +first\r (esc)
  +second\r (esc)
  +third\r (esc)
  
  $ rm -r repo