Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

autogen.sh: prefer shallow git submodules if parent is shallow #252

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

knocte
Copy link
Contributor

@knocte knocte commented Sep 17, 2016

The most likely scenario for someone to use a shallow
clone is to save some bandwidth (especially useful for
slow or data-capped connections), so it makes sense to
assume that the submodules should be retreived in a
similar way (especially considering some submodules
that Smuxi depends on are quite heavy, possibly due to
inclusion of binaries).

The most likely scenario for someone to use a shallow
clone is to save some bandwidth (especially useful for
slow or data-capped connections), so it makes sense to
assume that the submodules should be retreived in a
similar way (especially considering some submodules
that Smuxi depends on are quite heavy, possibly due to
inclusion of binaries).
@meebey
Copy link
Owner

meebey commented Sep 17, 2016

Since this build flavor isn't covered in the CI, does this really build? smuxi has a submodule lib/SmartIrc4net and that has a submodule src/starksoftproxy so depth would be 2 instead of 1

@knocte
Copy link
Contributor Author

knocte commented Sep 18, 2016

so depth would be 2 instead of 1

Mmm, depth is not the submodule nesting depth but the amount of commits back in history you want to retreive. But anyway, true, I see that the submodule population is somehow not working:

...
Cloning into 'lib/JabbR'...
remote: Counting objects: 1116, done.
remote: Compressing objects: 100% (1037/1037), done.
remote: Total 1116 (delta 134), reused 828 (delta 64), pack-reused 0
Receiving objects: 100% (1116/1116), 4.88 MiB | 86.00 KiB/s, done.
Resolving deltas: 100% (134/134), done.
Checking connectivity... done.
fatal: reference is not a tree: 6ace3bdc9c43ca0b9e71bd57a6e553525fb498df
Cloning into 'lib/Newtonsoft.Json'...
remote: Counting objects: 800, done.
remote: Compressing objects: 100% (645/645), done.
remote: Total 800 (delta 379), reused 304 (delta 151), pack-reused 0
Receiving objects: 100% (800/800), 2.45 MiB | 74.00 KiB/s, done.
Resolving deltas: 100% (379/379), done.
Checking connectivity... done.
fatal: reference is not a tree: 0ad15d4a2e2e058140c6540bf63162e81bcdaa83
Cloning into 'lib/ServiceStack'...
remote: Counting objects: 1739, done.
remote: Compressing objects: 100% (1453/1453), done.
remote: Total 1739 (delta 360), reused 863 (delta 230), pack-reused 0
Receiving objects: 100% (1739/1739), 7.39 MiB | 83.00 KiB/s, done.
Resolving deltas: 100% (360/360), done.
Checking connectivity... done.
fatal: reference is not a tree: 163b6df6ca943ec6eb71f8a2b1151d31b062e016
Cloning into 'lib/ServiceStack.Text'...
remote: Counting objects: 230, done.
remote: Compressing objects: 100% (216/216), done.
remote: Total 230 (delta 18), reused 133 (delta 4), pack-reused 0
Receiving objects: 100% (230/230), 1.57 MiB | 91.00 KiB/s, done.
Resolving deltas: 100% (18/18), done.
Checking connectivity... done.
Submodule path 'lib/ServiceStack.Text': checked out '192e7bfea94880f9684d673838806a95f2d7aa7f'
Cloning into 'lib/SignalR'...
remote: Counting objects: 1195, done.
remote: Compressing objects: 100% (1041/1041), done.
remote: Total 1195 (delta 290), reused 516 (delta 107), pack-reused 0
Receiving objects: 100% (1195/1195), 9.75 MiB | 50.00 KiB/s, done.
Resolving deltas: 100% (290/290), done.
Checking connectivity... done.
fatal: reference is not a tree: d3cbe5e22f04eecd170f6f446dceb9555d238a0b
Cloning into 'lib/SmartIrc4net'...
remote: Counting objects: 112, done.
remote: Compressing objects: 100% (104/104), done.
remote: Total 112 (delta 24), reused 58 (delta 5), pack-reused 0
Receiving objects: 100% (112/112), 120.22 KiB | 143.00 KiB/s, done.
Resolving deltas: 100% (24/24), done.
Checking connectivity... done.
fatal: reference is not a tree: 28caf8030f867eb88e7cfa88fb8b4d697c6bca85
Cloning into 'lib/StarkSoftProxy'...
remote: Counting objects: 15, done.
remote: Compressing objects: 100% (13/13), done.
remote: Total 15 (delta 5), reused 7 (delta 1), pack-reused 0
Unpacking objects: 100% (15/15), done.
Checking connectivity... done.
Submodule path 'lib/StarkSoftProxy': checked out 'd03786d2da5c5a669aa7e4f4b1954b6d87a39566'
Cloning into 'lib/Twitterizer'...
remote: Counting objects: 542, done.
remote: Compressing objects: 100% (348/348), done.
remote: Total 542 (delta 280), reused 367 (delta 180), pack-reused 0
Receiving objects: 100% (542/542), 14.73 MiB | 87.00 KiB/s, done.
Resolving deltas: 100% (280/280), done.
Checking connectivity... done.
fatal: reference is not a tree: 8a9bed311b8abf890c2e2aa06f04f93f95952013
Cloning into 'lib/agsxmpp'...
remote: Counting objects: 776, done.
remote: Compressing objects: 100% (705/705), done.
remote: Total 776 (delta 331), reused 332 (delta 53), pack-reused 0
Receiving objects: 100% (776/776), 1.38 MiB | 66.00 KiB/s, done.
Resolving deltas: 100% (331/331), done.
Checking connectivity... done.
Submodule path 'lib/agsxmpp': checked out '4ac3f5f720d9b95bad06777f7397c65aeddfdbf3'
Submodule 'agsxmpp/starksoftproxy' (git://github.com/meebey/starksoftproxy.git) registered for path 'agsxmpp/starksoftproxy'
Cloning into 'agsxmpp/starksoftproxy'...
remote: Counting objects: 15, done.
remote: Compressing objects: 100% (13/13), done.
remote: Total 15 (delta 5), reused 7 (delta 1), pack-reused 0
Receiving objects: 100% (15/15), 21.27 KiB | 0 bytes/s, done.
Resolving deltas: 100% (5/5), done.
Checking connectivity... done.
fatal: reference is not a tree: c24aac04dc29eb6d93f8b642a9ce9de7b24c61fe
Unable to checkout 'c24aac04dc29eb6d93f8b642a9ce9de7b24c61fe' in submodule path 'lib/agsxmpp/agsxmpp/starksoftproxy'
Cloning into 'lib/db4o-net'...
remote: Counting objects: 3924, done.
remote: Compressing objects: 100% (3399/3399), done.
remote: Total 3924 (delta 812), reused 1978 (delta 423), pack-reused 0
Receiving objects: 100% (3924/3924), 4.27 MiB | 73.00 KiB/s, done.
Resolving deltas: 100% (812/812), done.
Checking connectivity... done.
Submodule path 'lib/db4o-net': checked out '5a00fe5644c2847763f54e6d99e5ea69a4df8515'
Cloning into 'lib/messagingmenu-sharp'...
remote: Counting objects: 15, done.
remote: Compressing objects: 100% (13/13), done.
remote: Total 15 (delta 0), reused 11 (delta 0), pack-reused 0
Unpacking objects: 100% (15/15), done.
Checking connectivity... done.
Submodule path 'lib/messagingmenu-sharp': checked out 'ecc259779a0492c24d0c8dcf3b71cc7959de14b4'
Unable to checkout '6ace3bdc9c43ca0b9e71bd57a6e553525fb498df' in submodule path 'lib/JabbR'
Unable to checkout '0ad15d4a2e2e058140c6540bf63162e81bcdaa83' in submodule path 'lib/Newtonsoft.Json'
Unable to checkout '163b6df6ca943ec6eb71f8a2b1151d31b062e016' in submodule path 'lib/ServiceStack'
Unable to checkout 'd3cbe5e22f04eecd170f6f446dceb9555d238a0b' in submodule path 'lib/SignalR'
Unable to checkout '28caf8030f867eb88e7cfa88fb8b4d697c6bca85' in submodule path 'lib/SmartIrc4net'
Unable to checkout '8a9bed311b8abf890c2e2aa06f04f93f95952013' in submodule path 'lib/Twitterizer'
Failed to recurse into submodule path 'lib/agsxmpp'

But the one that failed is agsxmpp, not SmartIrc4net :-m

@knocte
Copy link
Contributor Author

knocte commented Sep 18, 2016

If I try again, I get:

Running autoconf ...
fatal: reference is not a tree: 6ace3bdc9c43ca0b9e71bd57a6e553525fb498df
fatal: reference is not a tree: 0ad15d4a2e2e058140c6540bf63162e81bcdaa83
fatal: reference is not a tree: 163b6df6ca943ec6eb71f8a2b1151d31b062e016
fatal: reference is not a tree: d3cbe5e22f04eecd170f6f446dceb9555d238a0b
fatal: reference is not a tree: 28caf8030f867eb88e7cfa88fb8b4d697c6bca85
fatal: reference is not a tree: 8a9bed311b8abf890c2e2aa06f04f93f95952013
fatal: reference is not a tree: c24aac04dc29eb6d93f8b642a9ce9de7b24c61fe
Unable to checkout 'c24aac04dc29eb6d93f8b642a9ce9de7b24c61fe' in submodule path 'lib/agsxmpp/agsxmpp/starksoftproxy'
Unable to checkout '6ace3bdc9c43ca0b9e71bd57a6e553525fb498df' in submodule path 'lib/JabbR'
Unable to checkout '0ad15d4a2e2e058140c6540bf63162e81bcdaa83' in submodule path 'lib/Newtonsoft.Json'
Unable to checkout '163b6df6ca943ec6eb71f8a2b1151d31b062e016' in submodule path 'lib/ServiceStack'
Unable to checkout 'd3cbe5e22f04eecd170f6f446dceb9555d238a0b' in submodule path 'lib/SignalR'
Unable to checkout '28caf8030f867eb88e7cfa88fb8b4d697c6bca85' in submodule path 'lib/SmartIrc4net'
Unable to checkout '8a9bed311b8abf890c2e2aa06f04f93f95952013' in submodule path 'lib/Twitterizer'
Failed to recurse into submodule path 'lib/agsxmpp'

I've read about this error, and it seems it's because the repositories of the submodules are not pointing to the last HEAD (which is normal), and git > 2.8 might have better support for this (unfortunately this version is too bleeding edge for most distros I guess, since the last ubuntu LTS bundles 2.7.4).

I guess we can wait a bit until we can merge this then.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants