{"thread":{"id":"9432","subject":"Submodules","startedAt":"2007-08-07T22:37:35Z","lastAt":"2007-08-09T05:44:19Z","messageCount":19,"participants":["Dmitry Kakurin","Johannes Schindelin","Sven Verdoolaege","Junio C Hamano","Andy Parkins"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"50150","messageId":"a1bbc6950708071537xfa6b9a0ne8cf66e345fa31b4@mail.gmail.com","threadId":"9432","inReplyTo":null,"subject":"Submodules","fromName":"Dmitry Kakurin","fromEmail":"dmitry.kakurin@gmail.com","sentAt":"2007-08-07T22:37:35Z","receivedAt":"2007-08-07T22:37:35Z","isPatch":false,"sender":{"key":"dmitry.kakurin@gmail.com","avatar":null},"body":"Where can I find more information about submodules?\nI'm interested in both internal implementation details and how to use them.\n\n- Dmitry\n"},{"id":"50152","messageId":"Pine.LNX.4.64.0708072344450.14781@racer.site","threadId":"9432","inReplyTo":"a1bbc6950708071537xfa6b9a0ne8cf66e345fa31b4@mail.gmail.com","subject":"Re: Submodules","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2007-08-07T22:49:28Z","receivedAt":"2007-08-07T22:49:28Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Tue, 7 Aug 2007, Dmitry Kakurin wrote:\n\n> Where can I find more information about submodules?\n> I'm interested in both internal implementation details and how to use them.\n\nMost information is found in git-submodule.sh, although \nDocumentation/git-submodule.txt has beginnings of a good documentation.\n\nThe basic idea is this:\n\nA subdirectory contains a self-contained project.\n\nOnce that project is at a stage you want to have in the superproject, you \ncan commit that submodule state, much like a subdirectory.\n\nHowever, the history can progress in much coarser steps for the \nsuperproject.  IOW an ideal case for msysgit.git, where we want to have a \nstable version which can be checked out with GitMe.\n\nAlso, find more about submodules here:\n\nhttp://git.or.cz/gitwiki/SubprojectSupport?highlight=%28submodule%29\n\nCiao,\nDscho\n"},{"id":"50154","messageId":"Pine.LNX.4.64.0708072349400.14781@racer.site","threadId":"9432","inReplyTo":"a1bbc6950708071537xfa6b9a0ne8cf66e345fa31b4@mail.gmail.com","subject":"Re: Submodules","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2007-08-07T22:50:25Z","receivedAt":"2007-08-07T22:50:25Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\ncompletely forgot: submodules do not need to be checked out.  So, if there \nis a submodule you are not interested in working on, you can leave it.\n\nCiao,\nDscho\n"},{"id":"50156","messageId":"a1bbc6950708071610g4ea4d874t458cec14a444b519@mail.gmail.com","threadId":"9432","inReplyTo":"Pine.LNX.4.64.0708072344450.14781@racer.site","subject":"Re: Submodules","fromName":"Dmitry Kakurin","fromEmail":"dmitry.kakurin@gmail.com","sentAt":"2007-08-07T23:10:38Z","receivedAt":"2007-08-07T23:10:38Z","isPatch":false,"sender":{"key":"dmitry.kakurin@gmail.com","avatar":null},"body":"Yeah, I've already went thru these. But I want (much) more details.\nI can ask a bunch of random questions on this list, like:\n\n* Why after 'submodule update' it becomes detached, what if I want it\nto stay on certain branch?\n* How do I control which branches are fetched?\n* What if I do 'commit -a' standing in /super, will /super/submodule\ncommit as well?\n* What if I'm standing in /super/submodule and do 'commit -a'? Will\nsuper notice it in any way?\n\nBut I was hoping that it's all summarized somewhere already.\n\n- Dmitry\nOn 8/7/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:\n> Hi,\n>\n> On Tue, 7 Aug 2007, Dmitry Kakurin wrote:\n>\n> > Where can I find more information about submodules?\n> > I'm interested in both internal implementation details and how to use them.\n>\n> Most information is found in git-submodule.sh, although\n> Documentation/git-submodule.txt has beginnings of a good documentation.\n>\n> The basic idea is this:\n>\n> A subdirectory contains a self-contained project.\n>\n> Once that project is at a stage you want to have in the superproject, you\n> can commit that submodule state, much like a subdirectory.\n>\n> However, the history can progress in much coarser steps for the\n> superproject.  IOW an ideal case for msysgit.git, where we want to have a\n> stable version which can be checked out with GitMe.\n>\n> Also, find more about submodules here:\n>\n> http://git.or.cz/gitwiki/SubprojectSupport?highlight=%28submodule%29\n>\n> Ciao,\n> Dscho\n"},{"id":"50158","messageId":"a1bbc6950708071631w5d232e92gd0fa27158b27b5c3@mail.gmail.com","threadId":"9432","inReplyTo":"Pine.LNX.4.64.0708072349400.14781@racer.site","subject":"Re: Submodules","fromName":"Dmitry Kakurin","fromEmail":"dmitry.kakurin@gmail.com","sentAt":"2007-08-07T23:31:57Z","receivedAt":"2007-08-07T23:31:57Z","isPatch":false,"sender":{"key":"dmitry.kakurin@gmail.com","avatar":null},"body":"This is exactly the level of details I'm talking about:\n* how come sumbodules are not initialized when I do a clone of super.\nI expect to be able to build super after I clone it. Is there a new\n(undocumented) flag to clone?\n* is it OK to *not* init a submodule? will super become unhappy? Can I\ndo commits to super in this case?\n* why submodules should be listed in 2 places: in .submodules and in\nsuper/.git/config?\n\n- Dmitry\n\nP.S. There is an old saying \"One fool can ask so many questions that a\nthousand wise man would not be able to answer\" :-)\n\nOn 8/7/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:\n> completely forgot: submodules do not need to be checked out.  So, if there\n> is a submodule you are not interested in working on, you can leave it.\n"},{"id":"50159","messageId":"Pine.LNX.4.64.0708080104170.14781@racer.site","threadId":"9432","inReplyTo":"a1bbc6950708071631w5d232e92gd0fa27158b27b5c3@mail.gmail.com","subject":"Re: Submodules","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2007-08-08T00:07:49Z","receivedAt":"2007-08-08T00:07:49Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Tue, 7 Aug 2007, Dmitry Kakurin wrote:\n\n> * how come sumbodules are not initialized when I do a clone of super.\n> I expect to be able to build super after I clone it. Is there a new\n> (undocumented) flag to clone?\n\nThere might be.  But one of the reasons submodules are not just tree \nobjects is that you should be able _not_ to check out all of them (think \nKDE).\n\n> * why submodules should be listed in 2 places: in .submodules and in\n> super/.git/config?\n\nWell, URLs can change.  Therefore, .submodules has what is considered the \ncurrent URL, but you can change it yourself in .git/config.  (At least \nthat is how I understood it.)\n\nCiao,\nDscho\n"},{"id":"50186","messageId":"20070808102710.GI999MdfPADPa@greensroom.kotnet.org","threadId":"9432","inReplyTo":"a1bbc6950708071610g4ea4d874t458cec14a444b519@mail.gmail.com","subject":"Re: Submodules","fromName":"Sven Verdoolaege","fromEmail":"skimo@kotnet.org","sentAt":"2007-08-08T10:27:10Z","receivedAt":"2007-08-08T10:27:10Z","isPatch":false,"sender":{"key":"skimo@kotnet.org","avatar":null},"body":"On Tue, Aug 07, 2007 at 04:10:38PM -0700, Dmitry Kakurin wrote:\n> Yeah, I've already went thru these. But I want (much) more details.\n> I can ask a bunch of random questions on this list, like:\n> \n> * Why after 'submodule update' it becomes detached, what if I want it\n> to stay on certain branch?\n\nYou'd need to have a way to specify which branch you want to have updated.\nThere was some discussion about this some time ago and the general\nconclusion was that a detached HEAD was the best solution.\n\n> * How do I control which branches are fetched?\n\nCurrently, you can't.\n\n> * What if I do 'commit -a' standing in /super, will /super/submodule\n> commit as well?\n\nNo.\n\n> * What if I'm standing in /super/submodule and do 'commit -a'? Will\n> super notice it in any way?\n\nAny commit in the submodule will be seen as a \"change\" to the submodule\nfrom the perspective of the supermodule.\n\nskimo\n"},{"id":"50187","messageId":"20070808104117.GK999MdfPADPa@greensroom.kotnet.org","threadId":"9432","inReplyTo":"a1bbc6950708071631w5d232e92gd0fa27158b27b5c3@mail.gmail.com","subject":"Re: Submodules","fromName":"Sven Verdoolaege","fromEmail":"skimo@kotnet.org","sentAt":"2007-08-08T10:41:17Z","receivedAt":"2007-08-08T10:41:17Z","isPatch":false,"sender":{"key":"skimo@kotnet.org","avatar":null},"body":"On Tue, Aug 07, 2007 at 04:31:57PM -0700, Dmitry Kakurin wrote:\n> This is exactly the level of details I'm talking about:\n> * how come sumbodules are not initialized when I do a clone of super.\n\nSee you second question.\n\n> I expect to be able to build super after I clone it. Is there a new\n> (undocumented) flag to clone?\n\nNot (yet).  Right now, you have to do\n\ngit submodule init\ngit submodule update\n\nafter you clone to fetch and check-out all (first-level) submodules.\n\n> * is it OK to *not* init a submodule? will super become unhappy? Can I\n> do commits to super in this case?\n\nYes. No. Yes.\nIn fact, only the \"git submodule\" subcommand are affected by a\n\"git submodule init\".  Doing a \"git submodule update\" will actually\ncheck out the submodules and from then on, the HEAD of this checked-out\nsubmodule will be considered the content of the submodule in\nthe working tree of the supermodule.\n\n> * why submodules should be listed in 2 places: in .submodules and in\n> super/.git/config?\n\nIt only has to be specified in .git/config.\nThe value in .gitmodules (if present) is used by \"git submodule init\"\nas a default value for the one in .git/config.\n\nskimo\n"},{"id":"50213","messageId":"7vhcn94y9l.fsf@assigned-by-dhcp.cox.net","threadId":"9432","inReplyTo":"20070808104117.GK999MdfPADPa@greensroom.kotnet.org","subject":"Re: Submodules","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2007-08-08T19:33:26Z","receivedAt":"2007-08-08T19:33:26Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"There was a discussion about the semantics currently\nimplemented, as a subset of what we might want to eventually\nhave, and some recommended that we mention where things stand\nnow in the release notes.\n\nHow about this?\n\ndiff --git a/Documentation/RelNotes-1.5.3.txt b/Documentation/RelNotes-1.5.3.txt\nindex 21bb1fc..901f813 100644\n--- a/Documentation/RelNotes-1.5.3.txt\n+++ b/Documentation/RelNotes-1.5.3.txt\n@@ -9,6 +9,19 @@ Updates since v1.5.2\n \n * The submodule support has Porcelain layer.\n \n+  Note that the current submodule support is minimal and this is\n+  deliberately so.  A design decision we made is that operations\n+  at the supermodule level do not recurse into submodules by\n+  default.  The expectation is that later we would add a\n+  mechanism to tell git which submodules the user is interested\n+  in, and this information might be used to determine the\n+  recursive behaviour of certain commands (e.g. \"git checkout\"\n+  and \"git diff\"), but currently we haven't agreed on what that\n+  mechanism should look like.  Therefore, if you use submodules,\n+  you would probably need \"git submodule update\" on the\n+  submodules you care about after running a \"git checkout\" at\n+  the supermodule level.\n+\n * There are a handful pack-objects changes to help you cope better\n   with repositories with pathologically large blobs in them.\n \n"},{"id":"50218","messageId":"Pine.LNX.4.64.0708082138520.21916@wbgn129.biozentrum.uni-wuerzburg.de","threadId":"9432","inReplyTo":"7vhcn94y9l.fsf@assigned-by-dhcp.cox.net","subject":"Re: Submodules","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2007-08-08T19:40:59Z","receivedAt":"2007-08-08T19:40:59Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Wed, 8 Aug 2007, Junio C Hamano wrote:\n\n> +  Note that the current submodule support is minimal and this is\n> +  deliberately so.  A design decision we made is that operations\n> +  at the supermodule level do not recurse into submodules by\n> +  default.  The expectation is that later we would add a\n> +  mechanism to tell git which submodules the user is interested\n> +  in, and this information might be used to determine the\n> +  recursive behaviour of certain commands (e.g. \"git checkout\"\n> +  and \"git diff\"), but currently we haven't agreed on what that\n> +  mechanism should look like.  Therefore, if you use submodules,\n> +  you would probably need \"git submodule update\" on the\n> +  submodules you care about after running a \"git checkout\" at\n> +  the supermodule level.\n> +\n\nNice write up!\n\nIs it true that you can run \"update\" without \"init\" first?  (I haven't \ntried yet.)\n\nAlso, I realised that git is not really happy unless you install \nalternates pointing to the object stores of the submodules.  Shouldn't we \nmake this my default (for example in \"init\")?\n\nCiao,\nDscho\n"},{"id":"50222","messageId":"20070808195351.GQ999MdfPADPa@greensroom.kotnet.org","threadId":"9432","inReplyTo":"7vhcn94y9l.fsf@assigned-by-dhcp.cox.net","subject":"Re: Submodules","fromName":"Sven Verdoolaege","fromEmail":"skimo@kotnet.org","sentAt":"2007-08-08T19:53:51Z","receivedAt":"2007-08-08T19:53:51Z","isPatch":false,"sender":{"key":"skimo@kotnet.org","avatar":null},"body":"On Wed, Aug 08, 2007 at 12:33:26PM -0700, Junio C Hamano wrote:\n> +  Note that the current submodule support is minimal and this is\n> +  deliberately so.  A design decision we made is that operations\n> +  at the supermodule level do not recurse into submodules by\n> +  default.  The expectation is that later we would add a\n> +  mechanism to tell git which submodules the user is interested\n> +  in, and this information might be used to determine the\n> +  recursive behaviour of certain commands (e.g. \"git checkout\"\n> +  and \"git diff\"), but currently we haven't agreed on what that\n> +  mechanism should look like.  Therefore, if you use submodules,\n> +  you would probably need \"git submodule update\" on the\n> +  submodules you care about after running a \"git checkout\" at\n> +  the supermodule level.\n> +\n\nMaybe you could be a bit more explicit about the\npossibly unexpected results of \"git checkout\".\nPerhaps something like the following instead of the\nlast sentence:\n\n    In particular, if you have any submodules checked out,\n    running a \"git checkout\" at the supermodule level will\n    not update these submodules.  They will therefore appear\n    to be modified (to the state prior to the checkout)\n    to any subsequent git command, until they have been\n    updated explicitly using \"git submodule update\".\n\nskimo\n"},{"id":"50223","messageId":"7vps1x3ihp.fsf@assigned-by-dhcp.cox.net","threadId":"9432","inReplyTo":"Pine.LNX.4.64.0708082138520.21916@wbgn129.biozentrum.uni-wuerzburg.de","subject":"Re: Submodules","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2007-08-08T19:59:30Z","receivedAt":"2007-08-08T19:59:30Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:\n\n> Hi,\n>\n> On Wed, 8 Aug 2007, Junio C Hamano wrote:\n>\n>> +  Note that the current submodule support is minimal and this is\n>> +  deliberately so.  A design decision we made is that operations\n>> +  at the supermodule level do not recurse into submodules by\n>> +  default.  The expectation is that later we would add a\n>> +  mechanism to tell git which submodules the user is interested\n>> +  in, and this information might be used to determine the\n>> +  recursive behaviour of certain commands (e.g. \"git checkout\"\n>> +  and \"git diff\"), but currently we haven't agreed on what that\n>> +  mechanism should look like.  Therefore, if you use submodules,\n>> +  you would probably need \"git submodule update\" on the\n>> +  submodules you care about after running a \"git checkout\" at\n>> +  the supermodule level.\n>> +\n>\n> Nice write up!\n>\n> Is it true that you can run \"update\" without \"init\" first?  (I haven't \n> tried yet.)\n>\n> Also, I realised that git is not really happy unless you install \n> alternates pointing to the object stores of the submodules.  Shouldn't we \n> make this my default (for example in \"init\")?\n\nSorry, but I do not use submodules yet myself.  The questions\nneed to be answered, errors need to be corrected and omissions\nneed to be added by people who have been more involved in that\narea of the system.\n\nThat's would be Sven and Lars, probably.\n\nI also think we should have a paragraph of similar spirit\nabout the work-tree stuff as the top-level bullet point, before\nthe \"New commands and options\" list.  I suspect Matthias and you\nare the prime candidates to do the honors?\n"},{"id":"50224","messageId":"20070808200831.GS999MdfPADPa@greensroom.kotnet.org","threadId":"9432","inReplyTo":"7vps1x3ihp.fsf@assigned-by-dhcp.cox.net","subject":"Re: Submodules","fromName":"Sven Verdoolaege","fromEmail":"skimo@kotnet.org","sentAt":"2007-08-08T20:08:31Z","receivedAt":"2007-08-08T20:08:31Z","isPatch":false,"sender":{"key":"skimo@kotnet.org","avatar":null},"body":"On Wed, Aug 08, 2007 at 12:59:30PM -0700, Junio C Hamano wrote:\n> Sorry, but I do not use submodules yet myself.\n\nIf you would ever start using submodules (for, say, gitgui),\nthen I'm sure we'd have much more usable submodules support\nin no time.\n\nskimo\n"},{"id":"50228","messageId":"7vlkcl3h7t.fsf@assigned-by-dhcp.cox.net","threadId":"9432","inReplyTo":"7vps1x3ihp.fsf@assigned-by-dhcp.cox.net","subject":"Re: Submodules","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2007-08-08T20:27:02Z","receivedAt":"2007-08-08T20:27:02Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Ok, this is my second try.\n\n - Incorporated Sven's suggestion to give an example of\n   problematic situation on submodule after \"git-checkout\" at\n   the supermodule level;\n\n - Describe semantic clean-up of specifying GIT_DIR that is\n   not strictly needed (because it is situated at the normal\n   place relative to the working tree).\n\n---\ndiff --git a/Documentation/RelNotes-1.5.3.txt b/Documentation/RelNotes-1.5.3.txt\nindex 21bb1fc..bf7a341 100644\n--- a/Documentation/RelNotes-1.5.3.txt\n+++ b/Documentation/RelNotes-1.5.3.txt\n@@ -9,6 +9,40 @@ Updates since v1.5.2\n \n * The submodule support has Porcelain layer.\n \n+  Note that the current submodule support is minimal and this is\n+  deliberately so.  A design decision we made is that operations\n+  at the supermodule level do not recurse into submodules by\n+  default.  The expectation is that later we would add a\n+  mechanism to tell git which submodules the user is interested\n+  in, and this information might be used to determine the\n+  recursive behaviour of certain commands (e.g. \"git checkout\"\n+  and \"git diff\"), but currently we haven't agreed on what that\n+  mechanism should look like.  In particular, if you have any\n+  submodules checked out, running a \"git checkout\" at the\n+  supermodule level will not update these submodules.  They will\n+  therefore appear to be modified (to the state prior to the\n+  checkout) to any subsequent git command, until they have been\n+  updated explicitly using \"git submodule update\".\n+\n+* You can have a work tree not at the parent directory of .git\n+  which is the repository.  This is done with GIT_WORK_TREE\n+  environment, or --work-tree option.\n+\n+  This support slightly changes the semantics of having GIT_DIR\n+  environment variable.  The rule used to be that when it is\n+  given, you are supposed to be at the top level of the working\n+  tree.  However, if it names a .git directory at the top of the\n+  working tree, you can be in a subdirectory of that directory\n+  and git notices you are in the subdirectory.  E.g. in t/\n+  subdirectory of git.git project, \n+\n+\t$ cd t\n+\t$ GIT_DIR=../.git/ git ls-files -s\n+\n+  will list the files in t/ (i.e. your current directory).  It\n+  used not to notice that you are in a subdirectory and listed\n+  the files from the top-level of the working tree.\n+\n * There are a handful pack-objects changes to help you cope better\n   with repositories with pathologically large blobs in them.\n \n"},{"id":"50233","messageId":"200708082147.57822.andyparkins@gmail.com","threadId":"9432","inReplyTo":"Pine.LNX.4.64.0708082138520.21916@wbgn129.biozentrum.uni-wuerzburg.de","subject":"Re: Submodules","fromName":"Andy Parkins","fromEmail":"andyparkins@gmail.com","sentAt":"2007-08-08T20:47:53Z","receivedAt":"2007-08-08T20:47:53Z","isPatch":false,"sender":{"key":"andyparkins@gmail.com","avatar":null},"body":"On Wednesday 2007, August 08, Johannes Schindelin wrote:\n\n> Also, I realised that git is not really happy unless you install\n> alternates pointing to the object stores of the submodules.  Shouldn't we\n> make this my default (for example in \"init\")?\n\nI use submodules on a daily basis and haven't experienced this at all.  \nWould you mind saying a little more about this problem?\n\n\nAndy\n\n-- \nDr Andy Parkins, M Eng (hons), MIET\nandyparkins@gmail.com\n"},{"id":"50239","messageId":"Pine.LNX.4.64.0708082211100.21857@racer.site","threadId":"9432","inReplyTo":"200708082147.57822.andyparkins@gmail.com","subject":"Re: Submodules","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2007-08-08T21:12:52Z","receivedAt":"2007-08-08T21:12:52Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Wed, 8 Aug 2007, Andy Parkins wrote:\n\n> On Wednesday 2007, August 08, Johannes Schindelin wrote:\n> \n> > Also, I realised that git is not really happy unless you install\n> > alternates pointing to the object stores of the submodules.  Shouldn't we\n> > make this my default (for example in \"init\")?\n> \n> I use submodules on a daily basis and haven't experienced this at all.  \n> Would you mind saying a little more about this problem?\n\nNot at all!\n\nThis is what I did.  I cloned msysgit.git, which contains one submodule.  \nTo initialise that, I did \"git submodule init\" and \"git submodule update\".  \nIt went and cloned the submodule.  Fine.\n\nThen I committed in the submodule, a well-needed fix.\n\nIf I now go to the superproject again, and say \"git submodule status\", it \nwill not find the newest commit, and complain that it cannot access that \nobject.\n\nCiao,\nDscho\n"},{"id":"50249","messageId":"7vzm111xyw.fsf@assigned-by-dhcp.cox.net","threadId":"9432","inReplyTo":"20070808200831.GS999MdfPADPa@greensroom.kotnet.org","subject":"Re: Submodules","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2007-08-08T22:08:07Z","receivedAt":"2007-08-08T22:08:07Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Sven Verdoolaege <skimo@kotnet.org> writes:\n\n> On Wed, Aug 08, 2007 at 12:59:30PM -0700, Junio C Hamano wrote:\n>> Sorry, but I do not use submodules yet myself.\n>\n> If you would ever start using submodules (for, say, gitgui),\n> then I'm sure we'd have much more usable submodules support\n> in no time.\n\nHeh, I do not have infinite time to spend on every little corner\nfeatures, and have been hoping that other people who have more\nimmediate need of submodule support to be the guinea pigs to\nencounter real-life issues first and come up with solutions to\nthem, before I start using it.\n\nSo far, I think the plan has been working out alright ;-).\n"},{"id":"50253","messageId":"Pine.LNX.4.64.0708082317510.21857@racer.site","threadId":"9432","inReplyTo":"7vzm111xyw.fsf@assigned-by-dhcp.cox.net","subject":"Re: Submodules","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2007-08-08T22:18:33Z","receivedAt":"2007-08-08T22:18:33Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Wed, 8 Aug 2007, Junio C Hamano wrote:\n\n> Sven Verdoolaege <skimo@kotnet.org> writes:\n> \n> > On Wed, Aug 08, 2007 at 12:59:30PM -0700, Junio C Hamano wrote:\n> >> Sorry, but I do not use submodules yet myself.\n> >\n> > If you would ever start using submodules (for, say, gitgui),\n> > then I'm sure we'd have much more usable submodules support\n> > in no time.\n> \n> Heh, I do not have infinite time to spend on every little corner\n> features, and have been hoping that other people who have more\n> immediate need of submodule support to be the guinea pigs to\n> encounter real-life issues first and come up with solutions to\n> them, before I start using it.\n> \n> So far, I think the plan has been working out alright ;-).\n\nSure.  I already like submodules, and I think that msysgit.git using it \ncan bring submodules along more painlessly for git.git users.\n\nCiao,\nDscho\n"},{"id":"50279","messageId":"20070809054419.GT999MdfPADPa@greensroom.kotnet.org","threadId":"9432","inReplyTo":"Pine.LNX.4.64.0708082211100.21857@racer.site","subject":"Re: Submodules","fromName":"Sven Verdoolaege","fromEmail":"skimo@kotnet.org","sentAt":"2007-08-09T05:44:19Z","receivedAt":"2007-08-09T05:44:19Z","isPatch":false,"sender":{"key":"skimo@kotnet.org","avatar":null},"body":"On Wed, Aug 08, 2007 at 10:12:52PM +0100, Johannes Schindelin wrote:\n> This is what I did.  I cloned msysgit.git, which contains one submodule.  \n> To initialise that, I did \"git submodule init\" and \"git submodule update\".  \n> It went and cloned the submodule.  Fine.\n> \n> Then I committed in the submodule, a well-needed fix.\n> \n> If I now go to the superproject again, and say \"git submodule status\", it \n> will not find the newest commit, and complain that it cannot access that \n> object.\n\nThere must be something else you're not telling us.\nThis procedure works just fine for me\n\nbash-3.00$ git clone git://repo.or.cz/msysgit.git\nInitialized empty Git repository in /home/skimo/git/msysgit/.git/\nremote: Generating pack...\nremote: Done counting 1857 objects.\nremote: Deltifying 1857 objects...\nremote:  100% (1857/1857) done\nIndexing 1857 objects...\nremote: Total 1857 (delta 475), reused 1857 (delta 475)\n 100% (1857/1857) done\nResolving 475 deltas...\n 100% (475/475) done\nbash-3.00$ cd msysgit/\nbash-3.00$ git submodule init\nSubmodule 'git' (git://repo.or.cz/git/mingw/4msysgit.git/) registered for path 'git'\nbash-3.00$ git submodule update\nInitialized empty Git repository in /home/skimo/git/msysgit/git/.git/\nremote: Generating pack...\nremote: Done counting 58074 objects.\nremote: Deltifying 58074 objects...\nremote:  100% (58074/58074) done\nIndexing 58074 objects...\nremote: Total 58074 (delta 40790), reused 55132 (delta 37853)\n 100% (58074/58074) done\nResolving 40790 deltas...\n 100% (40790/40790) done\nSubmodule path 'git': checked out 'f1e1dc5119bd9862bb4d2a975c8ca6362ea43af5'\nbash-3.00$ cd git/\nbash-3.00$ touch a; git add a; git commit -m 'add a'\nCreated commit 5318784: add a\n 0 files changed, 0 insertions(+), 0 deletions(-)\n create mode 100644 a\nbash-3.00$ cd ..\nbash-3.00$ git submodule status\n+5318784e6d492d988284a4d9aa4025496f2a3309 git (v1.5.3-rc2-690-g5318784)\n\nskimo\n"}]}