Jarosław Rybski

Jarosław Rybski Programista
C/C++/Python

Temat: SVN - błąd w konfiguracji czy niedoróbka

Witam,

W zasadzie to pytanko powinno trafić na grupę z SVN-em ale tam tylko 5 osób a i tak chyba za szybko bym nie otrzymał potrzebnej mi informacji. A My programiści to właściwie na co dzień z tym żyjemy - no może nie wszyscy.

Do rzeczy - jeśli dam Lock na pliku i go edytuję to inny programista przeglądając repozytoria poprzez Explorer Windows (czyli normalnie po katalogach) nie widzi że ja pobrałem ten plik - ikona na pliku wskazuje że plik jest wolny do edycji (chyba że będzie próbował go pobrać to otrzyma stosowny komunikat). Dopiero żeby zobaczyć kto ma jakie pliki pobrane muszę patrzeć w repo-browser. Wprawdzie nie jest to duży kłopot ale jest nieefektywne. I teraz czy da się tak zrobić (a może tak powinno być tylko że coś jest skopane) że jeśli którykolwiek programista pobiera plik na siebie to żebym ja widział to na podstawie ikonek w katalogu nie uruchamiając repo-browsera tylko w explorator windows lub w total commanderze. Na repo działam poprzez tortoise.

Pozdrawiam
Jarosław P.

Jarosław P. IT, JBG-2 Sp. z o.o.

Temat: SVN - błąd w konfiguracji czy niedoróbka

[...]
mi informacji. A My programiści to właściwie na co dzień z tym żyjemy - no może nie wszyscy.
Jak można tworzyć programy i nie używać systemów kontroli wersji dla źródeł? ;)

Wydaje mi się, że chcesz używać Subversiona nie tak jak był projektowany. Polecam rzucić okiem na: "Version Control with Subversion", tam są wyjaśnione podstawy i zasady stosowania programu. W dużym skrócie Subversion pracuje w trybie "copy-modify-merge" i w zasadzie dla kodów źródłowych (pliki txt) nie trzeba stosować blokowania plików do edycji. Każda osoba pracuje na własnej lokalnej kopii repo.

Poza samym systemem kontroli wersji można zastosować dodatkowe narzędzia (współpracujące z Subversion np. Trac) ułatwiające zarządzające projektem, zgłoszeniami o błędach, zadaniami ("task") i itd..

[...]Jarosław P. edytował(a) ten post dnia 30.06.10 o godzinie 23:32

konto usunięte

Temat: SVN - błąd w konfiguracji czy niedoróbka

Jarosław P.:
[...]
mi informacji. A My programiści to właściwie na co dzień z tym żyjemy - no może nie wszyscy.
Jak można tworzyć programy i nie używać systemów kontroli wersji dla źródeł? ;)
Można używać innych systemów kontroli wersji, niż SVN ;)
Jakub L.

Jakub L. Programista

Temat: SVN - błąd w konfiguracji czy niedoróbka

Jak powyżej - czemu musisz blokować pliki?
Jarosław Rybski

Jarosław Rybski Programista
C/C++/Python

Temat: SVN - błąd w konfiguracji czy niedoróbka

Ok można używać czegoś innego i co innego używałem. Teraz używam SVN i pytanko dotyczy tych właśnie ikonek - proszę nie zmieniać kontekstu pytania. Nie wyobrażam sobie programowania gdzie nie ma blokowania plików na wyłączność i dwóch programistów coś sobie poprawia w tej samej funkcji a potem wiadomo co może być.
Edit
Ok możemy zmiany scalać zmiany w plikach ale daję prosty przykład:
plik1.cpp

void urodziny()
{
przynieść_mąkę
zagnieść_ciasto
wrzucić_do_piekarnika
pieczemy
}
main()
{
urodziny()
}


plik1.cpp

void urodziny()
{
kupić_rower
pojechać_do_sklepu_po_ciasto
wrzucić_do_piekarnika
pieczemy
}
main()
{
urodziny()
}


program robi jedno i to samo - ale jakoś mi się to nie widzi bez blokowania plików.

Pozdrawiam.Jarosław Rybski edytował(a) ten post dnia 01.07.10 o godzinie 08:54
Jakub L.

Jakub L. Programista

Temat: SVN - błąd w konfiguracji czy niedoróbka

A ja wyobrażam. W sumie nie muszę sobie wyobrażać, bo widziałem :)
W rzeczywistości takie sytuacje są dość rzadkie i zasługują na spotkanie twarzą w twarz albo na jakimś komunikatorze i obgadanie problemu przez owych 2 programistów.
W przypadku lokowania pliku jeden programista blokuje pracę drugiego, co jest dość samobójcze w przypadku na przykład dedlajnów, albo wręcz ją niszczy - edytuje plik na boku i nadpisuje zmiany tamtego który zalokował.
Tak czy inaczej żeby było to zrobione porządnie, kończy się ręcznym merdżowaniem.
Dodatkowo w patologicznych przypadkach (programista święta krowa) wszystkie pliki danego modułu mogą zostać zalokowane, żeby nikt nie dotykał kodu doskonałego, i co wtedy?

Kontekst jest ważny, bo po podłubaniu w pytaniu może się okazać, że tak na prawdę brzmiało ono którą częścią mikroskopu TPL Biotar Junior 100x - 900x (*) najlepiej wbijać gwoździe?
(*) pierwszy typ mikroskopu który wygooglałem.
Jarosław Rybski

Jarosław Rybski Programista
C/C++/Python

Temat: SVN - błąd w konfiguracji czy niedoróbka

W sumie co projekt to jest inna polityka. U mnie bynajmniej jest tak nie od dziś, nie od wczoraj a od dawna że:
- wszystkie pliki są wolne - nie zablokowane
- programista chcąc kodować w nim blokuje go na wyłączność.
- inny programista nie ma możliwości zmian w nim dopóki poprzedni go nie odda
- po wstępnym przetestowaniu zmieniony program wraca do repozytorium i jest odblokowywany.

Taka jest u mnie polityka i to nie jest moje widzi mi się tylko odgórne decyzje.

Przypominam że pytanie nie dotyczyło po co blokować pliki lub co innego używać a tyczy się ikonek.

Pozdrawiam.

konto usunięte

Temat: SVN - błąd w konfiguracji czy niedoróbka

Jarosław Rybski:
Ok można używać czegoś innego i co innego używałem. Teraz używam SVN i pytanko dotyczy tych właśnie ikonek - proszę nie zmieniać kontekstu pytania. Nie wyobrażam sobie programowania gdzie nie ma blokowania plików na wyłączność i dwóch programistów coś sobie poprawia w tej samej funkcji a potem wiadomo co może być.
Dolacze do pytania Jakuba: po jasna cholere chcesz blokowac pliki? Przeciez to jest niesamowicie nieefektywne. Oczywiscie lockowanie sie przydaje ale wg. mnie tylko w przypadku plikow binarnych np. *.doc, *.png etc. Jezeli pracujecie w ten sposob, to sugeruje na poczatek przeczytac http://svnbook.red-bean.com, a pozniej zmodyfikowac swoje procedury pracy.Tomasz K. edytował(a) ten post dnia 01.07.10 o godzinie 09:17
Jarosław Rybski

Jarosław Rybski Programista
C/C++/Python

Temat: SVN - błąd w konfiguracji czy niedoróbka

Dolacze do pytania Jakuba: po jasna cholere chcesz blokowac pliki?

Napisałem wyżej po co blokować. Natomiast Wy się uparliście na co innego a ja o czym innym. Polityki w firmie nie zmienię nawet jeśli to o czym piszecie to prawda i jest lepsze. Przypominam - ikonki.
Paweł Grzegorz Kwiatkowski

Paweł Grzegorz Kwiatkowski Architekt
oprogramowania,
Ericsson

Temat: SVN - błąd w konfiguracji czy niedoróbka

Możliwe, że błąd leżał w wyborze systemu kontroli wersji. Tak to jest jak
wybiera się młotek do wkręcania śrubek ;p

Co do ikonek, to nie wiem. Może zgłoś problem/propozycję do developerów SVN.

pozdr,
Paweł
Piotr T.

Piotr T. programista GIS,
analityk GIS,
(www.cgis.pl)

Temat: SVN - błąd w konfiguracji czy niedoróbka

Mechanizm "lock-modify-unlock" (z tego co pamiętam) wymagał dodania do plików, ktore mają działać w tym trybie, parametru svn:needs-lock. Sprawdź sobie w podręczniku do Tortoise/SVN.Piotr Tracz edytował(a) ten post dnia 01.07.10 o godzinie 10:07

konto usunięte

Temat: SVN - błąd w konfiguracji czy niedoróbka

Możliwe, że błąd leżał w wyborze systemu kontroli wersji.
Raczej blad jest w procedurach pracy.
Co do ikonek, to nie wiem. Może zgłoś problem/propozycję do developerów SVN.
Przeciez to nie jest ich dzialka.

BTW: @Jarek: A co mowi Wasz CM na ten temat?Tomasz K. edytował(a) ten post dnia 01.07.10 o godzinie 10:21
Jarosław Rybski

Jarosław Rybski Programista
C/C++/Python

Temat: SVN - błąd w konfiguracji czy niedoróbka

BTW: @Jarek: A co mowi Wasz CM na ten temat?[edited]Tomasz K.

CM - ? możesz rozwinąć skrót?

Wcześniej był VSS natomiast były jakieś przesłanki żeby przejść na SVNa

konto usunięte

Temat: SVN - błąd w konfiguracji czy niedoróbka

CM - ? możesz rozwinąć skrót?
Configuration Management.
Wcześniej był VSS natomiast były jakieś przesłanki żeby przejść na SVNa
Aaa to IMHO wszystko jasne - stare przyzwyczajenie oraz brak rozeznania w mozliwosciach SVN'a (tudziez niewlasciwe wdrozenie).
Odnosine VSS'a to pewnie chodzi o ten 'feature' (za Wikipedia):
"[...]The criticism concerning instability stems largely from the way Visual SourceSafe uses a direct, file-based access mechanism that allows any client to modify a file in the repository after locking it[..]"Tomasz K. edytował(a) ten post dnia 01.07.10 o godzinie 12:22
Jarosław Rybski

Jarosław Rybski Programista
C/C++/Python

Temat: SVN - błąd w konfiguracji czy niedoróbka

Odnosine VSS'a to pewnie chodzi o ten 'feature' (za Wikipedia):
"[...]The criticism concerning instability stems largely from the way Visual SourceSafe uses a direct, file-based access mechanism that allows any client to modify a file in the repository after locking it[..]"Tomasz K. edytował(a) ten post dnia 01.07.10 o godzinie 12:22


No nie zgadłeś akurat. W każdym bądź razie na przyszłość proszę czytać ze zrozumieniem. Nie chodziło o pytanie po co blokować, czego używać a jedynie tyczyło się ikonek i nic więcej.

Pozdrawiam.

konto usunięte

Temat: SVN - błąd w konfiguracji czy niedoróbka

No nie zgadłeś akurat. W każdym bądź razie na przyszłość proszę czytać ze zrozumieniem. Nie chodziło o pytanie po co blokować, czego używać a jedynie tyczyło się ikonek i nic więcej.
Nie zmienia to faktu, ze Wasze podejscie do pracy z SVNem jest niewlasciwe IMHO.
Jarosław Rybski

Jarosław Rybski Programista
C/C++/Python

Temat: SVN - błąd w konfiguracji czy niedoróbka

Nie zmienia to faktu, ze Wasze podejscie do pracy z SVNem jest niewlasciwe IMHO.

No pewnie tak jest - wg Ciebie. Ja uważam że to dobry styl w projekcie w którym uczestniczę. Nie rozumiem tego jak można coś takiego wywnioskować nie widząc projektu. Skoro blokowanie plików jest takie złe więc po co to zostało zaimplementowane w systemach kontroli wersji.
Każdy ma swoje zdanie i znajdą się osoby które potwierdzą że to jest im potrzebne a inni wręcz przeciwnie. Natomiast nigdy nie znalazłem osoby która by stwierdziła że coś robimy źle, niewłaściwie nie wiedząc co robimy i jak to robimy.

konto usunięte

Temat: SVN - błąd w konfiguracji czy niedoróbka

Jarosław Rybski:
Nie zmienia to faktu, ze Wasze podejscie do pracy z SVNem jest niewlasciwe IMHO.

No pewnie tak jest - wg Ciebie. Ja uważam że to dobry styl w projekcie w którym uczestniczę. Nie rozumiem tego jak można coś takiego wywnioskować nie widząc projektu. Skoro blokowanie plików jest takie złe więc po co to zostało zaimplementowane w systemach kontroli wersji.

Nigdzie nie powiedzialem ze blokowanie jest zle - podalem nawet przyklady, kiedy jest pomocne. Po prostu Wy uzywajac lockow pracujecie szeregowo, co powoduje IMHO niepotrzebne marnowanie zasobow ludzkich.
Każdy ma swoje zdanie i znajdą się osoby które potwierdzą że to jest im potrzebne a inni wręcz przeciwnie. Natomiast nigdy nie znalazłem osoby która by stwierdziła że coś robimy źle, niewłaściwie nie wiedząc co robimy i jak to robimy.
Jest wyjasnienia tego 'fenomenu': pracuje sie w danym srodowisku lat n co powoduje ze sie po prostu przyzwyczajamy do niektorych rzeczy.

Koniec offtopic'a.Tomasz K. edytował(a) ten post dnia 01.07.10 o godzinie 15:54
Jarosław P.

Jarosław P. IT, JBG-2 Sp. z o.o.

Temat: SVN - błąd w konfiguracji czy niedoróbka

@Piotr
Jak można tworzyć programy i nie używać systemów kontroli wersji dla źródeł? ;)
Można używać innych systemów kontroli wersji, niż SVN ;)
Moje pytanie było jak można pracować bez SCM a nie tego konkretnego ;)

@Jarek
1) VSS pracuje zapewne w trybie "lock-modify-unlock", Subversion zaś "copy-modify-merge". Zastąpienie jednego drugim by tak samo pracował będzie ciężko.

2) TortoiseSVN tego co chcesz nie obsługuje, a w FAQ pisze dlaczego.

3) Wtyczka do Total Commandera - svndetails (bazuje na TortoisesSVN)Jarosław P. edytował(a) ten post dnia 03.07.10 o godzinie 23:46

konto usunięte

Temat: SVN - błąd w konfiguracji czy niedoróbka

Jarosław Rybski:
Nie zmienia to faktu, ze Wasze podejscie do pracy z SVNem jest niewlasciwe IMHO.

No pewnie tak jest - wg Ciebie. Ja uważam że to dobry styl w projekcie w którym uczestniczę. Nie rozumiem tego jak można coś takiego wywnioskować nie widząc projektu.

To jest w zasadzie prawda. Wszystko zależy od wielkości projektu, blokowanie pliku na wyłączność jest cholernie nieskalowalne. Jeśli jednak przy projekcie pracuje 10 osób - czemu nie?



Wyślij zaproszenie do