2010-02-23 6 views
10

Tengo un montón de archivos desconocidos en mi árbol de trabajo de Bazar que ya no quiero. Puedo obtener una lista de ellos usando bzr stat, pero me gustaría una manera fácil de deshacerse de ellos. (Yo esperaría una opción para bzr revert para hacer esto, pero no voy a encontrar uno.)Eliminar archivos desconocidos en Bazar

Siempre puede escribir un pequeño script para analizar la salida de bzr stat y rm o mv las incógnitas, pero pensé que algo podría existir ya

Tengo Bazar (bzr) 1.13.1.

Respuesta

13

bzr clean-tree eliminará todos los archivos desconocidos en un árbol de trabajo. También tiene interruptores para eliminar archivos ignorados, combina copias de seguridad y otros tipos de archivos no deseados. Ver bzr clean-tree --usage para más detalles.

Editar para añadir: Esto es cierto para bazar 2.0.0, no estoy seguro de aproximadamente 1,13

+0

frío, voy a comprobar que fuera. –

+1

comando clean-tree procedente del complemento bzrtools y también disponible en 1.13. – bialix

0

Hicimos una secuencia de comandos:

#!/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 

sólo lo he probado un poco, pero parece funcionar muy bien. Por favor, avíseme si encuentra un problema a través de los comentarios.

En un tema separado, ¿debo aprender sed & awk? Tiendo a escribir estas cosas usando ruby -e "some ruby code".

Cuestiones relacionadas