Mercurial > hgsubversion
view tools/common.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 | 5071b8511572 |
children |
line wrap: on
line source
function verify_current_revision() { /bin/rm -rf * exportcmd="svn export `hg svn info 2> /dev/null | grep '^URL: ' | sed 's/URL: //'`@`hg svn info | grep ^Revision | sed 's/.*: //;s/ .*//'` . --force" `echo $exportcmd` > /dev/null x=$? if [[ "$x" != "0" ]] ; then echo $exportcmd echo 'export failed!' return 255 fi if [[ "`hg st | wc -l | python -c 'import sys; print sys.stdin.read().strip()'`" == "0" ]] ; then return 0 else if [[ $1 != "keep" ]] ; then revert_all_files fi return 1 fi } function revert_all_files() { hg revert --all hg purge }