All Projects → yasuoka → cvs2gitdump

yasuoka / cvs2gitdump

Licence: other
python scripts which import cvs tree into git or subversion repository

Programming Languages

python
139335 projects - #7 most used programming language
Roff
2310 projects

Projects that are alternatives of or similar to cvs2gitdump

Color
A little library to deal with color conversions
Stars: ✭ 166 (+822.22%)
Mutual labels:  conversion
Kepubify
Fast, standalone EPUB to KEPUB converter CLI app / library (and a few other utilities).
Stars: ✭ 225 (+1150%)
Mutual labels:  conversion
cpc
Text calculator with support for units and conversion
Stars: ✭ 89 (+394.44%)
Mutual labels:  conversion
Lcd Image Converter
Tool to create bitmaps and fonts for embedded applications, v.2
Stars: ✭ 176 (+877.78%)
Mutual labels:  conversion
Gormat
☄ The golang convenient converter supports Database to Struct, SQL to Struct, and JSON to Struct.
Stars: ✭ 215 (+1094.44%)
Mutual labels:  conversion
Svg2pdf.js
A javascript-only SVG to PDF conversion utility that runs in the browser. Brought to you by yWorks - the diagramming experts
Stars: ✭ 231 (+1183.33%)
Mutual labels:  conversion
Wannabe bool
If string, numeric, symbol and nil values wanna be a boolean value, they can with the new #to_b method (and more).
Stars: ✭ 156 (+766.67%)
Mutual labels:  conversion
units
A run-time C++ library for working with units of measurement and conversions between them and with string representations of units and measurements
Stars: ✭ 114 (+533.33%)
Mutual labels:  conversion
Docto
Simple command line utility for converting .doc & .xls files to any supported format such as Text, RTF, CSV or PDF
Stars: ✭ 220 (+1122.22%)
Mutual labels:  conversion
Decaffeinate
Goodbye CoffeeScript, hello JavaScript!
Stars: ✭ 2,658 (+14666.67%)
Mutual labels:  conversion
Paper
Hassle-free HTML to PDF conversion abstraction library.
Stars: ✭ 196 (+988.89%)
Mutual labels:  conversion
Bedops
🔬 BEDOPS: high-performance genomic feature operations
Stars: ✭ 215 (+1094.44%)
Mutual labels:  conversion
Dimensioned
Compile-time dimensional analysis for various unit systems using Rust's type system.
Stars: ✭ 235 (+1205.56%)
Mutual labels:  conversion
Elasticsearch Analysis Pinyin
This Pinyin Analysis plugin is used to do conversion between Chinese characters and Pinyin.
Stars: ✭ 2,215 (+12205.56%)
Mutual labels:  conversion
fp-units
An FP-oriented library to easily convert CSS units.
Stars: ✭ 18 (+0%)
Mutual labels:  conversion
Colourful
🎨 Open source .NET library for working with color spaces.
Stars: ✭ 161 (+794.44%)
Mutual labels:  conversion
Gotenberg
A Docker-powered stateless API for PDF files.
Stars: ✭ 3,272 (+18077.78%)
Mutual labels:  conversion
caffe weight converter
Caffe-to-Keras weight converter. Can also export weights as Numpy arrays for further processing.
Stars: ✭ 68 (+277.78%)
Mutual labels:  conversion
bank2ynab
Easily convert and import your bank's statements into YNAB. This project consolidates other conversion efforts into one universal tool.
Stars: ✭ 197 (+994.44%)
Mutual labels:  conversion
Rink Rs
Unit conversion tool and library written in rust
Stars: ✭ 242 (+1244.44%)
Mutual labels:  conversion

cvs2gitdump.py and cvs2svndump.py can run on Python 3 now. But "rcsparse" doesn't support Python 3 yet. For OpenBSD, use py3-rcsparse-20151027p1 package.

cvs2gitdump

A small python script which imports cvs tree into git repository.

Pros:

  • Small footprint
  • Supports incremental import. It's very fast
  • Converts tags on HEAD
  • Everything is done in memory

Cons:

  • Doesn't convert any branches

An alternative to

Prerequisite:

Usage

usage: cvs2gitdump [-ah] [-z fuzz] [-e email_domain] [-E log_encodings]
    [-k rcs_keywords] [-b branch] [-m module] [-l last_revision]
cvsroot [git_dir]

Options

  • -a

    As the default the script will only use commits 10 minutes older than the most recent commit because recent commits may not stable if the repository is changing. This option will change this behavior, it will use the entire commits.

  • -b branch

    The branch name of the git repository which is used for incremental import.

  • -h

    Show the usage.

  • -z fuzz

    When the script collects changesets from CVS repository, commits by the same author, using the same log message and within fuzz seconds are collected into the same changeset. 300 (seconds) is used as the default.

  • -e email_domain

    Append the email domain to the author.

  • -E log_encodings

    Specify the character encodings used for decoding CVS logs. Multiple encodings can be specified by spearating with ','. Specified encodings are used in order for decoding the log. Default is 'utf-8,iso-8859-1'

  • -k rcs_keywords

    Add an extra RCS keyword which are used by CVS. The script substitutes the RCS keyword by the same way as $Id$.

  • -m module

    Specify the target module name in the target cvsroot. The script will dump only the directory specified by this option.

  • -l last_rev

    Specify the last revision which is used for finding the last change set in the CVS tree. Specify in SHA-1.

  • cvsroot

    The target cvsroot or the sub directory of the cvsroot. The script treats this directory as the root directory.

  • git_dir

    The git repository. Specify this for incremental import.

Example

First import:

% git init --bare /git/openbsd.git
% python cvs2gitdump.py -k OpenBSD -e openbsd.org /cvs/openbsd/src > openbsd.dump
% git --git-dir /git/openbsd.git fast-import < openbsd.dump

Periodic import:

% doas reposync
% python cvs2gitdump.py -k OpenBSD -e openbsd.org /cvs/openbsd/src /git/openbsd.git > openbsd2.dump
% git --git-dir /git/openbsd.git fast-import < openbsd2.dump

cvs2svndump

A small python script which imports cvs tree into subversion repository.

Pros:

  • Small footprint
  • Supports incremental import is supported. It's very fast
  • Everythings is done in memory

Cons:

  • Doesn't convert tags and branches

Prerequirement:

  • rcsparse
  • svn (Python interface for subversion)

Usage

usage: cvs2svndump [-ah] [-z fuzz] [-e email_domain] [-E log_encodings]
[-k rcs_keywords] [-m module] cvsroot [svnroot svnpath]]

Options

  • -a

    As the default the script will only use commits 10 minutes older than the most recent commit because recent commits may not stable if the repository is changing. This option will change this behavior, it will use the entire commits.

  • -h

    Show the usage.

  • -z fuzz

    When the script collects changesets from CVS repository, commits by the same author, using the same log message and within fuzz seconds are collected into the same changeset. 300 (seconds) is used as the default.

  • -e email_domain

    Append the email domain to the author.

  • -E log_encodings

    Specify the character encodings used for decoding CVS logs. Multiple encodings can be specified by spearating with ',' and they are used in order. Default is 'utf-8,iso-8859-1'

  • -k rcs_keywords

    Add an extra RCS keyword which are used by CVS. The script substitutes the RCS keyword by the same way as $Id$.

  • -m module

    Specify the target module name in the target cvsroot. The script will dump only the directory specified by this option.

  • cvsroot

    The target cvsroot or the sub directory of the cvsroot. The script treats this directory as the root directory.

  • svn_dir svn_path

    Specify the svn repository and path. Specify these for incremental import. When the script searches the last commit, it excepts the commits whose author are 'svnadmin'. Use 'svnadmin' for manually fixing.

Example

First import:

% python cvs2svndump.py -k OpenBSD /cvs/openbsd/src > openbsd.dump
% svnadmin create /svnrepo
% svn mkdir --parents -m 'mkdir /vendor/openbsd/head/src' file:///svnrepo/vendor/openbsd/head/src
% svnadmin load --parent-dir /vendor/openbsd/head/src /svnrepo < openbsd.dump

Periodic import:

% doas cvsync
% python cvs2svndump.py -k OpenBSD /cvs/openbsd/src file:///svnrepo vendor/openbsd/head/src > openbsd2.dump
% svnadmin load /svnrepo < openbsd2.dump
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].