Mercurial > hgsubversion
view tests/fixtures/symlinks.sh @ 1134:a9b6e38d6dc9
util: add visitor pattern for scrubbing json
These functions are for future patches that will add safer serialization via
json. '_convert' is a visitor pattern that will be used for lists,
dictionaries, and strings for helping convert None to the empty string since
json forbids 'null' as a key for a dictionary.
None -> '' is a safe mapping because this is for the 'branch_info' variable
which already maps the empty string to None.
Note, also, that json is chosen instead of, say, csv because json has a concept
of 'null' and will better handle utf8 strings (which subversion supports).
Important: this changes the requirement of hgsubversion to python 2.6+.
author | Sean Farley <sean.michael.farley@gmail.com> |
---|---|
date | Mon, 17 Feb 2014 11:10:38 -0600 |
parents | b37c401b7f92 |
children |
line wrap: on
line source
#!/bin/sh # # Generate symlinks.svndump # mkdir temp cd temp mkdir project-orig cd project-orig mkdir trunk mkdir branches cd .. svnadmin create testrepo svnurl=file://`pwd`/testrepo svn import project-orig $svnurl -m "init project" svn co $svnurl project cd project/trunk echo a > a ln -s a linka ln -s a linka2 mkdir d ln -s a d/linka svn add a linka linka2 d svn ci -m "add symlinks" # Move symlinks svn mv linka linkaa svn mv d d2 svn commit -m "moving symlinks" # Update symlinks (test "link " prefix vs applydelta) echo b > b rm linkaa ln -s b linkaa rm d2/linka ln -s b d2/linka svn ci -m "update symlinks" # Replace a symlink with a regular file rm linkaa echo data > linkaa svn propdel svn:special linkaa # Replace another symlink with a regular file in another way # It should mark linka2 as R(eplaced) svn rm linka2 echo data2 > linka2 svn add linka2 svn propdel svn:special linka2 svn rm d2/linka svn ci -m "undo link" cd ../.. svnadmin dump testrepo > ../symlinks.svndump