git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: question about git-submodule

From
SVSven Verdoolaege <skimo@kotnet.org>
Date
Jul 15, 2007, 15:21 UTC
Message-ID
<20070715152101.GJ999MdfPADPa@greensroom.kotnet.org>
In-Reply-To
<20070715150540.GH7106@genesis.frugalware.org>
On Sun, Jul 15, 2007 at 05:05:40PM +0200, VMiklos wrote:
Show 7 quoted lines
> Hello,
> 
> Na Sun, Jul 15, 2007 at 04:48:35PM +0200, Sven Verdoolaege <skimo@kotnet.org> pisal(a):
> > Isn't that what "git submodule update" does ?
> 
> i can't get it to work, but here is a log:
> 
Show 41 quoted lines
> vmiklos@vmobile:~/git/test$ ls
> vmiklos@vmobile:~/git/test$ mkdir server
> vmiklos@vmobile:~/git/test$ cd server
> vmiklos@vmobile:~/git/test/server$ mkdir main
> vmiklos@vmobile:~/git/test/server$ cd main
> vmiklos@vmobile:~/git/test/server/main$ git init
> Initialized empty Git repository in .git/
> vmiklos@vmobile:~/git/test/server/main$ echo "foo" > main.c
> vmiklos@vmobile:~/git/test/server/main$ git add main.c
> vmiklos@vmobile:~/git/test/server/main$ git commit -m "import main"
> Created initial commit 1ceae8f: import main
>  1 files changed, 1 insertions(+), 0 deletions(-)
>  create mode 100644 main.c
> vmiklos@vmobile:~/git/test/server/main$ cd ..
> vmiklos@vmobile:~/git/test/server$ mkdir libfoo
> vmiklos@vmobile:~/git/test/server$ cd libfoo
> vmiklos@vmobile:~/git/test/server/libfoo$ git init
> Initialized empty Git repository in .git/
> vmiklos@vmobile:~/git/test/server/libfoo$ echo "foo" > libfoo.c
> vmiklos@vmobile:~/git/test/server/libfoo$ git add libfoo.c
> vmiklos@vmobile:~/git/test/server/libfoo$ git commit -m "import libfoo"
> Created initial commit 5979d36: import libfoo
>  1 files changed, 1 insertions(+), 0 deletions(-)
>  create mode 100644 libfoo.c
> vmiklos@vmobile:~/git/test/server/libfoo$ cd ../..
> vmiklos@vmobile:~/git/test$ mkdir client
> vmiklos@vmobile:~/git/test$ cd client
> vmiklos@vmobile:~/git/test/client$ git clone ../server/main
> Initialized empty Git repository in /home/vmiklos/git/test/client/main/.git/
> remote: Generating pack...
> Done counting 3 objects.
> Deltifying 3 objects...
>  100% (3/3) done
> Total 3 remote: (delta 0), reused 0 (delta 0)
> Indexing 3 objects...
>  100% (3/3) done
> 
> vmiklos@vmobile:~/git/test/client$ cd main
> vmiklos@vmobile:~/git/test/client/main$ ls
> main.c
> vmiklos@vmobile:~/git/test/client/main$ git submodule add ../../server/libfoo/ libfoo
Here you add a submodule in the copy of the superproject in client.
Show 34 quoted lines
> Initialized empty Git repository in /home/vmiklos/git/test/client/main/libfoo/.git/
> remote: Generating pack...
> remote: Done counting 3 objects.
> remote: Deltifying 3 objects...
>  100% (3/3) done
> Total 3 (delta 0), reused 0 (delta 0)
> Indexing 3 objects...
>  100% (3/3) done
> 
> vmiklos@vmobile:~/git/test/client/main$ git submodule init
> Submodule 'libfoo' (/home/vmiklos/git/test/server/libfoo/.git) registered for path 'libfoo'
> vmiklos@vmobile:~/git/test/client/main$ git commit -a -m "registered libfoo submodule"
> Created commit 2c65310: registered libfoo submodule
>  2 files changed, 4 insertions(+), 0 deletions(-)
>  create mode 100644 .gitmodules
>  create mode 160000 libfoo
> vmiklos@vmobile:~/git/test/client/main$ cd ../../server/main
> vmiklos@vmobile:~/git/test/server/main$ echo bar >> main.c
> vmiklos@vmobile:~/git/test/server/main$ git add git commit -m "bar in main"
> vmiklos@vmobile:~/git/test/server/main$ git add main.c
> vmiklos@vmobile:~/git/test/server/main$ git commit -m "bar in main"
> Created commit 1c26399: bar in main
>  1 files changed, 1 insertions(+), 0 deletions(-)
> vmiklos@vmobile:~/git/test/server/main$ cd ../libfoo
> vmiklos@vmobile:~/git/test/server/libfoo$ echo bar >> libfoo.c
> vmiklos@vmobile:~/git/test/server/libfoo$ git add libfoo.c
> vmiklos@vmobile:~/git/test/server/libfoo$ git commit -m "bar in libfoo"
> Created commit 07ceadb: bar in libfoo
>  1 files changed, 1 insertions(+), 0 deletions(-)
> vmiklos@vmobile:~/git/test/server/libfoo$ cd ../../client/main
> vmiklos@vmobile:~/git/test/client/main$ git submodule update
> 
> at the end of it, git submodule update does not pull anything, while
> there are changes both in the main and in the libfoo repo, too

The last time you told the superproject about any changes in the subprojects was when you added the subproject (in client), so as far as the superproject is concerned nothing happened in any submodule. The submodules don't even exist in server.

skimo
Previous: VMiklosNext: VMiklos
Message 11 of 22 in “question about git-submodule”
  1. VMiklosJul 13, 2007
  2. Sven VerdoolaegeJul 15, 2007
  3. Alex RiesenJul 15, 2007
  4. VMiklosJul 15, 2007
  5. Alex RiesenJul 15, 2007
  6. VMiklosJul 15, 2007
  7. Sven VerdoolaegeJul 15, 2007
  8. VMiklosJul 15, 2007
  9. Sven VerdoolaegeJul 15, 2007
  10. VMiklosJul 15, 2007
  11. Sven VerdoolaegeJul 15, 2007
  12. VMiklosJul 15, 2007
  13. Sven VerdoolaegeJul 15, 2007
  14. VMiklosJul 15, 2007
  15. Sven VerdoolaegeJul 16, 2007
  16. VMiklosJul 16, 2007
  17. Sven VerdoolaegeJul 15, 2007
  18. Alex RiesenJul 15, 2007
  19. Sven VerdoolaegeJul 15, 2007
  20. Eran TromerAug 3, 2007
  21. Sven VerdoolaegeAug 5, 2007
  22. Eran TromerAug 6, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.