man-group / ArcticDB

ArcticDB is a high performance, serverless DataFrame database built for the Python Data Science ecosystem.
http://arcticdb.io
Other
1.49k stars 93 forks source link

Unable to clone repository with submodules #1502

Closed mrk-andreev closed 6 months ago

mrk-andreev commented 6 months ago

Describe the bug

When I try to clone repository with all submodules I face to error

fatal: Needed a single revision
Unable to find current origin/master revision in submodule path 'cpp/third_party/lmdb'

Maybe https://github.com/LMDB/lmdb created a breaking change. Because when I open this project I see mdb.master as a major branch.

I can suggest to fork all submodules into man-group and maintain regular updates by your side. Otherwise this case may happen again. Because some libraries are not so popular and contain a low amount of forks and stars. What do you think about that?

Steps/Code to Reproduce

Execute git clone --recurse-submodules --remote-submodules <...>

Full command:

git clone  --recurse-submodules --remote-submodules git@github.com:man-group/ArcticDB.git ArcticDB_v2

Output:

Cloning into 'ArcticDB_v2'...
remote: Enumerating objects: 40332, done.
remote: Counting objects: 100% (7937/7937), done.
remote: Compressing objects: 100% (2571/2571), done.
remote: Total 40332 (delta 6508), reused 6170 (delta 5338), pack-reused 32395
Receiving objects: 100% (40332/40332), 65.34 MiB | 8.63 MiB/s, done.
Resolving deltas: 100% (22146/22146), done.
Submodule 'cpp/third_party/lmdb' (https://github.com/LMDB/lmdb.git) registered for path 'cpp/third_party/lmdb'
Submodule 'cpp/third_party/lmdbxx' (https://github.com/bendiken/lmdbxx.git) registered for path 'cpp/third_party/lmdbxx'
Submodule 'cpp/third_party/pybind11' (https://github.com/pybind/pybind11.git) registered for path 'cpp/third_party/pybind11'
Submodule 'cpp/third_party/rapidcheck' (https://github.com/emil-e/rapidcheck.git) registered for path 'cpp/third_party/rapidcheck'
Submodule 'cpp/third_party/recycle' (https://github.com/steinwurf/recycle.git) registered for path 'cpp/third_party/recycle'
Submodule 'cpp/vcpkg' (https://github.com/microsoft/vcpkg.git) registered for path 'cpp/vcpkg'
Cloning into '/tmp/man-group/ArcticDB_v2/cpp/third_party/lmdb'...
remote: Enumerating objects: 9575, done.        
remote: Counting objects: 100% (362/362), done.        
remote: Compressing objects: 100% (114/114), done.        
remote: Total 9575 (delta 155), reused 296 (delta 110), pack-reused 9213        
Receiving objects: 100% (9575/9575), 2.75 MiB | 8.81 MiB/s, done.
Resolving deltas: 100% (4165/4165), done.
Cloning into '/tmp/man-group/ArcticDB_v2/cpp/third_party/lmdbxx'...
remote: Enumerating objects: 569, done.        
remote: Total 569 (delta 0), reused 0 (delta 0), pack-reused 569        
Receiving objects: 100% (569/569), 111.85 KiB | 9.32 MiB/s, done.
Resolving deltas: 100% (343/343), done.
Cloning into '/tmp/man-group/ArcticDB_v2/cpp/third_party/pybind11'...
remote: Enumerating objects: 27815, done.        
remote: Counting objects: 100% (565/565), done.        
remote: Compressing objects: 100% (240/240), done.        
remote: Total 27815 (delta 338), reused 468 (delta 285), pack-reused 27250        
Receiving objects: 100% (27815/27815), 10.86 MiB | 8.74 MiB/s, done.
Resolving deltas: 100% (19616/19616), done.
Cloning into '/tmp/man-group/ArcticDB_v2/cpp/third_party/rapidcheck'...
remote: Enumerating objects: 9235, done.        
remote: Counting objects: 100% (272/272), done.        
remote: Compressing objects: 100% (171/171), done.        
remote: Total 9235 (delta 99), reused 221 (delta 88), pack-reused 8963        
Receiving objects: 100% (9235/9235), 1.71 MiB | 5.76 MiB/s, done.
Resolving deltas: 100% (6603/6603), done.
Cloning into '/tmp/man-group/ArcticDB_v2/cpp/third_party/recycle'...
remote: Enumerating objects: 1203, done.        
remote: Counting objects: 100% (551/551), done.        
remote: Compressing objects: 100% (133/133), done.        
remote: Total 1203 (delta 453), reused 504 (delta 418), pack-reused 652        
Receiving objects: 100% (1203/1203), 1.25 MiB | 8.21 MiB/s, done.
Resolving deltas: 100% (759/759), done.
Cloning into '/tmp/man-group/ArcticDB_v2/cpp/vcpkg'...
remote: Enumerating objects: 229490, done.        
remote: Counting objects: 100% (227/227), done.        
remote: Compressing objects: 100% (149/149), done.        
remote: Total 229490 (delta 126), reused 159 (delta 78), pack-reused 229263        
Receiving objects: 100% (229490/229490), 68.13 MiB | 8.70 MiB/s, done.
Resolving deltas: 100% (152019/152019), done.
fatal: Needed a single revision
Unable to find current origin/master revision in submodule path 'cpp/third_party/lmdb'

Expected Results

No errors

OS, Python Version and ArcticDB Version

upstream (commit 0859017305d53647205abf9869c4909b0868aea0) / OS: Linux-5.15.0-102-generic-x86_64-with-glibc2.29

Backend storage used

No response

Additional Context

No response

phoebusm commented 6 months ago

Hi @mrk-andreev thanks for reaching out. I am a bit unsure how submodule lmdb on your environment got pinned at master branch. On https://github.com/man-group/ArcticDB/tree/master/cpp/third_party, it is pinned at a particular commit https://github.com/LMDB/lmdb/tree/5033a08c86fb6ef0adddabad327422a1c0c0069a, which is still available.

mrk-andreev commented 6 months ago

Thank you for your help, my bad.

Inside Dockerfile everything is fine. I will look deeper inside my git configuration.