我们经常复制一个模板项目。所以我们可以对副本进行成本化,但仍然有一个共同的模板。
为了优化“复制和初始更改”-process,我虽然可以编写一个小脚本,但它可以执行以下操作:
问题是:最好的方法是什么?有这方面的经验吗?哪种类型的脚本(普通批处理或java)?任何示例代码?
感谢您的回答
答案 0 :(得分:0)
以下是我发现here的一些信息。
#!/bin/bash
searchterm="<ProjectName>"
replaceterm="New Project"
srcsvnrepo="file:///svnrepoaddress"
destsvnrepo="file:///data/newrepo"
dumpfile="/home/<user>/repo.dump"
tmpfolder="/home/<user>/tmp_repo"
svnadmin dump $srcsvnrepo > $dumpfile
svnadmin create --fs-type fsfs $destsvnrepo
svnadmin load $destsvnrepo < $dumpfile
svn co $destsvnrepo $tmpfolder
for file in $(grep -l -R $searchterm $tmpfolder)
do
sed -e "s/$searchterm/$replaceterm/ig" $file > /tmp/tempfile.tmp
mv /tmp/tempfile.tmp $file
echo "Modified: " $file
done
svn ci $tmpfolder --message "Initial Check-In"
基本上这会将指定源svn repo的备份转储到文件,创建新的repo,将备份加载到其中,检出文件,获取包含要搜索的字符串的文件列表,执行在临时位置存储新版本的每个文件的正则表达式,然后将临时文件移回原始位置,最后将更改检入新的存储库。
我还没有对此进行全面测试,因此可能需要进行一些小的调整,但基本步骤应该是正确的。如果我做了一些严重的错误计算,请告诉我,这完全不起作用。
答案 1 :(得分:-1)
只需要一个shell脚本。