gabrie30 / ghorg

Quickly clone an entire org/users repositories into one directory - Supports GitHub, GitLab, Bitbucket, and more 🐇🥚
Apache License 2.0
1.58k stars 167 forks source link

Cannot clone subgroups #159

Closed softbless1 closed 2 years ago

softbless1 commented 3 years ago

refer to issue #88 i tried the latest version, this issue is still there

i'm using this command : ghorg clone all-groups --base-url=http://code.xyz.com --scm=gitlab --token=abc123 --preserve-dir --insecure-gitlab-client --output-dir=/root/backup

the error message saying : Encountered an error, aborting error fetching repos for group 'chopstick', error: group 'chopstick' does not exist

note : chopstick is a subgroup and has 2 repositories

gabrie30 commented 3 years ago

Wasn't able to replicate this with the latest version of gitlab

Is chopstick a subgroup of a top level group?

What version of gitlab are you using?

Does your token have the correct permissions?

softbless1 commented 3 years ago

hi @gabrie30 yes, chopstik is a subgroup of a top level group. ok let me upgrade my gitlab latest version. and test it there, will update the result in here.

tiurlumbangaol commented 3 years ago

i've upgraded the gitlab version, and the issue is gone. thanks @gabrie30

gabrie30 commented 3 years ago

@tiurlumbangaol what version of gitlab were you running before the upgrade?

avelino commented 2 years ago

I am having the same problem using GitLab12.0.3 (08a51a9db93) GitLab Shell9.3.0 GitLab Workhorsev8.7.0 GitLab APIv4 Ruby2.6.3p62 Rails5.1.7 PostgreSQL

gabrie30 commented 2 years ago

Thanks @avelino are you having issues with ghorg clone all-groups specifically?

It looks like from their changelog the api calls ghorg uses were introduced in 13.0.1+ Groups API has top_level_only option to exclude subgroups

I'll wait for you to confirm before updating the README.md

avelino commented 2 years ago

Thanks @avelino are you having issues with ghorg clone all-groups specifically?

ghorg clone all-groups --base-url=http://gitlab.xxx.xxx.xxx/ --scm=gitlab --token=xxx
gitlab.xxx.xxx.xxx

 +-+-+-+-+ +-+-+ +-+-+-+-+-+
 |T|I|M|E| |T|O| |G|H|O|R|G|
 +-+-+-+-+ +-+-+ +-+-+-+-+-+

*************************************
* SCM           : gitlab
* Type          : org
* Protocol      : https
* Location      : /Users/thiago.avelino/ghorg/
* Concurrency   : 25
* Base URL      : http://gitlab.xxx.xxx.xxx/
* Config Used   : /Users/thiago.avelino/.config/ghorg/conf.yaml
*************************************

fetching repos for group: aeon-manager
Encountered an error, aborting
error fetching repos for group 'aeon-manager', error: group 'aeon-manager' does not exist
gabrie30 commented 2 years ago

Thanks @avelino I've update the readme and examples to note the version requirements. Cloning groups/subgroups individually should still work for you. Can re-open if thats not the case.

stxpons commented 1 year ago

Thanks @avelino I've update the readme and examples to note the version requirements. Cloning groups/subgroups individually should still work for you. Can re-open if thats not the case.

I think maybe you should use /groups/${groupId}/projects instead of /groups/${groupName}/projects. I had tested on our gitlab server, when use ${groupName}, it will cause 404 error while the group is a subgroup[like parentGroup/subGroup].