我们使用svn,我将开始在家工作。我有想法带上我的笔记本电脑,检查项目并将其带回家,在周一返回并撤销该过程。
但它是一款笨重的笔记本电脑,我不喜欢骑在背上工作。
是否可以改为:
这样,当我在办公室/家里工作时,所有内容都会被记录下来并加盖印章,我不需要拉着沉重的笔记本电脑,而且源控制仍然保持一致。
这是正确的方法吗?在我进入另一个SVN疼痛世界之前检查一下。
我们正在使用SVN,VisualSVN Server,Visual SVN客户端和TortoiseSVN。
答案 0 :(得分:6)
这是使用SVN的正常流程:
使用您的工作登录更新更改时,它将显示已更改和签入文件的人员。你唯一的麻烦就是修复可能出现的合并冲突。
如果您需要单独在拇指驱动器上进行本地提交,则可以通过在拇指驱动器上创建新的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功能(提交,恢复,历史等),对我来说是正确的方法。