On Thursday 14 December 2006 22:27, Torgil Svensson wrote:If you want to track build results for some source, why would you ever want these builds go out of sync with the source? As the built files depend on the source (and other things), the source should be a submodule of the build project. Hmm... I think I see a problem / wish for submodules here. With the current submodule proposal, we force submodules to be subdirectories inside of a supermodule. Your example has the folling submodule dependence ("X ==> Y" means Y being a submodule of X): App ==> Lib ^ ^ | | AppBuild ==> LibBuild If we force submodules to be subdirectories of supermodules, Lib needlessly will have to appear two times in a checkout of AppBuild. However, there is nothing wrong with it. Yet, you perhaps want the 2 Lib submodules not to go out of sync. This easily can be done with symlinking the Lib checkouts. As they are submodules, everything should work fine. Perhaps an option you want to have is to force a checkout of AppBuild to make these symlinking itself when it detects identical submodules links. Hmmm... the only problem with a symlink is that it can go wrong when moved. Unfortunately, I do not have a good solution for this. We can not make UNIX symlinks smart in any way. Hardlinking directories would be a solution, but that is not possible. Another thing: With normal "$buildroot != $srcroot" environments, the source can not be a subdirectory of the build directory. Yet, we want to specify submodule/supermodule relation. This is difficult to do with a submodule object, as it needs to appear in trees in the supermodule. Actually, the best workaround for this is to make Lib a direct submodule of AppBuild, and specify the relationship of LibBuild ==> Lib only in AppBuild. BTW, build project commits probably should not depend on any history of other build commits. So you actually want all build commits to be root commits, and have a tag name which could include the source commit id from which the build was done. This gives some loose coupling. I do not see any problem here. Symlinks are stored in the git repository. As the AppBuild commit depends on App and LibBuild submodule commits, the symlinks always should be correct. I do not see any need for an hook. But of course, a checkout hook should be able to generate files/links. However, IMHO this should be not done with hooks but with Makefile targets. Submodules should automatically be checked out when checking out the supermodule. So the blobs should already be there. Or do I miss something? Josef - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
| Rene Herman | [PATCH] x86: provide a DMI based port 0x80 I/O delay override |
| Greg KH | [02/50] DVB: get_dvb_firmware: update script for new location of sp8870 firmware |
| Linus Torvalds | Linux 2.6.26-rc4 |
| Daniel Walker | Re: [PATCH 3/3] net: wireless: bcm43xx: big_buffer_sem semaphore to mutex |
git: | |
| Junio C Hamano | Re: [RFC] Cache negative delta pairs |
| Stefan Richter | Re: [kernel.org users] [RFD] On deprecating "git-foo" for builtins |
| Martin Langhoff | Handling large files with GIT |
| David Symonds | Re: git and binary files |
| Rémi Denis-Courmont | [PATCH 09/14] Phonet: allocate and initialize new sockets |
| David Miller | [GIT]: Networking |
| David Miller | Re: sockets affected by IPsec always block (2.6.23) |
| Stephen Hemminger | Re: [PATCH 1/2] IPV4: remove addresses and routes when carrier is lost |
| Richard Stallman | Real men don't attack straw men |
| Leon Dippenaar | New tcp stack attack |
| Chris Tankersley | Dell PERC 3/Di - No Disks Found |
| Anselm R. Garbe | OpenBSD 4.0 / Xorg -> vesa 1920x1200 widescreen resolution |
