Mam folder „docs” w repozytorium Subversion o nazwie „projekt”. Doszedłem do wniosku, że naprawdę powinno być przechowywane w oddzielnym repozytorium Subversion o nazwie „project_docs”.
Chciałbym przenieść folder „docs” ( i wszystkie jego wersje ) do repozytorium „project_docs”. Czy jest na to sposób?
svn
repository
directory
move
lewy koniec
źródło
źródło
"C:\Program Files (x86)\VisualSVN Server\bin\svnadmin" dump c:\Repositories\MyRepository > c:\Temp\MyReository.dump
svndumpfilter ma poważną wadę - jeśli plik lub ścieżka został skopiowany ze ścieżki, którą filtrujesz, do tej, którą filtrujesz, svndumpfilter nie będzie w stanie wypełnić historii i zadanie zakończy się niepowodzeniem.
Jeśli napotkasz ten problem, możesz użyć svndumpfilter2 .
źródło
Jest to omówione w dokumentacji SVN. Zapoznaj się z sekcją Konserwacja repozytorium na
svndumpfilter
… W szczególności opisuje, jak zrzucać projekty z centralnego repozytorium i przenosić je do nowych, oddzielnych repozytoriów.źródło
Nie wierzę, że możesz to zrobić zdalnie (tj. Bez lokalnej kopii). Ale to powinno działać: w
svn export
takim razie folder z oryginalnego serwerasvn add
do nowego repozytorium.Lubić:
Edycja: D'oh, to upuszcza historię. Użyj,
svnadmin
jak opisuje Samuel .źródło
Dla przyszłego odniesienia:
Dokumentacja SVN jasno informuje:
Jeśli planujesz ręcznie edytować plik zrzutu, aby usunąć katalog najwyższego poziomu, upewnij się, że Twój edytor nie jest ustawiony na automatyczną konwersję znaków końca wiersza do formatu natywnego (np. \ R \ n do \ n), ponieważ treść nie będzie wtedy zgodna z metadanymi. Spowoduje to, że plik zrzutu będzie bezużyteczny.
Użyj seda lub Vima do podstawienia katalogu najwyższego poziomu, ale ta nazwa katalogu była również zawarta w pliku projektu !!!! Powoduje to błąd sumy kontrolnej obciążenia SVN.
Więc kiedy wykonujesz tę operację, nie zastępuj ciągów za pomocą seda tylko z nazwy ścieżki.
Zastąp „Ścieżka-węzła: stara_ścieżka” tekstem „Ścieżka-węzła: nowa_ścieżka”. Więcej informacji można znaleźć w książce SVN, rozdział 5, „Administracja repozytorium”.
źródło
Próbowałem użyć zaakceptowanej odpowiedzi, ale miałem ogromne repozytorium i chciałem wyeksportować mały katalog i nie mogłem sobie pozwolić na zrzucenie całego repozytorium.
Tak więc wyeksportowałem tylko wersje, w których zmienił się mój katalog (może to nie działać, jeśli katalog, który chcesz wyeksportować, zawiera odniesienia do innych miejsc w repozytorium).
Musisz zamienić adres URL repozytorium (
URL_to_docs
), lokalizację na serwerze (/svn/old_repo
) i ścieżkę do dokumentów w repozytorium (path/to/docs
)Możesz łatwo edytować swój,
docs_only.dump
jeśli chcesz zmienić lokalizację katalogu dokumentów w nowym repozytorium.źródło