SVN: Błąd: "Repository moved permanently to 'url'; please relocate".

Pracując na stanowisku programisty nie uciekniemy od kwestii kontroli wersji. O ile na czyimś serwerze dostaniemy po prostu login, hasło i adres repozytorium, o tyle na swoim [lub jakimkolwiek innym administrowanym przez nas] musimy się o wszystko zatroszczyć sami. W dzisiejszym wpisie chciałbym przedstawić kilka informacji nt. tego, jak naprawić jeden z dosyć irytujących problemów z instalacją własnego serwera SVN.

 

Symfony2: Nowa era frameworków... została rozpoczęta!

Dzisiejszy dzień jest wielkim dniem. Półtoraroczny wysiłek 250 osób z wielu krajów pod kierownictwem znanego z “części pierwszej” tej sagi Fabiena Potenciera zakończył się wydaniem stabilnej wersji Symfony2 - 2.0.0. Długo czekałem na tą chwilę, kiedy będę mógł w końcu spróbować swoich sił w pracy z finalną wersją, dlatego jako wielki fan symfony 1.x tym bardziej cieszę się z dzisiejszego wydania. W niniejszym wpisie chciałbym krótko uczcić to święto wszystkich programistów PHP - nowa era frameworków tego języka została oficjalnie uznana za rozpoczętą!

Redmine: Jak połączyć użytkowników SVN z użytkownikami projektu?
Od dłuższego czasu jestem bardzo zadowolonym użytkownikiem systemu zarządzania projektami Redmine. Pomimo tego, że jest on napisany w Ruby, używa się go bardzo wygodnie, w miarę bezproblemowo można go także skonfigurować według własnych wymagań. Jednym z problemów jest jednak dosyć niestandardowe rozmieszczenie linków do niektórych funkcji systemu, przez co o niektórych możliwościach nie wiemy lub dowiadujemy się przypadkiem. W moim przypadku takie “przypadkowe” trafienie na stronę zawierającą interesujące ustawienia zdarzyło się dzisiaj z samego rana, a więc jeszcze ciepłe przekazuję Wam.
SVN: Checkout repozytorium do aktualnego katalogu.
W serii krótkich porad wtorkowych czas na kolejny temat związany z używanym przeze mnie systemem kontroli wersji - narzędziem Subversion. Dzisiaj chciałbym się z Wami podzielić prostą, wręcz trywialną sztuczką, dzięki której oszczędzicie sobie przenoszenia źle wyeksportowanych danych z repozytorium. Problem: Checkout repozytorium tworzy niepotrzebny katalog. Na początku zdefiniujmy problem, jaki będziemy chcieli rozwiązać. Otóż najprostszy, a właściwie jedyny sposób na stworzenie własnego Working Copy projektu zarządzanego przez SVN jest wykonanie checkoutu z repozytorium.
[SVN] Synchronizacja [do wielu] repozytoriów.

Jeden z moich kolegów “po fachu” miał ostatnio problem ze swoim repozytorium SVN i zwrócił się do mnie z prośbą o pomoc w znalezieniu rozwiązania. Sprawa wyglądała następująco: na wewnętrznym dysku komputera zlokalizowana była kopia robocza [Working Copy], na której pracował i repozytorium kodu, do którego zamierzał commitować zmiany. Na dysku zewnętrznym “wymarzył sobie” za to backup tego repozytorium. Problem polegał na tym, że trzeba było w jakiś sposób ten backup zrobić oraz usprawnić jego wykonywanie na tyle, żeby kolega nie musiał “męczyć się” bardziej niż do tej pory. Sprawa była teoretycznie prosta, jednak rozwiązanie polegające na zwykłym kopiowaniu danych pomiędzy dyskami nie wchodziło w grę, ponieważ rozmiar repozytorium był rzędu gigabajtów [bardzo dużo danych binarnych]. Trzeba było zatem wymyślić lepszy, bardziej inteligentny sposób na rozprawienie się z używanym przez nas systemem kontroli wersji.