수은
Mercurial![]() | |
개발자 | 올리비아[a] 매콜 |
---|---|
초기 릴리즈 | 2005년 4월 [1] | , 전(
안정된 릴리스 | 6.2.1 / 2022년[2] 7월 22일 |
저장소 | |
기입처 | Python, C 및[3] Rust |
운영 체제 | Unix급, Windows, MacOS |
유형 | 버전 관리 |
면허증. | GPL-2.0 이후 |
웹 사이트 | www![]() |
Mercurial은 소프트웨어 개발자를 위한 분산 리비전 제어 도구입니다.Microsoft Windows 및 FreeBSD, macOS 및 Linux와 같은 Unix와 유사한 시스템에서 지원됩니다.
Mercurial의 주요 설계 목표는 개념적으로 [4]단순하면서도 고성능과 확장성, 분산형, 완전히 분산된 협업 개발, 플레인 텍스트와 바이너리 파일의 견고한 처리, 고급 분기 및 병합 기능입니다.통합 웹 인터페이스가 포함되어 있습니다.또한 Mercurial은 다른 버전 관리 시스템, 특히 Subversion 사용자의 전환을 용이하게 하기 위한 조치를 취했습니다.Mercurial은 주로 명령줄 기반 프로그램이지만 그래픽 사용자 인터페이스 확장을 사용할 수 있습니다.TortoiseHg 및 여러 IDE는 Mercurial을 사용한 버전 관리를 지원합니다.Mercurial의 모든 작업은 드라이버 프로그램의 인수로 호출됩니다.hg
(수은 원소의 화학적 기호인 Hg에 대한 참조).
Olivia[a] Mackall은 Mercurial을 창시하여 2016년 말까지 수석 개발자로 활동했습니다.Mercurial은 GPL-2.0 이후 [6]라이선스에 따라 자유 소프트웨어로 출시됩니다.주로 Python 프로그래밍 언어를 사용하여 구현되지만 C로 작성된 바이너리 diff 구현을 포함합니다.
역사
맥칼은 2005년 [1]4월 19일에 처음으로 머큐리얼을 발표했다.이에 대한 자극은 Bitmover가 SourcePuller의 개발로 인해 무료 버전의 BitKeeper를 철회한다고 발표한 그 달 초입니다.
BitKeeper는 Linux 커널 프로젝트의 버전 관리 요건에 사용되었습니다.Mackall은 Linux 커널을 대체하는 분산 버전 관리 시스템을 작성하기로 결정했습니다.이 프로젝트는 현재 잘 알려진 Git 프로젝트가 비슷한 [7]목적을 가진 Linus Torvalds에 의해 시작된 지 며칠 후에 시작되었습니다.
Linux 커널 프로젝트는 Mercurial이 아닌 Git을 사용하기로 결정했지만, Mercurial은 현재 많은 다른 프로젝트에서 사용되고 있습니다(아래 참조).
Mercurial 메일링 리스트에 대한 답변에서 Olivia Mackall은 "Mercurial"이라는 이름이 어떻게 선택되었는지 설명했습니다.
첫 번째 발매 직전에, 나는 래리 맥보이가 ('fickle'이라는 의미에서) 'bitkeeper'의 대실패에 대한 기사를 읽었다.여러 가지 의미와 편리한 줄임말, 기존의 이름 붙이기 방식(이메일 주소 참조)에 적합하기 때문에 순식간에 마음에 들었습니다.그래서 머큐리얼은 래리의 이름을 따서 붙여졌다.Git도 [8][9]마찬가지인지 모르겠다.
OpenJDK와 같은 유명한 프로젝트에서는 과거에 [10]Mercurial을 사용했지만, Java 16에서는 OpenJDK가 사용되지 않습니다.
설계.
Mercurial은 SHA-1 해시를 사용하여 리비전을 식별합니다.네트워크를 통한 저장소 액세스의 경우 Mercurial은 왕복 요청, 새 연결 및 데이터 전송을 줄이는 HTTP 기반 프로토콜을 사용합니다.Mercurial은 또한 프로토콜이 HTTP 기반 프로토콜과 매우 유사한 SSH를 통해 작동할 수 있습니다.기본적으로는 외부 병합 도구를 호출하기 전에 3방향 병합을 사용합니다.
사용.
그림 1은 Mercurial에서 가장 중요한 작업 중 몇 가지와 Mercurial 개념과의 관계를 보여줍니다.
도입
Linux 커널 소스를 관리하기 위해 Mercurial이 선택되지는 않았지만 [11]Facebook, W3C 및 Mozilla를 포함한 여러 조직에서 Mercurial을 채택했습니다.Facebook은 대규모 멀티프로젝트 저장소를 지원하기 위해 특별히 설계된 머큐리얼 서버인 [12][13]Mononoke를 작성하기 위해 Rust 프로그래밍 언어를 사용하고 있다.
2013년, Facebook은 Mercurial을 채용해, 대규모 통합 코드 [14]저장소를 처리하기 위한 확장 작업을 개시했습니다.
구글은 또한 Mercurial 클라이언트를 클라우드 기반 '파이퍼' 모노레포 백엔드의 [15]프런트 엔드로 사용합니다.
비트버킷은 웹 기반 버전 관리 서비스가 2020년 6월(그 후 [16]2020년 7월까지 연장)에 머큐리얼에 대한 지원을 중단할 것이라고 발표하면서 "새로운 프로젝트의 1% 미만이 머큐리얼을 사용하고 있으며 개발자 조사에 따르면 개발자의 90%가 Git을 사용하고 있다"[17]고 설명했다.
Mercurial 서버 및 저장소 관리
- Octobus의 Mercurial용 Gitlab 포크인 Heptapod
- 옥타브 및 관련 소프트웨어용 GNU 옥타브 [1]
- 로드코드의 GPLv3 포크인 칼리테아
- Killon by Fog Creek 소프트웨어
- 페이실리티에 의한 조립기
- 로드코드 by RoadCode Inc.
소스 코드 호스팅
다음 웹 사이트에서는 Mercurial 저장소에 대한 무료 소스 코드 호스팅을 제공합니다.
- Bitbucket by Atlassian (2020년 2월부터 폐지, 2020년 [17]7월부터 읽기 전용)
- 코드[18] 베이스
- Fusion Forge(퓨전 포트)
- 옥타브 관련 소프트웨어 및 패키지용 GNU 옥타브[2]
- GNU Savannah by FSF
- 헵타포드
- 모즈데브
- OSDN[19]
- 기타[20]
- 퍼포스[21]
- Puszcza[22](우크라이나에서 호스팅되는 GNU Savannah 자매 사이트)
- 소스 포지
- 소스허트
- 턱스[23] 패밀리
Mercurial을 사용한 오픈 소스 프로젝트
일부 프로젝트는 Mercurial 분산 [24]RCS를 사용합니다.
「 」를 참조해 주세요.
메모들
레퍼런스
- ^ a b Mackall, Matt (20 April 2005). "Mercurial v0.1 – a minimal scalable distributed SCM". Linux kernel (Mailing list).
- ^ https://www.mercurial-scm.org/repo/hg/rev/6.2.1 를 참조해 주세요.
- ^ "README file in rust subdirectory, master branch". 24 January 2020. Retrieved 30 January 2020.
- ^ Mackall, Matt. "Towards a Better SCM: Revlog and Mercurial" (PDF). Mercurial. Archived (PDF) from the original on 26 May 2019. Retrieved 26 May 2019.
- ^ "Matt Mackall is now Olivia Mackall". Mercurial. Retrieved 28 May 2021.
{{cite web}}
: CS1 maint :url-status (링크) - ^ 를 클릭합니다"Relicensing", Mercurial (wiki), Mercurial-scm.org.
- ^ Mackall, Matt (29 April 2005). "Re: Mercurial 0.4b vs git patchbomb benchmark". Linux kernel (Mailing list). Archived from the original on 9 July 2012.
- ^ Mackall, Matt (15 February 2012). "Why did Matt choose the name Mercurial?". Mercurial (Mailing list). Retrieved 7 June 2016.
- ^ Torvalds는 다음과 같이 말했습니다. "저는 이기적인 놈이기 때문에 모든 프로젝트에 제 이름을 붙입니다. 처음에는 Linux, 지금은 git.
- ^ James Gosling (October 2006). "Open Sourcing Sun's Java Platform Implementations, Part 1" (Interview). Interviewed by Robert Eckstein. Sun. Archived from the original on 1 March 2009.
{{cite interview}}
: CS1 유지보수: 부적합한 URL(링크) - ^ "Scaling Mercurial at Facebook". 7 January 2014.
- ^ "A Mercurial source control server, specifically designed to support large monorepos.: facebookexperimental/mononoke". 31 January 2019 – via GitHub.
- ^ Szorc, Gregory (17 October 2016). "Mercurial 4.0 Sprint Notes". mozilla.dev.version-control. Google Groups. Retrieved 2021-11-22.
- ^ Goode, Durham; Agarwal, Siddharth. "Scaling Mercurial at Facebook". Facebook Code. Retrieved 13 October 2015 – via Facebook.
- ^ "Why Google Stores Billions of Lines of Code in a Single Repository".
- ^ "Sunsetting Mercurial support in Bitbucket". 21 April 2020. Archived from the original on 1 July 2020.
- ^ a b Chan, Denise (20 August 2019). "Sunsetting Mercurial support in Bitbucket". Bitbucket. Retrieved 29 August 2019.
- ^ "Git, Mercurial & Subversion hosting". Features. Codebase HQ. 4 March 2013. Archived from the original on 30 March 2014. Retrieved 4 March 2013.
- ^ "Let's start OSS development with Mercurial (Hg) – OSDN". osdn.net.
- ^ 를 클릭합니다"Hosting", Mercurial (wiki), Mercurial-scm.org.
- ^ "Try Helix TeamHub Free Perforce". info.perforce.com.
- ^ "Welcome [Puszcza]". ps.gnu.org.ua.
- ^ "TuxFamily: Free hosting for free people". tuxfamily.org.
- ^ 를 클릭합니다"Some projects that use Mercurial", Mercurial (wiki), Mercurial-scm.org.
- ^ Reed, J Paul (12 April 2007). "Version Control System Shootout Redux Redux".
- ^ mozilla-mobile/fenix, Mozilla Mobile, 19 March 2021, retrieved 19 March 2021
외부 링크


- Mackall, Matt, "FLOSS Podcast", This week in Tech
- O'Sullivan, Bryan (2009), Mercurial: The Definitive Guide (book), O'Reilly, 온라인에서 무료로 이용 가능
- Spolsky, Joel, Mercurial tutorial, archived from the original on 13 June 2016, retrieved 6 April 2010
- An example-based Mercurial tutorial (PDF), SE: Jemander 기본 및 고급 용도를 모두 커버하는 모습
- "Mercurial: an alternative to git", LWN
- "Subversion or CVS, Bazaar or Mercurial? Four open source version control systems compared", JavaWorld, September 2007
- "Mercurial", TechTalk (video), archived from the original on 21 December 2021
- Mercurial Wiki에서 Mercurial을 사용한 프로젝트 목록
- 공식 웹사이트