[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

pl.comp.programming

ladowanie do svn aktualnego stanu drzewa katalogów i uwzglednianie zmian

Sebastian Bialy

6/11/2007 9:18:00 PM

Witam!

Nie potrafie znale?a lepszej grupy, wiec pisze na ogóln?, jesli ?le to
prosze o wskazanie prawid3owej :)

Mam pewne drzewo katalogów/plików.

Ze wzgledu na wygode przegl?dania zmian oraz niewielki rozmiar drzewa
(kilkadziesi?t plików w kilkunastu katalogach) pomy?la3em ?eby wrzucia
ca3o?c do svn.

Ma to plusy:

a) moge cofn?c sie w czasie do dowolnej rewizji
b) moge wygodnie obejrzea dokonane zmiany w konkretnym momencie
c) mam juz zrobiony backup tego serwera svn

Wyobra?am sobie to tak:

1) Mam katalog z owym drzewem. Nazwijmy go "source".
2) mam katalog z aktualnym stanem repozytorium
3) W cron-ie odpalam okresowo skrypt
4) skrypt kopiuje zawarto?a source do repozytorium
5) poleceniem

svn status | grep ^? | cut -b 8- | xargs svn add

dodaje nowe pliki

6) commituje.

Niestety ten system ma wade. Tworzy repozytorium "przyrostowo".
Skasowanie pliku nie zostanie zauwa?one.

Nie zalezy mi na commitowaniu _ka?dej_ zmiany a jedynie na okresowym
wrzucaniu zmian do svn. Zmian bedzie niewiele, ale zmuszanie kogo? do
recznego usuwania plikóww svn nie wchodzi w rachube.

Teraz pytanie:

Czy istnieje jaka? w3a?ciwa metoda synchronizacji stanu jakiego?
katalogu z repozytorium? Mi do szcze?cia brakuje usunietych plików i jak
bym sie _bardzo_ upar3 to móg3bym je wyszukaa i usun?c z svn. Ale to
jest takie dorabianie nowych rzeczy to toola w sposób ?rednio 3adny.

Od razu mówie, ze repozytorium svn w tym wypadku traktowane jest jako
archiwum zmian (bo akurat serwer svn mam backupowany i nie ma sensu
robic recznie inngo backupu tych plikow). Dlatego odpadaja wszelkie
problemy typu praca wielu osob na plikach etc. Jedyne co chce to miec
synchronizacje tego co na dysku z tym co w repozytorium (z grubsza co
jakis cronowy czas).

To nie jest jakis strasznie wa?ny system, chce to zrobia dla w3asnej
wygody i nawet jesli czasami wrzuci plik, który kto? aktualnie edytuje
nic sie nie stanie.

Idealnie by3o by gdyby istnia3o narzedzie potrafi?ce dostaj?c katalog
repozytorium i katalog "source" zaktualizowac repozytorium do stanu w
"source" uwzgledniaj?c zmiany, dodania i usuniecia plików. Na razie
potrafie tylko dodawaa i nie podoba mi sie ta metoda.

I jeszcze jedno: "source" nie mo?e posiadaa katalogów ".svn" - musi bya
czyste. St?d kopiowanie source do repozytorium.
13 Answers

Lukasz Zemla

6/11/2007 9:53:00 PM

0

Sebastian Bialy pisze:
> Witam!
>
> Nie potrafie znale?a lepszej grupy, wiec pisze na ogóln?, jesli ?le to
> prosze o wskazanie prawid3owej :)
>
> Mam pewne drzewo katalogów/plików.
>
> Ze wzgledu na wygode przegl?dania zmian oraz niewielki rozmiar drzewa
> (kilkadziesi?t plików w kilkunastu katalogach) pomy?la3em ?eby wrzucia
> ca3o?c do svn.
>
> Ma to plusy:
>
> a) moge cofn?c sie w czasie do dowolnej rewizji
> b) moge wygodnie obejrzea dokonane zmiany w konkretnym momencie
> c) mam juz zrobiony backup tego serwera svn
>
> Wyobra?am sobie to tak:
>
> 1) Mam katalog z owym drzewem. Nazwijmy go "source".
> 2) mam katalog z aktualnym stanem repozytorium
> 3) W cron-ie odpalam okresowo skrypt
> 4) skrypt kopiuje zawarto?a source do repozytorium
> 5) poleceniem
>
> svn status | grep ^? | cut -b 8- | xargs svn add

A nie wygodniej u?ya rsync?

--
Pozdrawiam,
?ukasz "Coulomb" Zem3a

Sebastian Bialy

6/11/2007 10:01:00 PM

0

?ukasz Zem3a wrote:
>> svn status | grep ^? | cut -b 8- | xargs svn add
> A nie wygodniej u?ya rsync?

Co masz na my?li ? ?eby usuwa3o / dodawa3o pliki? Jak to zrobie to
akurat nie ma znaczenia. Mnie interesuje ?eby je dodawa3o (to 3atwe) i
usuwa3o (to trudne) w svn :) I to sprytnie, bo je?li np. usune katalog z
drzewa ?ród3owego to usuniecie go tak po prostu z working-copy svn mo?e
uszkodzia to working-copy i nie uda sie commitowaa zmian. Ogólnie
istnieje jakies trywialne rozwi?zanie w postaci jakiego? gotowego toola
(którego nie potrafie odnale?a), albo nie istnieje i mam problem.

Tomasz bla Fortuna

6/11/2007 11:20:00 PM

0

Dnia Tue, 12 Jun 2007 00:01:12 +0200
Sebastian Bialy <heby@poczta.onet.pl> napisal(a):

> Lukasz Zemla wrote:
> >> svn status | grep ^? | cut -b 8- | xargs svn add
> > A nie wygodniej uzyc rsync?
>
> Co masz na mysli ? Zeby usuwalo / dodawalo pliki? Jak to zrobie to
> akurat nie ma znaczenia. Mnie interesuje zeby je dodawalo (to latwe)
> i usuwalo (to trudne) w svn :) I to sprytnie, bo jesli np. usune
> katalog z drzewa zródlowego to usuniecie go tak po prostu z
> working-copy svn moze uszkodzic to working-copy i nie uda sie
> commitowac zmian. Ogólnie istnieje jakies trywialne rozwiazanie w
> postaci jakiegos gotowego toola (którego nie potrafie odnalezc), albo
> nie istnieje i mam problem.
Takim luznym komentarzem chcialem polecic Ci GIT-a. Uzywalem zawsze
subversion, a tak nie dawno obejrzalem i pokochalem.

Jesli wrzucisz pliki do repos gita i zrobisz 'git add .' to potem 'git
commit -a' doda je wszystkie.
Jesli skasujesz którykolwiek plik z repos to 'git commit -a' bez
dodatkowego "git rm" usunie plik z kolejnej wersji repozytorium.

Nie wiem czy mozesz na to pójsc, ale ja przestawilem sie w 2 dni
calkowicie. ;) W kazdym razie polecam uwadze.

--
Tomasz bla Fortuna
jid: bla(at)af.gliwice.pl
pgp: 0x90746E79 @ pgp.mit.edu
www: http://bl...

Hola

6/12/2007 6:41:00 AM

0

Sebastian Bialy napisa3(a):
> ?ukasz Zem3a wrote:
>>> svn status | grep ^? | cut -b 8- | xargs svn add
>> A nie wygodniej u?ya rsync?
>
> Co masz na my?li ? ?eby usuwa3o / dodawa3o pliki? Jak to zrobie to
> akurat nie ma znaczenia. Mnie interesuje ?eby je dodawa3o (to 3atwe) i
> usuwa3o (to trudne) w svn :) I to sprytnie, bo je?li np. usune katalog z
> drzewa ?ród3owego to usuniecie go tak po prostu z working-copy svn mo?e
> uszkodzia to working-copy i nie uda sie commitowaa zmian. Ogólnie
> istnieje jakies trywialne rozwi?zanie w postaci jakiego? gotowego toola
> (którego nie potrafie odnale?a), albo nie istnieje i mam problem.

nie wiem
moze svn st i te skasowane wywalic?
nie znam svn na tyle dobrze.
konfliktow nie bedzie?

Mateusz Loskot

6/12/2007 7:22:00 AM

0

Sebastian Bialy wrote:
> Od razu mówie, ze repozytorium svn w tym wypadku traktowane jest jako
> archiwum zmian (bo akurat serwer svn mam backupowany i nie ma sensu
> robic recznie inngo backupu tych plikow). Dlatego odpadaja wszelkie
> problemy typu praca wielu osob na plikach etc. Jedyne co chce to miec
> synchronizacje tego co na dysku z tym co w repozytorium (z grubsza co
> jakis cronowy czas).

IMO svn tutaj sie nie sprawdzi.
Ja bym u?y3 git lub darcs i okresowo, zamiast wykonywaa
N krokow w cely sync-archiwizacji, niech cron po prostu
robi kopie ca3ego katalogu roboczego, który w git/darcs
jest to?samy z repo (bo to RCS rozproszony).
W ten sposób zarchiwizowany masz zawsze stan aktualny
oraz historie.

Jest jedna wada, zamiast rm czy mv nale?y u?ya polecen git/darcs,
dla tak zarz?dzanego drzewa plików.

Zalet? w porównaniu z SVN jest to ?e nie ma tu centralnego repo
wzgledem którego sie sync'ujesz, czyli masz o jedn? warste mniej.

Podzrawiam
--
Mateusz Loskot
http://mateusz....

Hola

6/12/2007 10:01:00 AM

0

> Jest jedna wada, zamiast rm czy mv nale?y u?ya polecen git/darcs,
> dla tak zarz?dzanego drzewa plików.

ale to bylo wlasnie glownym pytaniem ;)

Mateusz Loskot

6/12/2007 11:23:00 AM

0

Hola wrote:
>> Jest jedna wada, zamiast rm czy mv nale?y u?ya polecen git/darcs,
>> dla tak zarz?dzanego drzewa plików.
>
> ale to bylo wlasnie glownym pytaniem ;)

Wiem, ale mo?e niedok3adnie okre?li3em moje rozwi?zanie.
Podczas normalnej pracy i tak i tak wykonuje sie
operacje jak usuwanie, przenoszenie plików.
Sugeruje, aby zamiast polecen pow3oki, u?ya od razu polecen git lub
darcs (zast?pia jedne drugimi):

touch/copy -> git-add
mv -> git-mv
rm -> git-rm

Pozdrawiam
--
Mateusz Loskot
http://mateusz....

Zbyszek Malec

6/12/2007 11:31:00 AM

0

Dnia Tue, 12 Jun 2007 13:22:44 +0200, Mateusz Loskot napisa3(a):

> Sugeruje, aby zamiast polecen pow3oki, u?ya od razu polecen git lub
> darcs (zast?pia jedne drugimi):

Mo?na userom aliasy podefiniowaa i niech kombinuj? ;)

--
Zbyszek Malec Ustronie 104
jid: zbyszanna@jid.pl

SirMike

6/12/2007 2:02:00 PM

0

Dnia Mon, 11 Jun 2007 23:17:45 +0200, Sebastian Bialy napisa3(a):

> Czy istnieje jaka? w3a?ciwa metoda synchronizacji stanu jakiego?
> katalogu z repozytorium? Mi do szcze?cia brakuje usunietych plików i jak
> bym sie _bardzo_ upar3 to móg3bym je wyszukaa i usun?c z svn. Ale to
> jest takie dorabianie nowych rzeczy to toola w sposób ?rednio 3adny.

Pytanie zasadnicze - masz jakis cel czy tylko tak sobie wymysliles problem?
Wg mnie takie postepowanie spowoduje burdel w repozytorium i zamiast ladnej
historii zmian (z komentarzami itp. bo taka jest wlasnie idea systemow
kontroli wersji) bedziesz mial zwykly smieciowy backup.

--
SirMike - http://www.s...

C makes it easy to shoot yourself in the foot; C++ makes it harder, but
when you do, it blows away your whole leg. - Bjarne Stroustrup

Hola

6/12/2007 2:31:00 PM

0

SirMike napisa3(a):
> Dnia Mon, 11 Jun 2007 23:17:45 +0200, Sebastian Bialy napisa3(a):
>
>> Czy istnieje jaka? w3a?ciwa metoda synchronizacji stanu jakiego?
>> katalogu z repozytorium? Mi do szcze?cia brakuje usunietych plików i jak
>> bym sie _bardzo_ upar3 to móg3bym je wyszukaa i usun?c z svn. Ale to
>> jest takie dorabianie nowych rzeczy to toola w sposób ?rednio 3adny.
>
> Pytanie zasadnicze - masz jakis cel czy tylko tak sobie wymysliles problem?
> Wg mnie takie postepowanie spowoduje burdel w repozytorium i zamiast ladnej
> historii zmian (z komentarzami itp. bo taka jest wlasnie idea systemow
> kontroli wersji) bedziesz mial zwykly smieciowy backup.
>
razem z plikami tymczasowymi itp.
to dobre pytanie