Newsgroup: it.comp.lang.delphi
Titolo: Condivisione sorgenti

Ciao a tutti. Vorrei chiedervi un consiglio a proposito della 
condivisione dei sorgenti all'interno di un gruppo di lavoro.
Attualmente stiamo lavorando in tre sullo stesso progetto. I sorgenti 
risiedono su un server FTP, la mattina li scarichiamo, durante il giorno 
ci lavoriamo, e la sera riportiamo tutto sul server. Inutile dire che 
abbiamo fatto un bel po' di pasticci quando ci è capitato di lavorare 
sulla stessa unit all'insaputa l'uno dell'altro. Allora abbiamo deciso 
di utilizzare uno strumento per il controllo di versione.
Tempo fa utilizzai CVS per un progetto collaborativo all'università, ma 
abbiamo usato un IDE diverso da Delphi. Comunque ricordo che se volevamo 
mantenere sotto controllo di versione un file, dovevamo editarlo 
necessariamente nell'IDE. Se ad esempio facevamo un piccola modifica 
esterna con il blocco note su un file XML di poche righe, questo file 
"sfuggiva" al controllo di versione.
Secondo la vostra esperienza, esiste una qualche implementazione di CVS 
o Subversion che mantenga il controllo di versione sui file a 
prescindere dal programma che edita i file? Inoltre, tengono traccia 
della cancellazione o del cambiameno di nome di un file o una cartella?
Volendo estendere il discorso anche ad altri tipi di file che fanno 
parte del progetto (immagini, suoni, ecc.), è possibile tenere sotto 
controllo di versione anche questi?
Estendo ancora di più il discorso, ma questa volta non con finalità di 
condivisione di sorgenti, ma di backup: dato che ho distrutto due 
notebook nel giro di un mese (entrambi con due anni e mezzo di vita, 
comunque) ho corso due volte il rischio di perdere i dati. 
Fortunatamente ho l'abitudine di fare un backup della partizione dati su 
hard disk esterno ogni sabato pomeriggio, ma se la rottura fosse 
capitata proprio di venerdì sera avrei perso una settimana di lavoro. 
Quindi stavo pensando che se mettessi sotto controllo di versione 
l'intera partizione dati, potrei tenere una specie di backup 
costantemente aggiornato sul server, naturalmente ricordandomi di fare 
il commit un paio di volte al giorno. Potrebbe funzionare?
Scusatemi se mi sono dilungato un po'... ciao e grazie!
Nick

 Nick
Di nulla ciao.
Max

 conseguente perdita di informazioni.
E' proprio quello che succedeva a me e che mi ha indotto a passare a SVN.
Ricordo uno scambio di post su questo fatto che cvs corrompeva i dfm..
http://groups.google.it/group/it.comp.lang.delphi/browse_thread/thread/53c61327f12d4fc3/
-- 
Morde

 condivisione dei sorgenti all'interno di un gruppo di lavoro.
Come ti ha risposto anche max, il consiglio e' di passare a subversion
(SVN) e di usare tortoise come frontend (TortoiseSVN).
Cerca in questo gruppo con google e troverai molti thread analoghi.
-- 
Morde

 
http://delphiaddinfortortoisesvn.tigris.org/
Grazie mille per la segnalazione, è proprio quello che mi serviva per i 
sorgenti. Invece, per quell'idea di mettere sotto controllo la 
partizione dati a scopo di backup, secondo te è fattibile?
Grazie di nuovo,
Nick

 il commit un paio di volte al giorno. Potrebbe funzionare?
Non credo sia una buona idea.  Piuttosto, invece, studia dei backup
programmati (magari a fine serata).
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 archiviazione del file .dfm
CVS, come già detto altre volte, non sa neanche cosa sia un file dfm.
Sbagli sicuramente qualcosa. Io uso con successo CVS, mai avuto problemi
di questo tipo di file.


 E' proprio quello che succedeva a me e che mi ha indotto a passare a SVN.
State attribuendo a CVS una "colpa", che non è di CVS.
CVS non "corrompe" un bel niente.



Ciao Morde,
è parecchio che non ci si vede qui sul newsgroup :-)).
Il problema non è CVS ma la sua gestione. Nei miei sorgenti i dfm sono 
sempre di tipo Text e non binary. Quando si importa un binary nel 
repository è preferibile segnalarlo a CVS altrimenti il problema di 
corruzione può verificarsi per il processo di keyword expansion :-). V. 
http://www.idevelopment.info/data/Programming/change_management/unix_cvs/PROGRAMMING_Working_with_Binary_Files.shtml
Ho studiato Subversion e lo sto iniziando ad usare un pò, anche se sono 
il alto mare.
Ciao
guastatore

 
Io non credo sia una buona idea, in particolare con Subversion che per 
mantenere l'atomicità dei Commit usa più spazio rispetto a cvs. Imho, ti 
conviene usare qualche tool apposito per i backup, oppure lanciare una 
distro Linux dedicata ;) e ti crei un'immagine di quello che ti serve 
sistematicamente.
guastatore

 programmati (magari a fine serata).
Il 90% della partizione dati sono proprio i sorgenti, mentre il 
rimanente 10% è rappresentato da documenti legati in qualche modo al 
lavoro (preventivi, fatture, gantt, SRS, ecc.), per cui mettere sotto 
controllo di versione la cartella "Lavori" o salire di un livello nel 
filesystem e mettere tutto D: non dovrebbe comportare grosse differenze.
Magari il backup programmato potrebbe avvenire durante la notte a 
partire dal server Subversion verso una macchina situata in un'altra 
parte del mondo ;-)
Nick

 Nick
Volendo aggiungere qualcosa a quanto gia' consigliato dagli altri, che 
mi sembra abbastanza esaustivo, ti consiglierei di provare, se non l'hai 
gia' fatto, FreeVCS:
 
 
http://www.freevcs.de/
Da un po' di tempo l'applicazione e' parte del progetto Jedi, pero' non 
so quale sia lo stato attuale:
 
http://jedivcs.sourceforge.net/
In azienda noi utilizziamo dal 2003 FreeVCS per i nostri progetti Delphi 
(e non solo) e devo dire che, lavorando principalmente con Delphi 7, ci 
siamo trovati molto bene.
L'applicazione consiste di una componente server e di due compoenenti 
client: una stand-alone e una integrata nell'IDE.
Il back-end database, nel nostro caso, e' Microsoft SQL Server, ma si 
puo' scegliere di utilizzare anche altri motori (Oracle, Interbase etc.).
Un'altra peculiarita' e' legata al fatto che, essendo studiato per 
strumenti di sviluppo Borland, il tool e' in grado di trattare in modo 
speciale certi tipi di file, come i *.dfm. Ad esempio, volendo 
aggiungere al progetto una nuova Form, e' sufficente scegliere il 
corrispondente file *.pas; il sistema gestisce automaticamente il *.dfm 
associato.
L'unico "contro" che mi viene in mente (nel tuo caso) e' legato al 
discorso del cambio directory, che credo FreeVCS non supporti (dico 
credo perche' noi non ne abbiamo mai avuto bisogno).
Se hai un attimo di tempo ti consiglio di dare un'occhiata al sito e di 
scaricare il tutto. Nel nostro caso ne' e' valsa veramente la pena.
Riguardo ai backup, noi "backuppiamo" due volte al giorno (13:30, pausa 
pranzo e 23:00) su nastro il backup (scusa il gioco di parole) del db 
SQL server.
Ciao,
baba.

 CVS non "corrompe" un bel niente.
Non sarà colpa di CVS magari del front-end grafico, magari Delphi 6, o
magari di tutti e due (escludo CVS) ma passando a SVN (e relativo
front-end grafico) questo problema l'ho risolto (come conferma anche
Morde).
Non c'è comunque motivo di "scaldarsi", ho notato che lo hai fatto
ogni volta è stato trattato questo argomento.
Saluti
Max

 ogni volta è stato trattato questo argomento.
Io non mi scaldo affatto, ma rifiuto che qualcuno affermi tesi "certe",
sulla base di ipotesi tutt'altro che tali e tutte le volte che è stato
trattato questo tema, gli argomenti a sostegno di chi puntava il dito
contro CVS erano molto deboli.
Ripeto: non si tratta di scaldarsi, ma di invitare a dire cose corrette,
cosa che né ora, né in passato, è stato fatto.  Se vuoi ti metto una
faccina ";-)".


 faccina ";-)".
Ma scusa se dico che c'e(ra) un problema con CVS e i sorgenti di
Delphi6 ho affermato cose scorrette ? Hai verificato ? Ho anche
aggiunto sarà TortoirseCVS, sarà CVS, sarà Delphi6 saranno tutti
insieme, fattostà che c'è(era) un problema, non riuscendo a risolverlo
sono passato a SVN.
Le faccine non c'entrano, ho notato che in alcune discussioni rispondi
in maniera piuttosto "accessa" come se la verità è solo la tua, altri
invece, esordiscono dicendo "secondo me...", credo che tu con assoluta
certezza non puoi escludere un eventuale bug nei tre programmi
elencati sopra, invece di affermare dogmi "la colpa non è di CVS" solo
perchè a te non ha dato problemi; potresti, invece, verificare le
informazioni che vengono postate.
Max

 informazioni che vengono postate.
Io non ho proprio nulla da verificare, perché CVS lo conosco bene e so che
i tuoi problemi NON sono dovuti a CVS, ma al modo in cui viene utilizzato.
Ora chiudo la discussione, divenuta ormai sterile.


Chiudi pure la discussione rimane il fatto che stai diventando, oltre
che presuntuoso, anche maleducato.
Non ho mai visto tanta arroganza tutta insieme. Non è che esprimi
delle opinioni, dai delle sentenze.
Saluti e cordialità (senza faccina)
Max

 delle opinioni, dai delle sentenze.
Ma no, ti sbagli, io sono buonissimo (se fossi maleducato, per esempio,
ora ti manderei a fare in culo, ma non lo faccio). Per il prossimo Natale,
invece, avevo intenzione di regalarti un manuale di CVS, però non so se lo
gradiresti; magari poi non lo leggi.
Caro Massimo Giambona, le persone non sono automaticamente presuntuose,
maleducate ed arroganti, solo perché non sei in grado di ribattere
tecnicamente a quanto affermano. Impara a usare gli strumenti del tuo
lavoro, evitando di esprimere critiche vaghe ed infondate.
Chiudo sul serio.


Sai faccio sempre l'errore di NON leggere è vero, ma a chi rispondo,
in questo caso stavo puntualizzando il come esprimi le cose e non il
fatto tecnico.
Le persone educate non mandano a fare in culo, neanche velatamente, ma
magari chiedendo spiegazioni e cercano di capire qual'è il problema
senza dare sentenze, e poi ci sono quelli BRAVI che, oltre a questo,
ti aiutano a cercare la soluzione....
Visto poi che lavoravamo insieme, ti aggiungo anche che non mi
ricordavo questo tuo lato del carattere, mi ricordo invece una persona
alla quale quando qualcuno si rivolgeva in maniera educata non
disdegnava di rispondere in maniera puntuale ed esaustiva, senza mai
diventare arrogante.
Saluti da un tuo ex-collega.

 Saluti da un tuo ex-collega.
Ciao Massimo, buon lavoro e in bocca al lupo per tutto.


 Ciao Massimo, buon lavoro e in bocca al lupo per tutto.
Anche a te
Max

 contro CVS erano molto deboli.
E infatti ti ho sempre ascoltato supponendo che il problema fosse causato
da me, non da cvs. E guastatore ha contribuito a chiarirne il motivo.
-- 
Morde


Ciao Morde,
Ho trovato questo link. Tanto per chiarezza.
http://groups.google.it/group/borland.public.delphi.language.objectpascal/browse_thread/thread/7ab0c5b831ea7ccc/bbd4eeaea2c4939b%23bbd4eeaea2c4939b
Max

 wrote:

Anche questo direttamente da i Bug segnalati a TortoiseCVS.
http://sourceforge.net/tracker/index.php?func=detail&aid=645133&group_id=48103&atid=451972
Saluti
Max

 Anche questo direttamente da i Bug segnalati a TortoiseCVS.
Leggi meglio. Non si tratta di un bug, ma di un caso segnalato e in una
settimana chiuso per il semplice motivo che è un problema di
configurazione (la stessa configurazione citata in questo stesso thread).
Leggi l'ultimo messaggio di bullestock. Oltretutto, il caso risale al
2002, più di cinque anni fa, quando Delphi 6 (che trattava i file .dfm,
per default, come file di testo) era già venuto fuori da un anno.
Personalmente, uso quotidianamente TortoiseCVS senza problemi. Lo trovo di
gran lunga migliore di qualsiasi tool integrato all'ambiente di sviluppo o
di WinCVS.


 
Io non sto mettendo in dubbio la qualità del prodotto, ma semplicemente
dicendo che c'era qualcosa che non andava, anche se era un file di
configurazione, e se è stato segnalato e poi corretto significa che
qualcun altro è incappato nel mio stesso problema.
Comunque mi fermo qui credo che la discussione sia andata avanti anche
troppo ognuno la vede a modo suo.
Saluti
Max

 qualcun altro è incappato nel mio stesso problema.
No, Massimo, tu hai uno stranissimo modo di ragionare e vuoi portare acqua
al tuo mulino in tutti i modi ostinandoti in questo atteggiamento
antipatico di voler scaricare, in qualsiasi modo, la responsabilità sul
tool particolare, declinando del tutto quelle che invece sono le
responsabilità di *CHI USA* quel tool e cioè *TUE*, nello specifico. Sei
andato alla ricerca di qualcosa che testimoniasse che TortoiseCVS o CVS
stesso hanno "qualcosa che non andava", quando *NON E'* così e non ha
senso dire: "c'è qualcosa che non andava, anche se era un file di
configurazione", perché se era un file di configurazione e cioè la
necessità di configurare un tool in modo corretto *NON C'ERA* qualcosa che
non andava nel tool, ma solo nella configurazione del tool, che è stretta
responsabilità di chi lo usa.
Devi stare attento ad impostare la discussione nel modo corretto ed è una
cosa che ti ho detto fin dall'inizio: *TU* avevi problemi ad usare questo
tool, era tua responsabilità configurarlo a dovere; non vuol dire che
TortoiseCVS o CVS abbiano dei bug (come hai ridicolmente paventato). Spero
che tu l'abbia finalmente capito, perché non starò a ripetertelo un'altra
volta.
