Coding with Titans

so breaking things happens constantly, but never on purpose

Autorzy kodu przy przenoszeniu repozytorium z SVN do GiT

Dla niektórych może jest to i zbytnia perwersja, ale lubię, gdy używając jakiegoś narzędzia, stosuję się do sugerowanych przez nie konwencji. Dzięki temu wszystko to, co robię nie odstaje od siebie. I tak patrząc na repozytorium w SVN, każdy commit przypisany był do użytkownika systemowego i oznaczany po prostu jego loginem (a często i jakimiś magicznymi przy- i przedrostkami – wystarczy spojrzeć na przykład z codeplex.com: “SND\FeydRauth_cp”). GiT z kolei próbuje opatrzeć wszystko właścicielem w formacie “<login> <email>”. Read more →

Triki z GIT: zdalne repozytorium SVN

Kolejną ciekawostką, którą chciałbym omówić są zdalne repozytoria i dostęp do nich. O ile są to repozytoria tego samego typu (czyli np. Subversion połączone z Subversion – jako externals, czy Git pracujący z Gitem – jako submodules), to nie ma to większego znaczenia i obsługa jest bezproblemowa. Ciekawsze są oczywiście krzyżówki. Jeśli przyjrzymy się bliżej pracy w Git, który musi korzystać z zewnętrznego repozytorium Subversion, to już wcale nie musi wyglądać prosto. Read more →

Triki z SVN: Przyjaciel Pacz (patch)

Czasem zdarza się sytuacja, w której ktoś, kto ma dostęp tylko do odczytu do naszego repozytorium SVN, chciałby w nim coś jednak zapisać. Udało mu się (lub jej) rozwiązać jakąś usterkę czy problem, albo usprawnić działanie. Moglibyśmy w tym miejscu dodać uprawnienia do zapisu i byłoby po sprawie. Jednak czy na pewno? Zawsze jakieś “ale”! Z czegoś wynikał przecież fakt, że ów użytkownik nie posiadał pełni praw. Czy wspomniana zmiana ma w ogóle sens i czy w ogóle istnieje? Read more →

Triki z SVN: łatwy dostęp na Windows

Kontynuując post o samym tworzeniu repozytorium i dostępie do niego z poziomu terminala Linuxa, warto też wspomnieć, że tak samo łatwo skonfigurować go można na Windowsie. Otóż tunel ssh definiujemy w sekcji [tunnels] pliku (ścieżka dla Windows 7): C:\Users\<użytkownik>\AppData\Roaming\Subversion\config Wygląda on mniej więcej tak: ssh = "C:/Programy/Putty/plink.exe" –P <port SVN> –l <użytkownik> –i "C:/Users/<użytkownik>/.ssh/id_rsa" Wyjaśniając: Przy użyciu programu plink (wchodzącego w skład ‘paczki’ putty, którą trzeba pobrać i zainstalować wcześniej), utrzymywane będzie połączenie ssh do serwera. Read more →

Triki z SVN: Przenoszenie repozytorium na OpenWRT

Na szczęście autorzy Subversion przewidzieli, że potrzeba czasem przenieść repozytorium z jednej lokalizacji do drugiej z zachowaniem pełnej historii. Pobieramy i zapisyjemy w pliku ‘repo.dump’ istniejące rewizje poleceniem: svnadmin dump <ścieżka_do_źródłowego_repozytorium> > repo.dump Na ekranie zobaczymy postęp w formie: * Dumped revision 0. * Dumped revision 1. * Dumped revision 2. * Dumped revision 3. * Dumped revision 4. * Dumped revision 5. * Dumped revision 6. * Dumped revision 7. Read more →

Triki z SVN: tworzenie repozytorium na OpenWRT

Na początku serii porad o zarządzaniu i operacjach z serwerem SVN pokażę najprostszą rzecz – a mianowicie utworzenie nowego repozytorium. Zakładam jednocześnie, że będzie ono hostowane na naszym lokalnym routerze z systemem OpenWRT BackFire 10.03 oraz, że w chcemy mieć do niego dostęp przy użyciu protokołów svn:// i svn+ssh://, zależnie od tego, z której strony się łączymy. Prawdopodobnie Subversion nie jest jeszcze zainstalowany w ogóle. Dlatego, aby się upewnić sprawdzamy listę zainstalowanych dodatków: Read more →

Instalacja OpenWRT na Asus WL-500g Premium v1

Słowem wstępu – jak to już wcześniej opisałem udało mi się reanimować router. Model całkiem niezły i radość tym większa, że teraz mając dwa, na jednym można poeksperymentować. Jak zatem da się go jakoś mądrze wykorzystać? Otóż w sieci domowej miło jest mieć jakiś serwerek, gdzie poprzez zwykłe otoczenie w Windowsie można by trzymać kopie swoich dokumentów, zdjęć, filmów i mieć do nich zawsze dostęp. Lub też utrzymywać inne repozytorium (jak SVN, git czy mercurial) albo uderzyć z zupełnie innej strony i postawić sobie stronkę WWW na własne potrzeby. Read more →

SVN serwer po HTTPS – szybko, łatwo i przyjemnie

VisualSVN oprócz wersji klienta SVN, od niedawna udostępnia również instalator, który pomaga w łatwy i przyjemny sposób udostępniać usługę SVN-serwer na własnych serwerach developerskich poprzez HTTP/HTTPS. Razem z binariami do zarządzania repozytorium, instalowany jest serwer Apache (lub to co jest z niego wymagane) oraz autorski panel administracyjny. Poprzez niego zakładane są repozytoria, przypisywane uprawnienia użytkowników oraz generowane (przypinane) certyfikaty SSL dla połączeń HTTPS. To co ucieszyć może domorosłych programistów i administratorów to fakt, iż nawet darmowa wersja pozwala na wykorzystanie go w pracach nad komercyjnymi produktami. Read more →

Instalacja serwera SVN

Zachęcony ostatnio rozmową z kolegą z pracy, który w ramach zarządzania swoim domowym projektem zrobił z nim wreszcie porządek na dysku i przeniósł do systemu kontroli wersji, postanowiłem uczynić to samo. Oczywiście tylko w stosunku do projektów, których na razie nie mam zamiaru publikować i które aktualnie już nie znajdują się na codeplex.com czy code.google.com. Nie będę w tym momencie wychwalał korzyści płynących z utrzymywania repozytorium i możliwości podglądnięcia dowolnych historycznych zmian, etykietowania, czy nawet tworzenia wersji eksperymentalnych naszego projektu w stosunku do stosowanej obecnie (i powszechnie? Read more →