Кіріспе

Версиялық файл жүйесі – компьютерлік файлдың бір уақытта бірнеше нұсқада сақталуына мүмкіндік беретін кез келген компьютерлік файл жүйесі. Осылайша, бұл өзгертулерді басқарудың бір түрі болып табылады. Көптеген қолданылатын версиялық файл жүйелері файлдың бұрынғы көшірмелерін сақтайды. Кейбіреулері көптеген ұсақ өзгерістерді сақтаудан аулақ болу үшін минутына немесе сағатына жасалатын өзгерістердің санын шектейді. Ал басқалары, керісінше, мерзімдік түсірілімдер жасайды, олардың мазмұнына қалыпты файлға қол жеткізу тәсілімен ұқсас жолдармен қол жеткізуге болады.

Сақтық көшірме

Версиялық файл жүйесі бірнеше маңызды айырмашылықтарымен кезеңдік сақтық көшірмеге ұқсас. Сақтық көшірмелер әдетте белгілі бір уақыт аралығында жасалады, ал нұсқалау файл өзгере қалғанда жүзеге асырылады. Сақтық көшірмелер көбінесе жүйе немесе бөлім бойынша жасалады, ал нұсқалау әрбір файл бойынша жеке-жеке жүргізіледі. Сақтық көшірмелер әдетте жеке тасымалдағыш құралдарға жазылады, ал нұсқалық файл жүйелері бір қатты дискіге (көбінесе бір қалтаға, каталогқа немесе жергілікті бөлімге) жазылады.

Ревизияны бақылау жүйелерімен салыстырғанда

Версиялық файлдық жүйелер нұсқаларды бақылау жүйелерінің кейбір мүмкіндіктерін ұсынады. Дегенмен, көптеген нұсқаларды бақылау жүйелерінен өзгеше, олар пайдаланушыларға көрінбейді, жаңа нұсқаны тіркеу үшін жеке "сақтау" қадамын қажет етпейді.

Журналды файл жүйесі

Версияларды басқару файлдық жүйелерді журналдық файлдық жүйелермен шатастыруға болмайды. Журналдық файлдық жүйелер файлға өзгерістер енгізілгенге дейін осы өзгерістердің тізімін жүргізу арқылы жұмыс істейді (және бұрынғы нұсқаны жаңасымен алмастырады), ал версияларды басқару файлдық жүйесі жаңа өзгерістерді сақтағанда файлдың бұрынғы көшірмелерін сақтайды. Екі мүмкіндік те әртүрлі мақсаттарға қызмет етеді және бір-бірінсіз де жұмыс істей береді.

Нысанды сақтау

Кейбір Object сақтау жүйелері Amazon S3 сияқты нысандардың нұсқаларын сақтау мүмкіндігін ұсынады.

ITS

Версияны басқарудың алғашқы, мүмкін бірінші, жүзеге асырылуы MIT-тің ITS жүйесінде болды. ITS жүйесінде файл атауы екі алты таңбадан тұратын бөліктен құралды; егер екінші бөлігі сандық болса (тек сандардан тұрса), ол нұсқа нөмірі ретінде қарастырылды. Файлды оқу немесе жазу үшін ашқанда, екінші бөлік ретінде ">" белгісін қолдануға болады; оқу кезінде бұл файлдың ең жоғары нөмірленген нұсқасын ашуды білдірсе, жазу кезінде – ең жоғары нөмірленген нұсқаның нөмірін бірге арттырып, жазу үшін жаңа нұсқа құруды білдірді. Версияны басқарудың тағы бір ерте жүзеге асырылуы TENEX жүйесінде болды, ол кейін TOPS 20 жүйесіне айналды.

11-файлдар (RSX-11 және OpenVMS)

Файл нұсқаларын басқару жүйесінің қуатты мысалы Digital Equipment Corporation компаниясының RSX 11 және OpenVMS операциялық жүйелеріне кіріктірілген. Қолданба жазу үшін файлды ашқанда, файлдық жүйе автоматты түрде файлдың жаңа данасын жасайды, оның атына нөмір қосылады. Нөмірлер 1-ден басталады және файлдың жаңа даналары жасалған сайын арта түседі. Қолданба файлды оқу үшін ашқанда, нақты файл атауын нөмірімен бірге немесе нөмірсіз файл атауын көрсетуге болады. Егер нөмір көрсетілмесе, файлдың ең соңғы данасы ашылады. DCL/CCL "тазарту" командасын кез келген уақытта нақты бір каталогтағы нұсқалар санын басқару үшін қолдануға болады. Дәстүрлі түрде, ағымдағы каталогтағы ең жоғары нөмірленген нұсқалардан басқа барлық нұсқалар жойылады; бұл әрекетті /keep=n опциясымен және/немесе каталог жолымен ((тар) және/немесе файл атауы үлгілерін көрсету арқылы өзгертуге болады. VMS жүйелері көбінесе пайдаланушы каталогтарын белгілі бір кесте бойынша тазалау үшін бағдарламаланады; кейде соңғы пайдаланушылар мұны нұсқалау жүйесінің қасиеті деп қате түсінеді.

Linux жүйесі

2004 жылдың 8 ақпанында Киран Кумар Мунисвами Редди, Чарльз П. Райт, Эндрю Химмер және Эрез Задок (барлығы Стони Брук университетінен) көптеген пайдаланушыларға қолдануға ыңғайлы болған қосымшаны ұсынды. Жүйе Linux бағдарламалық қамтамасымен жасалғандықтан, алдымен Linux жүйесінде іске қосылды. NILFS – файлдық жүйенің толық нұсқаларын сақтауды және үздіксіз көшірмелер жасауды қолдайтын журналдық файлдық жүйе. Бұл тізімдегі тұрақты және негізгі ядроға енген жалғыз жүйе. Tux3 – соңғы өзгеріс 2014 жылы жасалды. Next3 – соңғы жаңарту 2012 жылы жасалды. ext3cow – соңғы нұсқасы 2005 жылы шығарылды.

LMFS

Lisp Machine File System нұсқаларын сақтау мүмкіндігін ұсынады. Бұл мүмкіндік MIT, LMI, Symbolics және Texas Instruments ұйымдарының жасаған бағдарламалары арқылы іске асырылды. Symbolics Genera – осындай операциялық жүйелердің бірі болды.

macOS

Lion (10.7) нұсқасынан бастап macOS-та Versions деп аталатын мүмкіндік пайда болды, ол Versions қолдауын көрсететін бағдарламалар үшін құжаттардың бұрынғы нұсқаларын Time Machine сияқты сақтауға және қарауға мүмкіндік береді. Дегенмен, бұл мүмкіндік файлдық жүйе емес, бағдарламалық қабатта іске асырылады; Lion және одан кейінгі нұсқаларда нақты нұсқалауды қолдайтын файлдық жүйе жоқ.

SCO OpenServer (Открық сервер)

1995 жылы SCO OpenServer үшін негізгі файлдық жүйе ретінде қабылданған HTFS файл нұсқаларын қолдайды. Нұсқаландыру әрбір каталог үшін каталогтың setuid битін орнату арқылы қосылады, және ол кіші каталогтар жасалғанда мұраға алынады. Егер нұсқаландыру қосылған болса, файл немесе каталог жойылғанда немесе қолданыстағы файл қысқартылып ашылғанда жаңа файл нұсқасы жасалады. Ағымдағы емес нұсқалар бастапқы файлдың атымен файлдық жүйенің атау кеңістігінде сақталады, бірақ оларға нүктелі-құртқа және нұсқа тізбек нөмірінен тұратын қосымша жатады. Ағымдағы нұсқадан басқа барлық нұсқалар каталогтарды оқу кезінде жасырылады (егер SHOWVERSIONS орта айнымалысы орнатылмаса), бірақ нұсқалар кез келген стандартты операциялар үшін қолжетімді болады. Орта айнымалысының және жалпы қолжетімділіктің арқасында нұсқаларды әдеттегі файлдық жүйе құралдарымен басқаруға болады, сонымен қатар файлдарды тазалау және қалпына келтіру, каталогтарда нұсқаландыруды қосу және өшіру үшін қолданылатын "қайта қалпына келтіру" командасы да бар.

Басқалар

Subversion-да "автоверсиялау" деп аталатын мүмкіндік бар, онда Subversion бэкендісі бар WebDAV дереккөзі осы типтегі тауды қолдайтын жүйелерде (Linux, Windows және басқалары) файлдық жүйе ретінде орнатылуы мүмкін. Осы файлдық жүйеге сақтау нәтижесінде нұсқауды басқару жүйесінде жаңа нұсқалар жасалады. Коммерциялық Clearcase конфигурациялық басқару және нұсқауды бақылау бағдарламалық қамтамасы 1990 жылдардың басынан бері HP UX, AIX және Windows жүйелерінде "MVFS" (көп нұсқалы файлдық жүйе) қолдауын көрсетеді.