svn - 远程,断开连接工作

时间:2009-05-15 07:29:08

标签: svn tortoisesvn

我们使用svn,我将开始在家工作。我有想法带上我的笔记本电脑,检查项目并将其带回家,在周一返回并撤销该过程。

但它是一款笨重的笔记本电脑,我不喜欢骑在背上工作。

是否可以改为:

  1. 创建第二个Windows / SVN用户“MeRemote”
  2. 将项目签到“MeRemote”
  3. 下的其他位置
  4. 将这些文件复制到USB磁盘
  5. 将磁盘置于主页,处理“本地”文件
  6. 周一返回,复制“MeRemote”签出项目
  7. “MeRemote”提交对repo的更改
  8. “RealMe”更新更改。
  9. 这样,当我在办公室/家里工作时,所有内容都会被记录下来并加盖印章,我不需要拉着沉重的笔记本电脑,而且源控制仍然保持一致。

    这是正确的方法吗?在我进入另一个SVN疼痛世界之前检查一下。

    我们正在使用SVN,VisualSVN Server,Visual SVN客户端和TortoiseSVN。

6 个答案:

答案 0 :(得分:6)

简单方法

这是使用SVN的正常流程:

  1. 您可以直接在拇指驱动器上下载项目,方法是在拇指驱动器上执行结帐
  2. 随身携带拇指驱动器并从任何地方(例如家中的笔记本电脑)进行操作。
  3. 当您重新使用拇指驱动器时,您可以更新代码,然后提交全部进入存储库。
  4. 使用您的工作登录更新更改时,它将显示已更改和签入文件的人员。你唯一的麻烦就是修复可能出现的合并冲突。

    需要本地提交吗?

    如果您需要单独在拇指驱动器上进行本地提交,则可以通过在拇指驱动器上创建新的svn存储库来实现此目的。但是,您需要在拇指驱动器上的存储库和工作中的存储库之间复制文件。

    您也可以使用Alex Martelli指出的分布式版本控制进行本地提交,这可以通过将存储库克隆到您的拇指驱动器然后将其同步回svn来完成。

答案 1 :(得分:3)

Subversion假设filestamps至少有1秒的精度来检查文件是否已更改,但大多数USB驱动器上的FAT文件系统仅支持2秒精度。从理论上讲,它可能会在更新,提交等后的第一秒内错过文件中的更改等。

我建议将USB驱动器格式化为NTFS以解决此问题。

答案 2 :(得分:1)

在你的鞋子里,我会使用DVCS(例如Mercurial)及其附带的工具与svn顺利互操作,例如, https://www.mercurial-scm.org/wiki/WorkingWithSubversion

答案 3 :(得分:1)

我认为你可能会对SVK

感兴趣
svk is a decentralized version control system built with the robust Subversion filesystem. It supports repository mirroring, disconnected operation, history-sensitive merging, and integrates with other version control systems, as well as popular visual merge tools. 

您可以找到描述使用情况和工作流here

的博客文章

答案 4 :(得分:0)

您可以使用RealYou将项目签出到案例中的其他位置,也可以使用USB驱动器。然后,您可以在家中进行操作,并在周一回来时从USB驱动器提交更改。

您不需要单独的用户。

答案 5 :(得分:0)

您可以导出项目(没有.svn子文件夹的相同fs结构)并脱机工作。回到工作岗位时,只需复制你的开发路径,然后提交。

可以使用简单的vpn(使用openvpn来执行您要求的操作)在家工作,而无需随身携带您的项目。这允许完整的scm功能(提交,恢复,历史等),对我来说是正确的方法。