Minor update to Subpro.txt
authorJunio C Hamano <junkio@cox.net>
Fri, 21 Apr 2006 21:46:35 +0000 (14:46 -0700)
committerJunio C Hamano <junkio@cox.net>
Fri, 21 Apr 2006 21:46:35 +0000 (14:46 -0700)
This is ancient in git timescale, but we see requests for
subprojects support every now and then.  The document talks
about a possible UI level semantics and core level support.

Most of the core level support is in the "bind commit" updates
topic branch, except a few.  Most notably, "update-index --bind"
and "update-index --unbind" still needs to be written.

Signed-off-by: Junio C Hamano <junkio@cox.net>
Subpro.txt

index 8340d88..713b72e 100644 (file)
@@ -40,19 +40,20 @@ The idea here is to:
 . Keep `linux-2.6/` part as an independent project.  The work by
   the project on the kernel part can be naturally exchanged with
   the other kernel developers this way.  Specifically, a tree
 . Keep `linux-2.6/` part as an independent project.  The work by
   the project on the kernel part can be naturally exchanged with
   the other kernel developers this way.  Specifically, a tree
-  object contained in commit objects belonging to this project
+  object contained in commit objects belonging to this sub-project
   does *not* have `linux-2.6/` directory at the top.
 
 . Keep the `appliance/` part as another independent project.
   Applications are supposed to be more or less independent from
   the kernel version, but some other bits might be tied to a
   specific kernel version.  Again, a tree object contained in
   does *not* have `linux-2.6/` directory at the top.
 
 . Keep the `appliance/` part as another independent project.
   Applications are supposed to be more or less independent from
   the kernel version, but some other bits might be tied to a
   specific kernel version.  Again, a tree object contained in
-  commit objects belonging to this project does *not* have
+  commit objects belonging to this sub-project does *not* have
   `appliance/` directory at the top.
 
 . Have another project that combines the whole thing together,
   so that the project can keep track of which versions of the
   `appliance/` directory at the top.
 
 . Have another project that combines the whole thing together,
   so that the project can keep track of which versions of the
-  parts are built together.
+  parts are built together.  The Makefile is illustrated above,
+  but there might be other files and directories.
 
 We will call the project that binds things together the
 'toplevel project'.  Other projects that hold `linux-2.6/` part
 
 We will call the project that binds things together the
 'toplevel project'.  Other projects that hold `linux-2.6/` part
@@ -111,6 +112,10 @@ with `update-index --bind` command.
 
 Also note that in this round of proposal, there is no separate
 branches that keep track of heads of subprojects.
 
 Also note that in this round of proposal, there is no separate
 branches that keep track of heads of subprojects.
+
+`update-index --bind` is not implemented on the core side yet;
+it would involve backward incompatible changes to the index
+format.
 ============
 
 Let's not forget to add the `Makefile`, and check the whole
 ============
 
 Let's not forget to add the `Makefile`, and check the whole
@@ -283,6 +288,11 @@ error: the merged heads have subprojects bound at different places.
        gadget/
        manual/
 ------------
        gadget/
        manual/
 ------------
+[NOTE]
+============
+Again, `update-index --unbind` is not implemented yet
+on the core side.
+============
 
 Their branch added another subproject, so this did not work (or
 it could be the other way around -- we might have been the one
 
 Their branch added another subproject, so this did not work (or
 it could be the other way around -- we might have been the one