Jaka jest twoja ulubiona nieoczywista funkcja svn?Ulubiona nieoczywista funkcja svn?
Odpowiedz
svn log --xml
Posiadanie logów wyprowadzonych w formacie xml sprawia, że bardzo łatwo je analizować i analizować.
svn log -r BASE: głowa (ewentualnie z opcją v)
Pokazuje to, co się stało między wersją a wersją głowy. Zwykle mówi ci, kto także złamał kompilację.
W nowszych wersjach: interaktywne rozwiązywanie konfliktów. W ten sposób konflikty nie muszą być rozwiązywane ręcznie (w większości przypadków jest to bardzo trywialne, po prostu denerwujące, jeśli trzeba to zrobić dla dużej partii plików). Ale tak na prawdę, obsługa konfliktów w ogóle (tzn. Że blokuje ci to popełnianie konfliktów plików).
Pierwsze historię oddziału z punktu rozgałęzienia:
svn log --stop-on-copy
Wykonywanie wycofywania przez scalanie byłego korektę w/HEAD.
Interfejs API i biblioteki Subversion. Możesz użyć centralnego repozytorium SVN, nawet jeśli wolisz pracować z rozproszonym VCS - albo używając "SVN natywnego" SVK albo na przykład Mercurial (przez a bridge). Dobre apisy oznaczają również, że lepsze narzędzia są możliwe - mogą pracować z SVN bezpośrednio, zamiast korzystać z klienta linii poleceń i próbować analizować wyniki.
Skrypty hookowania (start-commit, pre-commit, post-commit) są świetnymi narzędziami do budowy systemu opartego na SVN.
Kolejny, który prawdopodobnie jest zbyt "oczywisty", wywołuje "eksport svn" ze skryptu kompilacji. To naprawdę dobry sposób na rozmieszczanie plików w niektórych katalogach docelowych (na przykład na stronie internetowej), ponieważ otrzymujesz czystą kopię bez ukrytych plików .svn. Jest o wiele lepszy niż aktualizacja kopii roboczej zdalnej "instalacji".
Interfejs API Subversion i powiązania klienta, które są na nim wbudowane.
Większość systemów SCM to kombinacja narzędzi, które umożliwiają wywoływanie ich za pomocą wiersza poleceń, ale subversion jest zaprojektowany jako stabilny interfejs API, który ma być używany przez wielu klientów. Po prostu dostarcza klientowi linii poleceń.
TortoiseSVN, AnkhSVN, SharpSvn, i dozens of other applications and libraries [1] nie byłoby tam bez subwersji będącej api.
(Cieszę niektórych innych/nowych wdrożeń SCM zaczynają zdawać sobie sprawę, że klient poleceń nie wystarczy być udana)
[1] Na stronie link jest obecnie niedostępny, ale można nadal zobaczyć starą wersję na http://svn.apache.org/repos/asf/subversion/branches/1.6.x/www/links.html
Tak, to jest ogromny problem z Git. AFAIK, wiązania Ruby Git po prostu zawijają linię poleceń.To był poważny problem przy próbie napisania backendu Git dla RabbitVCS. – detly
a druga odpowiedź:
svn status --depth files <path>
tego wsparcia głębokość wprowadzoną w Subversion 1.5 sprawia, że tak dużo szybciej niż wcześniej od innych narzędzi.
Zewnętrzne.
Wspaniała możliwość pobierania bibliotek innych firm do bazy kodów i aktualizowania ich.
Uwielbiam zewnętrzne. Wciąż rodzaj bólu w Mercurial. :-( –
svn diff
, nawet jeśli jesteś w trybie offline i możesz pomyśleć, że nie jest możliwe.
Cuda dziewiczej kopii :) Należy pamiętać, że bez dostępu do sieci można tylko odróżnić od wersji roboczej kopię BASE. –
Aby wycofać się changeset z kopii roboczej (np 4321).:
svn merge -c -4321 .
svn checkin
lub wielokrotne Zestawienia zmian:
svn merge -c -4321,-5432 .
Główny znak minus przed numerem wersji jest ważny. "-4321" działa, "4321" nie. – kamens
"svn: ignore" własność
Mój ulubiony nonobvious cechą svn jest sposób, w jaki ściąga wszystkie moje katalogi źródłowe z podkatalogami metadanych .svn. ;)
svn blame
oczywiście. Muszę wiedzieć, czyja to wina.
Powiedziałbym, że adnotacja (jako wina, pochwała) * jest * całkiem oczywista. – Jonik
To jest przekonujący argument do zrzucenia VSS. –
Wciąż pracuję dla programistów, którzy o tym nie wiedzą ... – theschmitzer
natrafił na coś szukając. . Oto ulubiona, niepoważna z mojej strony. Możesz skopiować wkleić "kopię roboczą svn" na dowolną inną maszynę lub inny system operacyjny - działa tak, jakby była tam sprawdzona. Działa to, nawet jeśli został wyewidencjonowany przez innego użytkownika !!
Opcja konfigurowania repozytorium slave w celu odzwierciedlenia głównego. Tak więc grupa zdalna może wykonać wszystkie swoje odczyty z lokalnej kopii. To naprawdę przyspiesza rozwój.
Dodano w svn 1.6: Strzeżony ^
skróconą notację, aby skrócić adresy URL subversion, korzystając z wiersza poleceń. Symbol karetki może być użyty zamiast części adresu URL w górę poprzez nazwę repozytorium.
Ex:
svn switch ^/myProject/branches/fooBranch
zamiast
svn switch http://machine22/repos/SandboxRepo/myProject/branches/fooBranch
fajne nie wiedział o tej funkcji –
Wygląda na to, że został wprowadzony w svn 1.6. (Działa z moim 1.4 repo, o ile mój klient ma 1.6.) –
Zauważ, że w oknach karetka jest postacią ucieczki i musi zostać podwojona lub zacytowana do pracy. – Eterm
svn cleanup
Kiedy to też mówi: "Run Cleanup svn do czyszczenia"
find . |grep \\.svn/lock |xargs rm
Wieloplatformowe wsparcie dla Unicode nazewnictwo
pracuję w japońskiej firmy, więc wsparcie Unicode filename Subversion jest wielki. Byłem rozczarowany, aby zobaczyć, w jaki sposób poorly Unicode filenames are handled by git and Mercurial w porównaniu (szczególnie w systemie Windows).
(Doceniam również, jak dobrze Subversion obsługuje Unicode w wiadomościach dziennika itp)
z punktu widzenia administratora widzenia svndumpfilter exclude $file
może znacząco zmniejszyć rozmiar repozytorium.
- 1. Jaka jest twoja ulubiona funkcja C++ 0x?
- 2. Ulubiona minimalistyczna konfiguracja .vimrc
- 3. Jaka jest twoja ulubiona sztuczka STL?
- 4. Jaka jest twoja ulubiona opcja g ++?
- 5. Importuj Repozytorium SVN po wyświetleniu SVN
- 6. utwórz nowy oddział svn z git-svn
- 7. SVN - całkowicie usunąć rewizję z serwera SVN
- 8. git svn braku migracji z svn 1.8
- 9. Irytujące wydanie svn, w którym folder roszczeń svn jest pod kontrolą wersji, ale nie .svn istnieje
- 10. Czy mogę git svn rebase do pewnej wersji svn? (Podobne do svn up-r ...)
- 11. svn propget svn: ignore. nic nie zwraca, ale svn oczywiście ignoruje moje pliki
- 12. SVNException: svn: E175002: RAPORT "/ svn/Repository2 /! Svn/vcc/default" 400 Zły wniosek
- 13. Użyj git-svn z istniejącym repo brakującym .git/svn/
- 14. SVN post-commit - brak dostępu do .svn/zablokować
- 15. svn: jak wyświetlić listę ostatnich tagów z wiersza poleceń svn?
- 16. Jak mogę przywrócić gałąź git-svn do SVN HEAD?
- 17. Integracja SVN Delphi, która działa z SVN 1.7?
- 18. Jak skonfigurować ustawienia ignorowania svn za pomocą git svn?
- 19. git svn nie klon pracy przy użyciu repozytorium SVN
- 20. Jak oszukać git-svn, aby rozpoznać scalenia wykonane z svn?
- 21. Git-SVN: Zaktualizuj repozytorium Git ze scentralizowanego serwera SVN
- 22. git svn: hasło do svn nie jest przechowywane
- 23. klon git svn z jednego katalogu repozytorium SVN
- 24. Jak uzyskać najnowszą wersję SVN HEAD w git-svn?
- 25. svn to git conversion
- 26. Biblioteki SVN dla .NET?
- 27. SVN Nie ignoruj pracy
- 28. SVN 1.7.1 Issue
- 29. svn: generic failure
- 30. Hudson svn poświadczenia
... Dlaczego nie dodasz swojej do pytania? –