1

我有一个 SVN 控制的 PCB 库,可以在工作和家里使用。文件在我的办公室工作站上签出。

为了能够在家工作,我还需要在连接到办公室工作站的外部 HDD 上签出相同的文件以进行同步并在我的私人 PC 上使用(没有安装 SVN - 不需要连接到公司 SVN 服务器)。

我试着做一个双重结帐,这给了我几十个(imo)不应该有的冲突。

我不确定同步是什么意思。

我不能一直在外置硬盘上工作,因为办公室工作站也可能被我以外的其他人使用——当我和我的外置硬盘不在身边时。

如何签出同一存储库的两个本地副本?

4

4 回答 4

1

您可以签出同一存储库的两个本地副本:

svn checkout file:///var/svn/repos/test mine1

然后

svn checkout file:///var/svn/repos/test mine2

http://svnbook.red-bean.com/en/1.7/svn.ref.svn.c.checkout.html

于 2013-01-07T15:08:24.277 回答
1

离开办公室时,每次离开办公室想在家工作时,将整个工作副本文件夹从公司 PC 复制到外部硬盘。如果您在家中进行任何更改,当您再次在办公室时,您会从外部 HDD 提交更改。比您对位于公司 PC 上的工作副本进行“更新”。这样,您始终可以在公司的 PC 上拥有一个功能正常的工作副本,并且您可以在家工作。

于 2013-01-07T15:11:31.513 回答
1

有两种解决方案:

  1. 您可以简单地签入外部 HD 上的新文件夹。这样,您就可以像在第一个位置一样在第二个位置工作。请注意不要混淆结帐并且永远不要忘记提交两者,否则您将最终陷入合并地狱。

  2. 您可以使用像Mercurial这样的 DCVS来创建去中心化副本。Mercurial 知道如何与 Subversion 对话,它可以创建独立的存储库。

使用第二种方法,您可以在外部硬盘上创建 Mercurial 存储库。使用push/pull时,它将与上游 Subversion 存储库对话。但是您可以将磁盘带回家,将存储库克隆到您的私人 PC 上(或使用外部硬盘上的副本)。

这还有一个额外的优势,即 Mercurial 允许您在未连接到任何网络时提交您的工作 - Mercurial 将提交信息保存在存储库中,直到您告诉它将更改推送到 Subversion。

有关 Mercurial 的介绍,请看这里:http ://hginit.com/

有几种方法可以连接 Mercurial 和 Subversion,请参阅此处以获取优缺点列表:https ://www.mercurial-scm.org/wiki/WorkingWithSubversion

于 2013-01-07T15:18:27.540 回答
0

如果我正确理解了问题..您可以为此使用 Dropbox。

将存储库签出到 Dropbox 文件夹中,然后所有文件将与 Dropbox 同步。然后,您可以在您的家庭和工作 PC 上设置 Dropbox,您可以在工作或在家中访问您的文件。

于 2013-01-07T15:11:40.273 回答