2010-03-03 14 views
34

Mam dużą poprawkę MQ zastosowaną w Mercurial. Co się stało, to zrobiłem qrefresh i dołączone pliki w mojej poprawce, których nie chcę dołączać. Czy istnieje sposób usunięcia zmian do tych plików z mojej poprawki bez ręcznej edycji? W tym przypadku, jeśli pracowałem bez MQ, wszystko, co musiałbym zrobić, to przywrócić.Usuwanie pliku z poprawki Mercurial MQ

Odpowiedz

46

Z plastra zastosowano:

hg qrefresh -X [file1] -X [file2] ... -X [fileN] 

Podejmę się plik1 do plikN plastra. Po zakończeniu wpisz hg status, aby sprawdzić, czy pliki są teraz oznaczone jako zmodyfikowane, a zatem nie są już częścią poprawki.

+3

Przełącznik '-X' musi nadejść przed nazwą każdego pliku. Aby usunąć foo i bar, użyj 'hg qrefresh -X foo -X bar'. – nmichaels

+0

Jeśli chcesz usunąć wszystkie pliki z łatki, zamiast usuwać każdy plik, możesz uruchomić 'hg qrefresh -X '*''. Musisz otoczyć znak '*' '' ', aby zapobiec interpretacji powłoki przed rtęcią. –

2

Myślę, że możesz użyć uczynić łatkę bieżącą łatką (nałożoną i na szczycie stosu), a następnie hg forget i hg qrefresh.

Oczywiście hg forget to tylko hg remove bez dodatkowych opcji, aby uniknąć usunięcia pliku.

0

Najprostszym sposobem wykonania tej czynności jest zrobienie hg qrefresh ze wszystkimi plikami oprócz tego, który chcesz usunąć - to spowoduje usunięcie zmian z poprawki bez odrzucania ich.