Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Darcs – Дэвид Ронди жасаған таратылған нұсқаны басқару жүйесі. Басты ерекшеліктеріне басқа репозиторийлерден қандай өзгерістерді қабылдау керектігін таңдау мүмкіндігі, SSH, HTTP немесе электрондық пошта арқылы басқа жергілікті (дискідегі) репозиторийлермен немесе қашықтағы репозиторийлермен өзара әрекеттесу, сондай-ақ ерекше интерактивті интерфейс кіреді. Дамытушылар сонымен қатар дұрыстықты тексеру үшін жетілдірілген бағдарламалық құралдарды қолдануға ерекше мән береді: функционалдық бағдарламалау тілі Haskell-дің қуатты типтік жүйесі кейбір қасиеттерді қамтамасыз етеді, ал QuickCheck арқылы жүргізілетін кездейсоқ сынақтар көптеген басқаларын растайды. Атауы Darcs Advanced Revision Control System деген сөздердің рекурсивті аббревиатурасы болып табылады.
Darcs is a distributed version control system created by David Roundy. Key features include the ability to choose which changes to accept from other repositories, interaction with either other local (on disk) repositories or remote repositories via SSH, HTTP, or email, and an unusually interactive interface. The developers also emphasize the use of advanced software tools for verifying correctness: the expressive type system of the functional programming language Haskell enforces some properties, and randomized testing via QuickCheck verifies many others. The name is a recursive acronym for Darcs Advanced Revision Control System.
Тарих
Darcs 2002 жылдың маусым айында Дэвид Раундидің GNU arch үшін жаңа жапсырма форматын жобалау әрекеттерінен туындады. Бұл талқылаулар Arch кодына қосылған өзгерістерге әкелмеді, бірақ жапсырмалар теориясының қалыптасуына ықпал етті. Darcs-тің алғашқы нұсқасы C++ тілінде жазылып, кейін 2002 жылдың күзінде Haskell нұсқасы жазылды және 2003 жылдың сәуірінде көпшілік назарына ұсынылды. Darcs 2.0 2008 жылдың сәуірінде жарық көрді, ол жақсартылған, сенімді қойма форматын және экспоненциалдық біріктіру қақтығыстарын азайтуға арналған "darcs 2" деп аталатын жаңа жапсырма семантикасын ұсынды. Қазіргі даму стратегиясы – оңтайландыруларды енгізу және жаңа мүмкіндіктерді қосу, сонымен бірге қолданыстағы қойма форматын сақтап қалу.
Darcs evolved out of David Roundy's efforts to design a new patch format for GNU arch in June 2002. These discussions didn't lead to any code being committed to Arch, but did lead to the conception of the theory of patches. After writing an initial version of Darcs in C++, the Haskell version was written in Autumn 2002 and released to the public in April 2003. Darcs 2.0 was released in April 2008 and introduced a more robust repository format, as well as a new patch semantic called "darcs 2", aimed at minimizing exponential merge conflicts. The current development strategy focuses on implementing optimizations and adding new features, while maintaining the same repository format.
Кемшіліктер
Darcs өнімділік мәселелері үшін сынға ұшырады. Бұл Darcs 1.x нұсқасының біріктіру алгоритмдерімен байланысты қиындықтарды қамтиды, олар кейбір қақтығыстарды біріктіруге экспоненциалды жұмыс жұмсады. Darcs-тің келесі нұсқаларында бұл мәселе толық шешілмегенімен, экспоненциалды бірігудің жиілігі айқын түрде азайды. Рекурсивті қақтығыстарды біріктіру сәтсіз болатын қателер әлі де кездеседі.
Darcs has been criticized for its performance issues. This includes challenges related to the merge algorithms of Darcs 1. x, which showed exponential work to merge certain conflicts. Although not resolved completely in the subsequent versions of Darcs, the frequency of exponential merges did show noticeable reductions. Bugs still remain in which merging of recursive conflicts fails.