问题标签 [hgignore]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
version-control - Mercurial .hgignore 是我处理编译时生成的数百个临时文件的唯一选择吗?
我一直在谷歌上搜索,所以一直在寻找提出这个问题的人,但现在完全是空的。我会提前为提问的冗长迂回方式道歉。(如果我能够弄清楚如何封装问题,也许我会成功地找到答案。)
当构建/编译行为生成数百个临时文件以创建最终结果时,如何在 Mercurial 中管理大型项目? 是唯一.hgignore
的答案吗?
示例场景:
您有一个项目想要使用一些开源包来实现某些功能,并且需要从源代码编译。所以你去拿包裹。un-.tgz 然后将其放入自己的 Mercurial 存储库中,这样您就可以开始跟踪更改。然后您进行所有更改,并运行构建。
您测试您的最终结果,对结果感到满意,并准备好提交回您的本地存储库克隆。因此,您hg status
在提交之前检查您的更改hg status
结果导致您立即开始使用所有那些会让您的母亲感到羞耻的词 - 因为您现在有“构建垃圾”的屏幕和屏幕。
为了争论起见,说这个包是 MySQL 或 Apache:
- 你无法控制并且会定期改变,
- 在很多地方留下很多垃圾,并且
- 不能保证每次从外部来源获得新版本时,cruft 都不会改变。
哇什么?引起这种焦虑的特定项目将由多个开发人员在多个物理位置进行,因此需要尽可能简单。如果涉及太多,他们就不会这样做,我们将面临更大的问题。(可悲的是,一些老狗并不热衷于学习新技巧......)
一个提议的解决方案是,他们只需要在制作之前在本地提交所有内容,因此他们有一个“干净的石板”,然后他们必须从中克隆才能实际进行构建。这被击落为(a)太多步骤,以及 (b) 不想用一堆“现在就构建”变更集来破坏历史。
其他人建议将所有杂物都提交到 Mercurial 存储库中。我强烈反对,因为下次这些文件将显示为“已修改”,因此会包含在变更集的文件列表中。
我们不可能是唯一遇到这个问题的人。那么什么是“正确”的解决方案?是我们尝试创建大规模智能.hginore
文件的唯一途径吗?这让我感到不安,因为如果我告诉 Mercurial“忽略此目录中我尚未告诉您的所有内容”,那么如果下一个应用的补丁将文件添加到该被忽略的目录中会发生什么?(Mercurial 永远不会看到那个新文件,对吧?)
希望这不是一个带有明显答案的完全愚蠢的问题。我以前从源代码编译过很多次,但从来不需要在此之上应用版本控制。另外,我们是 Mercurial 的新手。
regex - hgignore:帮助忽略除某些文件以外的所有文件
我需要一个 .hgdontignore 文件 :-) 来包含某些文件并排除目录中的所有其他内容。基本上,我只想包含特定目录中的 .jar 文件,仅此而已。我怎样才能做到这一点?我对正则表达式语法不太熟练。或者我可以用 glob 语法来做吗?(为了可读性,我更喜欢那个)
就像一个示例位置,假设我想排除foo/bar/
除foo/bar/*.jar
.
mercurial - .hgignore 整个目录树,除了一个特定文件
谁能告诉我 .hgignore 模式来跟踪目录中的一个特定文件并忽略其他所有内容?
出于显而易见的目的,我有一个包含“default.png”的“媒体”目录,该目录的其余部分将保存用户媒体。我们希望 hg 忽略媒体目录中除默认文件之外的所有内容。
mercurial - Mercurial:在添加否则会被忽略的文件时发出警告?
在我添加否则会被忽略的文件之前,如何要求 Mercurial 警告我?
例如,类似:
似乎有一个补丁提交到邮件列表:https ://www.mercurial-scm.org/pipermail/mercurial-devel/2008-February/004993.html
但我找不到任何进一步的参考。
file - mercurial .hgignore - 不会忽略文件
我试图用.hgignore 忽略我的项目中的一个文件,只是想不通。该文件位于 app/views/patterns/_changes.erb (相对于项目的根目录, .hgignore 所在的位置),我尝试的任何操作似乎都不起作用:
我读过 .hgignore 不区分文件夹和文件,但不能真正做到这一点。有什么线索吗?谢谢。
regex - Mercurial .hgignore 负前瞻
使用 Mercurial,我需要忽略所有文件,除了某个名为“keepers”的目录中的文件。
从表面上看,使用 Regex 和 Negative Lookahead 似乎很容易;然而,虽然我能够在 Regex Buddy 和其他工具中验证我的正则表达式,但在 TortoiseHg 中,它并没有按预期工作。
文件:
- 垃圾\junk.txt
- 垃圾\文本
- 守护者\测试\测试
- 守护者\测试\test2\hi.txt
- keepersblah.txt
只有keepers 下的两个文件不应该被忽略。
这是我希望能起作用的正则表达式:
遗憾的是,这会导致所有文件都被忽略。如果我将其更改为:
它可以按您的预期工作。也就是说,它会忽略任何不以 Keepers 开头的文件/文件夹。但我确实想忽略以 Keepers 开头的文件。
奇怪的是,如果我将其更改为:
它将正确匹配文件夹,但不会忽略不在keepers 文件夹中的文件(如果它们没有扩展名)。
任何意见,将不胜感激。
删除死 ImageShack 链接
mercurial - .hgignore 不适用于 mercurial
我将 mercurial 用于 php 项目,但我的.hgignore
文件无法正常工作。它应该放在.hg/
文件夹中,不是吗?
.hgignore
regex - 关于 Mercurial、.hgignore 文件和 glob 语法
在对 .hgignore 文件使用glob语法时,是否有可能递归地忽略某些文件和文件夹,除了一个?
假设你有:
就像是:
理想情况下,这应该忽略c和d并保留b。
我知道这已在其他 SO 问题中讨论过,但似乎他们都在使用正则表达式模式作为语法。
mercurial - 如何让 mercurial 忽略所有隐藏文件?
我讨厌看到我的存储库中的几乎每个目录都将每个文件列出两次,一次前面有一个点,一次没有。我尝试添加.*
到我的 .hgignore 文件中,但没有效果。这是错误的语法吗?更重要的是,一开始就尝试这样做是不是一个坏主意?谢谢。
vb.net - .hgignore 用于 VB.Net (Express)?
我在档案中没有看到关于这个主题的问题,所以这里是:对于那些有经验的 Mercurial 用户,这是一个正确的 .hgignore 文件来告诉 VB.Net Express 在添加项目时忽略文件/子目录一个新的存储库?
bin obj temp *.user *.suo *.ncb
谢谢你。