git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 5/6] Add a description for 'gitfile' to glossary

From
Junio C Hamano <gitster@pobox.com>
Date
Feb 1, 2013, 19:26 UTC
Message-ID
<7vlib7al90.fsf@alter.siamese.dyndns.org>
In-Reply-To
<7v4nhvc1vv.fsf@alter.siamese.dyndns.org>
Junio C Hamano <gitster@pobox.com> writes:
Show 21 quoted lines
> Thomas Ackermann <th.acker@arcor.de> writes:
>
>> Signed-off-by: Thomas Ackermann <th.acker@arcor.de>
>> ---
>>  Documentation/glossary-content.txt | 3 +++
>>  1 file changed, 3 insertions(+)
>>
>> diff --git a/Documentation/glossary-content.txt b/Documentation/glossary-content.txt
>> index 7c15bc0..ddf2f66 100644
>> --- a/Documentation/glossary-content.txt
>> +++ b/Documentation/glossary-content.txt
>> @@ -149,6 +149,9 @@ to point at the new commit.
>>  [[def_git_archive]]Git archive::
>>  	Synonym for <<def_repository,repository>> (for arch people).
>>  
>> +[[def_gitfile]]gitfile::
>> +	A `.git` file which points to a `$GIT_DIR` (used for Git submodules).
>> +
>
> It is more like 'used by' ;-)  People are free to write their
> Porcelain system that uses this mechanism.

The series merged at e2e2def (Merge branch 'lh/git-file', 2008-05-05) added a mention of this to repository-layout and the readers can see how it is interpreted by Git, but I doubt that anything explains why you may want to use it in the documentation.

How about saying something like this here in the glossary:
	A plain file `.git` at the root of a working tree that
	points at the directory that is the real repository.

And then as a separate patch, in gitrepository-layout.txt (eek---see the other thread), we can do something like this:

 Documentation/gitrepository-layout.txt | 24 ++++++++++++++++++------
 1 file changed, 18 insertions(+), 6 deletions(-)
diff --git a/Documentation/gitrepository-layout.txt b/Documentation/gitrepository-layout.txt
index 9f62886..473c6a0 100644
--- a/Documentation/gitrepository-layout.txt
+++ b/Documentation/gitrepository-layout.txt
@@ -12,12 +12,24 @@ $GIT_DIR/*
 DESCRIPTION
 -----------
 
-You may find these things in your git repository (`.git`
-directory for a repository associated with your working tree, or
-`<project>.git` directory for a public 'bare' repository. It is
-also possible to have a working tree where `.git` is a plain
-ASCII file containing `gitdir: <path>`, i.e. the path to the
-real git repository).
+A Git repository comes in two different flavours:
+
+ * a `.git` directory at the root of the working tree;
+
+ * a `<project>.git` directory that is a 'bare' repository
+   (i.e. without its own working tree), that is typically used for
+   exchanging histories with others by pushing into it and fetching
+   from it.
+
+*Note*: Also you can have a plain text file `.git` at the root of
+your working tree, containing `gitdir: <path>` to point at the real
+directory that has the repository.  This mechanism is often used for
+a working tree of a submodule checkout, to allow you in the
+containing superproject to `git checkout` a branch that does not
+have the submodule.  The `checkout` has to remove the entire
+submodule working tree, without losing the submodule repository.
+
+These things may exist in a Git repository.
 
 objects::
 	Object store associated with this repository.  Usually
Previous: Junio C HamanoNext: Jonathan Nieder
Message 35 of 49 in “Aw: Re: [PATCH 1/2] Change old system name 'GIT' to 'Git'”
  1. Thomas AckermannJan 20, 2013
  2. Junio C HamanoJan 20, 2013
  3. 0/6 GIT, Git, gitThomas Ackermann, Jan 21, 2013
  4. 1/6 Change old system name 'GIT' to 'Git'Thomas Ackermann, Jan 21, 2013
  5. 2/6 Change 'git' to 'Git' whenever the whole system is referred to #1Thomas Ackermann, Jan 21, 2013
  6. Aw: [PATCH v2 0/6] GIT, Git, gitThomas Ackermann, Jan 21, 2013
  7. 0/6 GIT, Git, gitThomas Ackermann, Jan 21, 2013
  8. 1/6 Change old system name 'GIT' to 'Git'Thomas Ackermann, Jan 21, 2013
  9. Junio C HamanoJan 22, 2013
  10. Aw: Re: [PATCH v3 1/6] Change old system name 'GIT' to 'Git'Thomas Ackermann, Jan 22, 2013
  11. Junio C HamanoJan 22, 2013
  12. 2/6 Change 'git' to 'Git' whenever the whole system is referred to #1Thomas Ackermann, Jan 21, 2013
  13. Junio C HamanoJan 22, 2013
  14. Junio C HamanoJan 22, 2013
  15. Junio C HamanoJan 23, 2013
  16. Junio C HamanoJan 23, 2013
  17. Junio C HamanoJan 23, 2013
  18. 3/6 Change 'git' to 'Git' whenever the whole system is referred to #2Thomas Ackermann, Jan 21, 2013
  19. Junio C HamanoJan 23, 2013
  20. Junio C HamanoJan 23, 2013
  21. David AguilarJan 23, 2013
  22. Junio C HamanoJan 23, 2013
  23. Aw: Re: [PATCH v3 3/6] Change 'git' to 'Git' whenever the whole system is referred to #2Thomas Ackermann, Jan 23, 2013
  24. Junio C HamanoFeb 1, 2013
  25. Aw: Re: Aw: Re: [PATCH v3 3/6] Change 'git' to 'Git' whenever the whole system is referred to #2Thomas Ackermann, Feb 1, 2013
  26. 1/6 fixup! fixup! Change 'git' to 'Git' whenever the whole system is referred to #2Thomas Ackermann, Feb 1, 2013
  27. 2/6 fixup! fixup! fixup! Change 'git' to 'Git' whenever the whole system is referred to #1Thomas Ackermann, Feb 1, 2013
  28. Jonathan NiederFeb 1, 2013
  29. Junio C HamanoFeb 1, 2013
  30. 3/6 fixup! Documentation: avoid poor-man's small capsThomas Ackermann, Feb 1, 2013
  31. Junio C HamanoFeb 1, 2013
  32. 4/6 Fix places where 'Git' should be 'gitThomas Ackermann, Feb 1, 2013
  33. 5/6 Add a description for 'gitfile' to glossaryThomas Ackermann, Feb 1, 2013
  34. Junio C HamanoFeb 1, 2013
  35. Junio C HamanoFeb 1, 2013
  36. Jonathan NiederFeb 1, 2013
  37. 6/6 Use consistent links for User Manual and Everyday Git; Fix a quoting errorThomas Ackermann, Feb 1, 2013
  38. Junio C HamanoFeb 1, 2013
  39. Jonathan NiederFeb 1, 2013
  40. Junio C HamanoFeb 1, 2013
  41. Aw: Re: [PATCH 6/6] Use consistent links for User Manual and Everyday Git; Fix a quoting errorThomas Ackermann, Feb 1, 2013
  42. Junio C HamanoFeb 1, 2013
  43. 4/6 Change 'git' to 'Git' whenever the whole system is referred to #3Thomas Ackermann, Jan 21, 2013
  44. Junio C HamanoJan 23, 2013
  45. 5/6 Change 'git' to 'Git' whenever the whole system is referred to #4Thomas Ackermann, Jan 21, 2013
  46. Junio C HamanoJan 23, 2013
  47. 6/6 Add rule for when to use 'git' and when to use 'Git'Thomas Ackermann, Jan 21, 2013
  48. Junio C HamanoJan 21, 2013
  49. Junio C HamanoJan 21, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.