Skip to main content

A simple svn branch tool with externals support

Project description

A lightweight svn branch tool with externals support.

features

  • Cross-platform (Windows/Linux/MacOSX)
  • Create branch through svn URLs directly, no need to clone entire repository
  • Auto scans externals from one or more URLs or local repository
  • Support all kinds of externals forms
  • Support peg revision and operative revision
  • Support non-ascii svn paths or externals

Installation

Just perform

$ pip install svnbranch

which will install this command line tool on your system.

Usage

  1. It auto scans externals from one or more URLs or local copy, and create a config template contains externals information.

    $ svnbranch create_config D:\Tmp\sample\trunk\src

    will get a config_template.json in the working directory, for example:

    {
        "branch_map": {
            "https://hqc-pc:12000/svn/sample/": {
                "trunk/README.md/": "",
                "trunk/src/": "",
                "trunk/third_party/": ""
            }
        },
        "external_cache": {
            "...": "..."
        },
        "url_list": [
            "..."
        ],
        "version": 1
    }
    
  2. Customize your config.

    Define branch_map, and the result config file looks like this:

    {
        "branch_map": {
            "https://hqc-pc:12000/svn/sample/": {
                "trunk/README.md/": "branches/bak_{uuid}/README.md",
                "trunk/src/": "/branches/bak_{uuid}/src",
                "trunk/third_party/": "branches/bak_{uuid}/3rdparty"
            }
        },
        "...": "..."
    }
    
    • The {uuid} is will be replaced by -uid, –uuid argument of create_branch sub command.
  3. Create branches or delete branches with your config, add -t to simulate the operation.

    $ svnbranch create_branch conf/my_branch.json -t

    $ svnbranch delete_branch conf/my_branch.json 20180121T1557 -t

Repository

The project is hosted on GitHub. You can look at the source here:

https://github.com/fyrestone/svnbranch

Project details


Release history Release notifications

This version

1.1

Download files

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

Files for svnbranch, version 1.1
Filename, size File type Python version Upload date Hashes
Filename, size svnbranch-1.1-py2.py3-none-any.whl (13.9 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size svnbranch-1.1.tar.gz (13.8 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page