【发布时间】:2010-02-24 17:40:07
【问题描述】:
所以,我正在尝试从 Netbeans contrib 存储库中签出 just TestNG 插件。 (或者它是模块?我是 Mercurial 的新手,所以我还不太懂行话。)
当我运行以下命令时...
hg clone http://hg.netbeans.org/main/contrib/
...我获得了整个存储库,其中包含所有 contrib 插件。可以只拉这个位置吗?
谢谢!
【问题讨论】:
所以,我正在尝试从 Netbeans contrib 存储库中签出 just TestNG 插件。 (或者它是模块?我是 Mercurial 的新手,所以我还不太懂行话。)
当我运行以下命令时...
hg clone http://hg.netbeans.org/main/contrib/
...我获得了整个存储库,其中包含所有 contrib 插件。可以只拉这个位置吗?
谢谢!
【问题讨论】:
这个概念被称为“狭义克隆”,不,目前在 Mercurial 中是不可能的。
我们中的一些人都在关注为 Mercurial 做出贡献,但这是一个很难解决的问题。例如:
contrib/testng 中某个文件的历史记录(如果该文件已从另一个文件夹移动),会发生什么情况?【讨论】:
我不确定,但我认为一般情况下的答案是“可能不是”。
如果存储库是本地的(听起来不像您的情况),您可以执行以下操作:
hg archive -R /path/to/my/repo -I /path/to/my/repo/folder/i/want export-folder-name
(该命令需要导出非 VC 文件,而不是创建部分 repo,因为 .hg 的东西在顶层存储一次,而不是像 SVN 那样在每个文件夹中存储.)
不过,它不适用于远程存储库。 “hg log”和hg人员explained why也没有:
假设我向 http://www.kernel.org/hg/linux-2.6 发送了一个 log -p 命令,即 接近 10 万个变更集。每秒一个差异(大量搜索),这将 在服务器上花费大约 3 小时的 CPU/磁盘时间,没关系公吨 带宽。对于每个人来说,克隆 repo 会更快更简单 并在本地做日志。
我怀疑hg archive 出于同样的原因无法远程工作。
【讨论】: