Let repo archive command include submodules

Problem to solve

I want glab repo archive to produce an archive that is fully useable as-is.

At the moment, if I do eg. glab repo archive someorg/somerepo I get an archive that contains empty directories for the submodules. For example:

~ # glab repo archive dkml/ext/c-capnproto --sha 0650ccbf1780eda124b7d7cc0913c1c577c1d420
Cloning... 104 kB complete         
Complete... dkml-ext-c-capnproto.zip
~ # unzip -q dkml-ext-c-capnproto.zip 
~ # ls -la c-capnproto-0650ccbf1780eda124b7d7cc0913c1c577c1d420-0650ccbf1780eda124b7d7cc0913c1c577c1d420/gtest
total 8
drwxrwxrwx    2 root     root          4096 Aug  1 10:05 .
drwxrwxrwx    8 root     root          4096 Aug  1 10:05 ..
~ # 

The project is not buildable in this state.

Proposal

The glab repo archive command takes a flag to enable populating submodules in archives.

I do not know enough about Gitlab's server code to know whether changes would be required on the server side as well.