#gitlab #tree #forge #pull #group #git #sync

app gtree

A tool to clone and pull whole group trees from a git forge, properly organized on disk

2 stable releases

1.0.1 Jul 6, 2022
1.0.0 Jun 9, 2022

#1452 in Filesystem

ISC license

750KB
22K SLoC

GraphQL 21K SLoC Rust 1K SLoC // 0.0% comments Shell 2 SLoC

Table of Contents

  1. Usage
  2. Config

A tool to clone and pull whole group trees from a git forge, properly organized on disk.

Usage

gtree
Sync Gitlab Trees

USAGE:
    gtree <SUBCOMMAND> [SCOPE]

ARGS:
    <SCOPE>    Only operate on this subtree

OPTIONS:
    -h, --help           Print help information
    -j, --jobs <JOBS>    Number of jobs to run in parallel, 0 is automatic [default: 0]

SUBCOMMANDS:
    help      Print this message or the help of the given subcommand(s)
    list      List Directories
    sync      Download new repositories and delete old ones, also update
    update    Pull and Push new commits to and from the cloned repos

Config

Default location for the config file is $HOME/.config/gtree/config.toml, in the toml format, yaml is also supported.

# Give the forge a easily identifiable name
["gitlab.com"]
# Configure which kind of forge this is
# Currently only gitlab is supported
type = "gitlab"

# Set the domain name to reach the forge at
host = "gitlab.com"

# API Token for the forge
# for gitlab this is a Personal Access Token
# https://gitlab.com/-/profile/personal_access_tokens
token = "HgDAfJ9tfD5xUw2L6SUm"

# Directory to clone the repos into
directory = "/home/audron/repo/gitlab.com"

Dependencies

~25–38MB
~649K SLoC