2011-05-04 2 views
7

알로하!Python 응용 프로그램에서 mercurial (Hg)을 사용하는 방법은 무엇입니까?

Hg는 파이썬 모듈이기도 한 고급 DVCS입니다. 이것은 우리가 ''mercurial import ''를하고 우리 자신의 응용 프로그램에 hg를로드 할 수있게 해줍니다. 내 생각은 파이썬 응용 프로그램 내에서 수은을 사용하여 내 응용 프로그램에 대한 개정 관리 저장소를 만드는 것이 었습니다.

그러나 내 google-fu semms는 나를 실패시킵니다. 파이썬에서 hg를 모듈로 사용하는 방법에 대한 문서, 튜토리얼 또는 예제를 찾을 수 없습니다. 도움말 (수은)은 일반적인 명령을 나열하고 dir()은 메서드에 대한 힌트를 제공합니다.

예를 들어 상점을 백업 할 파일을 만들거나 Hg 저장소로 작동하는 다른 유형의 데이터 구조를 얻나요?

이 기능을 가진 깔끔한 잠재력이 큰 것 같습니다. 그러나 어떻게?

+0

수은 프로젝트는 버전간에 API의 하위 호환성을 유지하기위한 시도를하지 않으므로 그렇게하지 않는 것이 좋습니다. – geoffspear

+1

Mercurial은 GPL (LGPL이 아님)이므로, 응용 프로그램이 Mercurial에이 방식으로 링크되어 배포되는 경우 GPL 아래에 응용 프로그램을 배치해야합니다. 이러한 이유로 안정적인 API가 유일하게 보장되기 때문에 명령 줄/프로세스 수준에서 대부분의 통합이 여전히 안정적이며 잘 문서화되어 있습니다. –

답변

6

API는 대부분 문서화되어 있지 않으므로 코드를 GPL로 릴리스해야 할 수도 있습니다 (https://www.mercurial-scm.org/wiki/MercurialApi 참조). 선호되는 (그리고 이전 버전과 호환되는) 방법은 hg CLI 프론트 엔드를 호출하는 것입니다.

+0

답장을 보내 주셔서 감사합니다. 기본적으로이 아이디어는 Hg API 불안정성 및 라이센스로 인해 나쁩니다. 흠, 좋아. CLI 호출을 통해 실행하는 것은 앞으로 나아갈 수있는 방법이며 상태에 따라 문제를 깔끔하게 해결할 수 있습니다. 데이터 구조를 직접 수정하는 것만 큼 깨끗하지는 않습니다. 저장을 위해 파일을 덤핑 ​​(pickling)해야합니다. 어쨌든 당신은 아마해야 할 것입니다. 드로잉 보드로 돌아가 봅시다. 다시 한번 감사드립니다. – JoachimS

관련 문제