Size: 7376
Comment: #language ko
|
← Revision 4 as of 2009-05-19 19:30:57 ⇥
Size: 7409
Comment: converted to 1.6 markup
|
Deletions are marked like this. | Additions are marked like this. |
Line 5: | Line 5: |
여기까지 KoreanTutorialClone을 따라서 [:Repository:저장소]를 복제한 상황입니다; 그럼 이제 로컬 카피를 {{{my-hello}}}라고 합시다. | 여기까지 KoreanTutorialClone을 따라서 [[Repository|저장소]]를 복제한 상황입니다; 그럼 이제 로컬 카피를 {{{my-hello}}}라고 합시다. |
Line 7: | Line 7: |
이 저장소의 이력을 봐볼까요? 그러기 위해서는, {{{log}}} 명령을 씁니다. 이 명령은 [:Repository:저장소]에 일어난 모든 일들을 요약하여, 최근의 일부터 시간의 역순으로 표시합니다. | 이 저장소의 이력을 봐볼까요? 그러기 위해서는, {{{log}}} 명령을 씁니다. 이 명령은 [[Repository|저장소]]에 일어난 모든 일들을 요약하여, 최근의 일부터 시간의 역순으로 표시합니다. |
Line 26: | Line 26: |
* 각 단락은 하나의 [: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:변경집합]의 부모를 가리킵니다. 몇개의 저장소로부터 변경을 병합한 경우는, 이것이 복수가 되는 일이 있습니다. |
* 각 단락은 하나의 [[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|변경집합]]의 부모를 가리킵니다. 몇개의 저장소로부터 변경을 병합한 경우는, 이것이 복수가 되는 일이 있습니다. |
Line 72: | Line 72: |
* {{{files}}}은 그 [:ChangeSet:변경집합]으로 변경된 파일을 나열합니다. * {{{description}}}은 그 [:ChangeSet:변경집합]의 설명을 한줄이 아닌 여러줄로 전부 나타냅니다. |
* {{{files}}}은 그 [[ChangeSet|변경집합]]으로 변경된 파일을 나열합니다. * {{{description}}}은 그 [[ChangeSet|변경집합]]의 설명을 한줄이 아닌 여러줄로 전부 나타냅니다. |
Line 94: | Line 94: |
<!> {{{-r}}} 설정은 실제로는 변경집합의 범위를 지정하는 데에 매우 유연한 구문을 지원하고 있습니다. 하지만, 이 예제의 저장소에서는, 쓸 수 있는 변경집합의 수가 제한되어 있어서, 그 위력을 보여줄 수 없습니다. 자세한 것은 Mercurial의 [http://www.selenic.com/mercurial/hg.1.html 메뉴얼 페이지]를 참고하세요. | <!> {{{-r}}} 설정은 실제로는 변경집합의 범위를 지정하는 데에 매우 유연한 구문을 지원하고 있습니다. 하지만, 이 예제의 저장소에서는, 쓸 수 있는 변경집합의 수가 제한되어 있어서, 그 위력을 보여줄 수 없습니다. 자세한 것은 Mercurial의 [[http://www.selenic.com/mercurial/hg.1.html|메뉴얼 페이지]]를 참고하세요. |
입문서 - 저장소의 이력을 알아봅니다
여기까지 KoreanTutorialClone을 따라서 저장소를 복제한 상황입니다; 그럼 이제 로컬 카피를 my-hello라고 합시다.
이 저장소의 이력을 봐볼까요? 그러기 위해서는, log 명령을 씁니다. 이 명령은 저장소에 일어난 모든 일들을 요약하여, 최근의 일부터 시간의 역순으로 표시합니다.
$ 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
위와 같은 출력으로 몇가지 사실을 서술하고 있습니다.
각 단락은 하나의 변경집합을 나타냅니다. 변경집합이라함은 1개 이상의 파일 병경을, 1개의 논리적인 단위로 모아놓은 것입니다.
changeset은 그 변경집합의 고유 ID입니다.
user는 그 변경집합을 작성한 사람을 가리키는 것으로, 자유로운 형식의 문자열입니다; 보통 이메일 주소를, 종종 사람의 이름도 포함됩니다.
date은 언제 그 변경집합이 작성되었는가를 가리킵니다. 이 일시 정보는 그 변경집합의 작성자의 지역의 시간대로 표시됩니다.
summary는 그 변경집합의 설명의 맨 처음 줄을 표시합니다. 이것은 그 변경집합의 목정을 자신과 다른 사람들이 이해할 수 있게 돕기 위해, 그 변경집합의 작성자가 작성시 입력하는 것입니다.
parent는 변경집합의 부모를 가리킵니다. 몇개의 저장소로부터 변경을 병합한 경우는, 이것이 복수가 되는 일이 있습니다.
- 대부분의 경우, 부모는 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은 그 변경집합으로 변경된 파일을 나열합니다.
description은 그 변경집합의 설명을 한줄이 아닌 여러줄로 전부 나타냅니다.
- 위 예에서는, 설명 자체가 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의 메뉴얼 페이지를 참고하세요.
-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으로 넘어갑니다.