Mercurial - 如何建立本地中央存储库

时间:2017-12-08 23:45:38

标签: mercurial

我希望在本地计算机上的目录中有一个中央存储库,而无需设置服务器。

背景信息:我正在局域网内的本地服务器上与老板合作。我们都在服务器上使用vnc连接,并且出于简单原因正在我们的工作。我想设置它以便我可以获得我的脚本用于开发的副本,然后当我进入发布时,我会将它推送到我的老板可以运行它们的不同目录(或者甚至更好的拉动从他自己的集合到那里运行。)

我读到你可以通过运行'hg serve'创建一个hg服务器,但我不想打开它到局域网,因为我不想让它可以访问。

我尝试运行'hg push / home / source'但它给了我一个错误。 然后我在该目录中运行'hg init'并再次尝试。看起来它工作,然后没有在目录中显示任何文件。我运行状态并且没有显示任何内容,然后运行日志并显示提交。

1 个答案:

答案 0 :(得分:1)

  

...没有设置服务器

我用来分享中心"的一种方式。 Mercurial存储库,无需处理任何"服务器"问题是拥有"中心"存储库在Dropbox上的文件夹中。

例如,假设:

  1. 您的存储库名为" repo"并且你的"私人"副本在〜/ repo
  2. 您计算机上的Dropbox目录是〜/ Dropbox /
  3. 然后:

    cd ~/Dropbox
    hg clone ~/repo
    

    现在假设您在〜/ repo中进行了一些更改。然后你可以推动"它们从〜/ repo到〜/ Dropbox / repo,或者(更容易,如下所述)" pull"当你准备好时,他们进入〜/ Dropbox / repo。

    更新" central"存储库方便,您可能想创建一个脚本,如:

    #!/bin/bash
    cd ~/Dropbox/repo
    hg tip
    hg pull -u
    hg tip
    

    请注意,在脚本中,不需要指定要从中提取的源;创建克隆时创建的hgrc文件会跟踪该文件。 (谢谢,hg。)

    如果您的同事可以直接访问您计算机上的文件夹,那么您仍然可以采用上述策略,而无需使用Dropbox。

    毋庸置疑,有很多变化。

    不用说,如果不止一个人试图提交共享文件夹的更改,很容易发生混乱。