reposcan

Crates.ioreposcan
lib.rsreposcan
version
sourcesrc
created_at2025-02-02 16:53:17.709508
updated_at2025-02-05 21:12:37.861236
descriptionCommand line tool for discovering local git repositories and keeping track of local and remote changes collectively.
homepage
repositoryhttps://github.com/chrfre/reposcan.git
max_upload_size
id1539709
Cargo.toml error:TOML parse error at line 18, column 1 | 18 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include`
size0
chrfre (chrfre)

documentation

README

reposcan – a manager for git repositories

Command line tool for discovering local git repositories and keeping track of local and remote changes collectively.

Motivation

Perhaps you find yourself using many git repositories to collaborate and keep track of versions in software development, scientific projects, or even your creative works. Then a tool such as this might be helpful by

  • discovering repositories on your device by scanning directory trees,
  • curating a list of repositories for fast interactions,
  • checking the collective status at a glance, i.e. seeing which repositories contain uncommitted changes,
  • fetching commits to all repositories from all remotes with a single command,
  • listing all known repositories.

Usage

A quick and crisp entry into using reposcan can be found by typing

reposcan --help

Discovery and curation

As a first step,

reposcan discover

will search the current directory and subdirectory for git repositories with a file tree. You will see

  1. a list of newly discovered repositories as well as
  2. a list of repositories which were curated but not found anymore.

In a second step, you may either add the newly found repositories by typing

reposcan discover --add

or remove obsolete repositories by typing

reposcan discover --prune

Discovery and curation only consider the current working directory and its subdirectories, because these are potentially the most time-consuming operations. In contrast, checking the status and fetching are performed on all known repositories in the curated list independent of the current working directory.

Status

Typing

reposcan status

lists changes to repositories that have changed files or are in an in-between state of merging, rebasing, etc.

Clean repositories will not show up.

Fetching

By executing

reposcan fetch

all known repositories are entered and updated from all remotes.

Currently authentication is not yet implemented, but the plan is to seamlessly obtain authentication in the future. If one has set up git to properly authenticate to a server, then authentication will also work with reposcan without the need to set it up seperately.

Listing

reposcan list

will output all known repositories.


This project is not affiliated with the Git™ project nor with the Software Freedom Conservancy.

Commit count: 9

cargo fmt