Разлика между SVN и VSS

Във всеки проект за разработка на софтуер идва момент, в който комуникацията между участниците се превръща в пречка. Разработчиците трябва да настояват за промени за определен период от време, така че е наложително всички да са на една и съща страница, като се уверят, че всеки има най -новата версия на някаква важна информация.

С нарастването на обхвата на един проект нараства и броят на хората, ангажирани с него. Така че с времето става малко сложно. Един от най -добрите начини за справяне с тази сложност е чрез използването на системи за контрол на версиите.

Контролът на версиите е централно хранилище, което съхранява промените, направени във файл или набор от файлове с течение на времето, така че различните членове на екипа винаги имат лесен достъп до най -новите итерации на файлове или документи, свързани с проекта. Разглеждаме две популярни системи за контрол на версиите - SVN и VSS.

Какво е SVN?

Subversion, обикновено съкратено като SVN, е безплатна версия с отворен код и система за контрол на ревизиите, разпространена под лиценза Apache, използван за поддържане на изходния код на проектите на Apache.

SVN е централизирана система за контрол на версиите, която поддържа централно хранилище за съхраняване на информация в типичен йерархичен формат на файлове и директории.

Хранилището съхранява пълната история на промените в кода на централен сървър. Ако програмист иска да се свърже с хранилището и да получи достъп до файл за извършване на промени в този файл, той трябва да изтегли файла от централното хранилище на собствената си машина и след това да добави или модифицира файлове и да избута промените обратно в хранилището.

Той автоматично актуализира локалното работно копие на проекта, върху който работите, за да включи промените от всеки, който работи по проекта. Това позволява на всеки да получи достъп до най -новите актуализирани файлове, които сте изпратили в централното хранилище.

Какво е VSS?

Visual SourceSafe (VSS) е разпределена система за управление на версии от Microsoft, която автоматизира процеса на проследяване на файлове и контрол на версиите. Проектиран за малки проекти за разработка на софтуер, VSS обикновено се използва в интегриран режим с Microsoft Visual Studio. Подобно на SVN, той поддържа централна база данни, където се съхраняват всички свързани с проекта файлове и документи, заедно с историята на промените във файловете във времето.

По принцип той идентифицира, организира и контролира промените в софтуера по време на неговото разработване и поддръжка. Той поддържа множество версии на файл, включително запис на промените, и архивира и проследява стари версии на файлове. VSS първоначално беше услуга за управление на софтуерна конфигурация (SCM), но с течение на времето се трансформира в система за управление на изходния код. VSS ви позволява да съхранявате всички видове файлове, включително код, графики, документи, DLL файлове, икони, помощни файлове и т.н. Тези файлове се съхраняват в базата данни VSS в „проекти“. Той действа като общо хранилище, където всеки може да запише своите файлове, свързани с проекта, и също така да има достъп до файлове от него.

Разлика между SVN и VSS

Инструмент на SVN и VSS

- Microsoft Visual SourceSafe (VSS) беше един от най -популярните инструменти за управление и управление на източници на Microsoft, който обикновено се използва интегриран с Microsoft Visual Studio. Инструментът първоначално е разработен от компания на име One Tree Software, която по -късно е придобита от Microsoft. VSS вече е прекратена услуга.

SVN, от друга страна, е безплатна версия с отворен код и система за контрол на ревизиите, разпространена под лиценза Apache. SVN е сравнително лесен за използване и работният процес е много подобен на други системи за контрол на версиите, така че тези, които вече са запознати със системите за контрол на версиите, няма да имат проблеми с преминаването към SVN.

Атомен ангажимент

  -Atomic commit е може би една от най-добрите практики в системите за управление на изходния код, която е неделима промяна, която ангажира множество файлове като еднократно регистриране. Това обикновено е включено като основна функционалност в реализациите на SCM.

Една от причините, поради които разработчиците предпочитат SVN пред други SCM системи като VSS, е, че SVN позволява атомни коммити. Това означава, че когато ангажирате нещо към SVN, или всичко, което искате да ангажирате, влиза или изобщо нищо. Хранилището не влиза в непоследователно състояние, ако някаква операция бъде прекъсната по средата. VSS коммитите обаче не са атомни.

Режим на работа

  -Друга фундаментална разлика между двете системи за управление на версии е, че режимът на работа на SVN е незаключващ. Това означава, че множество потребители могат да имат достъп и да променят един и същ файл, докато работят върху работните си копия, без да създават конфликт.

SVN предотвратява конфликти между множество потребители, работещи на едно и също работно копие. Нищо не е заключено в SVN и всеки член на екипа, който има достъп до ангажименти, може да извърши промени във всеки файл, който иска, във всеки момент от време. С VSS, от друга страна, няма гаранция, че промените в един и същ файл не противоречат помежду си. Потребителите могат да бъдат заключени, когато се опитват да извършват промени в общ файл едновременно.

SVN срещу VSS: Сравнителна диаграма

Резюме на SVN и VSS

Една от основните разлики между SVN и VSS е, че режимът на работа на SVN е незаключващ, което означава, че множество потребители могат да извършват промени във файл едновременно, без да предизвикват никакъв конфликт.

SVN е централизирана система за контрол на версиите, която поддържа централно хранилище с пълна история на промените на кода с течение на времето, което улеснява всеки да добавя, променя или изтрива всеки файл по всяко време. VSS, от друга страна, е прекратена услуга от Microsoft, която някога е била един от широко използваните инструменти за контрол на източника.

Вижте повече за: ,