On Thu, Jul 17, 2008 at 1:58 PM, Johannes Schindelin <Johannes.Schindelin@xxxxxx> wrote: > Hi, > > On Thu, 17 Jul 2008, Nigel Magnay wrote: > >> On Thu, Jul 17, 2008 at 1:13 PM, Johannes Schindelin >> <Johannes.Schindelin@xxxxxx> wrote: >> >> > On Thu, 17 Jul 2008, Nigel Magnay wrote: >> > >> >> When doing a git submodule update, it fetches any missing submodule >> >> commits from the repository specified in .gitmodules. >> > >> > Huh? It takes what is in .git/config! Not what is in .gitmodules. >> >> Huh? And where does .git/config get it from? Oh, that's right, >> .gitmodules. > > Oh, that's right, after "git submodule init". Right before you are > supposed to change them if your setup commands that. > >> > So if you have another remote (or URL, e.g. if you have ssh:// access, >> > but the .gitmodules file lists git://), just edit .git/config. >> >> So for my usecase, you'd have me go in and change *evey single one* of >> my submodule refs from the centralised repository, *every time* I want >> to do a peer review? > > No. > >> Doesn't the current system strike you as being somewhat centralised in >> nature? > > No. > >> > I meant, that is the whole _point_ of having a two-step init/update >> > procedure. >> >> Are you just determined that submodules should remain useless for "the >> rest of us"? > > No. > > If you really need to change the "origin" back and forth between reviews, > while the committed state of the superproject stays the same, then > something is seriously awkward and needs to be streamlined in your setup. > > Because when the superproject's revision stays the same, "git submodule > update" may fetch additional objects if you specify another remote, but it > will check out just the same revisions of the submodules. Because they > were committed as such. > > But if you want to get objects from another server (as opposed to update > the submodules' working directories to the latest committed revisions), > which happens to have the identical layout of the principal server (which > I would deem another setup peculiarity to be fixed), you might want to > look into the recurse patch that was flying about on this list a few > months back. The layout wouldn't be the same - the submodules would be in the corresponding subdirectories (I guess it could have some other, stranger layout, but I'd consider that peculiar). So you're right, the layout is different, which makes editing the config all the more tedious. I don't want to change the *origin* back and forth. I want to be able to use repos with submodules in them as easily and as transparently and in the same distributed way as git allows me to do if they don't contain submodules. I.E I don't want it to be such a sisyphean challenge every time with umpteen scripts to complete a usecase that really ought to be supported as standard. The very first thing that I've hit is that submodule update only talks to origin, so 'git pull fred && git submodule update' falls flat on its face. Why am I being forced to update config just to have a look-see at fred's project? Your attitude seems to be that the status-quo is in some way desirable; "It's no wonder that this tool is awkward to use in your workflow.". This workflow is really common, and there's actual, real people on this list complaining about it. Don't we think it could be improved to be non-awkward ? In the ideal UI, it ought to be possible to make the use of projects with submodules (almost) completely transparent, like it is in the vcs-that-dare-not-speak-it's-name. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html