10

Bazaar の作業ツリーに不要になった不明なファイルがたくさんあります。を使用してそれらのリストを取得できますが、それらをbzr stat簡単に取り除く方法が欲しいです。(これを行うためのオプションがあると思いますがbzr revert、見つかりません。)

bzr statandrmまたは未知数の出力を解析するための小さなスクリプトをいつでも作成できますが、mv何かが既に存在する可能性があると考えていました。

私は Bazaar ( bzr) 1.13.1 を持っています。

4

2 に答える 2

14

bzr clean-tree作業ツリー内のすべての不明なファイルを取り除きます。また、無視されたファイルを削除したり、バックアップやその他の種類の不要なファイルをマージしたりするためのスイッチもあります。詳細については、を参照bzr clean-tree --usageしてください。

追加する編集:これはBazaar 2.0.0に当てはまります.1.13についてはわかりません

于 2010-02-23T16:49:41.010 に答える
0

スクリプトを作成しました:

#!/usr/bin/env ruby
# Move unknown files in a Bazaar repository to the trash.
# 
# Author: Benjamin Oakes

require 'fileutils'

TRASH_DIRECTORY = File.expand_path('~/.Trash/')

stdout = %x(bzr stat)

within = false

stdout.each_line do |line|
  if line.match(/^unknown:$/)
    within = true 
    next
  elsif line.match(/^[a-z]+:$/i)
    within = false
    next
  end

  if within
    FileUtils.move(line.match(/^\s+(.*?)$/)[1], TRASH_DIRECTORY)
  end
end

少しだけテストしましたが、問題なく動作しているようです。コメントで問題を見つけた場合はお知らせください。

sed別のトピックで、 &を学ぶべきawkですか? 私はこれらのことを を使って書く傾向がありruby -e "some ruby code"ます。

于 2010-02-23T15:36:12.623 に答える