Subject: Re: Composing git repositories

From: Jonathan Nieder <[email-masked]>
Date: Tue, 2 Apr 2013 11:54:26 -0700

Ramkumar Ramachandra wrote:

>                                                 I should be able to
> add in magit.git into my dotfiles repository

For this, ideally what we'd want is a file that lists repositories
that should be cloned at the same time as cloning the dotfiles
repository, to reconstitute your dotfiles on a new machine.  From then
on, when acting on the dotfiles repository (with "git status", "git
commit", etc) git should not pay attention to the magit subdirectory
at all, because there is no coupling between the two.

Did I get that right?

That sounds similar to what Junio does with the Meta subdirectory in
his git development worktree.  I don't think submodules are a good
fit, but it might make sense to start respecting a .motd file to allow
the following in a hypothetical world where everyone who clones git
uses the same scripts Junio does:

	$ git clone git://repo.or.cz/git.git
	Cloning into 'git'...
	remote: Counting objects: 151283, done.
	remote: Compressing objects: 100% (38546/38546), done.
	remote: Total 151283 (delta 111004), reused 151073 (delta 110797)
	Receiving objects: 100% (151283/151283), 36.39 MiB | 7.66 MiB/s, done.
	Resolving deltas: 100% (111004/111004), done.

	Don't forget to "git clone -b todo git://repo.or.cz/git.git git/Meta"
	for maintenance scripts.
	$

That would allow you to include an arbitrary setup script (including
cloning dependencies as well as running "autoreconf" or whatever) and
give people cloning a quick reminder to inspect it if paranoid and
then run it.

Jonathan