如何将 SVN 分支合并到我的主干中而不丢失提交消息和作者详细信息
我们的 SVN 存储库的工作原理如下:
- 除非通过 QA,否则不能向主干提交任何内容(主干始终“可发布”)
- 之后)
开发工作在持续大约 30 天的分支上完成,然后重新集成到主干(当然是在QA 这种方法的问题在于,所有开发人员对分支的所有提交最终看起来都像是单个开发人员(进行合并的人)在主干上的单个巨大提交。
我的问题是:
有什么办法可以改善这一点吗?其他版本控制系统在维护日志方面做得更好吗?哪些?
我不想让每个人都致力于主干并为每个版本进行分支。我们这样做了很多年,但对我们来说不起作用。我们需要维护并发开发分支,并且需要有能力在短时间内发布。
Our SVN repository works as follows:
- Nothing can be committed to the trunk unless it passes QA (Trunk always "releasable")
- Development work is done on branches which last approximately 30 days and are then reintegrated into the Trunk (after QA of course)
The problem with this approach is that all commits to the branches by all developers end up looking like a single huge commit on the Trunk by a single developer (the one who did the merge).
My question is:
Is there any way to improve this? Do other version control systems do a better job at maintaining the logs? Which ones?
I'm not interested in having everyone commit to the Trunk and branching for each release. We did this for a number of years and it doesn't work for us. We need to maintain concurrent development branches and need to have the ability to release on short notice.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
通过合并跟踪(从 Subversion 1.5 开始),您可以看到生成稍后合并的代码的修订。请参阅http://tortoisesvn.net/ docs/release/TortoiseSVN_en/tsvn-dug-showlog.html#tsvn-dug-showlog-mergetrack
它准确地描述了您的问题。
With merge tracking (as of Subversion 1.5) you can see the revisions that produced the code that is later merged. See http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-showlog.html#tsvn-dug-showlog-mergetrack
It describes exactly your problem.
日志不会丢失。确保在日志中包含合并信息,例如使用 TortoiseSVN 从上下文菜单中选择“获取合并日志”:
The logs aren't lost. Make sure to include merge information in the logs, for example with TortoiseSVN choose "Get merge logs" from the context menu: