git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Martin Waitz <tali@admingilde.org>
To: Daniel Barkalow <barkalow@iabervon.org>
Cc: git@vger.kernel.org
Subject: Re: Subproject status
Date: Mon, 26 Mar 2007 11:39:06 +0200	[thread overview]
Message-ID: <20070326093906.GF22773@admingilde.org> (raw)
In-Reply-To: <Pine.LNX.4.64.0703251304280.6485@iabervon.org>

[-- Attachment #1: Type: text/plain, Size: 2031 bytes --]

hoi :)

On Sun, Mar 25, 2007 at 01:37:25PM -0400, Daniel Barkalow wrote:
> I remember that last time I checked, there were a number of designs for 
> subprojects and at least a couple of implementations, but none that was 
> complete to the point of being mergeable. Are there any subproject 
> implementations available that haven't run into unsolveable problems? I'm 
> presently only looking at stuff that totals to a reasonable single project 
> size and rate of growth, so I'm not worried about the large-scale storage 
> requirement issue.

You can try to play with my prototype:
git.admingilde.org/tali/git.git, branch module2
(to get an example of how to use it, look at the test script in
t/t7500-submodule.sh).

The core operations should work, but not all the user interface is
adapted to support submodules.  E.g. git-status will not show if a
submodule has dirty changes, it will only show submodule changes which
are already commited to the submodule but not yet to the supermodule.
But at least simple merges do work with submodules.

I abondoned this branch (no further work, only occasionally pulling in
updates from upstream git.git) as it has scalability problems with
large projects.
At the moment I'm working on the module3 branch, which tries to address
the scalability problem by separating the object store.  This is still
in the phase of early prototyping, just to see if it can work.
But I am already at the point that I am confident to be able to finish
it this way.

The objects created by the module2 and module3 branches are the same,
module3 only moves those belonging to the submodule to another location.
So If you start using module2 branch now you should be able to upgrade
later.  But to be extra sure, we should have some discussion about the
object format here.  (There is nothing new here, really: Just one more
tree entry file mode which says that this is not a file or directory
entry, but a submodule, represented by one commit.)

-- 
Martin Waitz

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

  parent reply	other threads:[~2007-03-26  9:39 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-03-25 17:37 Subproject status Daniel Barkalow
2007-03-25 23:34 ` Jakub Narebski
2007-03-26  2:11   ` Han-Wen Nienhuys
2007-03-26  4:34   ` Han-Wen Nienhuys
2007-03-26  8:47     ` Jakub Narebski
2007-03-26  9:39 ` Martin Waitz [this message]
2007-03-27  0:04   ` Daniel Barkalow
2007-03-26 23:46     ` David Lang

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=20070326093906.GF22773@admingilde.org \
    --to=tali@admingilde.org \
    --cc=barkalow@iabervon.org \
    --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.
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).