오픈소스 분산 버전관리 시스템 Pijul 공개

원제: Pijul a FOSS distributed version control system

프랑스 개발자들이 패치 이론 기반의 분산 버전관리 시스템 Pijul을 GPL2 라이선스로 공개했다. Git과 달리 독립적 변경사항을 순서에 관계없이 적용 가능하며, 병합 시 라인 순서 보존을 보장한다. 충돌을 실패가 아닌 표준 사례로 모델링하는 특징을 갖는다.

Pierre-Étienne Meunier와 Florent Becker가 개발한 Pijul은 패치 이론을 기반으로 한 새로운 분산 버전관리 시스템이다. 기존 Git과 달리 독립적인 변경사항들을 어떤 순서로 적용해도 결과나 버전 식별자가 변하지 않는 '교환법칙(Commutation)' 특성을 제공한다. 이는 Git의 rebase나 Mercurial의 transplant보다 단순한 워크플로우를 가능하게 한다.

Pijul의 주요 특징으로는 병합 시 라인 순서를 항상 보존하는 '병합 정확성'이 있다. 3-way merge와 달리 라인이 섞이지 않으며, 순서를 알 수 없는 동시 편집의 경우만 충돌로 처리한다. 또한 충돌을 '병합 실패'가 아닌 표준 사례로 모델링하여, 두 변경사항 간 충돌을 하나의 변경으로 해결하면 다른 동시 변경이 있어도 영구적으로 해결된다.

교환법칙 덕분에 저장소의 일부만 클론하는 '부분 클론'도 지원한다. 관련 변경사항만 적용하여 작업한 결과를 전체 저장소로 전송할 수 있다. Pijul은 자체 개발에도 사용되는 부트스트랩 방식으로 개발되고 있다.

왜 중요한가

패치 이론 기반의 새로운 버전관리 시스템으로 기존 Git의 복잡성 문제 해결을 시도하는 오픈소스 프로젝트

출처

pijul.org — 원문 읽기 →

※ 본 기사는 해외 미디어의 공개 정보를 편집부가 한국어로 요약한 것입니다. 투자 판단을 권유하는 것이 아닙니다.