Thread (2 messages) flat view 2 messages, 2 authors, 2016-06-15

how to have real (existing) submodules?

From: Oliver Kullmann <hidden>
Date: 2016-06-15 22:50:12

Hi,

I have the following organisational problem:

Due to access restrictions, privacy, communication problems etc.
I need to have independent git repositories for various projects
(for example working on a scientific paper --- tossing the repos
as tarballs around is really great, and it works also for those
who do not want to use git). There repositories exist all at various
locations, often just local repositories, without internet access
(though some are on Github).

This creates obviously the problem of carrying them around (especially
given that certain places don't have Internet connection, and data
needs to be transferred via memory sticks).

I thought that "git submodule" would solve the problem, but now
I realised that these submodules are not "real", but they only contain
a bit of meta-data (this should really be said directly in the documentation).

So my hope, that I can have one super-repo, where I say, e.g., "git submodule foreach pull",
get the full super-repo, copy it on a memory stick, and then by pulling from
that copy I get everything into another super-repo, from which I distribute the
sub-repos, seems not so easily realisable with git?

A major restriction of git seems that the url's of each sub-repo need to
be unique, since they are in the global file .gitmodules? This seems strange
to me: If every submodule had its repo-specific pull-information, then still
by foreach-git-pull, where each pull has location-specific information, I
could achieve something. 

Hm, is the way how this is supposed to work really to first do "git submodule init",
to get a false path to the sub-repo into config, and then to change that path?
Then I have that nonsensic information about the url in .gitmodules?
And I can't just push the whole thing to Github (as I would have hoped)?
There is also the old problem that config is not under version control.
So "submodule" would be just about substituting scripts which run through
a bunch of repos and call, e.g., git pull in each (but with a certain commit in mind)?

Anyway, if that's how it is, please just tell me.
(And perhaps the use-case is somehow convincing to a developer, and
somebody might think about adding "full" submodules.)

Thanks in any case!

Oliver
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help