Sursa de control pentru proiectele web

Caut sugestii bune despre implementarea versiunii și a controlului sursei pentru proiectele web.

M-am uitat la subversiune, dar pare să aibă grijă doar de cod. Căut cu adevărat ceva care poate face versiuni bune, ramificație, arhivă etc., nu numai cu codul sursă, ci și cu alte resurse web, cum ar fi fișiere de artă, clipuri video și copii de rezervă ale bazei de date.

Lucrăm într-un mediu mixat pe mac / pc, astfel încât Visual Source Safe sau orice altceva pur bazat pe PC ar fi un drum liber. Orice ajutor?

0
fr hi bn
Luați o privire la [Vault] [1] sau [TortoiseSVN] [2] de la SourceGear. Sper că vă ajută. [1]: sourcegear.com/vault [2]: tortoisesvn.net
adăugat autor Bryan Roth, sursa
Poate că sunteți în căutarea unui element precum integrare continuă ? aveți resurse în legătură.
adăugat autor Elzo Valugi, sursa

10 răspunsuri

Încă mai folosesc Subversion, iar pe Windows folosesc TortoiseSVN care include TortoiseIDiff, în mod special pentru a privi diferențele dintre fișierele imagine.

0
adăugat

Puteți adăuga orice tip de fișier la subversiune. Dacă acestea sunt fișiere binare, versiunea salvată este pur și simplu o copie, în timp ce fișierele text sunt salvate numai diferențele; cu toate acestea, salvarea celorlalte tipuri de fișiere în subversiune este perfectă.

Utilizarea pluginurilor shell (Tortoise on Windows) face acest lucru destul de ușor. Nu am nici o experiență cu clienții Mac, dar mi-aș imagina că există alegeri acolo.

0
adăugat

All the source control systems I've used (CVS, subversion, git) will handle binary files as well as text. If you're working with designers with limited version control experience, right now subversion has a better choice of GUIs. On the PC, there's no substitute for TortoiseSVN, and for the Mac I've heard good things about Versions.

0
adăugat
Versiunile ( versionsapp.com ) este o aplicație foarte bună, totuși este încă în Beta și caracteristicile sunt adăugate încă. Acest lucru nu poate trece prea bine cu tipurile de management. Am constatat că versiunile sunt mai bune decât unele alternative (versiunea Zig, svnX), nu m-am uitat la Cornerstone.
adăugat autor Bryan Rehbein, sursa

Ceilalți au subliniat că Subversion și rudele sale nu au probleme cu fișierele binare (deși nu sunt la fel de spațioase ca și textul). Cerința de backup a bazei de date este însă mai interesantă și una pe care am apărut-o de mai multe ori.

În mod ideal, aș dori o reprezentare a textului a diferenței dintre două versiuni ale unei baze de date (schemă și date). Aplicarea unui astfel de diff vă va duce de la o versiune la alta. Motorul de comandă a sursei ar putea stoca doar cu fiecare comitere. Rails migrații este un mod de a manevra diferențe schema, dar nu am văzut nimic care se poate ocupa de schema completă și diffs de date într-un format simplu de text.

În lipsa acestui lucru, presupunem că ați putea verifica o bază de date de tip text ca și tipul de comandă mysqldump generat de MySQL. Algoritmul de difuzare al instrumentului de control al sursei probabil că nu o va rezolva în mod eficient, dar probabil va necesita mai puțin spațiu decât verificarea într-un fișier de bază binar opac.

0
adăugat

Am folosit git pentru câteva săptămâni și am devenit destul de îndrăgit de ea. Este cross-platform, gestionează conflictele excepțional de bine și le oferă fiecărui depozit de versiuni complete, astfel încât să poată verifica schimbările chiar și atunci când nu sunt conectate la o rețea.

O mulțime de proiecte cu profil înalt utilizează acum git, inclusiv ruby on Rails.

0
adăugat

Pentru a utiliza controlul sursă cu o bază de date, va trebui probabil să creați o reprezentare bazată pe text a schemei și a datelor. Ar trebui să aveți această rulare automată o dată pe zi și să faceți schimbările în depozit.

Rețineți că un DBMS poate schimba ordinea rândurilor într-o bază de date pentru a face mai eficiente unele operații. Acest lucru ar putea duce la două depozite de gunoi care ar fi diferit fără a avea date diferite. Asigurați-vă că, indiferent ce creează dump-ul datelor dvs., acesta este sortat de cheia primară a fiecărui tabel și că setul de tabele este într-o ordine definită, astfel încât modificările pe care le vedeți atunci când diff 2 gropile sunt doar modificările importante.

0
adăugat

Mac are ceva numit "Versiune", care este un subversiune UI ca "Tortoise SVN" Am găsit-o ușor de utilizat și eficiente.

Lucrez și într-un mediu Mac / PC (copii de artă) și subversiunea este într-adevăr calea de urmat. Păstrez toate textele, imaginile, interogările și codul acolo.

Colegii mei non-techie au fost ușor de folosit odată ce am explicat conceptul.

0
adăugat

Subversion are binare precompilate pentru Mac OS X . Este, de asemenea, disponibil prin MacPorts și Fink . Există câteva interfețe excelente (în afară de linia de comandă ). svnX este un client open source care a fost în jur de ceva timp , și așa cum am menționat Versiuni , este un client foarte frumos, care este în prezent în beta. Trebuie să familiarizați-vă cu linia de comandă , deoarece vă veți confrunta cu probleme pe care acești clienți GUI nu le pot rezolva.

Subversion handles binary files very well. I've used it for web projects in the past, and successfully versioned image and Flash files with the code that used them.

0
adăugat

Cred că svn este o alegere excelentă, unii utilizatori pot chiar folosi git pentru a face ramificații locale. Eu execut eclipsa pe mac, asa ca folosesc un combo de git, linia de comanda svn si subversive (un plug de eclipsa pentru svn). Iată o listă de clienți mac svn (majoritatea sunt cross platform)

http://scplugin.tigris.org/ like TortoiseSVN but not as feature rich)
http://subcommander.tigris.org/
http://rapidsvn.tigris.org/
http://www.versionsapp.com/
http://www.syncrosvnclient.com/ (not free $59)
http://www.lachoseinteractive.net/en/community/subversion/svnx/features/

0
adăugat

Ce te face să crezi că nu poți versiuni, sucursale, arhive, etc ... fișiere grafice cu Subversion?

Am folosit Subversion pentru programele mele, care includ grafică, și se pare că se descurcă bine. (Difuzarea este o problemă, dar nu am auzit de un program de difuzare a imaginilor).

0
adăugat