想在 TortoiseHG/Mercurial 中为我的 .hgignore 文件创建一些默认值
Posted
技术标签:
【中文标题】想在 TortoiseHG/Mercurial 中为我的 .hgignore 文件创建一些默认值【英文标题】:Would like to create some defaults for my .hgignore files in TortoiseHG/Mercurial 【发布时间】:2010-12-19 15:03:34 【问题描述】:我希望每次创建新存储库时,默认情况下都会自动将某些过滤器添加到我的 .hgignore 文件中。
例如,对于 C# 项目,我希望添加这些:
glob:bin/*
glob:obj/*
这可能吗?怎么样?
如果不能自动化,将 .hgignore 文件从一个存储库复制到另一个存储库是否至少安全?
【问题讨论】:
如果您还没有,请查看此页面:selenic.com/mercurial/hgignore.5.html 【参考方案1】:hg add .hgignore
?
也许您可以从仅签入该文件的存储库中克隆。:)
否则,您必须编写一个小扩展,以某种方式在 hg init
中执行此操作
【讨论】:
如何将 .hgignore 文件从一个存储库文件夹复制到另一个(仅使用文件系统)?它似乎只是一个简单的文本文件。有什么不能正常工作的原因吗? 谢谢,我试过了……只是想确保没有我不知道的副作用。 不。我以为你想要更聪明的东西。不过xyld的想法也不错。 DanThMan:Mercurial 仅使用简单透明的文本文件来存储用户可配置的数据。这适用于.hg/hgrc
、.hgignore
、.hgtags
。【参考方案2】:
我使用 ~/.hgignore 并将其 cp 到我的 repo 中。
在我的 ~/.hgrc:
[ui]
ignore.other = ~/.hgignore
我只是把非常明显的东西放在那个里面。并为项目特定的东西复制它。
我不认为它完全符合您的要求,因为没有自动化,但它可以解决问题。
Windows 用户,请参阅下面 Ry4an 的评论。
【讨论】:
我对命令行语言还不够熟悉,无法真正理解您的意思。我必须阅读,但与此同时,有什么办法可以用 TortoiseHG 实现你所说的吗? 您也可以在 tortoisehg 中编辑全局配置文件。设置 -> 全局 -> 编辑文件。 丹,这与命令行无关。只需在您的主文件夹中创建一个名为 ,hgrc 的文件,或者如果您在 Windows 上(我猜您是),则可以选择创建一个名为 mercurial.ini 的文件,然后将他答案中的两行放入其中。然后在您的主文件夹中创建一个名为 .hgignore 的文件,并将问题中的两行放入其中。 TortoiseHG 是一款很棒的应用,但 Mercurial 仍然使用文本文件进行配置,有时您需要使用文本编辑器创建它们。【参考方案3】:您可以使用 post-init 挂钩为您完成:
[hooks]
post-init.ignore-bin = echo 'glob:bin/*' >> .hgignore
post-init.ignore-obj = echo 'glob:obj/*' >> .hgignore
此表单仅适用于创建 repo 的 mkdir sample && cd sample && hg init
样式如果您使用更快的 hg init sample
表单,它会将新的 .hgignore
文件转储到当前目录中。
如果您更喜欢使用hg init name
,可以编写更智能的挂钩脚本。
【讨论】:
不错的主意。我喜欢高级用户,但我认为新用户无法“获得它”。【参考方案4】:澄清一下,将.hgignore
从一个存储库复制到另一个存储库是安全的,它只是一个普通的旧的简单文本文件。
【讨论】:
【参考方案5】:在 TortoiseHg 选项卡下的 TortoiseHg 设置中,用户可以指定 Repo Skeleton 的路径。您可以将预定义的 .hgignore 放在那里,它会在 hg init 期间自动复制。
另请参阅: https://foss.heptapod.net/mercurial/tortoisehg/thg/-/issues/3569
【讨论】:
以上是关于想在 TortoiseHG/Mercurial 中为我的 .hgignore 文件创建一些默认值的主要内容,如果未能解决你的问题,请参考以下文章
TortoiseHG(Mercurial)使用问题和错误总结
TortoiseHG(Mercurial)使用问题和错误总结
TortoiseHG(Mercurial)使用问题和错误总结
TortoiseHG(Mercurial)使用问题和错误总结