git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] git-remote.txt: fix wrong remote refspec
@ 2011-06-23  4:45 Namhyung Kim
  2011-06-23  5:35 ` Junio C Hamano
  0 siblings, 1 reply; 16+ messages in thread
From: Namhyung Kim @ 2011-06-23  4:45 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

$GIT_DIR/remotes/<name>/HEAD should be
$GIT_DIR/refs/remotes/<name>/HEAD.

Signed-off-by: Namhyung Kim <namhyung@gmail.com>
---
 Documentation/git-remote.txt |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/Documentation/git-remote.txt b/Documentation/git-remote.txt
index 528f34a..f5b6e8b 100644
--- a/Documentation/git-remote.txt
+++ b/Documentation/git-remote.txt
@@ -64,7 +64,7 @@ refspec for the remote to track all branches under
 is created.  You can give more than one `-t <branch>` to track
 multiple branches without grabbing all branches.
 +
-With `-m <master>` option, `$GIT_DIR/remotes/<name>/HEAD` is set
+With `-m <master>` option, `$GIT_DIR/refs/remotes/<name>/HEAD` is set
 up to point at remote's `<master>` branch. See also the set-head command.
 +
 When a fetch mirror is created with `\--mirror=fetch`, the refs will not
@@ -92,23 +92,23 @@ configuration settings for the remote are removed.
 
 'set-head'::
 
-Sets or deletes the default branch (`$GIT_DIR/remotes/<name>/HEAD`) for
+Sets or deletes the default branch (`$GIT_DIR/refs/remotes/<name>/HEAD`) for
 the named remote. Having a default branch for a remote is not required,
 but allows the name of the remote to be specified in lieu of a specific
 branch. For example, if the default branch for `origin` is set to
 `master`, then `origin` may be specified wherever you would normally
 specify `origin/master`.
 +
-With `-d`, `$GIT_DIR/remotes/<name>/HEAD` is deleted.
+With `-d`, `$GIT_DIR/refs/remotes/<name>/HEAD` is deleted.
 +
 With `-a`, the remote is queried to determine its `HEAD`, then
-`$GIT_DIR/remotes/<name>/HEAD` is set to the same branch. e.g., if the remote
+`$GIT_DIR/refs/remotes/<name>/HEAD` is set to the same branch. e.g., if the remote
 `HEAD` is pointed at `next`, "`git remote set-head origin -a`" will set
 `$GIT_DIR/refs/remotes/origin/HEAD` to `refs/remotes/origin/next`. This will
 only work if `refs/remotes/origin/next` already exists; if not it must be
 fetched first.
 +
-Use `<branch>` to set `$GIT_DIR/remotes/<name>/HEAD` explicitly. e.g., "git
+Use `<branch>` to set `$GIT_DIR/refs/remotes/<name>/HEAD` explicitly. e.g., "git
 remote set-head origin master" will set `$GIT_DIR/refs/remotes/origin/HEAD` to
 `refs/remotes/origin/master`. This will only work if
 `refs/remotes/origin/master` already exists; if not it must be fetched first.
-- 
1.7.5.2

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* Re: [PATCH] git-remote.txt: fix wrong remote refspec
  2011-06-23  4:45 [PATCH] git-remote.txt: fix wrong remote refspec Namhyung Kim
@ 2011-06-23  5:35 ` Junio C Hamano
  2011-06-23  6:17   ` Namhyung Kim
  2011-06-23 15:33   ` [PATCH] " Junio C Hamano
  0 siblings, 2 replies; 16+ messages in thread
From: Junio C Hamano @ 2011-06-23  5:35 UTC (permalink / raw)
  To: Namhyung Kim; +Cc: git

Namhyung Kim <namhyung@gmail.com> writes:

> $GIT_DIR/remotes/<name>/HEAD should be
> $GIT_DIR/refs/remotes/<name>/HEAD.
>
> Signed-off-by: Namhyung Kim <namhyung@gmail.com>
> ---

Obviously correct; thanks.

There is another questionable one you did not touch, though.

    With `-t <branch>` option, instead of the default glob
    refspec for the remote to track all branches under
    `$GIT_DIR/remotes/<name>/`, a refspec to track only `<branch>`
    is created.  You can give more than one `-t <branch>` to track
    multiple branches without grabbing all branches.

The above says "$GIT_DIR/remotes/<name>/", but it should say

    ... all branches under refs/remotes/<name>/ namespace,...

Also we should try to see if we can come up with a way to say the things
the part your patch touched describe _without_ mentioning $GIT_DIR at
all. "Store in $GIT_DIR/refs/$X" talks too much about the implementation
detail that the ref in question is implemented as a loose ref. We would
pack it into a single entry in $GIT_DIR/packed-refs file when we run gc,
and at that point "$GIT_DIR/refs/$X" is no longer a correct description.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH] git-remote.txt: fix wrong remote refspec
  2011-06-23  5:35 ` Junio C Hamano
@ 2011-06-23  6:17   ` Namhyung Kim
  2011-06-23  8:12     ` [PATCH v2] " Namhyung Kim
  2011-06-23 15:33   ` [PATCH] " Junio C Hamano
  1 sibling, 1 reply; 16+ messages in thread
From: Namhyung Kim @ 2011-06-23  6:17 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

Hello,

2011-06-22 (수), 22:35 -0700, Junio C Hamano:
> Namhyung Kim <namhyung@gmail.com> writes:
> 
> > $GIT_DIR/remotes/<name>/HEAD should be
> > $GIT_DIR/refs/remotes/<name>/HEAD.
> >
> > Signed-off-by: Namhyung Kim <namhyung@gmail.com>
> > ---
> 
> Obviously correct; thanks.
> 
> There is another questionable one you did not touch, though.
> 
>     With `-t <branch>` option, instead of the default glob
>     refspec for the remote to track all branches under
>     `$GIT_DIR/remotes/<name>/`, a refspec to track only `<branch>`
>     is created.  You can give more than one `-t <branch>` to track
>     multiple branches without grabbing all branches.
> 
> The above says "$GIT_DIR/remotes/<name>/", but it should say
> 
>     ... all branches under refs/remotes/<name>/ namespace,...
> 

Oh, I didn't aware of that. Will send v2 soon.


> Also we should try to see if we can come up with a way to say the things
> the part your patch touched describe _without_ mentioning $GIT_DIR at
> all. "Store in $GIT_DIR/refs/$X" talks too much about the implementation
> detail that the ref in question is implemented as a loose ref. We would
> pack it into a single entry in $GIT_DIR/packed-refs file when we run gc,
> and at that point "$GIT_DIR/refs/$X" is no longer a correct description.

I see. But I think it is a different issue and should be treated by
another patch(es). Just omitting $GIT_DIR is not enough? I don't know :)

Thanks.


-- 
Regards,
Namhyung Kim

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH v2] git-remote.txt: fix wrong remote refspec
  2011-06-23  6:17   ` Namhyung Kim
@ 2011-06-23  8:12     ` Namhyung Kim
  0 siblings, 0 replies; 16+ messages in thread
From: Namhyung Kim @ 2011-06-23  8:12 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

$GIT_DIR/remotes/<name>/<branch> should be
$GIT_DIR/refs/remotes/<name>/<branch>.

Signed-off-by: Namhyung Kim <namhyung@gmail.com>
---
 Documentation/git-remote.txt |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/Documentation/git-remote.txt b/Documentation/git-remote.txt
index 528f34a..1e3945f 100644
--- a/Documentation/git-remote.txt
+++ b/Documentation/git-remote.txt
@@ -60,11 +60,11 @@ the remote repository.
 +
 With `-t <branch>` option, instead of the default glob
 refspec for the remote to track all branches under
-`$GIT_DIR/remotes/<name>/`, a refspec to track only `<branch>`
+`$GIT_DIR/refs/remotes/<name>/`, a refspec to track only `<branch>`
 is created.  You can give more than one `-t <branch>` to track
 multiple branches without grabbing all branches.
 +
-With `-m <master>` option, `$GIT_DIR/remotes/<name>/HEAD` is set
+With `-m <master>` option, `$GIT_DIR/refs/remotes/<name>/HEAD` is set
 up to point at remote's `<master>` branch. See also the set-head command.
 +
 When a fetch mirror is created with `\--mirror=fetch`, the refs will not
@@ -92,23 +92,23 @@ configuration settings for the remote are removed.
 
 'set-head'::
 
-Sets or deletes the default branch (`$GIT_DIR/remotes/<name>/HEAD`) for
+Sets or deletes the default branch (`$GIT_DIR/refs/remotes/<name>/HEAD`) for
 the named remote. Having a default branch for a remote is not required,
 but allows the name of the remote to be specified in lieu of a specific
 branch. For example, if the default branch for `origin` is set to
 `master`, then `origin` may be specified wherever you would normally
 specify `origin/master`.
 +
-With `-d`, `$GIT_DIR/remotes/<name>/HEAD` is deleted.
+With `-d`, `$GIT_DIR/refs/remotes/<name>/HEAD` is deleted.
 +
 With `-a`, the remote is queried to determine its `HEAD`, then
-`$GIT_DIR/remotes/<name>/HEAD` is set to the same branch. e.g., if the remote
+`$GIT_DIR/refs/remotes/<name>/HEAD` is set to the same branch. e.g., if the remote
 `HEAD` is pointed at `next`, "`git remote set-head origin -a`" will set
 `$GIT_DIR/refs/remotes/origin/HEAD` to `refs/remotes/origin/next`. This will
 only work if `refs/remotes/origin/next` already exists; if not it must be
 fetched first.
 +
-Use `<branch>` to set `$GIT_DIR/remotes/<name>/HEAD` explicitly. e.g., "git
+Use `<branch>` to set `$GIT_DIR/refs/remotes/<name>/HEAD` explicitly. e.g., "git
 remote set-head origin master" will set `$GIT_DIR/refs/remotes/origin/HEAD` to
 `refs/remotes/origin/master`. This will only work if
 `refs/remotes/origin/master` already exists; if not it must be fetched first.
-- 
1.7.5.2

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* Re: [PATCH] git-remote.txt: fix wrong remote refspec
  2011-06-23  5:35 ` Junio C Hamano
  2011-06-23  6:17   ` Namhyung Kim
@ 2011-06-23 15:33   ` Junio C Hamano
  2011-06-23 16:03     ` Namhyung Kim
  2011-06-23 16:52     ` [PATCH 0/5] Clarify "refs" Junio C Hamano
  1 sibling, 2 replies; 16+ messages in thread
From: Junio C Hamano @ 2011-06-23 15:33 UTC (permalink / raw)
  To: git; +Cc: Namhyung Kim

Junio C Hamano <gitster@pobox.com> writes:

> Obviously correct; thanks.
>
> There is another questionable one you did not touch, though.
>
>     With `-t <branch>` option, instead of the default glob
>     refspec for the remote to track all branches under
>     `$GIT_DIR/remotes/<name>/`, a refspec to track only `<branch>`
>     is created.  You can give more than one `-t <branch>` to track
>     multiple branches without grabbing all branches.
>
> The above says "$GIT_DIR/remotes/<name>/", but it should say
>
>     ... all branches under refs/remotes/<name>/ namespace,...
>
> Also we should try to see if we can come up with a way to say the things
> the part your patch touched describe _without_ mentioning $GIT_DIR at
> all. "Store in $GIT_DIR/refs/$X" talks too much about the implementation
> detail that the ref in question is implemented as a loose ref. We would
> pack it into a single entry in $GIT_DIR/packed-refs file when we run gc,
> and at that point "$GIT_DIR/refs/$X" is no longer a correct description.

And here is my attempt, on top of Namhyung's v2 of this patch.

-- >8 --
Subject: git-remote.txt: avoid sounding as if loose refs are the only ones in the world

It was correct to say "The file $GIT_DIR/refs/heads/master stores the
commit object name at the tip of the master branch" in the older days,
but not anymore, as refs can be packed into $GIT_DIR/packed-refs file.

Update the document to talk in terms of a more abstract concept "ref" and
"symbolic ref" where we are not describing the underlying implementation
detail.

This on purpose leaves two instances of $GIT_DIR/ in the git-remote
documentation; they do talk about $GIT_DIR/remotes/ and $GIT_DIR/branches/
file hierarchy that used to be the place to store configuration around
remotes before the configuration mechanism took them over.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 Documentation/git-remote.txt |   19 ++++++++++---------
 1 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/Documentation/git-remote.txt b/Documentation/git-remote.txt
index 1e3945f..5a8c506 100644
--- a/Documentation/git-remote.txt
+++ b/Documentation/git-remote.txt
@@ -60,11 +60,11 @@ the remote repository.
 +
 With `-t <branch>` option, instead of the default glob
 refspec for the remote to track all branches under
-`$GIT_DIR/refs/remotes/<name>/`, a refspec to track only `<branch>`
+the `refs/remotes/<name>/` namespace, a refspec to track only `<branch>`
 is created.  You can give more than one `-t <branch>` to track
 multiple branches without grabbing all branches.
 +
-With `-m <master>` option, `$GIT_DIR/refs/remotes/<name>/HEAD` is set
+With `-m <master>` option, a symbolic-ref `refs/remotes/<name>/HEAD` is set
 up to point at remote's `<master>` branch. See also the set-head command.
 +
 When a fetch mirror is created with `\--mirror=fetch`, the refs will not
@@ -92,24 +92,25 @@ configuration settings for the remote are removed.
 
 'set-head'::
 
-Sets or deletes the default branch (`$GIT_DIR/refs/remotes/<name>/HEAD`) for
+Sets or deletes the default branch (i.e. the target of the
+symbolic-ref `refs/remotes/<name>/HEAD`) for
 the named remote. Having a default branch for a remote is not required,
 but allows the name of the remote to be specified in lieu of a specific
 branch. For example, if the default branch for `origin` is set to
 `master`, then `origin` may be specified wherever you would normally
 specify `origin/master`.
 +
-With `-d`, `$GIT_DIR/refs/remotes/<name>/HEAD` is deleted.
+With `-d`, the symbolic ref `refs/remotes/<name>/HEAD` is deleted.
 +
-With `-a`, the remote is queried to determine its `HEAD`, then
-`$GIT_DIR/refs/remotes/<name>/HEAD` is set to the same branch. e.g., if the remote
+With `-a`, the remote is queried to determine its `HEAD`, then the
+symbolic-ref `refs/remotes/<name>/HEAD` is set to the same branch. e.g., if the remote
 `HEAD` is pointed at `next`, "`git remote set-head origin -a`" will set
-`$GIT_DIR/refs/remotes/origin/HEAD` to `refs/remotes/origin/next`. This will
+the symbolic-ref `refs/remotes/origin/HEAD` to `refs/remotes/origin/next`. This will
 only work if `refs/remotes/origin/next` already exists; if not it must be
 fetched first.
 +
-Use `<branch>` to set `$GIT_DIR/refs/remotes/<name>/HEAD` explicitly. e.g., "git
-remote set-head origin master" will set `$GIT_DIR/refs/remotes/origin/HEAD` to
+Use `<branch>` to set the symbolic-ref `refs/remotes/<name>/HEAD` explicitly. e.g., "git
+remote set-head origin master" will set the symbolic-ref `refs/remotes/origin/HEAD` to
 `refs/remotes/origin/master`. This will only work if
 `refs/remotes/origin/master` already exists; if not it must be fetched first.
 +

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* Re: [PATCH] git-remote.txt: fix wrong remote refspec
  2011-06-23 15:33   ` [PATCH] " Junio C Hamano
@ 2011-06-23 16:03     ` Namhyung Kim
  2011-06-23 16:52     ` [PATCH 0/5] Clarify "refs" Junio C Hamano
  1 sibling, 0 replies; 16+ messages in thread
From: Namhyung Kim @ 2011-06-23 16:03 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

2011-06-23 (목), 08:33 -0700, Junio C Hamano:

> And here is my attempt, on top of Namhyung's v2 of this patch.
> 
> -- >8 --
> Subject: git-remote.txt: avoid sounding as if loose refs are the only ones in the world
> 
> It was correct to say "The file $GIT_DIR/refs/heads/master stores the
> commit object name at the tip of the master branch" in the older days,
> but not anymore, as refs can be packed into $GIT_DIR/packed-refs file.
> 
> Update the document to talk in terms of a more abstract concept "ref" and
> "symbolic ref" where we are not describing the underlying implementation
> detail.
> 
> This on purpose leaves two instances of $GIT_DIR/ in the git-remote
> documentation; they do talk about $GIT_DIR/remotes/ and $GIT_DIR/branches/
> file hierarchy that used to be the place to store configuration around
> remotes before the configuration mechanism took them over.
> 
> Signed-off-by: Junio C Hamano <gitster@pobox.com>

By quick grep-ing $GIT_DIR/refs/, I found git.txt and
glossary-content.txt might need the same treatment. Did/Could you check
out those too?

Otherwise, looks good to me.
Thanks.


-- 
Regards,
Namhyung Kim

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH 0/5] Clarify "refs"
  2011-06-23 15:33   ` [PATCH] " Junio C Hamano
  2011-06-23 16:03     ` Namhyung Kim
@ 2011-06-23 16:52     ` Junio C Hamano
  2011-06-23 16:52       ` [PATCH 1/5] check-ref-format doc: de-emphasize the implementation detail of a ref Junio C Hamano
                         ` (4 more replies)
  1 sibling, 5 replies; 16+ messages in thread
From: Junio C Hamano @ 2011-06-23 16:52 UTC (permalink / raw)
  To: git

So here is a miniseries to update various parts of the documentation
that still talk about $GIT_DIR/refs/. They are split into small and
non-overlapping pieces so that any of them can be discarded more or
less independently.

Thanks in advance for comments.

Junio C Hamano (5):
  check-ref-format doc: de-emphasize the implementation detail of a ref
  git.txt: de-emphasize the implementation detail of a ref
  glossary: update description of "tag"
  glossary: update description of head and ref
  glossary: clarify description of HEAD

 Documentation/git-check-ref-format.txt |    9 ++++++---
 Documentation/git.txt                  |    7 +++----
 Documentation/glossary-content.txt     |   27 ++++++++++++++-------------
 3 files changed, 23 insertions(+), 20 deletions(-)

-- 
1.7.6.rc3

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH 1/5] check-ref-format doc: de-emphasize the implementation detail of a ref
  2011-06-23 16:52     ` [PATCH 0/5] Clarify "refs" Junio C Hamano
@ 2011-06-23 16:52       ` Junio C Hamano
  2011-06-23 22:14         ` Eric Sunshine
  2011-06-23 16:52       ` [PATCH 2/5] git.txt: " Junio C Hamano
                         ` (3 subsequent siblings)
  4 siblings, 1 reply; 16+ messages in thread
From: Junio C Hamano @ 2011-06-23 16:52 UTC (permalink / raw)
  To: git

It is an unimportant implementation detail that branches and tags are
stored somewhere under $GIT_DIR/refs directory. What is more important
is that branches live in refs/heads and tags live in refs/tags hierarchy
in the ref namespace.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 Documentation/git-check-ref-format.txt |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/Documentation/git-check-ref-format.txt b/Documentation/git-check-ref-format.txt
index 205d83d..61471cf 100644
--- a/Documentation/git-check-ref-format.txt
+++ b/Documentation/git-check-ref-format.txt
@@ -18,9 +18,12 @@ Checks if a given 'refname' is acceptable, and exits with a non-zero
 status if it is not.
 
 A reference is used in git to specify branches and tags.  A
-branch head is stored under the `$GIT_DIR/refs/heads` directory, and
-a tag is stored under the `$GIT_DIR/refs/tags` directory (or, if refs
-are packed by `git gc`, as entries in the `$GIT_DIR/packed-refs` file).
+branch head is stored in the `refs/heads` hierarchy while
+a tag is stored in the `refs/tags` hierarchy of the ref namespace
+(which are found in `$GIT_DIR/refs/heads` and `$GIT_DIR/refs/tags`
+directories or, if refs are packed by `git gc`, as entries in
+the `$GIT_DIR/packed-refs` file).
+
 git imposes the following rules on how references are named:
 
 . They can include slash `/` for hierarchical (directory)
-- 
1.7.6.rc3

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 2/5] git.txt: de-emphasize the implementation detail of a ref
  2011-06-23 16:52     ` [PATCH 0/5] Clarify "refs" Junio C Hamano
  2011-06-23 16:52       ` [PATCH 1/5] check-ref-format doc: de-emphasize the implementation detail of a ref Junio C Hamano
@ 2011-06-23 16:52       ` Junio C Hamano
  2011-06-23 16:52       ` [PATCH 3/5] glossary: update description of "tag" Junio C Hamano
                         ` (2 subsequent siblings)
  4 siblings, 0 replies; 16+ messages in thread
From: Junio C Hamano @ 2011-06-23 16:52 UTC (permalink / raw)
  To: git

It is an unimportant implementation detail that branches and tags are
stored somewhere under $GIT_DIR/refs directory, or the name of the commit
that will become the parent of the next commit is stored in $GIT_DIR/HEAD.

What is more important is that branches live in refs/heads and tags live
in refs/tags hierarchy in the ref namespace, and HEAD means the tip of the
current branch.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 Documentation/git.txt |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/Documentation/git.txt b/Documentation/git.txt
index 8c0bfdf..7fc6b88 100644
--- a/Documentation/git.txt
+++ b/Documentation/git.txt
@@ -510,16 +510,15 @@ Any git command accepting any <object> can also use the following
 symbolic notation:
 
 HEAD::
-	indicates the head of the current branch (i.e. the
-	contents of `$GIT_DIR/HEAD`).
+	indicates the head of the current branch.
 
 <tag>::
 	a valid tag 'name'
-	(i.e. the contents of `$GIT_DIR/refs/tags/<tag>`).
+	(i.e. a `refs/tags/<tag>` reference).
 
 <head>::
 	a valid head 'name'
-	(i.e. the contents of `$GIT_DIR/refs/heads/<head>`).
+	(i.e. a `refs/heads/<head>` reference).
 
 For a more complete list of ways to spell object names, see
 "SPECIFYING REVISIONS" section in linkgit:gitrevisions[7].
-- 
1.7.6.rc3

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 3/5] glossary: update description of "tag"
  2011-06-23 16:52     ` [PATCH 0/5] Clarify "refs" Junio C Hamano
  2011-06-23 16:52       ` [PATCH 1/5] check-ref-format doc: de-emphasize the implementation detail of a ref Junio C Hamano
  2011-06-23 16:52       ` [PATCH 2/5] git.txt: " Junio C Hamano
@ 2011-06-23 16:52       ` Junio C Hamano
  2011-06-23 22:19         ` Eric Sunshine
  2011-06-23 16:52       ` [PATCH 4/5] glossary: update description of head and ref Junio C Hamano
  2011-06-23 16:52       ` [PATCH 5/5] glossary: clarify description of HEAD Junio C Hamano
  4 siblings, 1 reply; 16+ messages in thread
From: Junio C Hamano @ 2011-06-23 16:52 UTC (permalink / raw)
  To: git

It is an unimportant implementation detail that ref namespaces are
implemented as subdirectories of $GIT_DIR/refs. What is more important
is that tags are in refs/tags hierarchy in the ref namespace.

Also note that a tag can point at an object of arbitrary type, not limited
to commit.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 Documentation/glossary-content.txt |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/Documentation/glossary-content.txt b/Documentation/glossary-content.txt
index 33716a3..c437f34 100644
--- a/Documentation/glossary-content.txt
+++ b/Documentation/glossary-content.txt
@@ -427,14 +427,14 @@ including Documentation/chapter_1/figure_1.jpg.
 	command.
 
 [[def_tag]]tag::
-	A <<def_ref,ref>> pointing to a <<def_tag_object,tag>> or
-	<<def_commit_object,commit object>>. In contrast to a <<def_head,head>>,
-	a tag is not changed by a <<def_commit,commit>>. Tags (not
-	<<def_tag_object,tag objects>>) are stored in `$GIT_DIR/refs/tags/`. A
-	git tag has nothing to do with a Lisp tag (which would be
-	called an <<def_object_type,object type>> in git's context). A
-	tag is most typically used to mark a particular point in the
-	commit ancestry <<def_chain,chain>>.
+	A <<def_ref,ref>> under `refs/tags/` namespace that points to an
+	object of an arbitrary type (typically a tag points to either a
+	<<def_tag_object,tag>> or a <<def_commit_object,commit object>>).
+	In contrast to a <<def_head,head>>, a tag is not updated by
+	 the `commit` command. A git tag has nothing to do with	a Lisp
+	tag (which would be called an <<def_object_type,object type>>
+	in git's context). A tag is most typically used to mark a particular
+	point in the commit ancestry <<def_chain,chain>>.
 
 [[def_tag_object]]tag object::
 	An <<def_object,object>> containing a <<def_ref,ref>> pointing to
-- 
1.7.6.rc3

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 4/5] glossary: update description of head and ref
  2011-06-23 16:52     ` [PATCH 0/5] Clarify "refs" Junio C Hamano
                         ` (2 preceding siblings ...)
  2011-06-23 16:52       ` [PATCH 3/5] glossary: update description of "tag" Junio C Hamano
@ 2011-06-23 16:52       ` Junio C Hamano
  2011-06-23 16:52       ` [PATCH 5/5] glossary: clarify description of HEAD Junio C Hamano
  4 siblings, 0 replies; 16+ messages in thread
From: Junio C Hamano @ 2011-06-23 16:52 UTC (permalink / raw)
  To: git

Reword them to avoid sounding as if loose refs are the only ones in the world.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 Documentation/glossary-content.txt |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/Documentation/glossary-content.txt b/Documentation/glossary-content.txt
index c437f34..dd690bd 100644
--- a/Documentation/glossary-content.txt
+++ b/Documentation/glossary-content.txt
@@ -161,8 +161,8 @@ to point at the new commit.
 
 [[def_head]]head::
 	A <<def_ref,named reference>> to the <<def_commit,commit>> at the tip of a
-	<<def_branch,branch>>.  Heads are stored in
-	`$GIT_DIR/refs/heads/`, except when using packed refs. (See
+	<<def_branch,branch>>.  Heads are stored in a file in
+	`$GIT_DIR/refs/heads/` directory, except when using packed refs. (See
 	linkgit:git-pack-refs[1].)
 
 [[def_HEAD]]HEAD::
@@ -350,8 +350,9 @@ including Documentation/chapter_1/figure_1.jpg.
 
 [[def_ref]]ref::
 	A 40-byte hex representation of a <<def_SHA1,SHA1>> or a name that
-	denotes a particular <<def_object,object>>. These may be stored in
-	`$GIT_DIR/refs/`.
+	denotes a particular <<def_object,object>>. They may be stored in
+	a file under `$GIT_DIR/refs/` directory, or
+	in the `$GIT_DIR/packed-refs` file.
 
 [[def_reflog]]reflog::
 	A reflog shows the local "history" of a ref.  In other words,
-- 
1.7.6.rc3

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 5/5] glossary: clarify description of HEAD
  2011-06-23 16:52     ` [PATCH 0/5] Clarify "refs" Junio C Hamano
                         ` (3 preceding siblings ...)
  2011-06-23 16:52       ` [PATCH 4/5] glossary: update description of head and ref Junio C Hamano
@ 2011-06-23 16:52       ` Junio C Hamano
  2011-06-23 17:06         ` Carlos Martín Nieto
  4 siblings, 1 reply; 16+ messages in thread
From: Junio C Hamano @ 2011-06-23 16:52 UTC (permalink / raw)
  To: git

HEAD on a branch does reference a commit via the branch ref it refers to.
The main difference of a detached HEAD is that it _directly_ refers to
a commit.  Clarify this.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 Documentation/glossary-content.txt |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/Documentation/glossary-content.txt b/Documentation/glossary-content.txt
index dd690bd..f79da21 100644
--- a/Documentation/glossary-content.txt
+++ b/Documentation/glossary-content.txt
@@ -170,7 +170,7 @@ to point at the new commit.
 	working tree>> is normally derived from the state of the tree
 	referred to by HEAD.  HEAD is a reference to one of the
 	<<def_head,heads>> in your repository, except when using a
-	<<def_detached_HEAD,detached HEAD>>, in which case it may
+	<<def_detached_HEAD,detached HEAD>>, in which case it may directly
 	reference an arbitrary commit.
 
 [[def_head_ref]]head ref::
-- 
1.7.6.rc3

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* Re: [PATCH 5/5] glossary: clarify description of HEAD
  2011-06-23 16:52       ` [PATCH 5/5] glossary: clarify description of HEAD Junio C Hamano
@ 2011-06-23 17:06         ` Carlos Martín Nieto
  2011-06-23 17:12           ` Junio C Hamano
  0 siblings, 1 reply; 16+ messages in thread
From: Carlos Martín Nieto @ 2011-06-23 17:06 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

[-- Attachment #1: Type: text/plain, Size: 1287 bytes --]

On Thu, Jun 23, 2011 at 09:52:38AM -0700, Junio C Hamano wrote:
> HEAD on a branch does reference a commit via the branch ref it refers to.
> The main difference of a detached HEAD is that it _directly_ refers to
> a commit.  Clarify this.
> 
> Signed-off-by: Junio C Hamano <gitster@pobox.com>
> ---
>  Documentation/glossary-content.txt |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/Documentation/glossary-content.txt b/Documentation/glossary-content.txt
> index dd690bd..f79da21 100644
> --- a/Documentation/glossary-content.txt
> +++ b/Documentation/glossary-content.txt
> @@ -170,7 +170,7 @@ to point at the new commit.
>  	working tree>> is normally derived from the state of the tree
>  	referred to by HEAD.  HEAD is a reference to one of the
>  	<<def_head,heads>> in your repository, except when using a
> -	<<def_detached_HEAD,detached HEAD>>, in which case it may
> +	<<def_detached_HEAD,detached HEAD>>, in which case it may directly

Why "may"? As I understand it, in detached HEAD, it /does/ point
directly to a commit

>  	reference an arbitrary commit.
>  
>  [[def_head_ref]]head ref::

Cheers,
   cmn
-- 
Carlos Martín Nieto | http://cmartin.tk

"¿Cómo voy a decir bobadas si soy mudo?" -- CACHAI

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 490 bytes --]

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 5/5] glossary: clarify description of HEAD
  2011-06-23 17:06         ` Carlos Martín Nieto
@ 2011-06-23 17:12           ` Junio C Hamano
  0 siblings, 0 replies; 16+ messages in thread
From: Junio C Hamano @ 2011-06-23 17:12 UTC (permalink / raw)
  To: Carlos Martín Nieto; +Cc: Junio C Hamano, git

Carlos Martín Nieto <carlos@cmartin.tk> writes:

>> -	<<def_detached_HEAD,detached HEAD>>, in which case it may
>> +	<<def_detached_HEAD,detached HEAD>>, in which case it may directly
>
> Why "may"? As I understand it, in detached HEAD, it /does/ point
> directly to a commit

True; I just kept the original without thinking too deeply about it.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 1/5] check-ref-format doc: de-emphasize the implementation detail of a ref
  2011-06-23 16:52       ` [PATCH 1/5] check-ref-format doc: de-emphasize the implementation detail of a ref Junio C Hamano
@ 2011-06-23 22:14         ` Eric Sunshine
  0 siblings, 0 replies; 16+ messages in thread
From: Eric Sunshine @ 2011-06-23 22:14 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

On 6/23/2011 12:52 PM, Junio C Hamano wrote:
>   A reference is used in git to specify branches and tags.  A
> -branch head is stored under the `$GIT_DIR/refs/heads` directory, and
> -a tag is stored under the `$GIT_DIR/refs/tags` directory (or, if refs
> -are packed by `git gc`, as entries in the `$GIT_DIR/packed-refs` file).
> +branch head is stored in the `refs/heads` hierarchy while

s/hierarchy while/hierarchy, while/

> +a tag is stored in the `refs/tags` hierarchy of the ref namespace
> +(which are found in `$GIT_DIR/refs/heads` and `$GIT_DIR/refs/tags`
> +directories or, if refs are packed by `git gc`, as entries in
> +the `$GIT_DIR/packed-refs` file).

Grammatical complexity of parenthetical comment makes it a bit difficult 
to read. Perhaps simplify as:

   (typically in `$GIT_DIR/refs/heads` and `$GIT_DIR/refs/tags`
   directories, or as entries in file `$GIT_DIR/packed-refs`
   if refs are packed by `git gc`).

-- ES

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 3/5] glossary: update description of "tag"
  2011-06-23 16:52       ` [PATCH 3/5] glossary: update description of "tag" Junio C Hamano
@ 2011-06-23 22:19         ` Eric Sunshine
  0 siblings, 0 replies; 16+ messages in thread
From: Eric Sunshine @ 2011-06-23 22:19 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

On 6/23/2011 12:52 PM, Junio C Hamano wrote:
> +	In contrast to a<<def_head,head>>, a tag is not updated by
> +	 the `commit` command. A git tag has nothing to do with	a Lisp

Line begins with tab+space but you probably want only tab. "with" and 
"a" are separated by a tab but likely ought to be separated by a space.

s/^\t /\t/
s/with\ta/with a/

-- ES

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2011-06-23 22:19 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-06-23  4:45 [PATCH] git-remote.txt: fix wrong remote refspec Namhyung Kim
2011-06-23  5:35 ` Junio C Hamano
2011-06-23  6:17   ` Namhyung Kim
2011-06-23  8:12     ` [PATCH v2] " Namhyung Kim
2011-06-23 15:33   ` [PATCH] " Junio C Hamano
2011-06-23 16:03     ` Namhyung Kim
2011-06-23 16:52     ` [PATCH 0/5] Clarify "refs" Junio C Hamano
2011-06-23 16:52       ` [PATCH 1/5] check-ref-format doc: de-emphasize the implementation detail of a ref Junio C Hamano
2011-06-23 22:14         ` Eric Sunshine
2011-06-23 16:52       ` [PATCH 2/5] git.txt: " Junio C Hamano
2011-06-23 16:52       ` [PATCH 3/5] glossary: update description of "tag" Junio C Hamano
2011-06-23 22:19         ` Eric Sunshine
2011-06-23 16:52       ` [PATCH 4/5] glossary: update description of head and ref Junio C Hamano
2011-06-23 16:52       ` [PATCH 5/5] glossary: clarify description of HEAD Junio C Hamano
2011-06-23 17:06         ` Carlos Martín Nieto
2011-06-23 17:12           ` Junio C Hamano

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).