SVN 为新的RoR应用程序创建一个新的svn存储库

mkdir ~/src/appName
svnadmin create ~/src/appName
cd ~/
mkdir ~/tmp
mkdir ~/tmp/branches
mkdir ~/tmp/tags
mkdir ~/tmp/trunk
svn import ~/tmp file:///Users/spider/src/appName -m "initial import"
rm -r ~/tmp
cd ~/Documents/RubyOnRails
svn checkout file:///Users/spider/src/appName/trunk appName

SVN 将RubyOnRails应用程序添加到svn存储库

svn add . --force
svn ci -m "initial rails import"
svn up
svn remove log/*
svn commit -m "removing all log files from subversion"
svn propset svn:ignore "*.*" log/
svn update log/
svn ci -m "Ignoring all files in /log/ ending in .log"
svn up
svn add config/lighttpd.conf
svn ci -m "added lighttpd conf file"
svn up
svn move config/database.yml config/database.example
svn commit -m "Moving database.yml to database.example to provide a template for anyone who checks out the code"
svn propset svn:ignore "database.yml" config/
svn update config/
svn commit -m "Ignoring database.yml"
svn remove tmp/*
svn propset svn:ignore "*" tmp/
svn update tmp/
svn commit -m "ignore tmp/ content from now"

SVN 命令缩写

svn st = svn status
svn ci = svn commit
svn up = svn update
svn di = svn diff
svn co = svn checkout
svn mv = svn move
svn cp = svn copy
svn rm = svn delete
svn ls = svn list
svn h  = svn help

SVN 编辑当前目录中的被忽略文件。

svn propedit svn:ignore .

SVN 将SVN访问URL从HTTP切换到SVN + SSH

svn switch --relocate http://domain.com/{repo} svn+ssh://{username}@domain.com/home/{username}/svn/{repo}

SVN 只需打印SVN日志消息正文

svn log -r {2008-12-31}:HEAD | perl -nwle 'print unless m/^((r\d)|(-)|($))/'

SVN 删除.svn目录

rm -rf `find . -name .svn`

SVN SVN添加多个文件

svn add $( svn st | grep "^?" | awk '{print $2}' )

SVN 将所有文件添加到Subversion

svn add * --force

SVN 使用xslt从log xml中提取svn修订版

<?xml version="1.0"?>

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:param name="issue" select="'valuenotentered'"/>
<xsl:output method="text"/>
<xsl:strip-space elements="*"/>

<xsl:template match="log/logentry">
</xsl:template>

<xsl:template match="log/logentry[contains(msg, $issue)]">
    <xsl:value-of select="@revision"/>
    <xsl:text> </xsl:text>
</xsl:template>

</xsl:stylesheet>