All Projects → dsiebel → Svn2git.php

dsiebel / Svn2git.php

Licence: mit
Subversion to Git migration tool

Projects that are alternatives of or similar to Svn2git.php

Graphql Editor
📺 Visual Editor & GraphQL IDE. Draw GraphQL schemas using visual 🔷 nodes and explore GraphQL API with beautiful UI. Even 🐒 can do that!
Stars: ✭ 5,485 (+91316.67%)
Mutual labels:  tools
Allsketchs
Processing sketches, in which I have worked in the last years; images, videos, prototypes, experiments, tools, works, concepts... Everything is unfinished, some may not work, When I had no ideas, I would open one to see what it was...
Stars: ✭ 666 (+11000%)
Mutual labels:  tools
Aoe
AoE (AI on Edge,终端智能,边缘计算) 是一个终端侧AI集成运行时环境 (IRE),帮助开发者提升效率。
Stars: ✭ 759 (+12550%)
Mutual labels:  tools
Seccomp Tools
Provide powerful tools for seccomp analysis
Stars: ✭ 599 (+9883.33%)
Mutual labels:  tools
Pharo
Pharo is a dynamic reflective pure object-oriented language supporting live programming inspired by Smalltalk.
Stars: ✭ 631 (+10416.67%)
Mutual labels:  tools
Awesome Transit
Community list of transit APIs, apps, datasets, research, and software 🚌🌟🚋🌟🚂
Stars: ✭ 713 (+11783.33%)
Mutual labels:  tools
Side Project Marketing
A checklist of tactics for marketing your startup.
Stars: ✭ 5,083 (+84616.67%)
Mutual labels:  tools
Atscan
Advanced dork Search & Mass Exploit Scanner
Stars: ✭ 817 (+13516.67%)
Mutual labels:  tools
Awesome Dotfiles
A curated list of dotfiles resources.
Stars: ✭ 6,295 (+104816.67%)
Mutual labels:  tools
Redteamtools
记录自己编写、修改的部分工具
Stars: ✭ 752 (+12433.33%)
Mutual labels:  tools
Penetration Testing Tools
A collection of more than 140+ tools, scripts, cheatsheets and other loots that I have developed over years for Red Teaming/Pentesting/IT Security audits purposes. Most of them came handy on at least one of my real-world engagements.
Stars: ✭ 614 (+10133.33%)
Mutual labels:  tools
Micro Dev
The development environment for `micro`
Stars: ✭ 630 (+10400%)
Mutual labels:  tools
Dc Notes
自己的学习笔记。包含:21届秋招经历、🐂客面经问题按照频率总结、Java一系列知识、数据库、分布式、微服务、前端、技术面试、工具教程等(持续更新)
Stars: ✭ 714 (+11800%)
Mutual labels:  tools
Youku Sdk Tool Woodpecker
In-app-debug tool for iOS
Stars: ✭ 600 (+9900%)
Mutual labels:  tools
Apidoc
RESTful API 文档生成工具,支持 Go、Java、Swift、JavaScript、Rust、PHP、Python、Typescript、Kotlin 和 Ruby 等大部分语言。
Stars: ✭ 785 (+12983.33%)
Mutual labels:  tools
Coca
Coca is a toolbox which is design for legacy system refactoring and analysis, includes call graph, concept analysis, api tree, design patterns suggest. Coca 是一个用于系统重构、系统迁移和系统分析的瑞士军刀。它可以分析代码中的测试坏味道、模块化分析、行数统计、分析调用与依赖、Git 分析以及自动化重构等。
Stars: ✭ 576 (+9500%)
Mutual labels:  tools
Java Diff Utils
Diff Utils library is an OpenSource library for performing the comparison / diff operations between texts or some kind of data: computing diffs, applying patches, generating unified diffs or parsing them, generating diff output for easy future displaying (like side-by-side view) and so on.
Stars: ✭ 670 (+11066.67%)
Mutual labels:  tools
Echo
Echo是一款桌面端调试工具,旨在提高客户端的研发调试效率
Stars: ✭ 818 (+13533.33%)
Mutual labels:  tools
Raygui
A simple and easy-to-use immediate-mode gui library
Stars: ✭ 785 (+12983.33%)
Mutual labels:  tools
Ics Security Tools
Tools, tips, tricks, and more for exploring ICS Security.
Stars: ✭ 749 (+12383.33%)
Mutual labels:  tools

svn2git

Subversion to Git migration tool.

Uses git-svn to clone a Subversion repository including all its tags to Git. Optionally pushes everything to a remote repository.

Table of Contents

Getting Started

Important: since version 2.1.0 svn2git migrate does not asume standard layout for subversion repositories anymore. To migrate a subversion repository with standard layout you can use the same options as available on git svn clone:

$ bin/svn2git migrate [-A|--authors-file="..."] [--remote="..."] [-s|--stdlayout] [-T|--trunk="..."] [-b|--branches="..."] [-t|--tags="..."] [--preserve-empty-dirs] [--placeholder-filename="..."] source

Check the migrate command help or the git svn man pages for more information.

Install Dependencies

git
git-svn
composer install

Get help

$ bin/svn2git
svn2git - the Subversion to Git migration tool. version 1.0.1

Usage:
  [options] command [arguments]

Options:
  --help           -h Display this help message.
  --quiet          -q Do not output any message.
  --verbose        -v|vv|vvv Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug.
  --version        -V Display this application version.
  --ansi              Force ANSI output.
  --no-ansi           Disable ANSI output.
  --no-interaction -n Do not ask any interactive question.

Available commands:
  fetch-svn-authors   Command line tool to fetch author names from an SVN repository.
  help                Displays help for a command
  list                Lists commands
  migrate             Command line tool to migrate a Subversion repository to Git.
  update              Command line tool to update an existing git-svn bridge repository.

Get subversion authors mapping

Usage

$ bin/svn2git fetch-svn-authors [--output="..."] source

Arguments

  source                Subversion repository to fetch author names from.

Options

  --output              Output file. (default: "./authors.txt")
  --help (-h)           Display this help message.
  --quiet (-q)          Do not output any message.
  --verbose (-v|vv|vvv) Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug.
  --version (-V)        Display this application version.
  --ansi                Force ANSI output.
  --no-ansi             Disable ANSI output.
  --no-interaction (-n) Do not ask any interactive question.

Example

$ bin/svn2git fetch-svn-authors svn://example.com/svnrepo --output authors-transform.txt

Edit the output file if you want to make adjustments to the layout. Default layout is:

username = username <username>

Capability to inject the layout might be added in the future.

Migrate the repository

Usage

$ bin/svn2git migrate [-A|--authors-file="..."] [--remote="..."] source

Arguments

  source                Subversion repository to migrate.

Options

  --authors-file (-A)     Path to Subversion authors mapping.
  --remote                URL of Git remote repository to push to.
  --stdlayout (-s)        The option --stdlayout is a shorthand way of setting trunk,tags,branches as the relative paths, which is the Subversion default.
                          If any of the other options are given as well, they take precedence.
  --trunk (-T)           Relative repository path or full url pointing to the trunk of the repository.
                          Takes precedence over the --stdlayout option.
  --branches (-b)        Relative repository path or full url pointing to the branches of the repository.
                          Takes precedence over the --stdlayout option.
  --tags (-t)            Relative repository path or full url pointing to the tags of the repository.
                          Takes precedence over the --stdlayout option.
  --preserve-empty-dirs   Create a placeholder file in the local Git repository for each empty directory fetched from Subversion.
  --placeholder-filename  Set the name of placeholder files created by --preserve-empty-dirs. (default: ".gitkeep")
  --help (-h)             Display this help message.
  --quiet (-q)            Do not output any message.
  --verbose (-v|vv|vvv)   Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug.
  --version (-V)          Display this application version.
  --ansi                  Force ANSI output.
  --no-ansi               Disable ANSI output.
  --no-interaction (-n)   Do not ask any interactive question.

Example

$ bin/svn2git migrate svn://example.com/svnrepo -A authors-transform.txt --remote=[email protected]:user/remoterepo.git --stdlayout

To update the master or any added branch / tag just execute the migrate command again. This might show some warnings and errors because of already existing branches and tags. You can ignore those.

A dedicated update command might be added in the future.

Update an existing repository

Usage

$ bin/svn2git update [--branches="..."] gitsvn

Arguments

  gitsvn                Git-svn repository to be updated.

Options

  --branches            Branches to be updated. (multiple values allowed)
  --help (-h)           Display this help message.
  --quiet (-q)          Do not output any message.
  --verbose (-v|vv|vvv) Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug.
  --version (-V)        Display this application version.
  --ansi                Force ANSI output.
  --no-ansi             Disable ANSI output.
  --no-interaction (-n) Do not ask any interactive question.

Example

$ bin/svn2git update --branches=master,latest-testing,latest-production /path/to/git-svn/repository
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].