Gdybym miał 20 katalogów pod linią główną / z dużą ilością plików w każdym i potrzebował tylko 3 z tych katalogów, czy byłoby możliwe wykonanie pobrania Subversion tylko z tymi 3 katalogami w bagażniku?
svn
sparse-checkout
Tylko czytać
źródło
źródło
Odpowiedzi:
Subversion 1.5 wprowadza rzadkie płatności, które mogą być przydatne. Z dokumentacji :
źródło
Rzeczywiście, dzięki komentarzom do mojego posta tutaj, wygląda na to, że rzadkie katalogi są drogą do zrobienia. Uważam, że powinny to zrobić:
Alternatywnie,
--depth immediates
zamiastempty
wyewidencjonowywać pliki i katalogitrunk/proj
bez ich zawartości. W ten sposób możesz zobaczyć, które katalogi istnieją w repozytorium.Jak wspomniano w odpowiedzi @ zigdon, możesz również wykonać płatność nierekurencyjną. To starszy i mniej elastyczny sposób na osiągnięcie podobnego efektu:
źródło
Skipped 'prom/foo'
posvn update --set-depth infinity proj/foo
:(svn update --set-depth immediates proj
tak, aby proj / foo było aktualizowane.Lub wykonaj nierekurencyjne pobranie / trunk, a następnie po prostu wykonaj ręczną aktualizację 3 potrzebnych katalogów.
źródło
Napisałem skrypt do zautomatyzowania złożonych, rzadkich kas.
źródło
Jeśli masz już pełną kopię lokalną, możesz usunąć niechciane podfoldery za pomocą
--set-depth
polecenia.Zobacz: http://blogs.collab.net/subversion/sparse-directories-now-with-exclusion
set-depth
Wsparcie komenda multipile ścieżki.Aktualizacja głównej kopii lokalnej nie zmieni głębokości zmodyfikowanego folderu.
Aby przywrócić folder do ponownego wyewidencjonowywania, możesz użyć go
--set-depth
ponownie z parametrem nieskończoności.źródło
Raczej. Jak mówi Bobby:
dostaniesz foldery, ale otrzymasz oddzielne foldery z perspektywy subversion. Będziesz musiał osobno zatwierdzać i aktualizować każdy podfolder.
Nie wierzę, że można pobrać częściowe drzewo, a następnie pracować z częściowym drzewem jako pojedynczą jednostką.
źródło
Nie w żaden szczególnie użyteczny sposób, nie. Możesz sprawdzić poddrzewa (jak w sugestii Bobby'ego Jacka), ale wtedy tracisz możliwość ich atomowego aktualizowania / zatwierdzania; aby to zrobić, muszą być przypisane do wspólnego rodzica, a gdy tylko sprawdzisz wspólnego rodzica, pobierzesz wszystko pod tym rodzicem. Nierekurencyjne nie jest dobrą opcją, ponieważ chcesz, aby aktualizacje i zatwierdzenia były rekurencyjne.
źródło