Posts Tagged ‘svn’

GIT-SVN, czyli połączenie dwóch światów

Author: Wojtek Sznapka (wojciech.sznapka) | sierpień 19th, 2010

SVN jest jednym z najpopularniejszych i najpowszechniej używanych systemów kontroli wersji w dzisiejszych czasach. Nie oznacza to jednak, że jest rozwiązaniem najlepszym. Coraz większą popularność zyskują rozproszone systemy kontroli wersji, takie jak Git, Mercurial czy Bazaar. W tym artykule skupimy się na Gicie, który został stworzony przez Linusa Torvaldsa, w celu wersjonowania kernela Linuksa (zastąpił BitKeepera). Nie sposób wymienić wszystkich zalet, ale można wymienić kilka projektów, które go używają, co pokaże jego pozycję na rynku: Andorid, Arch Linux, Fedora, Gimp, Gnome, jQuery, OpenSuSE, Perl, Ruby On Rails, Wine, X.Org.

Poniżej pokażę rozwiązanie następującego problemu: “jestem programistą, znam i lubię Gita, ale w mojej firmie używa się SVNa”. (więcej…)

GIT-owy piątek z XSolve

Author: Konrad Malawski (Konrad Malawski) | lipiec 14th, 2010

Od zeszłego tygodnia mam niewątpliwą przyjemność uczestniczenia w praktykach organizowanych przez XSolve. W tym czasie zastanawiałem się troszkę nad systemami kontroli wersji – a konkretniej porównaniem (lubianego i używanego przeze mnie) Gita z SVNem. Są to narzędzia na pierwszy rzut oka podobne – “jakieś SCMy”, jednak różnice w podejściach obu projektów do problemu są naprawdę ogromne.
(więcej…)

svn error: Cannot reintegrate into a working copy not entirely at infinite depth

Author: Mateusz Kubiczek (madmatt) | wrzesień 15th, 2009

Dzisiaj przy próbie użycia merge –reintegrate w celu przeniesienia zmian z brancha z powrotem do trunka dostałem ciekawy błąd:

Cannot reintegrate into a working copy not entirely at infinite depth

Szybki googiel zasugerował, że to coś związane z “rzadkimi katalogami” w svn.

Zrobiłem nową kopię roboczą trunka i do niej już bez problemów udało się wykonać reintegrate.

Problemy z svn merge reintegrate

Author: Mateusz Kubiczek (madmatt) | kwiecień 6th, 2009

SVN 1.5 posiada bardzo miłe wsparcie dla tworzenia gałęzi w repozytorium oraz nanoszania zmian wykonanych tam spowrotem do trunka. Wyklikanie tego w tortoiseSVN zajmuje parę minut (o tym w następnej notce). A przynajmniej powinno – niestety bardzo często dostaję komunikat:

svn: Cannot reintegrate from 'url://feature-branch' yet:
Some revisions have been merged under it that have not been merged
into the reintegration target; merge them first, then retry.

Wiadomość nie podsuwa oczywistego rozwiązania. Pierwszą rzeczą którą sprawdziłem było ponowne uaktualnienie mojej gałęzi trunkiem, ale to nie pomogło.
Rozwiązanie problemu znalazłem na blogu Submerged. Można tam znaleźć dokładne wyjaśnienie, skąd ten błąd (a także kilka ciekawych informacji o samym SVN – polecam). Tutaj tylko szybkie rozwiązanie, które mi zawsze pomaga (operacje wykonujemy na gałęzi):

  • W korzeniu kopii roboczej wpisujemy:

svn propget svn:mergeinfo -R

  • Powinniśmy dążyć do tego, żeby svn:mergeinfo istniało tylko dla korzenia kopii roboczej, np.:

. – /branches/Foo:2055-2223

  • Usuwamy kolejno własność na wszystkich katalogach w głównym katalogu kopii roboczej:

svn propdel svn:mergeinfo -R nazwa_katalogu

  • Znowu robimy svn propget svn:mergeinfo -R. Jeżeli widzimy tylko katalog główny (np /trunk, albo /branches/foo) to wszystko jest ok.

Możemy teraz spróbować ponownie zreintegrować naszą gałąź. Powinno działać.