Re: RFC: Subprojects
- From
Uwe Zeisberger <zeisberg@informatik.uni-freiburg.de>
- Date
- Feb 20, 2006, 13:16 UTC
- Message-ID
- <20060220131659.GA8613@informatik.uni-freiburg.de>
- In-Reply-To
- <7vacdzkww3.fsf@assigned-by-dhcp.cox.net>
Hello,
Junio C Hamano wrote:
Show 23 quoted lines
> The "containing" project would have a handful "gitlink" objects > among other things. The toplevel tree object from a commit in > such a project might look like this (mode bits 0160000 is > S_IFDIR|S_IFLNK, which is what this thing is): > > $ git ls-tree HEAD > 0100644 blob 012345... Makefile > 0100644 blob 123456... README > 0160000 link 234567... gcc-4.0 > 0160000 link 345678... linux-2.6 > 0040000 tree 456789... src > $ git cat-file -t 345678 > link > $ git cat-file link 345678 > commit 87530db5ec7d519c7ba334e414307c5130ae2da8 > url git://...torvalds/linux-2.6.git/ > > The upstream Linux 2.6 repository. > $ cd linux-2.6 && git-rev-parse --verify HEAD > 87530db5ec7d519c7ba334e414307c5130ae2da8 > > URL will be used as a suggestion for people who cloned this tree > to set up their repository.
I'd prefer to have the objects needed to get the linux-2.6 tree in the object db of the containing project. Then "url" is not needed, and you could directly use the commit as value for the link. i.e.
$ git ls-tree HEAD
0100644 blob 012345... Makefile
0100644 blob 123456... README
0160000 link 435363... gcc-4.0
0160000 link 87530d... linux-2.6
0040000 tree 456789... src(You could now rename "link" to "commit", but it would break the layout.)
Moreover I prefer the the link approach over the bind method. The reason is, that binds use information from the commit object to build the wc other than the tree. Moreover the condition that the "containing" tree must not have an entry named linux-2.6 is handled implicitly with links.
Please correct me if I'm wrong somewhere. It's some time ago I read the patches and this thread. This mail is the result of some thoughts in my vacation.
Best regards Uwe
-- Uwe Zeisberger http://www.google.com/search?q=1+year+divided+by+3+in+seconds