我的Bazaar工作树中有一堆我不再需要的未知文件。我可以使用bzr stat获得它们的列表,但我想要一个简单的方法来摆脱它们。(我希望bzr revert能做到这一点,但我没有找到。)
我总是可以写一个很小的脚本来解析bzr stat和rm的输出,或者解析mv的未知数,但我想可能已经存在了一些东西。
我有Bazaar (bzr) 1.13.1。
发布于 2010-02-24 00:49:41
bzr clean-tree将清除工作树中的所有未知文件。它还具有删除忽略的文件,合并备份和其他类型的不需要的文件的开关。有关详细信息,请参阅bzr clean-tree --usage。
编辑后添加: Bazaar 2.0.0是这样的,我不确定1.13
发布于 2010-02-23 23:36: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"来写这些东西。
https://stackoverflow.com/questions/2319206
复制相似问题