2008-12-12 11 views
10

Jestem początkującym z Subversion, więc nie teraz, jeśli jest to głupie pytanie:Jak zmienić strukturę repozytorium subversion?

Odziedziczyłem repozytorium subversion o płaskiej strukturze bez najwyższego poziomu/trunk/tags/branch).

Chciałbym ponowne strukturę tak, że wynika układ

/trunk 
/tags 
/branches 

.

Czy to możliwe?

Odpowiedz

1

Tak. Po prostu wybierz pożądaną strukturę najwyższego poziomu, dodaj te katalogi za pomocą polecenia svn add. Wykonaj checkin (svn ci), a następnie przenieś rzeczy do wybranych miejsc za pomocą polecenia svn move. Checkin w środku może nie być nawet konieczny, ale tak właśnie bym to zrobił.

0

Tak. Po prostu użyj polecenia svn move!

4

svn move (1.4)(1.7) może działać na katalogach w repozytorium, więc nie powinieneś potrzebować sprawdzać lub sprawdzać niczego.

21

Zwłaszcza jeśli używasz Subversion 1.4, zobacz tę odpowiedź alternatywy:

svn: replace trunk with branch.

W przeciwnym razie, move jest najprostszym sposobem na przeprowadzenie restrukturyzacji. Jak powiedział @JoelFan, move będzie działać na katalogach, dzięki czemu można wykonać tę operację bez kopii roboczej:

svn mkdir --quiet --message "Restructuring" http://svnhost/svnrepos/trunk 
svn mkdir --quiet --message "Restructuring" http://svnhost/svnrepos/tags 
svn mkdir --quiet --message "Restructuring" http://svnhost/svnrepos/branches 

czasu, odpowiednie move poleceń do swoich źródeł:

svn move --message "Restructuring" http://svnhost/svnrepos/dir01 http://svnhost/svnrepos/trunk/dir01 

Uwaga: Jeśli istniejący repozytorium ma strukturę jak:

/repos 
    /projectA 
     /branches 
     /tags 
     /trunk 
    /projectB 
     /branches 
     /tags 
     /trunk 

sugeruję pozostawienie go w ten sposób - to by rozdzielenie projektów na s eparate repozytoria bardzo proste, jeśli z jakiegoś powodu musisz to zrobić.

+0

Czy to akceptowanych odpowiedź ? – Xofo

+0

@Xofo SVN przeniósł się daleko poza wersję 1.4. W przypadku starszych wersji tak, ta odpowiedź jest poprawna i działa. Nowsze wersje? Szczerze nie mam pojęcia. –

4

Jeśli użyć TortoiseSVN:

  1. Tworzenie pustych wymaganych katalogów (/trunk /tags /branches)
  2. zatwierdzić je.
  3. W menu kontekstowego otwarte TortoiseSVN > Repo-Browser, gdzie po prostu zaznaczyć wszystkie (z wyjątkiem /trunk /tags /branches), a następnie przeciągnij i upuść do /trunk katalogu (wszystko wewnątrz okna Repo-Browser)
  4. Pres Ok > Submit > Ok
Powiązane problemy