tests/test-convert-svn-sink
changeset 5808 80e40ef3d8b8
parent 5698 b63ef7b1441c
child 6210 942287cb1f57
equal deleted inserted replaced
5807:4dfe7d5b1fc8 5808:80e40ef3d8b8
     1 #!/bin/sh
     1 #!/bin/sh
     2 
     2 
     3 "$TESTDIR/hghave" svn svn-bindings || exit 80
     3 "$TESTDIR/hghave" svn svn-bindings || exit 80
       
     4 
       
     5 fixpath()
       
     6 {
       
     7     tr '\\' /
       
     8 }
       
     9 
       
    10 svnupanddisplay()
       
    11 {
       
    12     (
       
    13        cd $1; 
       
    14        svn up;
       
    15        svn st -v | fixpath
       
    16        limit=''
       
    17        if [ $2 -gt 0 ]; then
       
    18            limit="--limit=$2"
       
    19        fi
       
    20        svn log --xml -v $limit | fixpath | sed 's,<date>.*,<date/>,'
       
    21     ) 
       
    22 }
     4 
    23 
     5 echo "[extensions]" >> $HGRCPATH
    24 echo "[extensions]" >> $HGRCPATH
     6 echo "convert = " >> $HGRCPATH
    25 echo "convert = " >> $HGRCPATH
     7 
    26 
     8 hg init a
    27 hg init a
    17 echo % modify
    36 echo % modify
    18 hg --cwd a ci -d '1 0' -m 'modify a file'
    37 hg --cwd a ci -d '1 0' -m 'modify a file'
    19 hg --cwd a tip -q
    38 hg --cwd a tip -q
    20 
    39 
    21 hg convert -d svn a
    40 hg convert -d svn a
    22 (cd a-hg-wc; svn up; svn st -v; svn log --xml -v --limit=2 | sed 's,<date>.*,<date/>,')
    41 svnupanddisplay a-hg-wc 2
    23 ls a a-hg-wc
    42 ls a a-hg-wc
    24 cmp a/a a-hg-wc/a && echo same || echo different
    43 cmp a/a a-hg-wc/a && echo same || echo different
    25 
    44 
    26 hg --cwd a mv a b
    45 hg --cwd a mv a b
    27 echo % rename
    46 echo % rename
    28 hg --cwd a ci -d '2 0' -m 'rename a file'
    47 hg --cwd a ci -d '2 0' -m 'rename a file'
    29 hg --cwd a tip -q
    48 hg --cwd a tip -q
    30 
    49 
    31 hg convert -d svn a
    50 hg convert -d svn a
    32 (cd a-hg-wc; svn up; svn st -v; svn log --xml -v --limit=1 | sed 's,<date>.*,<date/>,')
    51 svnupanddisplay a-hg-wc 1
    33 ls a a-hg-wc
    52 ls a a-hg-wc
    34 
    53 
    35 hg --cwd a cp b c
    54 hg --cwd a cp b c
    36 echo % copy
    55 echo % copy
    37 hg --cwd a ci -d '3 0' -m 'copy a file'
    56 hg --cwd a ci -d '3 0' -m 'copy a file'
    38 hg --cwd a tip -q
    57 hg --cwd a tip -q
    39 
    58 
    40 hg convert -d svn a
    59 hg convert -d svn a
    41 (cd a-hg-wc; svn up; svn st -v; svn log --xml -v --limit=1 | sed 's,<date>.*,<date/>,')
    60 svnupanddisplay a-hg-wc 1
    42 ls a a-hg-wc
    61 ls a a-hg-wc
    43 
    62 
    44 hg --cwd a rm b
    63 hg --cwd a rm b
    45 echo % remove
    64 echo % remove
    46 hg --cwd a ci -d '4 0' -m 'remove a file'
    65 hg --cwd a ci -d '4 0' -m 'remove a file'
    47 hg --cwd a tip -q
    66 hg --cwd a tip -q
    48 
    67 
    49 hg convert -d svn a
    68 hg convert -d svn a
    50 (cd a-hg-wc; svn up; svn st -v; svn log --xml -v --limit=1 | sed 's,<date>.*,<date/>,')
    69 svnupanddisplay a-hg-wc 1
    51 ls a a-hg-wc
    70 ls a a-hg-wc
    52 
    71 
    53 chmod +x a/c
    72 chmod +x a/c
    54 echo % executable
    73 echo % executable
    55 hg --cwd a ci -d '5 0' -m 'make a file executable'
    74 hg --cwd a ci -d '5 0' -m 'make a file executable'
    56 hg --cwd a tip -q
    75 hg --cwd a tip -q
    57 
    76 
    58 hg convert -d svn a
    77 hg convert -d svn a
    59 (cd a-hg-wc; svn up; svn st -v; svn log --xml -v --limit=1 | sed 's,<date>.*,<date/>,')
    78 svnupanddisplay a-hg-wc 1
    60 test -x a-hg-wc/c && echo executable || echo not executable
    79 test -x a-hg-wc/c && echo executable || echo not executable
    61 
    80 
    62 echo % executable in new directory
    81 echo % executable in new directory
    63 
    82 
    64 rm -rf a a-hg a-hg-wc
    83 rm -rf a a-hg a-hg-wc
    68 echo a > a/d1/a
    87 echo a > a/d1/a
    69 chmod +x a/d1/a
    88 chmod +x a/d1/a
    70 hg --cwd a ci -d '0 0' -A -m 'add executable file in new directory'
    89 hg --cwd a ci -d '0 0' -A -m 'add executable file in new directory'
    71 
    90 
    72 hg convert -d svn a
    91 hg convert -d svn a
    73 (cd a-hg-wc; svn up; svn st -v; svn log --xml -v --limit=1 | sed 's,<date>.*,<date/>,')
    92 svnupanddisplay a-hg-wc 1
    74 test -x a-hg-wc/d1/a && echo executable || echo not executable
    93 test -x a-hg-wc/d1/a && echo executable || echo not executable
    75 
    94 
    76 echo % copy to new directory
    95 echo % copy to new directory
    77 
    96 
    78 mkdir a/d2
    97 mkdir a/d2
    79 hg --cwd a cp d1/a d2/a
    98 hg --cwd a cp d1/a d2/a
    80 hg --cwd a ci -d '1 0' -A -m 'copy file to new directory'
    99 hg --cwd a ci -d '1 0' -A -m 'copy file to new directory'
    81 
   100 
    82 hg convert -d svn a
   101 hg convert -d svn a
    83 (cd a-hg-wc; svn up; svn st -v; svn log --xml -v --limit=1 | sed 's,<date>.*,<date/>,')
   102 svnupanddisplay a-hg-wc 1
    84 
   103 
    85 echo % branchy history
   104 echo % branchy history
    86 
   105 
    87 hg init b
   106 hg init b
    88 echo base > b/b
   107 echo base > b/b
   111 hg --cwd b revert -r 2 b
   130 hg --cwd b revert -r 2 b
   112 hg --cwd b ci -d '5 0' -m 'merge'
   131 hg --cwd b ci -d '5 0' -m 'merge'
   113 
   132 
   114 hg convert -d svn b
   133 hg convert -d svn b
   115 echo % expect 4 changes
   134 echo % expect 4 changes
   116 (cd b-hg-wc; svn up; svn st -v; svn log --xml -v | sed 's,<date>.*,<date/>,')
   135 svnupanddisplay b-hg-wc 0