git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Daniel Barkalow <barkalow@iabervon.org>
To: Junio C Hamano <junkio@cox.net>
Cc: git@vger.kernel.org
Subject: Re: [RFD] Overlapping projects
Date: Tue, 10 May 2005 01:51:01 -0400 (EDT)	[thread overview]
Message-ID: <Pine.LNX.4.21.0505100135110.30848-100000@iabervon.org> (raw)
In-Reply-To: <7v8y2nsl38.fsf@assigned-by-dhcp.cox.net>

On Mon, 9 May 2005, Junio C Hamano wrote:

> >>>>> "DB" == Daniel Barkalow <barkalow@iabervon.org> writes:
> 
> DB> It seems to me like projects like cogito which are based on a core which
> DB> is itself a project and which is also part of other projects would benefit
> DB> from some sort of support.
> 
> I personally feel supporting that kind of development directory
> structure is backwards, and Cogito is a very bad example for it.

The directory structure is definitely awkward. I'd personally put cogito
stuff in a separate directory. But that's a matter of which paths belong
to which commit.

> Things could have been structured in such a way to have Cogito
> and core GIT in separate directories hanging from the top level,
> and Cogito can borrow pieces of GIT from the neighboring
> directory if it needed to build specialized binary using
> libgit.a.  Unless Petr makes changes to core GIT that is _too_
> specific for general use (read: does not meet Linus' taste), we
> should be able to port the nicer changes made to the core GIT
> for Cogito's use (like git-ls-files "-t" flag) back to core GIT
> and there would not be a reason for Cogito to keep carrying its
> own copy of modified core GIT.
> 
> DB> In particular, it would be nice if Linus could pull the
> DB> changes to the core without getting the wrapper programs at
> DB> all.
> 
> Yes, that is a very desirable arrangement.
> 
> However, that does not require to keep them in the same
> repository.  Cogito _could_ have been shipped this way:
> 
>                       + (top-level)
>                      / \
>                     cg git
>      (Cogito sources)   (copy of core GIT files)
>      .git/ for Cogito   .git/ for core GIT
>      only
> 
> with an instruction like:
> 
>     The tarball contains cg and git subdirectories.  cg part
>     implements Cogito, and git part is a copy of recent if not
>     latest core GIT.  Go to cg and type "make" to build both of
>     them.  Theoretically they can be independently updated to
>     the latest but preferred combination is to use at least this
>     release of core GIT to use this version of Cogito ...

But when Petr adds something to the core, intended for eventual inclusion
in the mainline, and uses it in cogito, this breaks everything, because
then people have to know to pull both the latest cogito and the latest git
from him. If the new git isn't backwards-compatible, then someone building
an old cogito would have to somehow find the matching old git.

This is far worse than just including git and sending Linus patches; the
only way to make this manageable would be to suspend cogito until git was
completely finished.

The important thing, I think, is being able to connect a Cogito with the
git it uses, while both are unstable and under active development. It
would be nice to be able to have the obvious things happen when you pull
the latest cogito and check it out, and when you commit with changes to
files from each of them, but that's less important.

	-Daniel
*This .sig left intentionally blank*


  reply	other threads:[~2005-05-10  5:44 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-05-10  4:56 [RFD] Overlapping projects Daniel Barkalow
2005-05-10  5:31 ` Junio C Hamano
2005-05-10  5:51   ` Daniel Barkalow [this message]
2005-05-10  6:19     ` Junio C Hamano
2005-05-10 12:04 ` Sean

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=Pine.LNX.4.21.0505100135110.30848-100000@iabervon.org \
    --to=barkalow@iabervon.org \
    --cc=git@vger.kernel.org \
    --cc=junkio@cox.net \
    /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).