Byłbym bardziej skłonny dowiedzieć się, co się dzieje z właściwościami i rozwiązać ten problem, niż próbować je po prostu zignorować. To powiedziawszy, na końcu tej odpowiedzi jest jeden liniowiec, który przyspieszy twój proces przywracania, jeśli jesteś na Linuksie.
W celu uzyskania tej odpowiedzi ustawiłem właściwość w jednym pliku (window.c
) i zmodyfikowałem inny (window.h
).
svn status
M window.c
M window.h
Główne komendy svn użycie do właściwości to:
svn propset answer 42 window.c
property 'answer' set on 'window.c'
Ustawia propety 'odpowiedź' na pliku window.c cenić 42. Nie jesteś prawdopodobnie chcąc to wykorzystać.
svn proplist window.c
Properties on 'window.c':
svn:keywords
svn:eol-style
answer
Zawiera listę wszystkich właściwości (bez wartości) w pliku.
svn propget answer window.c
42
Pobiera wartość określonej właściwości.
svn propedit answer window.c
Set new value for property 'answer' on 'window.c'
Otwiera edytor (na moim komputerze jest to nano ze wszystkich rzeczy) i pozwala edytować właściwość, a następnie ustawia ją na podanym pliku.
svn propdel answer window.c
property 'answer' deleted from 'window.c'.
Usuwa określoną właściwość (prawdopodobnie to nie rozwiąże problemu, zgaduję).
Można również zrobić svn diff
aby dowiedzieć się, który nieruchomość jest inna:
svn diff window.c
Index: window.c
===================================================================
--- window.c (revision 35712)
+++ window.c (working copy)
Property changes on: window.c
___________________________________________________________________
Added: answer
## -0,0 +1 ##
+42
\ No newline at end of property
To w zasadzie mówi, że jedyną zmianą tutaj jest została dodana właściwość „odpowiedź”, o wartości 42 (a nie nowej linii).
Więc co zrobię Uruchom z svn diff
i dowiedzieć się, co się zmieniło:
svn diff controllers/database/udfs/searchForNameContSrch.sql
svn diff controllers/main
Mają Google dla tej własności, że zmienia się i sprawdzić, czy można dowiedzieć się, jakie narzędzie jest ustawienie go i wyłącz to.
Możesz spróbować użyć svn propdelete
, aby pozbyć się nieruchomości, ale nie sądzę, że to pomoże.
przeciwnym razie - szybkie skrypt powracają
W przeciwnym razie, jeśli używasz Linuksa, to jeden liner powróci pliki, które mają modyfikacje nieruchomości, ale nie treści modyfikacjami.
PROSZĘ PRZETESTOWAĆ NINIEJSZĄ AKTYWNĄ AKTYWNOŚĆ BEZPIECZEŃSTWA W PIERWSZYM CZASIE, TAK?!?!?
svn status | grep "^ M" | sed "s/^.\{8\}//" | while read rv; do svn revert $rv; done
Czyli:
svn status
rura go przez grep i filtrem do tylko linie, które zaczynają się od 'M' (a więc będzie ignorować 'MM' - ważne).
przeprowadź przez sed i usuń pierwsze 8 znaków (które są kolumnami statusu przed nazwą pliku).
potokować w pętlę i przywrócić podaną nazwę pliku.
Oto ona w akcji:
svn status
M window.c
M window.h
svn status | grep "^ M" | sed "s/^.\{8\}//" | while read rv; do svn revert $rv; done
Reverted 'window.c'
svn status
M window.h
to prawdopodobnie oszukuje i zbyt nieeleganckie być odpowiedzią, ale od czasu do czasu kopiuję i wklejałem żądane pliki do vi, usuwam początkową literę-kolumny, a następnie przytrzymuję shift-J, dopóki wszystkie nazwy plików nie znajdują się w tej samej linii, a następnie dodam słowo "svn ci -mBlahBlah" do z przodu tej pojedynczej linii, a na końcu wykonuj tę linię jako polecenie powłoki. –
:-) To trochę tak samo jak przywracanie plików, których nie chcę zatwierdzać. Nie powinni być zaangażowani, nie wiemy, dlaczego i tak zmieniono właściwości. – Radek
Pytanie 1: Możesz użyć Tortoise do wykonania tego rodzaju pracy. Zaznacz w polu wyboru pliki, które chcesz zatwierdzić. Q2: To samo narzędzie, które reaguje na Q1, Tortoise czyść to za ciebie, jeśli masz wiele plików, możesz je wyczyścić za pomocą tego narzędzia. –