Из огромного дерева исходных текстов я хочу, чтобы только одна подпапка была отслежена Mercurial.Weird negative lookahead handling in hgignore
specific/component/subfolder
В любом приличном инструмент регулярных выражений (Regex Coach, regexpal.com), следующий вполне достаточно (и понятно)
^(?!specific/component/subfolder).+
тем временем .hgignore настаивает на
^(?!extras).+
^extras/(?!extensions).+
^extras/extensions/(?!sharing).+
как только я ставлю черту внутри группы взглядов, ничего не пройдет.
Перед вызова это ошибка (возможно, еще одного доморощенного регулярного выражение парсера?) Я спрашиваю коллективный интеллект :-)
Кредита непрямого ключ на то, что хочет, чтобы щеколда hgignore пойти
Honing the .hgignore file using a negative lookahead
Ну так из-за большого количества предложений реальный белый список может быть полезной функцией? :) В моем случае ни одно из ваших предложений не применимо, и это может быть популярной ситуацией. Hg - это дополнение для мастера upstream svn. Поэтому нам нужны патчи, которые будут совместимы - внедрены в один и тот же каталог. И разработчики ненадежны в том, чтобы помнить о том, чтобы вручную добавлять каждый раз, когда они что-то создают. Еще хуже, когда он создается для них некоторым инструментом RAD. Я благодарен за то, что по крайней мере такие хакерские белые списки. –
Я не принимал решение о том, чтобы игнорировать только черный список, но я думаю, что он был правильным. Достаточно просто выполнить «hg status --unknown --no-status> .hgignore', чтобы игнорировать все, что в настоящее время существует и не добавлено. Удостоверившись, что люди видят все, что они предпочитают не защищать с помощью «?», Перед ним, по крайней мере, один раз кажется в соответствии с ошибочным замечанием, которое я наблюдал от uu Mercurial. –
Эта функция обсуждается здесь: http://mercurial.selenic.com/bts/issue712 –