我需要创建一个备份脚本(批处理和bash),我想要创建一个自动svndump来创建文件名转储<repository_name>_<repository_rev>.zip。
示例:我的存储库名称是MySplice,它在Rev.234(我不知道,我不想在存储库路径中检查它),所以我想运行一个脚本backup.bat或backup.sh,它会创建文件mysplice_r234.zip,这是我的存储库的转储。
那么,我该怎么做呢?谢谢。
发布于 2011-11-05 22:13:32
在Linux上,你可以这样做:
REPO=/path/to/repository
r=$(svnlook youngest "$REPO")
name=$(basename "$REPO")-r$r
svnadmin dump "$REPO" > "$name.svndump"
zip "$name.zip" "$name.svndump"请注意:我认为,zip文件并不适合存储库,因为转储总是一个文件,而不是一堆文件。因此,请考虑使用gzip或bzip2。
发布于 2011-11-07 02:23:58
感谢你们所有人的回复。我选择使用基于@A.H.解决方案的以下脚本:
#backup_repos.sh
#!/usr/bin/bash
export REPO=$1
export r=$(svnlook youngest "$REPO")
export name=$(basename "$REPO")-r$r-`date +%Y.%m.%d`
svnadmin dump "$REPO" > "$name-dump"
gzip -f "$name-dump"发布于 2011-11-05 21:59:43
SubWCRev (仅适用于Windows,来自TSVN)可以从WC中提取RevisionInfo,并将其写入文件(使用一些宏)。您可以拥有bat文件的模板,SubWCRev将其转换为最终格式的bat文件,并运行this file。
我使用此方法将(WC)导出到名称中带有修订时间戳的目录中
https://stackoverflow.com/questions/8020450
复制相似问题