git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Kevin Buckley <Kevin.Buckley@pawsey.org.au>
To: git@vger.kernel.org
Subject: Re: Definition of "the Git repository"
Date: Mon, 28 Jun 2021 10:24:44 +0800	[thread overview]
Message-ID: <12dd4f05-456f-c763-441e-5bb16634306a@pawsey.org.au> (raw)
In-Reply-To: <435b0150-cd9f-32ce-7a07-3057ef20662a@iee.email>

On 2021/06/26 04:48, Philip Oakley wrote:
>
> ... One can also include in the generic 'repository' the
> various special .git* files that are [user] added to the main source
> directory.
> 
> But it gets worse. In the .git directory there is the 'objects' ...

I don't believe it does get worse, indeed, I am not convinced that it
is as bad as your observation on the semantics might suggest.

Everything within the .git directory "belongs", in my way of thinking,
to the "repository", that is, the directory that gets created when git
is (init)ialised.

For me, the 'objects", the 'ref/heads', the "staging area' and the like,
also lie within the repository.

As for any anciliary files, that control how the git commands actually
process any data in the "working directory" beyond the defaults, some
of them, eg the global commands, will typically exist outside of the
working directory: below one's home directory, and, of course, there
are the system-wide files, typically below /etc.

Given then, that we can have Git-related files, for any given working
directory, below /etc, below the user's home directory, and within the
working directory itself, perhaps it is the whole "computer" which
should be referred to as "the repository"?

Furthermore, even in the case of anciliary files typically found within
the working directory, and I'm thinking of .gitignore as the obvious
example, even the directives in that can be overriden on the command
line, as well as complemented by files outside of the working directory.


I am tempted to say that even if the definition of a "repository" can't
be agreed on, or rather, easily determined by inspection, then at least
the corresponding working directory can be, however, the fact that one
has  access to EnvVars and corresponding command line arguments such as
--git-dir=<path>, --work-tree=<path>, would suggest that it could be
harder for the novice to get their head around things, however, as it is
typicaly clear what the working directory is (the top level directory
containing the files you are working on, under the control of Git),
calling that same directory the "repository" seems, to me anyway, to add
to any confusion, that a Git novice may have.

Given the can of worms that this question has opened up, although I'm
getting the feeling that it has long since been opened, I still maintain
that it would be less confusing, at least for a novice, for the working
directory to be identified and for a previously non-existent directory,
that gets created by the 'git init', to be referred to as the repository,
so as to make a distinction.

Kevin

  reply	other threads:[~2021-06-28  2:24 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-25  1:44 Definition of "the Git repository" Kevin Buckley
2021-06-25  5:56 ` Ævar Arnfjörð Bjarmason
2021-06-25  8:56 ` Igor Djordjevic
2021-06-25  9:14 ` Igor Djordjevic
2021-06-25 19:39 ` Felipe Contreras
2021-06-25 20:48 ` Philip Oakley
2021-06-28  2:24   ` Kevin Buckley [this message]
2021-06-28  3:24     ` Felipe Contreras
2021-06-28  4:00       ` Kevin Buckley
2021-06-28  5:21         ` Felipe Contreras
2021-06-29  1:57           ` Kevin Buckley
2021-06-29  2:08             ` Felipe Contreras
2021-06-28 15:18     ` Philip Oakley
2021-06-28 15:34       ` Chris Torek
2021-06-29  6:59 ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=12dd4f05-456f-c763-441e-5bb16634306a@pawsey.org.au \
    --to=kevin.buckley@pawsey.org.au \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).