{"id":17671227,"url":"https://github.com/mathewkeeling/gitlab-helper","last_synced_at":"2026-01-26T07:33:33.027Z","repository":{"id":238225157,"uuid":"796137273","full_name":"MathewKeeling/Gitlab-Helper","owner":"MathewKeeling","description":"This repository contains the GitLab-Helper utility, a versatile Python script designed to streamline the process of managing GitLab repositories.","archived":false,"fork":false,"pushed_at":"2024-10-29T05:18:46.000Z","size":65,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-28T23:04:07.657Z","etag":null,"topics":["git","gitlab","vcs"],"latest_commit_sha":null,"homepage":"https://kcltd.work","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MathewKeeling.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-05T03:35:17.000Z","updated_at":"2024-10-29T05:18:27.000Z","dependencies_parsed_at":"2024-12-11T21:41:36.719Z","dependency_job_id":"fb2f29c5-817b-4add-9844-f9b5aa763160","html_url":"https://github.com/MathewKeeling/Gitlab-Helper","commit_stats":{"total_commits":18,"total_committers":2,"mean_commits":9.0,"dds":0.5,"last_synced_commit":"7ae104521f2c13833229b6b12efb4cededf5c1ab"},"previous_names":["mathewkeeling/gitcloner"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MathewKeeling%2FGitlab-Helper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MathewKeeling%2FGitlab-Helper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MathewKeeling%2FGitlab-Helper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MathewKeeling%2FGitlab-Helper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MathewKeeling","download_url":"https://codeload.github.com/MathewKeeling/Gitlab-Helper/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249117044,"owners_count":21215328,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["git","gitlab","vcs"],"created_at":"2024-10-24T03:13:31.925Z","updated_at":"2026-01-26T07:33:32.999Z","avatar_url":"https://github.com/MathewKeeling.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"```\n\n```\n\n\n\u003cdiv align=\"center\"\u003e\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003cpre\u003e\n   ___ _ _     __       _                  _                 \n  / _ (_) |_  / /  __ _| |__     /\\  /\\___| |_ __   ___ _ __ \n / /_\\/ | __|/ /  / _` | '_ \\   / /_/ / _ \\ | '_ \\ / _ \\ '__|\n/ /_\\\\| | |_/ /__| (_| | |_) | / __  /  __/ | |_) |  __/ |   \n\\____/|_|\\__\\____/\\__,_|_.__/  \\/ /_/ \\___|_| .__/ \\___|_|   \n                                            |_|              \n                                                  v2024.10.29\n      \u003c/pre\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003cimg src=\"glh.png\" alt=\"Gitlab Helper\" style=\"width: 200px; height: auto;\"\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003c/div\u003e\n\n## Overview\n\nThis repository contains the `glh.py` file, a versatile Python script designed to streamline the process of managing GitLab repositories.\n\n## Prerequisites\n\nBefore running the script, make sure you have the following:\n\n- Python 3.x installed\n- Git installed\n\n## Usage\n\nTo use the `glh.py` script, follow these steps:\n\n1. Clone this repository to your local machine.\n2. Open a terminal or command prompt.\n3. Navigate to the cloned repository directory.\n4. Create a `glh.ini` file with the following content:\n    ```ini\n    [gitlab]\n    url = https://your-gitlab-url\n    user = your-username\n    private_token = your-private-token\n    ```\n5. Run the script using the following command:\n    ```bash\n    ./glh.sh\n    ```\n6. Use the command-line arguments to specify projects or groups to clone, or clone all:\n    ```bash\n    ./glh.sh --projects project1,project2\n    ./glh.sh --groups group1,group2\n    ./glh.sh --all\n    ```\n\n## Adding to Bin Directory\n\nTo use the `glh.sh` script from anywhere on your system, you can add it to your `bin` directory:\n\n1. Move both the shell script and the Python script to your `bin` directory:\n    ```bash\n    mv glh.sh /usr/local/bin/glh\n    mv glh.py /usr/local/bin/glh.py\n    ```\n2. Make sure the scripts are executable:\n    ```bash\n    chmod +x /usr/local/bin/glh\n    chmod +x /usr/local/bin/glh.py\n    ```\n3. Now you can run the script from anywhere using:\n    ```bash\n    glh --projects project1,project2\n    ```\n\n## Configuration File Location\n\nThe script expects the configuration file to be located at `~/.glh/glh.ini` on Linux and other Unix-like systems, or `~\\\\.glh\\\\glh.ini` on Windows. If the configuration file does not exist, the script will create one with generic values and prompt you to update it.\n\n## Performing Updates\n\nTo update the `glh.py` script and the wrapper:\n\n1. Navigate to the cloned repository directory:\n    ```bash\n    cd /path/to/cloned/repository\n    ```\n2. Pull the latest changes from the repository:\n    ```bash\n    git pull origin main\n    ```\n3. If there are updates to the wrapper script, move both scripts to your `bin` directory again:\n    ```bash\n    mv glh.sh /usr/local/bin/glh\n    mv glh.py /usr/local/bin/glh.py\n    chmod +x /usr/local/bin/glh\n    chmod +x /usr/local/bin/glh.py\n    ```\n\n## Supported Platforms\n\nThis script supports both Windows and Linux systems.\n\n## Limitations\n\nThis script does **not** work with GitHub, and there are no plans to support GitHub.\n\n*I'm not opposed to it, but because GitHub is not FOSS, I'm not very interested in building tooling for that. If you're viewing this project on GitHub: this repository is only a mirror. Forks and Pull Requests are welcomed! GPLv3 attribution(s) required where applicable.*\n\n## License\n\nThis project is licensed under the GPLv3 License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmathewkeeling%2Fgitlab-helper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmathewkeeling%2Fgitlab-helper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmathewkeeling%2Fgitlab-helper/lists"}