Autore Topic: Consiglio su Project Hosting  (Letto 5244 volte)

Offline lumo

  • Geek
  • ***
  • Post: 21
  • Karma: +0/-0
    • Mostra profilo
Re: Consiglio su Project Hosting
« Risposta #15 il: 22 ſettembre 2011, 13:06:47 »
Citazione da: "dsar"
Citazione da: "lumo"
ma su windows è veramente lentissimo poichè usa le librerie di mingw.
No va lento perché usa le librerie cygwin, non può usare mingw perché Git fa tantissimo uso di syscall POSIX. Motivo per cui è totalmente non-portabile.
Ops era quello che volevo dire anche se ho sbagliato completamente :P
« Ultima modifica: 01 Gennaio 1970, 02:00:00 da Guest »

Offline cdimauro

  • Human Debugger
  • *****
  • Post: 4291
  • Karma: +7/-95
    • Mostra profilo
Re: Consiglio su Project Hosting
« Risposta #16 il: 22 ſettembre 2011, 13:44:19 »
Citazione da: "dsar"
Citazione da: "lumo"
ma su windows è veramente lentissimo poichè usa le librerie di mingw.
No va lento perché usa le librerie cygwin, non può usare mingw perché Git fa tantissimo uso di syscall POSIX. Motivo per cui è totalmente non-portabile.

A me Git non piace per vari motivi: è codato una schifezza, non provo simpatia per l'autore che lo ha ideato (Linus Torvalds) e gli unici vantaggi reali rispetto agli altri sono solo il fast merging e il fast branching utili per gestire il progetto caotico e mal organizzato di Linus Torvalds.
Per il resto Git perde in tutto, come le transizioni lente http o in generale via network.

C'è da dire che i version control distribuiti non se li cagava nessuno fino a quando non è venuto Linus Torvalds a dire che "è un'idea figa", tutti quanti a seguire la sua idea e utilizzare Git a manetta, anche per cose che non c'entrano nulla con i codici sorgenti.
:shock:  :happy-jumpeveryone:  :happy-wavemulticolor:

Offline cdimauro

  • Human Debugger
  • *****
  • Post: 4291
  • Karma: +7/-95
    • Mostra profilo
Re: Consiglio su Project Hosting
« Risposta #17 il: 22 ſettembre 2011, 21:41:51 »
Giusto una precisazione: Mercurial non è scritto interamente in Python. Alcune funzioni, quelle più critiche, sono scritte in C.

Offline Z80Fan

  • Administrator
  • Guru
  • *****
  • Post: 1671
  • Karma: +13/-2
    • Mostra profilo
    • http://z80fan.altervista.org
Re: Consiglio su Project Hosting
« Risposta #18 il: 22 ſettembre 2011, 22:14:40 »
Ma state tranquilli, è solo un tool, mica vi uccide la famiglia...

http://www.youtube.com/watch?v=4XpnKHJAok8

Fatevi quattro risate su...
« Ultima modifica: 01 Gennaio 1970, 02:00:00 da Guest »

Offline Z80Fan

  • Administrator
  • Guru
  • *****
  • Post: 1671
  • Karma: +13/-2
    • Mostra profilo
    • http://z80fan.altervista.org
Re: Consiglio su Project Hosting
« Risposta #19 il: 22 ſettembre 2011, 23:24:12 »
Citazione da: "dsar"
E' un tool che funziona male e con un'architettura molto discutibile, ho esposto la mia idea giusto per compensare le tante belle cose che si dicono su Git :-) la gente ne parla troppo bene solo perché è stato ideato da Torvalds
Invece io ne parlo bene perchè lo uso e mi ci trovo bene, e il suo funzionamento mi sembra corretto. Vedi, alla fine non ci sono solo fanatici. ;)

Cmq vorrei sapere se stai solo parlando dell'implementazione (il programma git), o anche della teoria che ci sta dietro. Perchè nel primo caso potrei anche essere d'accordo (nonostante non abbia trovato nessun problema nell'uso pratico), nel secondo invece no, perchè trovo che un sistema distribuito sia migliore di uno centralizzato.
« Ultima modifica: 01 Gennaio 1970, 02:00:00 da Guest »

Offline cdimauro

  • Human Debugger
  • *****
  • Post: 4291
  • Karma: +7/-95
    • Mostra profilo
Re: Consiglio su Project Hosting
« Risposta #20 il: 23 ſettembre 2011, 06:33:03 »
Citazione da: "Z80Fan"
Ma state tranquilli, è solo un tool, mica vi uccide la famiglia...

http://www.youtube.com/watch?v=4XpnKHJAok8

Fatevi quattro risate su...
Ho chiuso subito dopo aver visto che era Torvalds a parlare. Per il resto concordo con dsar.

P.S. Hai mai usato TortoiseSVN/HG? Provali. E poi dimmi se potrai ancora farne a meno. :D

Offline Allanon

  • Administrator
  • Synthetic Voodoo
  • *****
  • Post: 3498
  • Karma: +17/-4
    • Mostra profilo
    • http://www.a-mc.biz
Re: Consiglio su Project Hosting
« Risposta #21 il: 23 ſettembre 2011, 11:34:24 »
Installato Tortoise, adesso faccio qualche esperimento, cmq a me sembra un tool veramente ottimo, l'integrazione nella shell di Windows è impareggiabile  :D
« Ultima modifica: 01 Gennaio 1970, 02:00:00 da Guest »

Offline TheKaneB

  • Human Debugger
  • *****
  • Post: 5292
  • Karma: +20/-23
    • Mostra profilo
    • http://www.antoniobarba.org
Re: Consiglio su Project Hosting
« Risposta #22 il: 23 ſettembre 2011, 11:53:28 »
Citazione da: "cdimauro"
Citazione da: "Z80Fan"
Ma state tranquilli, è solo un tool, mica vi uccide la famiglia...

http://www.youtube.com/watch?v=4XpnKHJAok8

Fatevi quattro risate su...
Ho chiuso subito dopo aver visto che era Torvalds a parlare. Per il resto concordo con dsar.

P.S. Hai mai usato TortoiseSVN/HG? Provali. E poi dimmi se potrai ancora farne a meno. :D

Mamma mia, ho resistito 3 minuti e con tutte le stronzate che ha sparato Linus mi è salita un'irrefrenabile furia omicida... Linus è uno dei troll più fastidiosi che ci siano in circolazione...
 
devo sfogarmi su qualche collega Linuxiano per compensare...:violence-axechase:
« Ultima modifica: 01 Gennaio 1970, 02:00:00 da Guest »

Offline Z80Fan

  • Administrator
  • Guru
  • *****
  • Post: 1671
  • Karma: +13/-2
    • Mostra profilo
    • http://z80fan.altervista.org
Re: Consiglio su Project Hosting
« Risposta #23 il: 23 ſettembre 2011, 18:08:44 »
Citazione da: "dsar"
un version control che ha bisogno di eseguire il garbage collector ogni 10 commit non si è mai sentito e mai potrò accettare un software di questo genere.
Non ho mai eseguito un "garbage collection", e sicuramente ho fatto più di 10 commit. :lol:

Citazione
Inoltre per i tuoi progetti non va bene Git, i suoi vantaggi si vedono solo su progetti grossi
E non c'è nessun svantaggio nei progetti piccoli. Ci mette 0.9 secondi invece di 0.8 per fare un commit? Decisamente non mi pare un motivo per considerarlo "lento".

Citazione
Parlo dell'implementazione, Git usa snapshot invece di patch, questo va benone su progetti con una miriade di file, ma non va bene per tutto il resto.
Io so che git memorizza le differenze nel contenuto. Cosa sarebbe uno snapshot?

Citazione
Non esiste migliore o peggiore. Per un sistema caotico e disordinato come il kernel di Linux o alcuni progetti opensource dove tutti committano senza revisione, il sistema distribuito va bene ed è la soluzione migliore.
Non funziona così, l'accesso al repository non è consentito a tutti. I programmatori chiedono ai mantainer di prelevare le modifiche dal loro repository, oppure inseriscono le patch che vengono inviate via email da altri. Durante le release Linus preleva tutte le modifiche dai mantainer e poi aggiorna il repository principale.
Quindi già qua vediamo una specie di organizzazione.

Citazione
Nei progetti dove vige un sistema di revisione prima di ogni commit e coordinazione è decisamente meglio un sistema centralizzato, questo è stato uno dei motivi per cui il team di FreeBSD ha rigettato Mercurial a favore di SVN. Tutto questo tralasciando l'aspetto sicurezza dei sistemi distribuiti
Cosa impedisce scusa che non ci sia un sistema di revisione in un sistema distribuito? Git poi ha degli hook che si possono attivare e a cui si possono collegare delle funzioni per diverse operazioni; se proprio non ci si fida dei programmatori, e non si vuole fare un sistema con i mantainer come per Linux, si potrebbero scrivere queste funzioni per eseguire in automatico una build (per vedere se il codice compila), e eseguire la test suite (e eseguire il commit solo se i test passano). Mi rendo conto che questo comporterebbe un bel carico per il server, perciò si può fare in modo che la test suite ritorni un id, codificato in modo che abbini un certo stato del repository (magari lo stesso codice sha1 usato per identificare il commit), e il report della suite. Si creerà poi una funzione che accetta solo i commit che hanno questo codice.

Faccio un esempio di una società che deve fare un videogioco: si creano diversi gruppi, il nostro sarà quello che deve occuparsi del caricamento e della gestione delle risorse. Il nostro gruppo quindi si riunisce, e decidono i vari compiti, come il caricamento delle immagini, dei suoni, dei modelli etc. Inizialmente si comincia il repository con alcuni file di intestazione che definiscono le interfacce dei vari sotto-moduli; a questo punto ogni programmatore crea un branch per sviluppare il sotto-modulo di sua competenza. Quando un modulo è pronto, il relativo programmatore avvisa il capogruppo, che eseguirà un pull dal repo del programmatore, rieseguirà la test suite (perchè è meglio non fidarsi!), e aggiornerà il branch della gestione risorse. Quando tutti i sottomoduli sono completati, verrà eseguito un merge in master.

A me sembra uno scenario abbastanza realistico.

Riguardo la sicurezza, se intendi dire che i programmatori potrebbero portarsi a casa il codice, o che qualcuno possa rubare il portatile dove il programmatore aveva il suo repo, basta fare in modo che si possa lavorare solo dalle workstation dell'azienda. Se poi uno lo vuole prendere proprio e se lo copia con una chiavetta usb, beh, quello si può fare anche con il centralizzato, se uno proprio vuole.

Ovviamente sopra parlo di sistemi distribuiti, quindi puoi anche usare Mercurial al posto di Git; anzi, essendo scritto in Python dovrebbe essere ancora più semplice inserire gli hook no?

Citazione
P.S. Hai mai usato TortoiseSVN/HG? Provali. E poi dimmi se potrai ancora farne a meno. :D
No, non ho mai usato SVN. Mercurial poi è concettualmente simile a Git, molti comandi hanno anche lo stesso nome, e come ho detto nell'uso pratico non si sente nessun bisogno di maggiore velocità, già adesso è tutto istantaneo.

Edit:
Solo ora ho visto cos'è Tortoise. Sembra un tool molto carino.

Citazione
Mamma mia, ho resistito 3 minuti e con tutte le stronzate che ha sparato Linus mi è salita un'irrefrenabile furia omicida... Linus è uno dei troll più fastidiosi che ci siano in circolazione...
:doh:
Ma se in 3 minuti non aveva ancora iniziato a dire niente! :D
Le uniche cose che ha detto sono che non è abituato a fare dei discorsi, quindi preferisce che il pubblico gli faccia delle domande, e che si è trovato veramente male con CVS (che anche in questa sede non sembra se ne parli tanto bene).

Cmq, non prendete sempre tutto con serietà su! :lol:
« Ultima modifica: 01 Gennaio 1970, 02:00:00 da Guest »

Offline Z80Fan

  • Administrator
  • Guru
  • *****
  • Post: 1671
  • Karma: +13/-2
    • Mostra profilo
    • http://z80fan.altervista.org
Re: Consiglio su Project Hosting
« Risposta #24 il: 23 ſettembre 2011, 21:22:25 »
Citazione da: "dsar"
Si "gittavano" la home a mo' di backup, soprattutto per i documenti. Siccome viene pubblicizzato come "veloce" tutti a dire "guarda com'è veloce!".
Ma scusa, se usano un tool per uno scopo per cui non è stato costruito, mica è colpa del tool! :lol:

Citazione
A quel punto gli chiesi: "hai mai usato un version control?"
Questa persona risposte di No, allora come fa a dire che è veloce/migliore se non ha mai utilizzato un version control?
Attento: io non ho mai detto che git "è meglio". E per quanto riguarda la velocità: come ho detto prima, se impiega un secondo per fare un commit, sicuramente non può essere considerato lento, no? ;)

Citazione
I version control in genere memorizzano i diff tra le varie revisioni dei file, però in un progetto con tanti file questo può avere delle penalità in termini di performance. Git usa uno snapshot, immaginalo come un tarball dell'intero progetto, le modifiche successive sono registrate come "delta" tra il tarball precedente e quello nuovo. Quindi se modifichi 200 file e committi non hai 200 diff per ogni file, ma hai un delta (un unico file simile al diff) tra lo snapshot precedente e quello nuovo con i 200 file modificati. Questo fa tantissimo in progetti grossi con un numero di file enorme, nei progetti medio/piccoli hai delle penalità
Bene, ho capito.

Citazione
Se questi vengono professati come "vantaggi" del version control distribuito, significa che nessuno ne ha mai usato uno centralizzato, in primis Torvalds. Poi che ci siano problemi nel fare certe cose dipende dal programma, non dal fatto che sia distribuito oppure no.
Beh io ho solo portato un esempio, per dimostrare che si poteva tranquillamente fare anche con un sistema distribuito. Non volevo né tirare fuori dei vantaggi, né denigrare il sistema centralizzato.

Citazione
Il problema è il concetto estremo di version control distribuito, in cui non vi è il cosiddetto bona fide repository, di conseguenza ogni scambio di informazioni è senza controllo
Beh ovvio, se uno va a pullare in giro da chiunque... :lol:
« Ultima modifica: 01 Gennaio 1970, 02:00:00 da Guest »

Tags: