谷歌代码(或任何其他SVN托管)上的分叉
类似的站点提供了“分叉”项目的优秀/有用功能。这使得一个人可以简单地完成一个项目并开发他们想要的功能(在提交给投影仪所有者并获得提交访问权之前) 对于项目(尤其是那些仍然使用SVN的托管项目),如何最好地实现此工作流谷歌代码(或任何其他SVN托管)上的分叉,svn,git,open-source,mercurial,fork,Svn,Git,Open Source,Mercurial,Fork,类似的站点提供了“分叉”项目的优秀/有用功能。这使得一个人可以简单地完成一个项目并开发他们想要的功能(在提交给投影仪所有者并获得提交访问权之前) 对于项目(尤其是那些仍然使用SVN的托管项目),如何最好地实现此工作流 澄清:我了解svn diff,但希望有一个解决方案,在将更改提交回作者(svn回购的所有者)之前,我可以进行几次间歇性提交。让这个“fork”像点击按钮一样简单(我想知道github/bitbucket是否会拥有自动克隆SVN回购的功能)的额外积分。它是如何实现的?一如既往,你这个
澄清:我了解svn diff,但希望有一个解决方案,在将更改提交回作者(svn回购的所有者)之前,我可以进行几次间歇性提交。让这个“fork”像点击按钮一样简单(我想知道github/bitbucket是否会拥有自动克隆SVN回购的功能)的额外积分。它是如何实现的?一如既往,你这个年轻的打盹儿 为什么,在我的时代,在从学校步行回家后(上坡,下雪),我们必须创建一个差异化的更改并手动提交给维护人员(或维护人员的邮件列表/组)
您将发现命令svn diff可用于此任务。它将为您的更改创建一个适合上游提交的统一差异。因为您似乎已经熟悉git,所以可以使用。您可以像这样获取SVN项目(
-s
表示标准主干/分支/标记布局):
您可以将每个本地git提交作为单独的svn提交,如下所示:
git svn dcommit
在将更改推送到svn之前,通常使用git-rebase
命令清理并简化提交历史记录
编辑:对于mercurial,还可以与SVN存储库进行互操作,尽管没有一个存储库像git SVN那样成熟。分叉DVCS可以实现间歇提交。然而,仅仅依靠“svn diff”会使一个人的工作副本处于易受攻击的状态(例如:磁盘崩溃)。事实上,这是工具集强制执行的过程的一个功能。不管你涂了多少颜料,你都不能让苹果尝起来像橘子一样。Sridhar:如果你更熟悉Mercurial,别担心——试试hgsubversion,看看它是否适合你:人们每天都在使用它,请访问irc.freenode.net上的hgsubversion。
git svn dcommit