Differences between revisions 3 and 4
Revision 3 as of 2008-01-15 23:00:04
Size: 7376
Editor: abuehl
Comment: #language ko
Revision 4 as of 2009-05-19 19:30:57
Size: 7409
Editor: localhost
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개의 논리적인 단위로 모아놓은 것입니다.

    • 위의 예에서는, 저장소의 이력이 2개의 변경집합으로 드러남을 알 수 있습니다.

  • changeset은 그 변경집합의 고유 ID입니다.

    • 콜론 앞의 최초 숫자는 수정번호를 나타냅니다; 수정번호는 변경집합을 가리키기 위한 단순한 방법입니다. 이 수정번호는 이 저장소안에서만 유효한 로컬한 개념입니다.

    • 콜론 뒤의 긴 16진수 문자열은 ChangeSetID입니다. 이것은 변경집합을 일의적으로 가리키며, 이 변경집합을 포함한 모든 저장소 안에서 같은 값입니다. 혹시 다른 누군과 어떤 변경집합에 대해 의논하려 한다면, 수정번호가 아닌 ChangeSetID를 써주세요.

  • tag는 어떤 변경집합의 임의의 이름인 꼬리표를 나타냅니다.

    • 어떤 변경집합에도 1개 이상의 꼬리표를 붙이는 것이 가능합니다. 실제로는 변경집합이 붙이는 일이 거의 없어서, tag 줄은 잘 안나옵니다.

    • tip이라는 이름이 붙은 특별한 꼬리표는 보통 Tip을 가리킵니다. 이것은 저장소안에 있는 가장 새로운 변경집합입니다. 만일, 다른 변경집합을 작성하면(곧 그렇게 합니다만), 그것이 Tip이 됩니다.

  • 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으로 넘어갑니다.


CategoryKorean

KoreanTutorialHistory (last edited 2009-05-19 19:30:57 by localhost)