我在 Dropbox 中拥有项目文件,使用 Mercurial 进行 VC 编辑。这样,我可以在工作时在 Windows 上和在家时在 Linux 上处理相同的代码。中央存储库位于我们研究所的 Samba 文件服务器上,我已将其安装在 Linux(作为 /mnt/server/)和 Windows(作为网络驱动器 Z:)中。现在,Mercurial 将中央存储库(用于推送/拉取)的位置存储在 .hg/hgrc 中。当然,那里的路径要么是 Linux 路径,要么是 Windows 路径。因此,我应该始终只在一个操作系统中编辑文件或拉取/推送。
有没有更好的做法/方法?我不希望为两个操作系统设置两个分支,因为我根据我正在做的事情已经有几个分支了。
答案1
如果您只有一个项目并且只有一个存储库路径,那么您可以将 [paths] 部分移出 .hg/hgrc,并将其放在每台计算机上的每个用户配置文件中,在 Unix 上为 $HOME/.hgrc,在 Windows 上为 %HOME%\.hgrc。
另一个选择是将 Unix 和 Windows 别名都放入 [paths] 部分:
[paths]
win = z:\path\to\repo
unix = /mnt/server/path/to/repo
然后在推送/拉取时指定别名:
hg push win
hg push unix
hg pull win
hg pull unix
答案2
有没有更好的做法/方法?
是的。
想法 1 使用 ssh:// 或 http:// 协议代替 file://,其中远程仓库的 FQDN 是相同的
想法 2 只需从工作/家庭仓库拉取/推送即可(不要使用 Dropbox 进行仓库同步)