Nie chcę, aby jakikolwiek katalog o nazwie build
lub dist
wchodził do mojego SVN, bez względu na to, jak głęboko jest w drzewie.
czy to możliwe? W git właśnie umieściłem
build
dist
w moim .gitignore
u źródła i rekurencyjnie ignoruje. Jak to zrobić za pomocą svn? Proszę, nie mów mi, żebym robił rekwizyty w każdym reżimie dla rodziców ...
svn
version-control
ignore
Paul Tarjan
źródło
źródło
Odpowiedzi:
Od subversion 1.8 jest teraz
svn:global-ignores
właściwość, która działa tak samo,svn:ignore
ale rekurencyjnie (więc ustaw ją w swoim katalogu najwyższego poziomu)źródło
global-ignores
w~/.subversion/config
pliku, ale także dziedziczonasvn:global-ignores
właściwość ustawiona w katalogu w repozytorium SVN, a takżesvn:ignore
- czy możesz podać podsumowanie tych różnych opcji i ich porównania? Jak--recursive
wpływa na nich flaga?obj
folder nadal się wyświetlał] ( stackoverflow.com/questions/50960188/… ), czy możesz mi pomóc rzucić okiem na to?svn propset
przyjmuje--recursive
jako opcję, więc możesz to zrobić, z dwoma wadami:svn:ignore
właściwości za każdym razem, gdy dodajesz nowy katalogźródło
Nie jest to możliwe. W Subversion istnieją tylko dwa mechanizmy ignorowania
svn:ignore
(nierekurencyjne) iglobal-ignores
(które nie są specyficzne dla repozytorium).źródło
To działa dla mnie:
źródło
dodaj do swojego pliku ~ / .subversion / config lub / etc / subversion / config:
źródło
Możliwe jest zignorowanie katalogów kompilacji i dystrybucji poprzez usunięcie katalogów z kontroli wersji. Sztuczka polega na użyciu opcji --keep-local, aby opuścić katalog w kopii roboczej. Na przykład:
Katalog nie będzie już śledzony przez subversion, ale nadal będzie tam w twojej kopii roboczej, aby przechowywać dane wyjściowe kompilatora itp.
okrzyki, joe
źródło
Na przykład struktura folderów:
Dobrze jest zrobić svn usuwanie zawartości dist przed poleceniem ignorowania, więc dla gałęzi dist będzie puste.
Pracował dla mnie, dziś przetestowany. Oto strona, która trochę to wyjaśnia
źródło
Aby zignorować wszystkie takie pliki we wszystkich repozytoriach, możesz dodać a
global-ignores
do pliku konfiguracyjnego dla każdego użytkownika.Zobacz Opcje konfiguracji
Niestety, nie ma takiej opcji dla repozytorium. Zasadniczo jest to przypadek na użytkownika lub na katalog, więc wielokrotność
svn:ignores
jest prawdopodobnie najlepszym rozwiązaniem, tak irytującym, jak to tylko możliwe.źródło
Najpierw musisz przejść do górnego folderu kopii roboczej i utworzyć tam plik (powiedzmy .svnignore), w którym powinieneś umieścić wszystkie wzorce, które chcesz zignorować, na przykład (dla projektu Android):
Następnie uruchamiasz następujące polecenie (pamiętaj, że musisz znajdować się w górnym folderze kopii roboczej):
Będzie to działać tylko w przypadku folderów i plików, które nie są jeszcze objęte kontrolą wersji. Jeśli chcesz, aby folder (lub plik), który jest objęty wersjonowaniem, również zaczął być ignorowany, usuń go z kontroli wersji, uruchamiając polecenie:
Wszystko to wyjaśniam w tym świetnym artykule: http://superchlorine.com/2013/08/getting-svn-to-ignore-files-and-directories/
źródło
W subversion 1.8 powyżej, możliwe jest ustawienie globalnych ignorowań dla bieżącego repozytorium.
Możesz także utworzyć folder o nazwie .svnignore i zapisać warunki.
pamiętaj o jednym warunku na linię, ustawienie build / * lub dist / debug jest daremne. Następnie wykonaj polecenie:
źródło
Utwórz plik i dodaj do niego swoje ignorowania
lista-ingore:
następnie zastosuj następujące polecenie
katalog to nazwa twojego katalogu, możesz również podzielić na podkategorie katalog / podkatalog. Lub użyj *, aby zaznaczyć bieżący katalog, w którym się znajdujesz.
Zakłada się, że używasz basha jako powłoki
źródło
gdzie svn_ignore_rules to plik zawierający reguły ignorowania - po jednej w każdym wierszu
Oczywiście za każdym razem, gdy dodajesz nowy katalog do repozytorium, musisz go ponownie uruchamiać
svn_ignore_rules można również uznać za wpisane do repozytorium, do ponownego wykorzystania przez innych użytkowników mających uprawnienia do zapisu w repozytorium
źródło
źródło
set EDITOR=notepad
,svn propedit svn:ignore .
działało dobrze ...Ponieważ wydaje się, że nie ma rozwiązania tego prawdopodobnie powszechnego problemu, chciałbym podzielić się naszym rozwiązaniem. Jak inni już wyjaśnili, możesz albo użyć
svn:ignore
właściwości, dotyczy to pojedynczego katalogu (a zatem nie dla nowych), albo użyć tego,global-ignores
który dotyczy jednego użytkownika (ale nie należy do repozytorium).Aby trochę ułatwić życie, stworzyłem plik reg o nazwie
Settings.Svn.reg
i dodałem go do katalogu głównego repozytorium. Teraz każdy może raz dwukrotnie kliknąć ten plik regfile i mieć gotowe ustawienia.Naprawdę byłbym wdzięczny za rozwiązanie w repozytorium SVN, więc jeśli ktoś wie, czy zechciałbyś się nim podzielić?
źródło
Jednym ze sposobów byłoby dodanie pewnego rodzaju czeku do haka przed lub po zatwierdzeniu, ale uwaga jest prosta, jeśli nie jesteś właścicielem serwera repo.
źródło