Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mercurial和一种Java项目的连续集成工作流_Java_Mercurial_Continuous Integration - Fatal编程技术网

Mercurial和一种Java项目的连续集成工作流

Mercurial和一种Java项目的连续集成工作流,java,mercurial,continuous-integration,Java,Mercurial,Continuous Integration,我在一个Java项目中工作 为了让项目在Mercurial中运行,我知道我必须为所有类创建一个存储库 因为有很多类,我想如果我可以有一个jar的副本,由存储库的副本加上我必须做的修改组成 因此,用反复无常的话来说: 所有类别的主回购协议 具有修改和新类的litle回购协议 我想从B回购合并到A回购。然后我只想提取并更新我的B repo中存在的类(*.java) 我尝试了以下方法,但没有成功: 要创建B回购,请克隆A回购,然后 我删除了所有的文件 当我必须修改.java时,我会 特定文件的wget

我在一个Java项目中工作

为了让项目在Mercurial中运行,我知道我必须为所有类创建一个存储库

因为有很多类,我想如果我可以有一个jar的副本,由存储库的副本加上我必须做的修改组成

因此,用反复无常的话来说:

  • 所有类别的主回购协议
  • 具有修改和新类的litle回购协议
  • 我想从B回购合并到A回购。然后我只想提取并更新我的B repo中存在的类(*.java)

    我尝试了以下方法,但没有成功:

  • 要创建B回购,请克隆A回购,然后 我删除了所有的文件
  • 当我必须修改.java时,我会 特定文件的
    wget
    我的本地服务器中的mercurial服务器 机器。当文件是新的,我只是 运行hgadd
  • 要进行提交,我需要
    hgcommit-I
    文件1-i文件2-我为所有人归档
    工作区中存在的文件 B回购协议的文件夹
  • 然后,不成功的部分:

  • 我不能只更新 现有文件
  • B回购与A回购合并时 一切都好。但我不能跑 提交具有
    -I
    参数要么全力以赴,要么一事无成
  • 当我退出回购协议并试图 更新我有同样的问题4
  • 我知道hg pull-f用于从B repo的无关repo开始,而不是克隆。但它也有同样的更新问题。而且看起来很难看

    我想这可能会有帮助。我也读过这个

    必须保存Repo中文件的历史记录,即使此历史记录是在B Repo中生成的

    你知道实现这一目标的最佳方法吗


    谢谢

    您正在寻找的是一个名为a的,mercurial不支持它

    老实说,你的工作流程听起来很糟糕——创建一个子集回购协议并试图保持它的同步与工具的预期使用方式格格不入。为什么不从完整的repo构建所需的jar,而在ant(我希望)
    标记中只包含特定的类呢。我们有一个包含数千个类的存储库,
    buildall
    输出许多不同的jar,每个jar都是整个类世界的子集

    也就是说,如果您必须坚持当前的工作流程,您应该对其进行修改。不要克隆完整的存储库,然后删除您不想要的文件,因为您仍然包含它们的完整历史记录


    相反,使用
    hg convert
    (the)使用
    filemap
    --filemap
    选项来构建您的子集存储库。使用源存储库类型
    hg
    和目标类型
    hg
    ,您可以使用filemap仅包含所需的文件。您将不会得到一个克隆,而是一个全新的存储库,包含所有原始更改集,但仅限于您指定的文件。使用convert的内置增量模式将使转换完全回购中的新更改成为一种可能的更新。

    您正在查找的内容称为a,mercurial不支持它

    老实说,你的工作流程听起来很糟糕——创建一个子集回购协议并试图保持它的同步与工具的预期使用方式格格不入。为什么不从完整的repo构建所需的jar,而在ant(我希望)
    标记中只包含特定的类呢。我们有一个包含数千个类的存储库,
    buildall
    输出许多不同的jar,每个jar都是整个类世界的子集

    也就是说,如果您必须坚持当前的工作流程,您应该对其进行修改。不要克隆完整的存储库,然后删除您不想要的文件,因为您仍然包含它们的完整历史记录

    相反,使用
    hg convert
    (the)使用
    filemap
    --filemap
    选项来构建您的子集存储库。使用源存储库类型
    hg
    和目标类型
    hg
    ,您可以使用filemap仅包含所需的文件。您将不会得到一个克隆,而是一个全新的存储库,包含所有原始更改集,但仅限于您指定的文件。使用convert的内置增量模式,可以将完全回购中的新更改作为一种更新进行转换