我的 Bazaar 工作树中有一堆我不再需要的未知文件。我可以使用 获取它们的列表bzr stat
,但我想要一种简单的方法来摆脱它们。(我希望可以选择bzr revert
这样做,但我没有找到。)
我总是可以编写一个小脚本来解析bzr stat
和rm
或mv
未知数的输出,但我认为某些东西可能已经存在。
我有 Bazaar ( bzr
) 1.13.1。
我的 Bazaar 工作树中有一堆我不再需要的未知文件。我可以使用 获取它们的列表bzr stat
,但我想要一种简单的方法来摆脱它们。(我希望可以选择bzr revert
这样做,但我没有找到。)
我总是可以编写一个小脚本来解析bzr stat
和rm
或mv
未知数的输出,但我认为某些东西可能已经存在。
我有 Bazaar ( bzr
) 1.13.1。
bzr clean-tree
将摆脱工作树中的所有未知文件。它还具有删除被忽略文件、合并备份和其他类型不需要的文件的开关。有关bzr clean-tree --usage
完整详细信息,请参阅。
编辑添加:Bazaar 2.0.0 是这样,我不确定 1.13
做了一个脚本:
#!/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"
.