在我工作的地方,我们用SVN和如今(Windows XP)作为一个客户。我有一个长长的通勤和脱机工作期间。
现在,我想要有某种形式的"扩展的撤销"本地;即我希望有本地版本控制我的SVN工作副本,以便敢"重构"为例。
交换共例如git,反复无常等等。是不是一个选项,因为该公司使用SVN.

我想知道的是如果有人有任何经验版本控制的地SVN工作副本,或许通过运行一个地git或类似的?
是否有任何潜在的缺点?(也许是搞乱。svn文件夹或类似的)

有帮助吗?

解决方案

我通常喜欢这样:

  1. 获取SVN存储库作为工作副本。
  2. 在此工作副本中初始化Git存储库。
  3. Hack hack hack;
  4. 承诺我的Git回购。
  5. 从SVN公司更新。
  6. 解决冲突。
  7. 承诺向SVN公司提供完整的功能。

其他提示

我使用Git作为本地Subversion客户端进行工作,效果很好。当您执行Subversion存储库的 git svn clone 时,您获得的结帐没有隐藏的 .svn 目录,而是一个完整的Git存储库本身。使用本地轻量级分支来组织自己的开发的能力对我来说是一个杀手级的功能。

我一直使用的其他功能是 git stash ,暂存提交和 git add -p

您可以使用svn export创建工作快照,然后创建自己的subversion存储库,并使用工作存储库中的快照作为初始签入。

然后,您可以进行更改并使用subversion(本地存储库副本),直到完成为止。当然,您可以从主工作存储库中进行一些定期合并,以确保您的内容是最新的。最后,当你的refectoring完成后,只需执行本地存储库的svn导出快照并将其合并回主工作存储库。

这有点粗糙,但这是管理此类工作流程的唯一方法。

如果您有足够的工作时间。您可以创建内容的分支并专门从工作存储库中的分支上工作,并在需要扩展的撤消功能时使用本地存储库方法。此时使用本地版本控制系统不会限制你进行颠覆,所以请选择。

您可能需要尝试 SVK ,这是一个基于颠覆的分散式VCS。它可用于镜像笔记本电脑上的官方存储库,并将您的提交与官方主干同步。

上次检查SVN的状态时,本地签入支持仍然是一项长期功能计划。另一方面,Git绝对是一个选项,git-svn。也就是说,如果你的架构是Unix,AFAIK,那么Windows平台上还不支持git-svn。

没有什么能阻止运行本地SVN服务器。我正是这样使用它。

Git将是一个很好的解决(因为你可以和合并的许多分支机构非常容易地)但是:

  • 当重新输入您的修改svn,你应该清理一的多中间树枝你下创建的git;
  • 混帐svn不起作用的Windows分发录,所以可能希望使用Linux的虚拟图像,如果你正在Windows
  • 如果你可以让混帐svn运行,使用git2svn et svn2git红宝石的脚本,作为描述 这个问题
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top