GNU 아치

GNU arch
GNU 아치
GNU arch logo.png
원저작자토머스 로드
개발자앤디 타이
최종 릴리즈
1.3.5 / 2006년7월 20일, 16년 전(2006-07-20)
기입처C
운영 체제Linux, Windows, Mac OS X
유형리비전 관리
면허증.GPL
웹 사이트www.gnu.org/software/gnu-arch/

GNU 아치 소프트웨어는 GNU 프로젝트의 일부로 GNU General Public License에 따라 라이센스가 부여된 분산 리비전 제어 시스템입니다.소스 트리의 변경 사항을 추적하고 프로그래머가 여러 사용자가 수행한 변경 사항을 결합하거나 다른 시간에 조작할 수 있도록 지원하기 위해 사용됩니다.

2009년 현재 GNU arch의 공식 상태는 폐지이며 보안 수정만 적용됩니다.[1]바자(또는 'bzr')는 그 이후 GNU의 공식 프로젝트로 만들어졌기 때문에 GNU arch를 대체하는 것으로 간주할 수 있다.그것은 [2]아치형 포크가 아니다.

특징들

분산형 분산형 버전 관리 시스템으로서 arch를 사용하여 저장된 각 리비전은 고유하게 글로벌하게 식별할 수 있습니다. 이러한 식별자는 분산 설정에서 완전히 다른 소스로부터의 변경을 쉽게 병합하거나 "체리픽"하기 위해 사용할 수 있습니다.

분산형이라는 것은 개발자가 기여하기 위해 권한을 부여받아야 하는 중앙 서버가 필요하지 않다는 것을 의미합니다.다른 시스템과 마찬가지로 프로젝트의 전체 읽기 전용 복사본은 HTTP, FTP 또는 SFTP통해 "공식" 저장소에서 액세스할 수 있습니다. 단, 기여자는 변경 사항을 수정하여 자신의 공개 아카이브(리포지토리)에 게시하여 헤드 개발자가 변경 사항을 공식 저장소에 수동으로 병합할 수 있습니다.

중앙 리비전 제어 시스템의 동작을 시뮬레이트하기 위해 헤드 개발자는 서버에 대한 셸 액세스(SSH) 또는 쓰기 액세스(FTP, SFTP, WebDAV)를 허용하여 권한이 있는 사용자가 중앙 서버에 커밋할 수 있도록 할 수 있습니다.GNU의 아치 매니지드 프로젝트에는 공헌자의 변경을 통합한 선도적인 독재자가 있는 경우가 많습니다.

GNU arch 에는, 그 외의 몇개의 기능이 있습니다.

아토믹 커밋
커밋은 모두 또는 무입니다.커밋이 시작되기 전에 트리가 적절한 상태여야 하며 커밋은 완료될 때까지 전 세계에 표시되지 않습니다.이 전에 커밋이 중단된 경우 커밋은 표시되지 않으므로 다음 커밋 전에 롤백해야 합니다.이렇게 하면 보관 및 다른 사용자의 체크아웃된 복사본이 손상되지 않습니다.
변경 세트 지향
GNU arch는 (CVS에서와 같이) 개별 파일을 추적하는 대신 패치와 유사한 변경 세트를 추적합니다.각 변경 세트는 소스 트리와 다른 소스 트리의 차이에 대한 설명이므로 변경 세트를 사용하여 다른 리비전으로부터 하나의 리비전을 생성할 수 있습니다.작성자는 기능 또는 버그 수정마다 1개의 커밋을 사용하는 것이 좋습니다.
용이한 분기
브런치는 효율적이며 아카이브에 영향을 줄 수 있습니다.브랜치(또는 「태그」)는 상위 리비전을 선언하고, 거기서부터 개발을 계속합니다.
고도의 머지
모든 상위 버전과 병합된 리비전의 영구 레코드로 인해 병합에서는 어떤 분기에 어떤 패치가 포함되어 있는지 고려할 수 있으며 공유 상위 버전에 따라 3방향 병합을 수행할 수 있습니다.
암호화 서명
모든 변경 집합은 우발적인 손상을 방지하기 위해 해시와 함께 저장됩니다.외부 파일 서명 프로그램(GnuPG 또는 다른 PGP 클라이언트 등)을 사용하면 이러한 해시도 선택적으로 서명할 수 있으므로 아카이브가 손상되었을 때 무단 수정을 방지할 수 있습니다.
이름 바꾸기
모든 파일 및 디렉토리의 이름을 쉽게 변경할 수 있습니다.이들은 이름이 아닌 고유 ID로 추적되므로 이력이 유지되고 파일 이름이 지점마다 다르더라도 파일에 대한 패치가 적절하게 병합됩니다.
메타데이터 추적
모든 파일의 권한이 추적됩니다.심볼릭 링크가 지원되며 파일 및 디렉토리와 동일한 방법으로 추적됩니다.

이력 및 유지 보수

GNU 아치 버전1 및 tla

GNU arch의 최초 작성자 및 유지자는 2001년에 프로젝트를 시작한 Thomas Lord입니다.GNU 아치 저장소를 조작하는 데 사용되는 명령어는 tla로 Tom Lord's Arch의 이니셜리즘입니다.Lord는 스크립트의 [3]모음으로 GNU arch를 시작하여 CVS의 대안을 제시했습니다.2003년에 arch는 GNU [4]프로젝트의 일부가 되었습니다.

GNU arch 프로젝트는 여러 번 분기되어 현재는 포기된 Baz Fork와 Walter Landry의 ArX 프로젝트가 탄생했습니다.두 포크 모두 적대적인 반응을 불러일으켰습니다. ArX 포크는 방향상 심각한 분쟁 때문이었고 Lord는 Baz [5]프로젝트를 발표하는 Canonical의 접근방식에 강하게 비판했습니다.

2005년 8월, Lord는 GNU arch의 관리자로서 사임한다고 발표해, Baz가 GNU arch의 메인 프로젝트가 [6]되는 것을 추천했습니다.그러나, 이것은 일어나지 않았다: Baz 포크는 [9]2006년에 Baz의 1.5 릴리스가 폐기되면서, Canonical에 의해 별도의 Baza [7][8]프로젝트를 위해 포기되었다.2005년 10월 Andy Tai는 Lord and Free Software Foundation이 GNU arch의 [10]관리자로서 그의 제안을 수락했다고 발표했습니다.이후 Tai는 Baz의 많은 기능을 tla에 [9]통합했지만 2008년 3월 tla는 더 이상 개발되지 않고 다른 버전 관리 [1]시스템과 경쟁할 수 없게 되었습니다.

취소하다

revc는 토마스 로드가 GNU arch 2.0이 되려고 의도한 시제품 리비전 제어 프로젝트이며, tla에서 급진적으로 벗어나 Git 리비전 제어 [11]시스템에서 많은 아이디어를 이끌어내기 위해 설계되었습니다.2005년 [11]6월에 발표되었으며, 첫 번째 프리 릴리즈는[12] 7월에 발표되었고, 마지막 프리 릴리즈는 8월에 발표되었으며, Lord가 유지 [13]관리직에서 사임하기 직전에 발표되었습니다.revc는 10개의 핵심 명령어만 가지고 있었고 Lord는 제한적인 네임스페이스, 복잡한 파일 명명 규칙을 없애고 [12]속도를 높이려고 했습니다.

2008년 현재 마지막 프리 릴리즈인 0.0x2의 revc는 아직 이용 가능하며[14] Lord는 GNU arch의 아이디어 중 일부에 관심이 있지만 revc [15]개발을 재개할 리소스가 없습니다.

비판

아마도 GNU arch에 대한 가장 일반적인 비판은 다른 SCM 시스템에 대한 경험이 있는 사용자도 배우기 어렵다는 것입니다.특히 GNU arch는 많은 명령어를 가지고 있어 신규 사용자에게 위협적일 수 있습니다.또한 일부 디자인 요소는 버전 [16][17]관리 프랙티스에 있어서 Lord의 취향을 너무 강하게 강요하고 있습니다.

또한 일부에서는 GNU arch가 Wayback Machine (2007년 8월 8일 아카이브)에서 매우 특이한 파일 명명 규칙("Funky File Names")을 사용한다고 비판하고 있습니다.이 규칙에서는 스크립트나 일부 셸에서의 사용 및 Unix 이외의 운영체제로의 포팅에 어려움이 발생할 수 있습니다.GNU arch는 내부 코드의 [18]복잡성을 줄이기 위한 설계 결정의 일환으로 실행 시간이 느리다는 비판을 받아 왔습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ a b Tai, Andy (2008-03-28). "Re: revc". gnu-arch-users (Mailing list). Retrieved 2008-06-17.
  2. ^ "History of Bazaar". Retrieved 20 May 2014.
  3. ^ Moffit, Nick (2004-11-01). "Revision Control with Arch: Introduction to Arch". Linux Journal. Retrieved 2008-06-18.
  4. ^ Lord, Tom (2003-07-13). "GNU, doc foo, short-term plans, hacking suggestions, money". arch-users (Mailing list). Retrieved 2008-06-18.[영구 데드링크]
  5. ^ Lord, Thomas (2004-10-31). "community spirit". gnu-arch-users (Mailing list). Retrieved 2008-06-17.
  6. ^ Lord, Thomas (2005-08-15). "GNU Arch maintainership". gnu-arch-users (Mailing list). Retrieved 2008-06-17.
  7. ^ "Baz1x - Bazaar Version Control". 2006-07-24. Retrieved 2008-01-17.
  8. ^ Arbash Meinel, John; Aaron Bentley; Martin Pool; Mark Shuttleworth (2006-07-26). "HistoryOfBazaar". Retrieved 2008-02-20.
  9. ^ a b Collins, Robert (2006-06-30). "releasing 1.5". bazaar-old (Mailing list). Archived from the original on 2011-05-12. Retrieved 2007-06-16.
  10. ^ Tai, Andy (2005-10-27). "Re: Good News about GNU Arch!". gnu-arch-users (Mailing list). Retrieved 2008-06-17.
  11. ^ a b Lord, Thomas (2005-06-20). "arch 2.0 code base in progress". gnu-arch-dev (Mailing list). Retrieved 2008-06-17.[영구 데드링크]
  12. ^ a b Lord, Thomas (2005-07-08). "GNU Arch 2.0 -- first source". gnu-arch-dev (Mailing list). Archived from the original on 2011-05-17. Retrieved 2008-06-17.
  13. ^ Lord, Thomas (2005-08-01). "Arch 2.0 release (revc.0.0x2)". gnu-arch-users (Mailing list). Retrieved 2008-06-17.
  14. ^ Wandrebeck, Laurent (2008-03-26). "revc". gnu-arch-users (Mailing list). Retrieved 2008-06-17.
  15. ^ Lord, Thomas (2008-03-28). "Re: revc". gnu-arch-users (Mailing list). Retrieved 2008-06-17.
  16. ^ Pool, Martin (2004-06-21). "What's wrong with Arch?". Archived from the original on 2012-07-14. Retrieved 2008-06-18.
  17. ^ Pool, Martin (2004-09-26). "Tom Lord interview, and related things". Archived from the original on 2012-07-13. Retrieved 2008-06-18. Earlier versions were very much bound into projects being run the way Tom wanted them: wierd [sic] file conventions, only committing from clean trees, and so on
  18. ^ Weimer, Florian (2004-06-09). "Some Issues with GNU arch". Retrieved 2008-06-18.

외부 링크