Skip to main content

Manages git repos inside a directory

Project description

Repos

PyPI version Unstable package

Manages git repos inside a directory.

Install

pip install repos

Usage

Inside a directory with several git repos run:

$ repos
Repos in /Users/hello/repos

STATUS              NAME                            BRANCH
────────────────   ────────────────────────────    ──────────
•   •  1↑  •  •    this-is-a-ahead-repo              master
•  1↓   •  •  •    this-is-a-behind-repo             master
•   •   •  •  •    this-is-a-clean-repo              master
                   this-is-a-directory/
1±      ⚑  •  •    this-is-a-dirty-repo              master
•   ⚑         •    this-repo-has-no-remotes          master
•   •   •  •  3    this-repo-has-three-branches      branch-3
•   •   •  2  •    this-repo-has-two-remotes         master

        1 directories
        1 without a remote ⚑
        1 without upstream ⚑
        1 changed
        1 behind
        6 clean

To check all available commands:

$ repos help
NAME
    repos —  Manages your git repos

USAGE
    repos                       # Lists all repos in text format
    repos export --json         # Exports all repos as json
    repos export --yaml         # Exports all repos as yaml
    repos show REPO             # Shows the repo details
    repos save                  # Commits local changes
    repos push                  # Pushes up to the upstream
    repos pull                  # Pulls from the upstream
    repos sync                  # Pull from the upstream and pushes up
    repos help                  # Shows this help
    repos version               # Prints the current version

Todos

  • Code the repos add <url> subcommand to clone a git repo from an url.

  • Code the repos install [file] subcommand to clone git repos from a file, by default repos.yaml.

  • Code the repos config [repo] [key] [value] subcommand to store git config repos.* in ./.git/config file.

  • Code the repos save [repo] [--yes] subcommand to commit all changes (obeys the repo.save = always | never | ask git config).

  • Code the repos push [repo] [--yes] subcommand to send all commits to the upstream (obeys the repo.push = always | never | ask git config).

  • Code the repos pull [repo] [--yes] subcommand to pull all the latest commits from the upstream (obeys the repo.pull = always | never | ask git config).

  • Code the repos sync [repo] [--yes] subcommand to commits all changes, pull the latest commits, and push local commits to the upstream (obeys the repo.sync = always | never | ask git config).

  • Code the repos.enabled git config to turn off all other repos.* configs.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

repos-0.1.9.tar.gz (10.8 kB view details)

Uploaded Source

File details

Details for the file repos-0.1.9.tar.gz.

File metadata

  • Download URL: repos-0.1.9.tar.gz
  • Upload date:
  • Size: 10.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.2

File hashes

Hashes for repos-0.1.9.tar.gz
Algorithm Hash digest
SHA256 27a4a3a4369a2e5469f6b5a61de5cf721e79959d8523774a2a9138cfe376343e
MD5 f3a2c4a09bdb900b1ab3ef7429b24043
BLAKE2b-256 5fb409d89bc2215950e9af6bdf032f23e2513cf7f9a8fde3d4d7e2e53e5dbb88

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page