Thursday, December 10, 2009

Mass merge for svn from cmd

p=`pwd`
for a in `ls -d *-jb2`; do
echo $a
cd $p/$a
svn up
svn merge -c 40657 svn+ssh://svn.evalica.com/usr/local/svn/project/ref-acc/branches/TPL2-REL1_10
svn ci -m "fixed dashboard json problem"
done

Thursday, December 3, 2009

How to revert (reverse merge) last svn commit from command line (cmd)

Working example on svn 1.6.x (this script reverts and commit latest revision automatically. It is necessary to be in root project directory):
svn up
svn merge -c -`svn info 2>/dev/null | head -n9 | tail -n1 | awk '{ print $4 }'` `svn info 2>/dev/null | head -n2 | tail -n1 | awk '{ print $2 }'`
svn ci -m "reverted invalid commit"

SVN syntax for doing reverse merge:
svn merge -c -{revision you want to revert} {project svn path}

Mass svn commit from command line

Bash script to mass commit in all subdirectories of current directory.
p=`pwd`
for a in `ls -d *`; do
echo $a
cd $p/$a
svn delete src/java/com/xxx/DeployHelper.java
svn ci -m "deleted deploy helper"
done

If you simply need to commit without any confirmations just type svn ci -m "comment"