Miałem ten sam problem, ale na stronie code.google.com: sprawdziłem kilka plików, które nie powinny być dostępne przez historię na tagu Google, ale nie chciałem zrezygnować z całej historii, po przeszukaniu, próbie, ponownej próbie i Ponowna próba się udała. Poniżej przepis na mój mały projekt (6,5 MB, 90 wersji).Większość wiedza pochodzi googlecode, reszta głównie z svn redbook
pierwsze utworzenie lokalnego repo gdzie można pobrać repo googlecode do:
svnadmin create /tmp/your_local_repo
utworzyć plik/tmp/isd_gc/haki/pre-revprop- zmienia się z treścią
#!/bin/bash
exit 0
uczynić go wykonywalnym:
chmod +x /tmp/isd_gc/hooks/pre-revprop-change
jeśli nie uda ci się w tej sekcji, najprawdopodobniej pojawi się błąd: zmiana Revprop jest blokowana przez przechwycenie przed zmianą stanu (kod zakończenia 255) bez danych wyjściowych.
teraz możesz init synchronizację svn od code.google.com
svnsync init --username [email protected] file:///tmp/your_local_repo https://yourproject.googlecode.com/svn
i rozpocząć pobieranie całą historię:
svnsync sync --username [email protected] file:///tmp/your_local_repo
Committed przegląd 1.
skopiowane właściwości rewizji 1
Przesyłanie danych pliku .......................
Skopiowane właściwości rewizji 87.
Teraz możemy utworzyć zrzut pamięci, który zostanie podany do svndumpfilter usunąć niepotrzebne pliki.
svnadmin dump . > /tmp/tst_dump_gc.dmp
użyj svndumpfilter, aby usunąć z niego pierwszy niepotrzebny plik.
svndumpfilter exclude /trunk/unwanted file_1.jsvg </tmp/tst_dump_gc.dmp> /tmp/tst_dump_clean1.dmp
Wypada 1 węzeł:
'/ trunk/niechciana file_new.jsvg'
usunąć niechciane drugi plik:
svndumpfilter exclude /trunk/unwanted file_2.jsvg </tmp/tst_dump_clean1.dmp> /tmp/tst_dump_clean2.dmp
odtworzenie "starego repo Temp"
rm -rf /tmp/your_local_repo
svnadmin create /tmp/your_local_repo
obciążenie filtrowane dum p do repo
[/tmp]$svnadmin load --ignore-uuid your_local_repo < /tmp/tst_dump_clean2.dmp
sprawdzić, czy wszystko jest w porządku w kliencie (svn robi czek na pniu Historia pokazuje tylko 25 pierwszych wyników w moim klientem SVN).
svnsync sync --username [email protected] https://yourproject.googlecode.com/svn
Sprawdza sumy kontrolne podczas ponownego ładowania danych. Po prostu próbowałem tego podejścia dla podobnego problemu. :) – Iain
To zadziała, ale będziesz musiał zaktualizować sumę md5 dla dowolnych plików (ścieżek węzłów), które są edytowane. W vimie możesz użyć ctrl-v, aby podświetlić sekcję reprezentującą plik, a następnie wpisać ":! Md5sum", aby uzyskać nowy skrót. Plik rozpoczyna się po linii PROPS-END i kończy się dwoma pustymi wierszami, po których następuje następna linia "Węzeł-ścieżka:". –