我目前正在使用 SVN 对我的软件项目进行版本控制。在一个正在进行的项目中,我有用于客户通用功能和规范的主干,以及用于客户特定功能和规范的分支。
有什么方法可以标记一些文件/文件夹,这些文件/文件夹不应在每次执行此类操作时合并到分支中?
我没有立即看到解决方案,但编写一些脚本很容易。我给你的东西没有经过错误测试。
首先,您将列出要排除的目录。称为 ~/.svn-merge-exclusion
#regexes to exclude
./helpfiles/
./deploy_scripts/
./models/customer_integration
然后,您将编写另一个脚本来在将 Turnk 合并到分支中后恢复分支中的这些目录。
#/usr/bin/bash
# I am assuming that you made the excludes based on the root directory
# so that relative paths will work
for dir in $(cat ~/.svn-merge-excludes) ; do
svn revert -R $dir
done
那应该有效。这里最重要的是恢复中的“-R”选项,它递归地作用于目录。因此,您的工作流程将如下所示。
# cd path/to/branch
# svn merge -r123:245 svn://svnserver.com/svn/trunk
# revert_excludes_from_branch.sh
然后你会处理冲突然后提交。如果您使用的是 Windows,那么批处理文件也可以工作,您只需连续键入恢复命令即可。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)