tests/test-subrepo-svn
branchstable
changeset 10954 33119d0252c1
parent 10791 48c8eb9de0c8
child 11142 0bf79efeaa20
equal deleted inserted replaced
10953:f1250e2e8fd1 10954:33119d0252c1
    14 if [ $? -ne 0 ]; then
    14 if [ $? -ne 0 ]; then
    15     escapedwd="/$escapedwd"
    15     escapedwd="/$escapedwd"
    16 fi
    16 fi
    17 escapedwd=`python -c "import urllib, sys; sys.stdout.write(urllib.quote(sys.argv[1]))" "$escapedwd"`
    17 escapedwd=`python -c "import urllib, sys; sys.stdout.write(urllib.quote(sys.argv[1]))" "$escapedwd"`
    18 filterpath="s|$escapedwd|/root|"
    18 filterpath="s|$escapedwd|/root|"
    19 filtersvn='s/ in transaction.*/ is out of date/;s/Out of date: /File /'
    19 filteroutofdate='s/ in transaction.*/ is out of date/;s/Out of date: /File /'
       
    20 filterexternal="s|Fetching external item into '.*/s/externals'|Fetching external item into 's/externals'|g"
    20 
    21 
    21 echo % create subversion repo
    22 echo % create subversion repo
    22 
    23 
    23 SVNREPO="file://$escapedwd/svn-repo"
    24 SVNREPO="file://$escapedwd/svn-repo"
    24 WCROOT="`pwd`/svn-wc"
    25 WCROOT="`pwd`/svn-wc"
    60 
    61 
    61 echo
    62 echo
    62 echo % change file in svn and hg, commit
    63 echo % change file in svn and hg, commit
    63 echo a >> a
    64 echo a >> a
    64 echo alpha >> s/alpha
    65 echo alpha >> s/alpha
    65 hg commit -m 'Message!'
    66 hg commit -m 'Message!' | sed "$filterexternal"
    66 hg debugsub | sed "$filterpath"
    67 hg debugsub | sed "$filterpath"
    67 
    68 
    68 echo
    69 echo
    69 echo a > s/a
    70 echo a > s/a
    70 echo % should be empty despite change to s/a
    71 echo % should be empty despite change to s/a
    79 svn ci -m 'amend a from svn'
    80 svn ci -m 'amend a from svn'
    80 cd ../../sub/t
    81 cd ../../sub/t
    81 
    82 
    82 echo % this commit from hg will fail
    83 echo % this commit from hg will fail
    83 echo zzz >> s/alpha
    84 echo zzz >> s/alpha
    84 hg ci -m 'amend alpha from hg' 2>&1 | sed "$filtersvn"
    85 hg ci -m 'amend alpha from hg' 2>&1 | sed "$filteroutofdate"
    85 svn revert -q s/alpha
    86 svn revert -q s/alpha
    86 
    87 
    87 echo % this commit fails because of meta changes
    88 echo % this commit fails because of meta changes
    88 svn propset svn:mime-type 'text/html' s/alpha
    89 svn propset svn:mime-type 'text/html' s/alpha
    89 hg ci -m 'amend alpha from hg' 2>&1 | sed "$filtersvn"
    90 hg ci -m 'amend alpha from hg' 2>&1 | sed "$filteroutofdate"
    90 svn revert -q s/alpha
    91 svn revert -q s/alpha
    91 
    92 
    92 echo % this commit fails because of externals changes
    93 echo % this commit fails because of externals changes
    93 echo zzz > s/externals/other
    94 echo zzz > s/externals/other
    94 hg ci -m 'amend externals from hg'
    95 hg ci -m 'amend externals from hg'
   104 cd ..
   105 cd ..
   105 hg clone t tc | fix_path
   106 hg clone t tc | fix_path
   106 cd tc
   107 cd tc
   107 echo % debugsub in clone
   108 echo % debugsub in clone
   108 hg debugsub | sed "$filterpath"
   109 hg debugsub | sed "$filterpath"
       
   110 
       
   111 echo % verify subrepo is contained within the repo directory
       
   112 python -c "import os.path; print os.path.exists('s')"