SVN:一个工作副本,两个存储库?

SVN:一个工作副本,两个存储库?,svn,repository,working-copy,Svn,Repository,Working Copy,我想知道如何为我的一个工作副本设置两个存储库。我的服务器中需要一个存储库,以便我可以在两台PC之间签入/签出;我需要在我的本地pc中另一个存储库,以便我可以快速查看差异的结果(我的svn服务器位于慢速共享主机上) 我该怎么做 看一看 您可以设置一个cron作业来定期从一个存储库同步到另一个存储库。但您必须确保提交只发生在这两个事件中的一个 如果两个存储库都会发生提交,可能是分布式版本控制系统,例如,或者更适合您?例如,Git甚至可以让您直接从Subversion存储库中提取和推送到Subvers

我想知道如何为我的一个工作副本设置两个存储库。我的服务器中需要一个存储库,以便我可以在两台PC之间签入/签出;我需要在我的本地pc中另一个存储库,以便我可以快速查看差异的结果(我的svn服务器位于慢速共享主机上)

我该怎么做

看一看

您可以设置一个cron作业来定期从一个存储库同步到另一个存储库。但您必须确保提交只发生在这两个事件中的一个


如果两个存储库都会发生提交,可能是分布式版本控制系统,例如,或者更适合您?例如,Git甚至可以让您直接从Subversion存储库中提取和推送到Subversion存储库。

如果您的本地设备是linux,您可以每X分钟为svn update创建一个crontab条目,以使其与后台服务器同步。从那里,您将拥有本地svn服务器上的最新副本,以从中进行差异化操作。

Subversion不使用网络访问进行差异化操作。这是Subversion优于CVS的最大好处之一。所以我不知道你为什么会遇到这样的问题


另一种方法是在本地PC上使用Git,特别是
Git svn
。您可以在本地计算机上获得整个存储库历史的完整副本,并能够在本地区分和查看历史(以及Git提供的许多其他功能)。只要有可能,我现在就使用
git svn
访问Subversion存储库。

如果您不必使用svn,那么最好使用分布式版本控制系统,如Mercurial或git。每台PC都有自己的存储库副本,可以直接在PC之间或通过中央服务器上的另一个副本同步更改。由于每台电脑都在本地存储了完整的存储库,因此您可以在无需网络访问的情况下执行diff或任何其他操作。

您可以尝试将其用作本地客户端,而不是svn。Svk是一个使用svn存储库的伪分布式版本控制系统

您可以使用svk来设置存储库的镜像,并对其进行同步,然后您可以根据自己的内心内容进行修改,修改的次数可以根据您的喜好而定,而且都是本地的

您还可以创建镜像存储库的一个分支并将其用作签出,然后您的提交也是一个仅限本地的操作,当您准备好进行一批提交时,您可以将它们推送到远程svn存储库(并将其他用户的更改拉回来,类似于svn update命令)

两个警告:

  • 准备好使用命令行。据我所知,没有乌龟或其他GUI
  • 我只在linux上使用过svk。如果您使用的是windows,我不确定客户端有多好
  • 除此之外,正如其他人所建议的,我支持使用bazaar、mercurial或git。Bazaar可能是最容易使用的,它有一个龟形的GUI,我的一位同事说它非常坚固


    Git是最难使用的。它就像一把瑞士军刀,几乎比它长的还宽,里面有所有的小玩意儿和爸爸,弹簧非常紧,你偶尔会把一个手指划开试图撬出刀片

    我不相信标准存储库复制能够满足您的需求。在这种设置下,一个代理始终是只读的,我不认为在您的情况下是这样的

    您必须执行svn切换——在签入之前重新定位以切换您正在查看的存储库。有点容易出错

    你要找的是一个好朋友


    如果您在本地机器上使用apache和mod_svn_dav进行设置,您将拥有一个本地存储库,该存储库接收所有更新,您可以轻松地进行区分和签出,但是,所有写入都会返回到其他人正在使用的实际存储库并从中获取更新。

    svn diff的结果并不取决于您与服务器的连接速度;这是一个完全本地操作。

    SVN本身并不适合这种用例。你必须在这里和那里调整(比如写cron)。如果您想要一些开箱即用的东西来适应这样的用例,请尝试GIT

    这只是将本地版本扩散到原始工作副本的本地操作。如果您要对早期版本进行差异化,那么这是一个远程操作。当然,本地差异化是您90%的时间都在进行的,但问题没有明确说明。这对于提交修补程序时的开源项目非常有用,但我不想等到它被批准后再构建另一个。现在的大多数项目都使用Git,我所做的就是克隆了一个Git存储库和Subversion'ed。我能够更新Git副本并保持更新,同时维护我的更改,但冲突更少。我以为这会给你小费!可能重复的