- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们用 C# 开发 .NET 企业软件。我们正在寻求改进我们的版本控制系统。我之前使用过 mercurial,并且一直在我们公司尝试使用它。但是,由于我们开发企业产品,因此我们非常关注可重用的组件或模块。我一直在尝试使用 mercurial 的 sub-repos 来管理组件和依赖项,但遇到了一些困难。以下是源代码控制/依赖项管理的基本要求:
SHARED1_SLN-+-docs
|
+-libs----NLOG
|
+-misc----KEY
|
+-src-----SHARED1-+-proj1
| +-proj2
|
+-tools---NANT
SHARED2_SLN-+-docs
|
+-libs--+-SHARED1-+-proj1
| | +-proj2
| |
| +-NLOG
|
+-misc----KEY
|
+-src-----SHARED2-+-proj3
| +-proj4
|
+-tools---NANT
PROD_SLN----+-docs
|
+-libs--+-SHARED1-+-proj1
| | +-proj2
| |
| +-SHARED2-+-proj3
| | +-proj4
| |
| +-NLOG
|
+-misc----KEY
|
+-src-----prod----+-proj5
| +-proj6
|
+-tools---NANT
最佳答案
这可能不是您想要的答案,但我们最近有使用子存储库的 Mercurial 新手用户的经验,我一直在寻找机会来传递我们的经验......
综上所述,我根据经验的建议是:不管 Mercurial sub-repos 有多么吸引人,都不要使用它们 .相反,找到一种方法来并排布置您的目录,并调整您的构建以应对这种情况。
不管将子 repo 中的修订与父 repo 中的修订联系起来似乎很有吸引力,但它在实践中不起作用。
在转换的所有准备过程中,我们收到了来自多个不同来源的建议,认为子存储库很脆弱且没有很好地实现——但我们还是继续了,因为我们希望在存储库和子存储库之间进行原子提交。建议——或者我对它的理解——更多地谈论了原则而不是实际后果。
只有当我们使用 Mercurial 和一个子仓库时,我才真正正确地理解了这些建议。这里(从内存中)是我们遇到的各种问题的例子。
But I need to have managed subprojects!
Again, don't be so sure. Significant projects like Mozilla that have tons of dependencies do just fine without using subrepos. Most smaller projects will almost certainly be better off without using subrepos.
- overly-strict tracking of relationship between project/ and somelib/
- impossible to check or push project/ if somelib/ source repo becomes
- unavailable lack of well-defined support for recursive diff, log, and
- status recursive nature of commit surprising
关于mercurial - 如何将 mercurial subrepos 用于共享组件和依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11628301/
我有一个 mercurial 存储库,并且毫无问题地添加了一个 git 子存储库( hg 1.8 )。 问题是:这个 git subrepo 内部有另一个 git subrepository 并且它没
我正在阅读 subrepos,并在本地运行了一些测试,到目前为止似乎工作正常,但我有一个问题。 我如何指定/控制我想为特定子存储库使用哪个变更集? 例如,假设我有以下两个项目: class libra
我经常与 Mercurial 合作,在本地存储我的上游克隆,然后在本地再次为我的实际工作环境克隆: $ cd /clones $ hg clone ssh://external-repo.exampl
我的存储库中有一个文件夹。然后我将此文件夹设为子存储库(具有完全相同的文件),提交并推送此更改。现在我无法通过该提交进行更新。这是我收到的消息: % hg update --repository -
我在我的一台机器上安装了 mercurial-server,在那里克隆了我的项目,它有 3 个子存储库,当我尝试将它克隆回另一个位置时,我收到一个错误: remote: mercurial-serve
我试图确定人们如何在使用子存储库的同时使用“分支存储库”。 假设我有包含解决方案文件 (.NET) 的 repo Main,并填充了 subrepos A、B、C: /Main - A
情况 我有两个.NET解决方案(Foo和Bar)和一个包含ProjectA,ProjectB和ProjectC的公共(public)库。 Foo和Bar引用一个或多个库项目,但是这些库项目不在Foo和
是否可以将 Mercurial 配置为始终检查子存储库? 我希望它始终启用,而不必每次都在命令中指定它。 最佳答案 您可以使用alias去做这个。将条目添加到您的 .hg/hgrc 中,例如: [al
我们用 C# 开发 .NET 企业软件。我们正在寻求改进我们的版本控制系统。我之前使用过 mercurial,并且一直在我们公司尝试使用它。但是,由于我们开发企业产品,因此我们非常关注可重用的组件或模
我有一个带有子存储库的存储库,我想做 hg serve。 在其他电脑上,我试过了 hg clone http://address:8000/ new_repo 场景 1:当我的原始存储库在 .hgsu
我有一个包含许多组件的大系统,我想将这些组件分布在几个不同的 mercurial 存储库中(因此在系统的某些部分工作的人不必检查整个系统)。它需要在 UNIX 和 Windows 上工作。 在系统中,
最初我的子仓库是用绝对 URL 定义的 .hgsub ,这现在造成了一些麻烦。它使“友好独裁者”工作流程变得不可能,因为我想使用一个中间服务器,用户从中克隆他们的工作副本。然后我会将更改推送到中间服务
我已经开始将一些文件放入 Mercurial 的版本控制中。它从 .vim 开始,然后是 .bashrc,现在我意识到很多其他文件也可以进行版本控制(例如 .zshrc,创建的 .task 目录通过
最近此行为默认被禁用。该消息提示您查看帮助页面,但这没有帮助,至少对我没有帮助。 "subrepos" ---------- This section contains option
我正在开发一个核心库,可以在其中克隆和附加不同的组件。每个组件目录都有一个 package.json 文件。我的核心是使用 webpack,当我运行构建命令时,它会抛出这样的错误 ERROR in .
我对 mercurial 很陌生,我已经阅读了很多关于这个主题的内容,但我一直无法找到明确的答案。 The mercurial guide说:“为了提高效率,只要源和目标位于同一文件系统上,就使用硬链
我有一个带有子仓库的 mercurial 仓库: repo subrepo .hgsub .hgsub原来有 subrepo = https:///user/repo 域是用我的 dns 设置
我有一个带有 git 子仓库的 mercurial 仓库。每当我打开 TortoiseHG 时,都会打开多个 (5-10) 个控制台窗口并快速关闭(不到 1 秒)。我想让乌龟在不显示这些窗口的情况下工
我正在尝试将我的本地与我提取的更改 merge ,但出现此错误: % hg merge --verbose --tool=internal:fail 68 resolving manifests '.
我对配置了 subrepos 的 Mercurial 有严重的问题。当我尝试提交或进行更新时,出现以下错误: hg commit -m "commit" --traceback Traceback (
我是一名优秀的程序员,十分优秀!