git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Josef Weidendorfer <Josef.Weidendorfer@gmx.de>
To: Martin Waitz <tali@admingilde.org>
Cc: Eric Lesh <eclesh@ucla.edu>, Matthieu Moy <Matthieu.Moy@imag.fr>,
	git@vger.kernel.org
Subject: Re: .gitlink for Summer of Code
Date: Mon, 26 Mar 2007 21:33:44 +0200	[thread overview]
Message-ID: <200703262133.44520.Josef.Weidendorfer@gmx.de> (raw)
In-Reply-To: <20070326183523.GG22773@admingilde.org>

On Monday 26 March 2007, Martin Waitz wrote:
> hoi :)
> 
> On Mon, Mar 26, 2007 at 10:38:08AM -0700, Eric Lesh wrote:
> > > Light checkouts would have an almost empty .git (it still needs an
> > > index, and its own head anyway) and use the .git of the main repo for
> > > everything else.
> > > 
> > 
> > Josef Weidendorfer tried to implement this before, and he concluded that
> > having a _text file_ .git, instead of a directory, would be a good way
> > to distinguish .gitlinked checkouts from normal checkouts.
> 
> but that does not allow for per-checkout HEAD and index.
> I don't see any reason for providing any sort for "gitlink" which
> also uses HEAD and index from the linked location -- then you could
> use a simple symlink, too.

The idea was to make this a possible building block for submodules.
A simple symlink does not work there when you want the checkout to
work even after moving the whole checkout directory around (e.g. to move the
submodule around inside of the superproject).

> So having an almost empty .git directory 
> and reusing parts from another .git directory makes a lot of sense to
> me.

This would work. However, you can not clone from an almost empty .git
directory with current git.

The original proposal was to have a standard .git directory for every
light-weight checkout inside of the base .git directory, e.g.
in <base>/.git/ext/<name>.git where <name> is some identifier for the
lightweight checkout, either provided in the .gitlink file or
automatically determined.

Hmm... the "almost empty .git directory" has its merits.
You can override config options, and of course, the "base" for the
lightweight checkout still can be a full .git dir, as would be needed
for submodule support. In fact, you have more freedom to choose the
path to the base gitdir.
I like it ;-)

So this changes the .gitlink proposal to:
* smartly reset GIT_DIR when a core.link option is set in .git/config
  (and set GIT_WORK_DIR accordingly)
* fake a core.name if not set (this comes from the original proposal
  to get an automatic identifier of a submodule checkout by its
  relative path to the supermodule)
* git-checkout to allow to create a fresh light-weight checkout

Josef

  reply	other threads:[~2007-03-26 19:21 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-03-25 12:30 .gitlink for Summer of Code Eric Lesh
2007-03-25 15:20 ` Matthieu Moy
2007-03-25 20:39   ` Shawn O. Pearce
2007-03-25 20:54     ` Johannes Schindelin
2007-03-25 21:03       ` Shawn O. Pearce
2007-03-25 20:55     ` Junio C Hamano
2007-03-25 21:05       ` Shawn O. Pearce
2007-03-27  3:40       ` Petr Baudis
2007-03-26 17:16   ` Eric Lesh
2007-03-26 17:22     ` Matthieu Moy
2007-03-26 17:38       ` Eric Lesh
2007-03-26 18:35         ` Martin Waitz
2007-03-26 19:33           ` Josef Weidendorfer [this message]
2007-03-26 19:49             ` Matthieu Moy
2007-03-26 23:14               ` Josef Weidendorfer
2007-03-27 16:59                 ` Matthieu Moy
2007-03-26 22:03             ` Martin Waitz
2007-03-26 22:51               ` Junio C Hamano
2007-03-26 23:16                 ` Submodule object store Martin Waitz
2007-03-26 23:28                   ` Junio C Hamano
2007-03-26 23:36                     ` Martin Waitz
2007-03-26 23:20                       ` David Lang
2007-03-26 23:55                         ` Martin Waitz
2007-03-26 23:40                           ` David Lang
2007-03-27 15:25                             ` Martin Waitz
2007-03-27 16:53                               ` David Lang
2007-03-27  0:29                           ` Junio C Hamano
2007-03-27 14:28                             ` Martin Waitz
2007-03-27 11:25                       ` Uwe Kleine-König
2007-03-27 11:50                         ` Uwe Kleine-König
2007-03-27 15:53                           ` Martin Waitz
2007-03-27 16:56                             ` Josef Weidendorfer
2007-03-27 16:44                               ` Martin Waitz
2007-03-27 17:22                             ` Uwe Kleine-König
2007-03-27 18:41                               ` Linus Torvalds
2007-03-27 19:42                                 ` Uwe Kleine-König
2007-03-27 19:53                                   ` Linus Torvalds
2007-03-27 19:59                                     ` Linus Torvalds
2007-03-27 15:46                         ` Martin Waitz
2007-03-26 23:17                 ` .gitlink for Summer of Code Josef Weidendorfer
     [not found]                   ` <Pine.LNX.4.64.0703270952020. 6730@woody.linux-foundation.org>
2007-03-26 23:24                   ` Junio C Hamano
2007-03-27 17:04                   ` Linus Torvalds
2007-03-27 17:00                     ` David Lang
2007-03-27 18:15                       ` Linus Torvalds
2007-03-27 17:35                     ` Martin Waitz
2007-03-27 18:09                     ` Daniel Barkalow
2007-03-27 18:19                       ` Linus Torvalds
2007-03-27 20:54                         ` Daniel Barkalow
2007-03-27 21:11                           ` Linus Torvalds
2007-03-27 20:54                             ` David Lang
2007-03-27 23:31                               ` Jakub Narebski
2007-03-27 23:20                                 ` David Lang
2007-03-27 18:36                       ` Steven Grimm
2007-03-27 20:02                         ` Daniel Barkalow
2007-03-27 21:27                           ` Linus Torvalds
2007-03-26 23:00               ` Josef Weidendorfer
2007-03-26 23:27                 ` Martin Waitz
2007-03-26 17:31   ` Jakub Narebski
2007-03-26 18:21     ` Matthieu Moy
2007-03-27  0:48       ` Jakub Narebski
2007-03-25 20:46 ` Shawn O. Pearce

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=200703262133.44520.Josef.Weidendorfer@gmx.de \
    --to=josef.weidendorfer@gmx.de \
    --cc=Matthieu.Moy@imag.fr \
    --cc=eclesh@ucla.edu \
    --cc=git@vger.kernel.org \
    --cc=tali@admingilde.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).