1

私は現在、単純で、一見必要と思われる前提を容赦なく非難しています。ドキュメントに従えば、物事は宣伝どおりに機能するということです。これが常に当てはまるとは限らないことは理解していますが、最近、そのようなWTFの急流に悩まされています。

狙撃兵を幸せにする最初のことは、はい、これはhgキーワードと関係があります。具体的には、コミット前に常に縮小されるようにします。hgがディレクトリをロックしているため、のprecommitフックが機能しないことを発見しました。hg kwshrinkそのため、次の候補は[encode]フィルタです。

[encode]
#1 **.cs = sed -e "s/\$Date.*\$/\$Date\$/g"
#2 **.cs = tempfile: C:\batch\hg-kwshrink.bat INFILE OUTFILE

私は#2から始めましたが、#1も機能せず、私のバッチは単純です

sed -e "s/\$Date.*\$/\$Date\$/g" %1 > %2
rem sed -e "s/\$Date.*\$/\$Date\$/g" %1 > %1.tmp
rem echo %1 >>C:\temp\sed1.txt
rem echo %2 >>C:\temp\sed2.txt
rem copy %1.tmp C:\temp\sed3.txt
rem copy %1.tmp %2 /y

レムは私の調査を示しています。

hgが私の出力を使用していないことを除いて、すべてが正しく行われているように見えます。元のファイルがどのように動作するかについてのドキュメントを読んだことがないかのように、元のファイルをコミットするだけです。

明らかに、私は魔法の呪文を見逃しているか、ここでのキャリアの選択を再評価する必要があります。

4

1 に答える 1

0

試してみてください

sed -e "s/\\$Date.*\\$/\\$Date\\$/g"

また

sed -e 's/\$Date.*\$/\$Date\$/g'

\ は通常、二重引用符の間で置き換えられます

于 2013-11-03T09:06:45.807 に答える