代码之家  ›  专栏  ›  技术社区  ›  Alex N.

如何使用Mercurial将存储库克隆到远程服务器/存储库

  •  25
  • Alex N.  · 技术社区  · 16 年前

    今天我发现自己对此很困惑。

    我在本地创建了一个空白存储库(hginit),将其克隆到工作副本,添加了一些代码,提交并推送它(显然是推送到本地repo)。

    现在我需要与其他人共享该存储库。有一个服务器上有mercurial,如何将我的存储库克隆到一个远程存储库,以便其他开发人员可以访问它并从中拉/推代码?

    3 回复  |  直到 16 年前
        1
  •  38
  •   Vadim Kotov First Zero    8 年前

    你会想看看 publishing repositories wiki页面以进入web界面和访问控件,但最基本的做法是:

    hg clone yourlocalrepo ssh://you@server//home/you/repo
    

        2
  •  8
  •   Dan Tanner    16 年前

    您需要中央服务器上的管理员权限才能执行此操作。

    e、 我在windows上开发,我的中央存储库运行在linux上,由lighttpd提供服务 the official guide . 服务器的中心repo目录是 /var/hg/repos/ www-data . 我的本地计算机的IP是10.1.10.100,我要克隆的存储库名为foo。

    1. 在本地计算机上,在存储库目录中打开命令提示符并键入 hg serve . 它运行本地hgweb服务器,这将允许服务器从中提取数据。
    2. ssh进入中央repo服务器,以拥有www数据sudo权限的用户身份登录。
    3. cd /var/hg/repos
    4. sudo -u www-data hg clone http://10.1.10.100 foo
        3
  •  5
  •   Josh Smeaton    15 年前

    对于那些不想为ssh将更改推送到为宿主repo而构建的服务器而烦恼的人,您可以在服务器上初始化,然后像其他repo一样推。

    # on server:
    cd repos/
    mkdir myrepo
    cd myrepo
    hg init
    cd ..
    chown -R apache:apache myrepo
    
    cd ..
    vim hgweb.config
    
    # change [paths]
    [paths]
    myrepo = /path/to/myrepo
    
    
    
    # on your machine
    
    # make sure you've configured hgrc correctly
    [paths]
    default = http://server/hg/repos/myrepo
    
    hg push
    
    # ???
    
    # profit
    
    推荐文章