Skocz do zawartości

[Git]Ogolne ogarnięcie projektu scentralizowania róznych SVN.


ALIENQuake

Polecane posty

Witajcie.

Nie znalazłem lepszego działu dla tego tematu, w którym mógłbym zapytać o poboczne technologie i rozwiązania towarzyszące programowaniu.

 

Na wstępie może napisze, że przydałaby mi się pomoc od kogoś, kto dobrze orientuje się w systemie Git np: zna submoduły, bo tutaj chyba się to przyda. Jak coś to mogę zaoferować drobne wsparcie w postaci czteropaka ;-]

 

Zakończyłem pierwszy etap mojego małego projektu jakim było stworzenie portalu internetowego (gdyby kogoś interesowało jak to wyszło: MojaMiranda.pl) a teraz chciałbym przejść do etapu numer 2.

 

Otóż chciałbym stworzyć w repozytorium Git'a klona projektu Miranda IM. Jest parę takich klonów ale działają one pod kontrolą SVN i ich autorzy muszą się męczyć z mergowaniem zmian ręcznie. Ja wolałbym tego uniknąć za wszelką cenę aby zaoszczędzić czas na inne rzeczy.

 

Wybaczcie, jeżeli dla niektórych z was Git+Windows wywołuje odruchy wymiotne lub uśmiech na twarzy, ale po tym jak obejrzałem godzinną prezentację o tym systemie, nie chcę tykać SVN. Nie mam problemu z obsługą linii komend ale znalazłem dosyć ciekawe narzędzie: SmartGit

 

Niestety klon głównego repozytorium to nie wszystko, trzeba też dołączyć wiele zdalnych repozytoriów ponieważ zawierają one bardzo istotne wtyczki.

 

W mojej ogólnej wizji mam taki zarys:

 

1. Pierwszym podstawowym repozytorium jakie należny wziąć pod uwagę jest to: http://miranda.googlecode.com/svn/trunk/

 

Jest to cały główny projekt i od tego trzeba zacząć ale w taki sposób aby można było wszystkie zmiany w kodzie z tego repozytorium uwzględniać w moim możliwie najprościej. I mniej kliknięć/poleceń tym lepiej. Na pewno też da się zautomatyzować ten proces.

 

2. Kolejne przykładowe repozytorium z wtyczką Tlen'a: http://svn.berlios.de/svnroot/repos/mtlen/trunk/tlen/ - idea jest taka sama: autor robi jakieś zmiany w swoim repo, ja coś klikam i jego zmiany lądują u mnie.

 

3. W taki sam sposób ja dodam kolejne "zdalne" źródła aby zminimalizować ilość czasu potrzebnego do uwzględnienia zmian, które dokonują oryginalni autorzy wtyczek.

 

4. Ostatnim etapem jest wprowadzanie moich/kogoś innego zmian ale tak, aby nie tykać tych "zdalnie " pobieranych repo (aby nie było problemów przy pobieraniu kolejnych zmian), przy czym zaznaczam, że nie trzeba się na razie martwic o to czy moje zmiany rozwalą program czy nie bo będzie na razie tylko kosmetyka.

 

No i teraz trochę pytań:

 

- czy da się to w miarę sprawnie ogarnąć aby nie siedzieć godzinami po to tylko aby gdzieś tam wylądowała kopia zmian z 30 repozytoriów ? Docelowo wtyczek będzie około 100 ale nie wszystkie mają zdalne repo.

 

- czy da się stworzyć to w taki sposób, aby łatwo można było pobrać moje specyficzne zmiany dla jakiejś wtyczki, nie musząc przy okazji ściągać całego mega repo/projektu tylko pobrać zmiany dla jego wtyczki ? Czy idea "Hey, pull from me !" zadziała w przypadku, jeżeli moje repo jest na Gicie a jego na SVN ?

 

- jak potem wygląda sprawa z projektem w Visual Studio ? Czy da się zautomatyzować taką jedną wielgaśną kompilację wszystkich wtyczek zawartych w repozytorium ? Nie będzie zajmować to wieki ?

 

Pierwsze próby: https://github.com/MojaMiranda/Langpack wylądowały pliki do robienia polskiego tłumaczenia i już sobie coś tam commituje :-]

 

Tak jak pisałem, potrzebuję pomocy od kogoś obeznanego z Git'em i nie bojącego się tego odpalić na systemie Windows.

 

Jakby ktoś chciał napisać to mam również GG: 23182446

Link do komentarza
Udostępnij na innych stronach

Ogólnie git'a używałem tylko pobieżnie więc nie za bardzo ci pomogę. Ale to co opisujesz to bardziej mi podchodzi pod mevena niż gita. Podejrzewam że sporo się napałujesz aby zautomatyzować pobranie z svn'a i przerzucanie tego pod gita z mergowaniem. SVN daje ci automatyczne mergowanie podobnie jak git, ale nie wierz w bajki ze wszystko ci magicznie zabangla. Jak sypną się konflikty to i tak będziesz musiał ręcznie walczyć. Na mój gust skończy się twoja droga napisaniem jakiegoś skryptu który będzie naprzemiennie pobierał dane z svn'a i gita i mergował je w jakiś tam sposób (albo jednym systemem albo drugim).

Always Dark<br />u1_tt_logo.png banner-1.pngexFabula-banner.pngson_banner_ubersmall.jpg

Link do komentarza
Udostępnij na innych stronach

A dleczego po prostu nie użyjesz svn'a ? Z tego co rozumiem to chcesz ściagnąć jakieś tam moduły, które pewnie są rozwijane jako osobne repo albo branch, i od tego momentu rozwijać to po swojemu. Więc czemu nie pobierzesz danej rewizji do siebie i od tego momentu nie zaczniesz rozwijac dalej ? Po co chcesz łączyć wszystko do kupy ?

Always Dark<br />u1_tt_logo.png banner-1.pngexFabula-banner.pngson_banner_ubersmall.jpg

Link do komentarza
Udostępnij na innych stronach

O nie, sio z SVN :P Zobaczyłem jak się pracuje na Gicie to jest kosmos. To zmienia sposób w jaki pracujesz i twoją wydajność. Poza tym projekt ma około 100 wtyczek. Wystarczy, że tylko 10 z nich się zmieni na tydzień i już mój kod będzie przestarzały. Aktualizacja kodu to podstawa u mnie. Moje zmiany będą w innej sferze na początek, że to tak ujmę.

 

Chyba będzie trzeba posiedzieć tydzień i robić samemu cuda na kiju to może coś wyjdzie z tego.

Link do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

×
×
  • Utwórz nowe...