git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] glossary: add "remote", "submodule", "superproject"
@ 2015-05-29 18:23 Stefan Beller
  0 siblings, 0 replies; 5+ messages in thread
From: Stefan Beller @ 2015-05-29 18:23 UTC (permalink / raw)
  To: gitster; +Cc: git, philipoakley, hvoigt, Stefan Beller

Noticed-by: Philip Oakley <philipoakley@iee.org>
Helped-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Stefan Beller <sbeller@google.com>
---

Moved information regarding the superproject from submodule to superproject,
and slightly reworded the superproject description.

 Documentation/glossary-content.txt | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/Documentation/glossary-content.txt b/Documentation/glossary-content.txt
index bf383c2..ab18f4b 100644
--- a/Documentation/glossary-content.txt
+++ b/Documentation/glossary-content.txt
@@ -469,6 +469,11 @@ The most notable example is `HEAD`.
 	<<def_push,push>> to describe the mapping between remote
 	<<def_ref,ref>> and local ref.
 
+[[def_remote]]remote repository::
+	A <<def_repository,repository>> which is used to track the same
+	project but resides somewhere else. To communicate with remotes,
+	see <<def_fetch,fetch>> or <<def_push,push>>.
+
 [[def_remote_tracking_branch]]remote-tracking branch::
 	A <<def_ref,ref>> that is used to follow changes from another
 	<<def_repository,repository>>. It typically looks like
@@ -515,6 +520,17 @@ The most notable example is `HEAD`.
 	is created by giving the `--depth` option to linkgit:git-clone[1], and
 	its history can be later deepened with linkgit:git-fetch[1].
 
+[[def_submodule]]submodule::
+	A <<def_repository,repository>> that holds the history of a
+	separate project inside another repository (the latter of
+	which is called <<def_superproject, superproject>>).
+
+[[def_superproject]]superproject::
+	A <<def_repository,repository>> that references repositories
+	of other projects in its working tree as <<def_submodule,submodules>>.
+	The superproject knows about the names of (but does not hold
+	copies of) commit objects of the contained submodules.
+
 [[def_symref]]symref::
 	Symbolic reference: instead of containing the <<def_SHA1,SHA-1>>
 	id itself, it is of the format 'ref: refs/some/thing' and when
-- 
2.4.1.345.gab207b6.dirty

^ permalink raw reply related	[flat|nested] 5+ messages in thread
* Re: [PATCH] glossary: add "remote" and "submodule"
@ 2015-05-27 23:29 Stefan Beller
  2015-05-28  1:50 ` [PATCH] glossary: add "remote", "submodule", "superproject" Stefan Beller
  0 siblings, 1 reply; 5+ messages in thread
From: Stefan Beller @ 2015-05-27 23:29 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Philip Oakley, git@vger.kernel.org, Heiko Voigt

On Wed, May 27, 2015 at 4:05 PM, Junio C Hamano <gitster@pobox.com> wrote:
> Stefan Beller <sbeller@google.com> writes:
>
>>>> +[[def_submodule]]submodule::
>>>> +     A <<def_repository,repository>> inside another repository. The two
>>>> +     repositories have different history, though the outer repository
>>>> +     knows the commit of the inner repository.
>>>
>> ... But correctness trumps brevity indeed.
>
> I do not think the correct way is that much longer, though.
>
> A repository inside another repository. The two repositories have different history
> A repository that holds the history of a separate project inside another repository
>
> Heh, they are the same length, no?
>
>>
>>>
>>>        A repository that holds the history of a separate project
>>>        inside another repository (the latter of which is called
>>>        superproject).
>>
>> This is better than what I proposed, but confusing. When naming
>> a project a submodule, my mental standpoint is the superproject.
>> ("This project has the submodule foo and bar"). But In your description
>> the superproject is called "another repository".
>
> That is because you are adding an entry for "submodule" to the
> glossary, no?  I was writing from submodule's point of view, i.e. "I
> (submodule) is inside another repository, and my project is separate
> from that other repository's".

The submodule doesn't know it's a submodule though, so the point of view
"I (as a submodule)" only happens rarely in the real world?
I have a library in mind when talking about submodules. And the libraries
maintainer may not care if their library is used as a submodule or just
"make install"ed or just put somewhere in the filesystem

Usually submodules are only interesting from the superprojects point of view,
like "I want to upgrade libfoo now, so I make a commit changing the gitlink
of the submodule to point at that tag/commit"
That's why I found the presented perspective a bit strange.

>
>>>        The containing superproject knows about the
>>>        names of (but does not hold copies of) commit objects of the
>>>        contained submodules.
>>
>> That makes sense to point out here. Though should we also introduce
>> "superproject" now?
>
> Yes, that is what I was hinting at.

ok

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

end of thread, other threads:[~2015-05-29 18:24 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-29 18:23 [PATCH] glossary: add "remote", "submodule", "superproject" Stefan Beller
  -- strict thread matches above, loose matches on Subject: below --
2015-05-27 23:29 [PATCH] glossary: add "remote" and "submodule" Stefan Beller
2015-05-28  1:50 ` [PATCH] glossary: add "remote", "submodule", "superproject" Stefan Beller
2015-05-28 16:45   ` Junio C Hamano
2015-05-28 17:52     ` Stefan Beller
2015-05-28 18:50       ` 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).