【发布时间】:2015-11-23 03:24:38
【问题描述】:
受this 答案的启发,我想知道是否有一种方法可以在Mercurial 中获得与.gitattributes 文件中为git 指定的涂抹/清洁过滤器所获得的行为相同的行为。也就是说,在提交之前对某些文件进行一些预处理,而不影响工作副本。
您可以在gitattributes 的filters 小节的git documentation 中找到我的意思的正确描述。另外,来自Pro Git book:
事实证明,您可以编写自己的过滤器,以便在提交/签出时在文件中进行替换。这些被称为“清洁”和“涂抹”过滤器。在 .gitattributes 文件中,您可以为特定路径设置过滤器,然后设置脚本在文件被签出之前(“smudge”,参见Figure 8-2)和在文件暂存之前(“clean ”,请参阅Figure 8-3)。这些过滤器可以设置为做各种有趣的事情。
我的用例类似于this other question 中所述的用例:在将某些文件提交到存储库之前清理部分文件但不影响工作副本。
我能找到的最相似的东西是 Mercurial 的 encode/decode 功能。问题是documentation on this feature 非常简洁(我在其他任何地方都找不到太多信息)。
但是,encode/decode 功能被标记为unloved feature。这是为什么?这是否意味着有更好的方法来做它的工作?出于某种原因,没有适当的方法可以做到这一点,但我应该像其他人一样选择这个方法吗?
【问题讨论】:
标签: mercurial