Merge modificările codului fără controlul sursei adevărate

Avem câțiva dezvoltatori care lucrează la aceeași soluție VS2005, dar controlul sursei noastre este foarte rău. (Compania noastră folosește Harvest, pe care le oferim un vot de neîncredere).

Chiar acum, tocmai ne descurcăm de pe fișiere pe o unitate LAN comună. Evident, acest lucru cauzează unele probleme. Dar credem că este mai bine decât să lucrăm la nivel local și să urmărim fișierele pe care le-am atins într-o foaie de calcul și să fuzionăm totul manual. Are cineva o strategie de îmbinare a schimbărilor noastre?

Unele dintre problemele există din cauza administrării corporale (cum ar fi recrutarea obligatorie). Aceleași politici împiedică introducerea de noi instrumente în mediul nostru. Deci, strategiile care evită cumpărarea/descărcarea de noi software-uri ar funcționa cel mai bine pentru noi.

5
adăugat autor Kristopher Johnson, sursa

9 răspunsuri

O altă posibilitate ar fi Dincolo de Comparație cu Scooter . Are o îmbinare de două și trei direcții și o mare diversitate de funcții pe fișiere și directoare. Dacă doriți să aflați ceva mai mult despre el, ascultați delphi podcast prin Jim McKeith .

Dar, la fel ca majoritatea celorlalți, aș recomanda fie să folosiți Git, fie să învățați Harvest. Dacă sistemul de control al sursei permite modificarea aplicației diff, Beyond Compare ar fi un înlocuitor excelent.

6
adăugat

Aflați cum să utilizați recolta. Este nevoie de puțin efort pentru a face lucrurile să meargă fără probleme, dar în ansamblu este un sistem excelent de control al surselor.

6
adăugat
Nu înțeleg cum ar putea numi Harvest "excelent", dar dacă este cel mai bun instrument pe care îl aveți, atunci este cel mai bun instrument pe care îl aveți.
adăugat autor Kristopher Johnson, sursa
Trebuie să trec la o scară logaritmică pentru a putea compara nivelul meu de profanitate între Harvest și alte instrumente.
adăugat autor Lieven Keersmaekers, sursa
Sunt de acord cu asta. Un sistem de control al sursei rău este mai bun decât nici un control al sursei.
adăugat autor Kena, sursa
Da, am analizat toate pachetele majore: Serena, ClearCase, Team Foundation și multe pachete mai mici. În ceea ce privește utilizarea generală, recolta a fost la fel de bună sau mai bună decât orice altceva la care ne-am uitat. Se pare că multe dintre pachetele pe care le-am analizat păreau foarte bine la prima vedere, dar, odată ce au ajuns să funcționeze într-un mediu de producție, au scăzut. Harvest, chiar dacă are propriile probleme, funcționează.
adăugat autor user8035, sursa

Tratați acțiunea ca și cum ar fi sistemul dvs. de control al sursei. Faceți cotația numai pentru citire, ceea ce va obliga dezvoltatorii să obțină copii locale pentru a face schimbări. Apoi aveți o versiune oarecum stabilă pentru ao compara. Acest lucru ar ajuta la facilitarea capacității de a face "îmbinare". Codul de verificare ar trebui să fie format dintr-un fel de strategie de rezervă pentru fișier (posibil să facă o copie a fișierului cu o marcă de timp și un nume de utilizator ca parte a noului nume de fișier) și să înlocuiască originalul cu noua versiune.

Acestea fiind spuse, realizarea acestui tip de activitate fără un sistem de control al sursei reală, care să fie fiabil, va fi dificil și predispus la erori.

5
adăugat

Obțineți git și instalați-l local pe fiecare aparat de disc. Apoi setați repositorele să se replice.

4
adăugat
Dacă git nu este instalat pe server și doar pe fiecare mașină dev, cum vor ști? nu înseamnă că ai nevoie de drepturi de administrator pentru a funcționa
adăugat autor Orion Edwards, sursa
Instalați-l pe unitățile degetului mare și puneți-le în buzunar de fiecare dată când seful apare.
adăugat autor BCS, sursa
Birocrația lui corporativă permite angajaților să renunțe sau este o formă de servitor? Dacă nu reușesc să obțină controlul codului sursă, care sunt șansele ca ei să-și respecte deloc dezvoltatorii?
adăugat autor Matt Cruikshank, sursa
El a afirmat deja că birocrația lor corporativă nu va permite introducerea de noi instrumente. Jim caută procese și practici mai mult decât tehnologii.
adăugat autor Raelshark, sursa

Există două probleme distincte: controlul versiunilor și fuzionarea. Nu există nicio scuză pentru a NU utiliza un sistem de control al versiunii. Dacă compania a decis o soluție (din orice motiv), atunci folosiți-o. Nu-i place sau nu "a avea încredere" în ea nu este un motiv valid pentru a nu-l folosi. Și folosirea unei unități partajate pentru a imita un sistem de control al codului sursă este dincolo de nebunie.

Îmbinarea este oa doua problemă. Ai nevoie pur și simplu de un instrument de diff/fuziune. Alege una. Cum ai trecut atât de mult fără unul ?!

Araxis este unul extraordinar. Costă câțiva dolari. Oamenii SourceGear au distribuit gratuit instrumentul diff/merge de ceva timp (cel care vine cu Vault). Este, de asemenea, un concurent solid. Acestea sunt două pe care le-am folosit pe care știu că sunt încă pe piață acum. Există și alții deja menționați.

Îmbinarea totul cu mâna nu este o soluție susținută. Combinând asta cu nu folosind VCS este o rețetă pentru dezastru.

3
adăugat

Există un instrument standard de linie de comandă unix numit îmbinare care va combina destul de inteligent două seturi de modificări ale unui fișier. Sintaxa este:

merge mine older yours

În cazul în care "a mea" este fișierul cu modificările dvs., "vechi" este fișierul original, iar "a ta" conține modificările altcuiva.

Nu sunteți sigur dacă aveți o cutie UNIX (sau Mac OS X) situată în jurul valorii de a face acest lucru, totuși.

2
adăugat
De fapt, nu există o fuziune, dar cred că te referi la comanda "diff3 -m". Consultați gnu.org/software/diffutils/manual/html_node/diff3 -Merging.ht & zwnj; ml
adăugat autor Bruno De Fraine, sursa

Aceasta ar putea să nu fie o opțiune viabilă, dar poate ați putea folosi un sistem distribuit, cum ar fi bazar , "http://git.or.cz/" rel = "nofollow noreferrer"> git sau Mercurial .

Motivul pentru care sugerez aceste lucruri este că acestea sunt foarte mici și pot fi utilizate cu alte sisteme. Știu cu bazaar depozitul este pur și simplu un dosar ascuns adăugat în director.

2
adăugat

Probabil că va trebui să descărcați ceva dacă nu doriți să o faceți manual. Vă recomandăm foarte mult Winmerge . Este gratuit, open source și, probabil, mai bine pentru dvs. o mică descărcare care nu face probleme.

2
adăugat

Împușcarea unei unități comune nu este o idee bună și îmi dă vocea "fără încredere".

Ar fi prea ușor să înlocuiți modificările altora, nu aveți nicio urmă de schimbare, nici o modalitate de a ramifica sau tag/eticheta etc.

1
adăugat