Skip to main content

A lightweight wrapper around git subtrees that lets you work with many subtrees at once

Project description

Chainsaw

A lightweight wrapper around git subtrees that lets you work with many subtrees at once

Installation

pip install git-chainsaw

Dependencies

  • git v1.7.11 or above
  • make sure the git command is recognized wherever you plan to run this
  • python3 + pip

Usage

Example chainsaw.json

[
    {
        "prefix": "bingo",
        "remote": "https://github.com/nasa/bingo.git",
        "branch": "master"
    },
    {
        "prefix": "trick",
        "remote": "https://github.com/nasa/trick.git",
        "branch": "master"
    }
]

Adding subtrees:

# From a predefined chainsaw.json file
chainsaw add --all [--squash]

# From scratch (Subtrees will be added to chainsaw.json)
chainsaw add bingo https://github.com/nasa/bingo.git master [--squash]

Updating subtrees:

# Pull specific subtrees only
chainsaw pull bingo trick [etc.] [--squash]

# Pull changes from all subtrees
chainsaw pull --all [--squash]

Updating subtree remotes:

# Push changes for specific subtrees only
chainsaw push bingo trick [etc.]

# Push changes for all subtrees
chainsaw push --all

List subtrees:

# Print the prefix of each subtree found by git log
chainsaw ls

# Graph subtree history
chainsaw graph

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

git-chainsaw-0.1.11.tar.gz (4.3 kB view hashes)

Uploaded Source

Built Distribution

git_chainsaw-0.1.11-py3-none-any.whl (4.6 kB view hashes)

Uploaded Python 3

Supported by

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