どのように自動的に削除します。origファイルヘッドを次のように表作す
質問
中に合併しmercurialです。origファイルを載の未解決のファイルです。その後に手動での課題解決に向け、マーキングファイルを修正削除しません。origファイルです。で自動的に削除されるコマンド?
働いているMacで使用できるようなもの:
find . -iname '*.orig' -exec rm '{}' ';'
との別名でもないと思いものを使っておけば間違いないようにhgでの清掃...
更新:
以来、現在の パージの拡張 が同梱Mercurial、この問題を解決した。
解決
個人としての利用
$ rm **/*.orig
ま疲れを .orig
ファイルです。この作品はZshにBash4走行す shopt -s globstar
.
がご利用の場合は別のシェルやしたい内蔵の溶液に、これだけでも常温で長期保存ができるのも パージの拡張 (リンクを更新し2016-08-25).をまとめて見ることができるすべて削除しuntrackedファイル
$ hg purge
ですので削除できすべてのuntrackedれたファイル
$ hg purge --all
有利用 hg purge
このままでも清掃活動のディレクトリが空を除去した後、ファイルです。の rm
コマンドラインをお持ちいただくだけの空のディレクトリです。
他のヒント
ところで。 find
ユーティリティは、アクション-delete
を持っています
これだけ入力することができます:
find <path-to-files> -name '*.orig' -delete
は、次のようにうまく動作するようです。
D:\workspace>hg purge -I **/*.orig --all
このは.ORIGで終わるすべての人跡未踏のファイルを削除しますが、他の回答として、の他の人跡未踏のファイルをでしょう削除されません。
あなたは、同様に--print
フラグを置くことによって、それを実行する前に、これをテストすることができます。
以下は、あなたの全体の作業コピーの階層に.ORIGファイルを削除しても、スペースを含むパスのために働くだろう。
find . -name *.orig | while read -d $'\n' file; do rm -v "$file"; done;
私は私の.bash_profileにエイリアスを使用します:
alias clearorig='echo "Removing .orig files..."; find . -name *.orig | \
while read -d $'\''\n'\'' file; do rm -v "$file"; done;'
は、 updateフックを使用する必要があります>
更新:これは、更新後に実行するか、 にマージされた作業ディレクトリのは、
を終了しました
掲載しているこの答え 前.ここでまさかの正しい場所にこの答えになります。
明けまして御目出とう御座いますバッチファイルです。
IF "%1%" == "d" (
del /s *.orig
del /s *.rej
) ELSE (
del /s /p *.rej
del /s /p *.orig
)
ヘルプ保存このコンテンツとして orig.バット
- 走
orig d
削除するすべての拒否及びナファイルを一度に確認せず - 走
orig
削除ファイルを確認[安全機構】
ことを期待します。
個人的には以下のルートからのレポ-レート:
hg purge -p -I **/*.orig | xargs rm -f
ちょっとりだけを使い、'hgパージ"または"hgパージ--"ができるので、フィルターの特定のファイルの種類に対すが含まれています。
たれぞれ説明:
- の引数pの版画のリストのファイルのパージ
- のん引数whitelistィルタのファイルが含ま
- この結果、リストがパxargs実行をrm-fコマンド
私はPowerShellで働いているし、ここに答えが表示されませんでした。
# NOTE: be in the root of your repository
# fetch all .orig files recursively
$orig = (dir *.orig -recurse) ;
# remove each .orig file
foreach ($item in $orig) { del $($item.FullName) ; }
# afterwards I make sure to remove the references to the .orig files in the repo
# then commit & push
hg addremove ;
hg commit -m "remove .orig" ;
hg push ;
これは自動的な方法で除いて追加ファイルで簡単なのです。
の hg st
き 不明 または な追跡 ファイルです。利用することができ出力引数としてのシステム rm
コマンドです。こちらは実際の例だけを行った。
$ # SHOW ONLY THE CRUFT
$ hg status --unknown
? config/settings.rb.orig
? lib/helpers.rb.orig
? routes/main.rb.orig
$ # THE CRUFT WITHOUT THE "?" PREFIX
$ hg status --unknown --no-status
config/settings.rb.orig
lib/helpers.rb.orig
routes/main.rb.orig
$ # SAFELY REMOVE ALL CRUFT
$ rm -- `hg st -un`
場合は空のディレクトリに残し、 -r
や -d
旗 rm
れます。
として ボーナス, hg status --ignored
するのに使用でき掃除をすべて無視されtempファイルなどのスワップからファイルをエディタ(例えば、Vim).
私は掃除のためにLinux上で使用するコマンドは、検索で新鮮な検索を実行する必要性を保存します。
Mercurialのプロジェクトのルートディレクトリから実行されるこれらの必要性
hg status | grep ".orig" | cut -d ' ' -f 2- | xargs rm -f
それとも、すべての未知のファイルをクリアしたい場合。
hg status | cut -d ' ' -f 2- | xargs rm -f
私が選択した答えは好きではありません。これは、プロジェクトのすべてのレベル内のすべてのものを削除しません。私はこれを使用します:
for f in `find . | grep .orig$`; do rm "$f"; done
両方のMacと* nixの上で動作します。