All of lore.kernel.org
 help / color / mirror / Atom feed
From: Brandon Casey <casey@nrlssc.navy.mil>
To: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Cc: Lars Hjemli <hjemli@gmail.com>,
	Junio C Hamano <gitster@pobox.com>,
	git@vger.kernel.org
Subject: Re: [PATCH] Add platform-independent .git "symlink"
Date: Mon, 04 Feb 2008 20:42:49 -0600	[thread overview]
Message-ID: <47A7CD29.40306@nrlssc.navy.mil> (raw)
In-Reply-To: <alpine.LSU.1.00.0802050047340.8543@racer.site>

Johannes Schindelin wrote:
> Hi,
> 
> On Mon, 4 Feb 2008, Brandon Casey wrote:
> 
>> When we talk about clones we are not always talking about a strict 
>> "full" clone.
> 
> Here, sir, we disagree.  I tend to like the fact that a clone is a clone 
> is a clone.  Which BTW is the reason why I do not like requests to "clone" 
> only one branch: this is not a clone.

It seems the git-clone utility has been extended to create more than just
clones in that case.

My use of the term "clone" with respect to git, is to refer to the product
of the git-clone utility. With that in mind, git-clone produces all of the
repo/work-dir combinations I described.

The strict (or precise) definition of "clone" seems like a subset of the
more generic "create new repository/workdir from existing repository". The
different options then allow you to control how the new repo/workdir is
structured.

We don't currently have a generic "create new repository/workdir from
existing repository" command. So people have been using git-clone to
create new repository/workdir's and calling the result clones, even
though they could have produced the same result by running some sequence
of mkdir, git init, and git pull.

>> If your statement above is rephrased to "I _want_ the original 
>> repository to know that it has conjoined siblings.", then we have a new 
>> repository type:
>>
>> 	4) conjoined repository (it has multiple sibling repositories each
>> 	   with their own working directory, but they all share and modify the
>> 	   same .git directory)
> 
> No.  The repository does not even need a working directory (in which case 
> we call it "bare").

The additional term "bare" that is used with such a repository without a
working directory implies to me that this is a "special" or "uncommon"
repository configuration.

I think in many places in the documentation and it seems in common use on
the mailing list, the contents of the directory created by git-clone is
informally referred to as the repository. This is even though most people
understand that the precise definition of repository is the .git directory
and the rest of the contents are the working directory.

So I hope you excuse me for referring to the result of git-clone as a
repository. I'll try to think of something else to call it (above I used
repo/workdir).

None of that changes my opinion that a descent model for the user interface
is to have two high-level commands that create repo/workdir's.

     git-init: creates a new repo/workdir from scratch.
    git-clone: creates a new repo/workdir from an existing repository.

Or the opinion that git-clone is a closer operation to creating a new working
directory and associating it with a repository than either git-branch or
git-checkout, which in normal usage (i.e. _not_ setting GIT_DIR or using
--git-dir) operate within a working directory.

With that, I think I have described my thinking well enough, so I won't continue
any more unless you really ask a question.

>  Up until now, it _can_ have _one_ working directory.  
> With my plans, it can have more than one.

I'm looking forward to your plans, since I find the git-new-workdir script very
useful.

-brandon

  reply	other threads:[~2008-02-05  2:43 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-02-02 10:36 [PATCH] Add platform-independent .git "symlink" Lars Hjemli
2008-02-02 15:02 ` [PATCH] Add tests for .git file Lars Hjemli
2008-02-02 15:56 ` [PATCH] Add platform-independent .git "symlink" Johannes Schindelin
2008-02-02 17:59   ` Lars Hjemli
2008-02-02 18:09     ` Lars Hjemli
2008-02-02 18:19       ` Johannes Schindelin
2008-02-02 18:34         ` Johannes Schindelin
2008-02-04  1:57           ` Shawn O. Pearce
2008-02-04  3:05             ` Junio C Hamano
2008-02-04 14:34               ` Johannes Schindelin
2008-02-04 21:17           ` Brandon Casey
2008-02-04 21:31             ` Johannes Schindelin
2008-02-04 22:08               ` Brandon Casey
2008-02-04 22:19                 ` Johannes Schindelin
2008-02-04 22:44                   ` Brandon Casey
2008-02-04 22:56                     ` Brandon Casey
2008-02-05  0:51                       ` Johannes Schindelin
2008-02-05  0:49                     ` Johannes Schindelin
2008-02-05  2:42                       ` Brandon Casey [this message]
2008-02-05 12:57                         ` Johannes Schindelin
2008-02-02 18:47         ` Lars Hjemli
2008-02-03  1:55           ` Johannes Schindelin
2008-02-04  0:07           ` Junio C Hamano
2008-02-04  0:24             ` Johannes Schindelin
2008-02-04  1:35               ` Shawn O. Pearce
2008-02-04  1:45                 ` Junio C Hamano
2008-02-04  2:00                   ` Shawn O. Pearce
2008-02-04 11:59               ` Lars Hjemli
2008-02-04 14:36                 ` Johannes Schindelin

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

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

  git send-email \
    --in-reply-to=47A7CD29.40306@nrlssc.navy.mil \
    --to=casey@nrlssc.navy.mil \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=hjemli@gmail.com \
    /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.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.