I’ve sync’d my local copy with supercollider/supercollider (upstream)
$ git diff develop upstream/develop
shows no differences
And I’ve also pushed those to my github clone
$ git diff develop origin/develop
Also shows no differences. But
$ git status
On branch develop
Your branch is up to date with 'origin/develop'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: editors/sc-el (new commits)
modified: external_libraries/nova-tt (new commits)
I see from my .git/config
those are files in submodules… And
$ git submodule
+7b5d95400306232c1faef43620e703f7ae2b49e8 editors/sc-el (7b5d954)
8ea022ae0057631c7761257369106023048b49a9 editors/scvim (v1.0.0-11-g8ea022a)
80a10cee3d203c83696a4f7bfe0289f17a58deff external_libraries/hidapi (hidapi-sc-0.8.0)
c1449edb28ccba86396a46a9989b8795960160a9 external_libraries/link (Link-3.0.2)
2bdc68bc5704a42578300a4c18411df2405cb307 external_libraries/nova-simd (heads/master)
+103dd25bb9fd0a359fff685d6aefd8028822afcc external_libraries/nova-tt (103dd25)
a906f6aaddb6c7b9601e38116ee80fc778c9e9c9 external_libraries/portaudio_sc_org (a906f6a)
728e26e42645d4d70ca65522990f915f47b47a50 external_libraries/yaml-cpp (release-0.5.3-35-g728e26e)
clearly shows those two have changes.
And I had to do
$ git diff --submodule=diff
Submodule editors/sc-el 0e95a1884..7b5d95400 (rewind):
diff --git a/editors/sc-el/CHANGELOG.md b/editors/sc-el/CHANGELOG.md
deleted file mode 100644
....
to actually see the changes to the submodoules.
And it’s actually possible to make git status
be more informative by default about submodules
$ git config status.submodulesummary 1
$ git status
On branch develop
Your branch is up to date with 'origin/develop'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: editors/sc-el (new commits)
modified: external_libraries/nova-tt (new commits)
Submodules changed but not updated:
* editors/sc-el 0e95a18...7b5d954 (4):
< Merge pull request #25 from mlang/emacs25
* external_libraries/nova-tt 55da937...103dd25 (1):
< Merge pull request #4 from dyfer/rw_mutex-win32
no changes added to commit (use "git add" and/or "git commit -a")
So really git config status.submodulesummary 1
should be a suggested default in some SC git setup tutorial…
Actually plain git diff
shows the changes to the submodules by default (unlike git status
which needed that flag tweak)…
$ git diff
diff --git a/editors/sc-el b/editors/sc-el
index 0e95a1884..7b5d95400 160000
--- a/editors/sc-el
+++ b/editors/sc-el
@@ -1 +1 @@
-Subproject commit 0e95a1884d36297f7684bc8b18d6187976b4cb1f
+Subproject commit 7b5d95400306232c1faef43620e703f7ae2b49e8
diff --git a/external_libraries/nova-tt b/external_libraries/nova-tt
index 55da93741..103dd25bb 160000
--- a/external_libraries/nova-tt
+++ b/external_libraries/nova-tt
@@ -1 +1 @@
-Subproject commit 55da93741e76632579b63004d3378139e32d634f
+Subproject commit 103dd25bb9fd0a359fff685d6aefd8028822afcc
Although specifying branches on the diff command (as in the beginning of this post) still says nothing about submodules (somewhat obviously the status flag only affects the status command), so the diffs between specified repos can still be confusing… especially since
$ git diff --submodule=diff develop upstream/develop
$ git diff --submodule=diff develop origin/develop
also show nothing. So apparently one Must remember not to include any repos in the command to get the submodule status diffed.
Anyhow, how do I do the pull the push business for those submodules? Do I need to fork the submodules on github too?