#language ko == 입문서 - 저장소의 이력을 알아봅니다 == 여기까지 KoreanTutorialClone을 따라서 [[Repository|저장소]]를 복제한 상황입니다; 그럼 이제 로컬 카피를 {{{my-hello}}}라고 합시다. 이 저장소의 이력을 봐볼까요? 그러기 위해서는, {{{log}}} 명령을 씁니다. 이 명령은 [[Repository|저장소]]에 일어난 모든 일들을 요약하여, 최근의 일부터 시간의 역순으로 표시합니다. {{{ $ cd my-hello $ hg log changeset: 1:82e55d328c8c tag: tip user: mpm@selenic.com date: Fri Aug 26 01:21:28 2005 -0700 summary: Create a makefile changeset: 0:0a04b987be5a user: mpm@selenic.com date: Fri Aug 26 01:20:50 2005 -0700 summary: Create a standard "hello, world" program }}} 위와 같은 출력으로 몇가지 사실을 서술하고 있습니다. * 각 단락은 하나의 [[ChangeSet|변경집합]]을 나타냅니다. [[ChangeSet|변경집합]]이라함은 1개 이상의 파일 병경을, 1개의 논리적인 단위로 모아놓은 것입니다. * 위의 예에서는, [[Repository|저장소]]의 이력이 2개의 [[ChangeSet|변경집합]]으로 드러남을 알 수 있습니다. * {{{changeset}}}은 그 [[ChangeSet|변경집합]]의 고유 ID입니다. * 콜론 앞의 최초 숫자는 [[RevisionNumber|수정번호]]를 나타냅니다; 수정번호는 [[ChangeSet|변경집합]]을 가리키기 위한 단순한 방법입니다. 이 수정번호는 이 [[Repository|저장소]]안에서만 유효한 로컬한 개념입니다. * 콜론 뒤의 긴 16진수 문자열은 ChangeSetID입니다. 이것은 [[ChangeSet|변경집합]]을 일의적으로 가리키며, 이 [[ChangeSet|변경집합]]을 포함한 모든 저장소 안에서 같은 값입니다. 혹시 다른 누군과 어떤 [[ChangeSet|변경집합]]에 대해 의논하려 한다면, [[RevisionNumber|수정번호]]가 아닌 ChangeSetID를 써주세요. * {{{tag}}}는 어떤 [[ChangeSet|변경집합]]의 임의의 이름인 [[Tag|꼬리표]]를 나타냅니다. * 어떤 [[ChangeSet|변경집합]]에도 1개 이상의 [[Tag|꼬리표]]를 붙이는 것이 가능합니다. 실제로는 [[ChangeSet|변경집합]]이 붙이는 일이 거의 없어서, {{{tag}}} 줄은 잘 안나옵니다. * {{{tip}}}이라는 이름이 붙은 특별한 [[Tag|꼬리표]]는 보통 [[Tip]]을 가리킵니다. 이것은 [[Repository|저장소]]안에 있는 가장 새로운 [[ChangeSet|변경집합]]입니다. 만일, 다른 변경집합을 작성하면(곧 그렇게 합니다만), 그것이 [[Tip]]이 됩니다. * {{{user}}}는 그 [[ChangeSet|변경집합]]을 작성한 사람을 가리키는 것으로, 자유로운 형식의 문자열입니다; 보통 이메일 주소를, 종종 사람의 이름도 포함됩니다. * {{{date}}}은 언제 그 [[ChangeSet|변경집합]]이 작성되었는가를 가리킵니다. 이 일시 정보는 그 [[ChangeSet|변경집합]]의 작성자의 지역의 시간대로 표시됩니다. * {{{summary}}}는 그 [[ChangeSet|변경집합]]의 설명의 맨 처음 줄을 표시합니다. 이것은 그 [[ChangeSet|변경집합]]의 목정을 자신과 다른 사람들이 이해할 수 있게 돕기 위해, 그 [[ChangeSet|변경집합]]의 작성자가 작성시 입력하는 것입니다. * {{{parent}}}는 [[ChangeSet|변경집합]]의 부모를 가리킵니다. 몇개의 저장소로부터 변경을 병합한 경우는, 이것이 복수가 되는 일이 있습니다. * 대부분의 경우, 부모는 1개뿐으로, 그 변경집합보다도 오래된 변경집합을 1개 가리킵니다. 이것은 위의 예에도 해당합니다. {{{-v}}} 설정을 쓰면, 더욱 자세한 이력정보를 얻을 수 있습니다. {{{--debug}}} 전역 설정을 쓰면 하늘 아래 모든 것이 출력됩니다. {{{ $ hg log -v changeset: 1:82e55d328c8ca4ee16520036c0aaace03a5beb65 tag: tip user: mpm@selenic.com date: Fri Aug 26 01:21:28 2005 -0700 files: Makefile description: Create a makefile (...) $ hg log --debug manifest: 1:0c7c1d435e6703e03ac6634a7c32da3a082d1600 changeset: 1:82e55d328c8ca4ee16520036c0aaace03a5beb65 tag: tip parent: 0:0a04b987be5ae354b710cefeba0e2d9de7ad41a9 parent: -1:0000000000000000000000000000000000000000 user: mpm@selenic.com date: Fri Aug 26 01:21:28 2005 -0700 files+: Makefile description: Create a makefile (...) }}} 상세한 출력은 기본 출력보다 몇개 더 많은 필드를 포함하고 있습니다. * {{{changeset}}}은 생력되지 않은 ChangeSetID를 표시하게 됩니다. * {{{files}}}은 그 [[ChangeSet|변경집합]]으로 변경된 파일을 나열합니다. * {{{description}}}은 그 [[ChangeSet|변경집합]]의 설명을 한줄이 아닌 여러줄로 전부 나타냅니다. * 위 예에서는, 설명 자체가 1줄밖에 안되어서 별 차이는 없습니다. --debug 출력은 상제한 출력에 더해 다음의 필드를 표시합니다. * {{{file+}}}는 이 변경집합에서 추가된 파일을 나열합니다. * {{{file-}}}는 이 변경집합에서 삭제된 파일을 나열합니다. * {{{manifest}}}는 이 변경집합의 매니페스트 ID를 표시합니다. * 2개의 {{{parent}}} 필드는 이 변경집합의 두 부모의 변경집합 ID를 표시합니다. {{{-1:0000000000000000000000000000000000000000}}}는 무효인 부모를 참조하고 있습니다. {{{-r}}} 설정을 쓴 {{{log}}} 명령은 특정 변경집합을 표시합니다. {{{ $ hg log -r1 changeset: 1:82e55d328c8c tag: tip user: mpm@selenic.com date: Fri Aug 26 01:21:28 2005 -0700 summary: Create a makefile }}} {{{-r}}} 설정은 실제로는 변경집합의 범위를 지정하는 데에 매우 유연한 구문을 지원하고 있습니다. 하지만, 이 예제의 저장소에서는, 쓸 수 있는 변경집합의 수가 제한되어 있어서, 그 위력을 보여줄 수 없습니다. 자세한 것은 Mercurial의 [[http://www.selenic.com/mercurial/hg.1.html|메뉴얼 페이지]]를 참고하세요. {{{-p}}} 설정을 쓴 {{{log}}} 명령은, 그 변경집합에 관련된 패치를 표시합니다. {{{ $ hg log -r1 -p changeset: 1:82e55d328c8c tag: tip user: mpm@selenic.com date: Fri Aug 26 01:21:28 2005 -0700 summary: Create a makefile diff -r 0a04b987be5a -r 82e55d328c8c Makefile --- /dev/null Fri Aug 26 01:20:50 2005 -0700 +++ b/Makefile Fri Aug 26 01:21:28 2005 -0700 @@ -0,0 +1,1 @@ +all: hello }}} ''tip'', 즉 최신 변경집합의 정보를 표시하는 데에 {{{tip}}} 명령을 쓸 수 있습니다. {{{tip}}} 명령은 {{{log -r tip}}}에의 단축이라고 생각할 수도 있습니다. {{{ $ hg tip changeset: 1:82e55d328c8c tag: tip user: mpm@selenic.com date: Fri Aug 26 01:21:28 2005 -0700 summary: Create a makefile $ hg log -r tip changeset: 1:82e55d328c8c tag: tip user: mpm@selenic.com date: Fri Aug 26 01:21:28 2005 -0700 summary: Create a makefile }}} 뭔가 감이 오고 있으니까, 이제 변경을 가해봅시다! KoreanTutorialFirstChange으로 넘어갑니다. ---- CategoryKorean