Skip to content

Instantly share code, notes, and snippets.

@andrewpollock
Created October 26, 2023 23:34
Show Gist options
  • Save andrewpollock/0c51ca92fdb77f1b0671a69c8187d949 to your computer and use it in GitHub Desktop.
Save andrewpollock/0c51ca92fdb77f1b0671a69c8187d949 to your computer and use it in GitHub Desktop.
package main
import (
"fmt"
"github.com/go-git/go-git/v5"
)
var submodules []*git.Repository
func main() {
fmt.Println("Hello, world.")
repo, err := git.PlainOpen("/tmp/pd-server")
if err != nil {
fmt.Printf("%#v\n", err)
}
worktree, err := repo.Worktree()
if err != nil {
fmt.Printf("%#v\n", err)
}
ss, err := worktree.Submodules()
if err != nil {
fmt.Printf("%#v\n", err)
}
for _, s := range ss {
repo, err := s.Repository()
if err != nil {
fmt.Printf("%#v\n", err)
continue
}
submodules = append(submodules, repo)
}
fmt.Printf("%#v\n", submodules)
}
@andrewpollock
Copy link
Author

$ git clone --recursive https://github.com/charlesneimog/pd-server
Cloning into 'pd-server'...
remote: Enumerating objects: 852, done.
remote: Counting objects: 100% (13/13), done.
remote: Compressing objects: 100% (11/11), done.
remote: Total 852 (delta 3), reused 7 (delta 2), pack-reused 839
Receiving objects: 100% (852/852), 2.12 MiB | 2.26 MiB/s, done.
Resolving deltas: 100% (372/372), done.
Submodule 'pd-lib-builder' (https://github.com/pure-data/pd-lib-builder) registered for path 'pd-lib-builder'
Submodule 'src/cpp-httplib' (https://github.com/yhirose/cpp-httplib) registered for path 'src/cpp-httplib'
Submodule 'src/json' (https://github.com/nlohmann/json) registered for path 'src/json'
Submodule 'src/websocketpp' (https://github.com/zaphoyd/websocketpp) registered for path 'src/websocketpp'
Cloning into '/tmp/pd-server/pd-lib-builder'...
remote: Enumerating objects: 711, done.
remote: Counting objects: 100% (126/126), done.
remote: Compressing objects: 100% (58/58), done.
remote: Total 711 (delta 82), reused 80 (delta 68), pack-reused 585
Receiving objects: 100% (711/711), 176.16 KiB | 751.00 KiB/s, done.
Resolving deltas: 100% (356/356), done.
Cloning into '/tmp/pd-server/src/cpp-httplib'...
remote: Enumerating objects: 4723, done.
remote: Counting objects: 100% (4723/4723), done.
remote: Compressing objects: 100% (1505/1505), done.
remote: Total 4723 (delta 3214), reused 4586 (delta 3168), pack-reused 0
Receiving objects: 100% (4723/4723), 2.79 MiB | 3.91 MiB/s, done.
Resolving deltas: 100% (3214/3214), done.
Cloning into '/tmp/pd-server/src/json'...
remote: Enumerating objects: 36542, done.
remote: Counting objects: 100% (812/812), done.
remote: Compressing objects: 100% (217/217), done.
remote: Total 36542 (delta 386), reused 736 (delta 356), pack-reused 35730
Receiving objects: 100% (36542/36542), 177.61 MiB | 21.22 MiB/s, done.
Resolving deltas: 100% (22578/22578), done.
Cloning into '/tmp/pd-server/src/websocketpp'...
remote: Enumerating objects: 12791, done.
remote: Counting objects: 100% (1549/1549), done.
remote: Compressing objects: 100% (197/197), done.
remote: Total 12791 (delta 1504), reused 1353 (delta 1352), pack-reused 11242
Receiving objects: 100% (12791/12791), 8.37 MiB | 8.28 MiB/s, done.
Resolving deltas: 100% (7985/7985), done.
Submodule path 'pd-lib-builder': checked out '5c2e137f7a7a03f4007494954ccb3e23753e7807'
Submodule path 'src/cpp-httplib': checked out 'a609330e4c6374f741d3b369269f7848255e1954'
Submodule path 'src/json': checked out '4c6cde72e533158e044252718c013a48bcff346c'
Submodule path 'src/websocketpp': checked out '1b11fd301531e6df35a6107c1e8665b1e77a2d8e'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment