gpt4 book ai didi

svn - 将 GIT merge 功能移植到 SVN?

转载 作者:太空狗 更新时间:2023-10-29 13:30:24 27 4
gpt4 key购买 nike

我观看了 YouTube 演示 Tech Talk: Linus Torvalds on git几个星期前,有一句话似乎一直留在我的脑海里。

在此演示文稿中(大约第 33 分钟)Linus 说了一些类似“有些人克隆 SVN 存储库,进行 merge (=SVN 中的头痛)然后将结果推回 SVN”的内容。

我的想法是:如果这是可能的,那我们为什么不将 GIT 强大的 merge 功能移植到 SVN 中呢?

通过这种方式,我们对 SVN 有了很大的增强,我们不必迁移我们的公司存储库和 Hook 到各种问题跟踪和持续集成系统的相关脚本。

我一定是漏掉了什么。这是什么?

最佳答案

SVN 和 GIT 之间还有一个很大的区别,一个是中心化的,另一个不是。 GIT 跟踪内容,SVN 跟踪文件。

如果您在 SVN 中 merge 分支,SVN 会计算您在分支中所做的更改并将这些更改应用到主干(或任何您的 merge 目标)。这些修改然后通过正常提交传输到存储库,并且源信息(分支中的历史记录)被遗忘。在以后的 SVN 版本 (>=1.5) 中, merge 行为得到改进,SVN 现在会记住分支的哪些修订被 merge ,哪些没有,但基本问题仍然存在。

OTOH GIT 会在其日志中愉快地告诉您,您的某些代码行源自分支 xyz,并且在该分支的修订版 a、b 和 c 中进行了修改。这使得疯狂 merge 的事情变得非常容易,比如创建一个分支,处理它,更新到主线,做更多的工作, merge 到主线,分支分支等等,没有任何问题。

更新:

底线:SVN 和 GIT 只是在跟踪修改的方式上有所不同,SVN merge 可以变得和 GIT 一样酷,而无需成为 GIT。

关于svn - 将 GIT merge 功能移植到 SVN?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1165800/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com