using .gitmodule as default (was: git submodule init and redundant data in .gitmodules/.git/config)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



also sprach Sven Verdoolaege <skimo@xxxxxxxxxx> [2007.08.15.1838 +0200]:
> The (most appropriate) URL from which to get updates of a submodule
> may be different for different people and therefore has to be stored
> in .git/config.  It was then decided that the default value
> for this URL should be stored in .gitmodules.  git submodule init
> simply initializes the URL using this default value.  You are free
> to not call git submodule init and set a (more) appropriate URL manually.

Ah. I shall prepare a patch against the manpage to make this more
clear then. Thanks for your explanation.

I have one open question though: why require init? It makes perfect
sense to allow for a local override, but unless I need to override
it, git-submodule update should really just keep using the default,
which it does not as far as I can tell from my tests:

piper:/tmp/cdt.tfd29893/co/a> git submodule update
piper:/tmp/cdt.tfd29893/co/a> git-submodule init
Submodule 'b' (/tmp/cdt.tfd29893/repos/b.git) registered for path 'b'
piper:/tmp/cdt.tfd29893/co/a> git submodule update
Initialized empty Git repository in /tmp/cdt.tfd29893/co/a/b/.git/
0 blocks
Submodule path 'b': checked out '0c1403bc9e13480e70745b70f79ffb00deb25a8d'

Is there a reason for this or should I try to create a patch, which
would make git-submodule consult .gitmodules in addition to
config.submodules for all modules not found in config.submodules.

Now if I may go a step further, I'll claim that init is a misnomer,
really. Instead, I would suggest to rename it. Here are some
thoughts:

  - config
    there is already git-config, and just like git-svn reuses e.g.
    rebase, this would keep the taxonomy compact
  - cpconf
    it does copy the configuration, after all
  - override
    not sure, since it doesn't actually override anything, but sets
    it all up for the user to be able to override the config
  - instconf
    install or instantiate the configuration
  - localise
    overloaded word, but it'd be localising configuration in some
    ways
  - localconf
    hinting at making the configuration local

Comments welcome,

-- 
martin;              (greetings from the heart of the sun.)
  \____ echo mailto: !#^."<*>"|tr "<*> mailto:"; net@madduck
 
man muss noch chaos in sich haben
um einen tanzenden stern zu gebähren.
                                                -- friedrich nietzsche
 
spamtraps: madduck.bogus@xxxxxxxxxxx

Attachment: digital_signature_gpg.asc
Description: Digital signature (see http://martin-krafft.net/gpg/)


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux