0

特定のパターンに一致するファイル、つまりCom.Example/Com.Example.DomainModel23012013101705.somefileextensionを無視する構文を理解しようとしています。変数はファイル名に変更された日付のようです(23012013101705)

[0-9].somefileextensionやその他のパタ​​ーンをすべて試しましたが無駄になりました。

ありがとう、スティーブン

4

2 に答える 2

1

悲しいことに、Ry4anは間違いを犯しました。Grep()はファイル名では機能しません。

私の「試験場」

>dir /B
.hg
404.php
archive.php
archives.php
comments.php
footer.php
functions.php
header.php
html5.js
image.php
index.php
license.txt
links.php
page.php
readme.txt
screenshot.png
search.php
sidebar.php
single.php
style.css

テスト

>hg locate "set:grep(html5)\.php"
hg: parse error at 11: invalid token

>hg locate "set:grep(html5)"
header.php
readme.txt

注:テキスト「html5」が含まれているが、ファイルhtml5.jsが含まれていないファイルが見つかりました


>hg locate "set:s[a-z]+\.php"
abort: \.php not under root

>hg locate "set:s[a-z]+.php"

>hg locate "set:s[a-z]+"
hg: parse error at 7: not a prefix: end

>hg locate "set:s\w+"
hg: parse error at 4: not a prefix: end

set:プレフィックスと正規表現を使用したすべてのテストが失敗しました


セット付きのさまざまなグロブパターン:

>hg locate "set:s**.php"
search.php
sidebar.php
single.php

>hg locate "set:s**.*"
screenshot.png
search.php
sidebar.php
single.php
style.css

>hg locate "set:s**e.*"
single.php
style.css

ファイルセットの正規表現パターン

>hg locate "re:s[a-z]+.php"
search.php
sidebar.php
single.php

>hg locate "re:s[a-z]+."
screenshot.png
search.php
sidebar.php
single.php
style.css

履歴書

hg forget "re:Com\.Example\.DomainModel[0-9]+\.somefileextension$"

また

hg forget "set:Com.Example.DomainModel**.somefileextension"

と同じセットをhgignoreに

于 2013-01-24T07:39:54.493 に答える
0

グロブではなく正規表現を使用してください。Mercurialは、どちらかをサポートする場所であればどこでも両方をサポートします。それは次の.hgignoreようになります:

syntax: regexp
[0-9]\.somefileextension

その正規表現は、試行したグロブと一致しますが、もちろん、次のように絞り込むことができます。

syntax: regexp
^Com\.Example/Com\.Example\.DomainModel\d+\.somefileextension$
于 2013-01-24T01:31:16.360 に答える