Skip to content

boris-unterer/Git-SVN-Bridge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

###########################
Sa 10 Sep 2011 22:06:19 CEST

git-bridgesvn: a git-svn without altering the commit hashes
===========================================================

PURPOSE:
The difference to the standard git-svn that comes with the git distribution is as follows:
git-svn supports a set of independent git repositories that push and pull to a central SVN server. In other words, it uses git to have individual offline repositories of SVN that are not able to collaborate via git. Thus it supports a SVN offline workflow model, which for most cases is of little value.


 git-svn:           .-----.
 --------           | SVN |
                    '-----'
                  /    |    \        (bi-directional connections)
             .---.   .---.   .---.
             |Git|   |Git|   |Git|
             '---'   '---'   '---'


In contrast, git-bridgesvn supports a maintainer model, where one maintainer revises the pushes and fetches to and fro SVN, but the resultant git repository can be shared with other git users.


 git-bridgesvn:     .-----.
 --------------     | SVN |
                    '-----'
                       |            (bi-directional connectinosb) 
             .---.   .---.   .---.
             |Git| - |GIT| - |Git|
             '---'   '---'   '---'
                  (maintainer)

DETAILS:
git-bridgesvn is derived from git-svn with the following breaking changes:
* instead of using first-parent ancestors to find latest svn revision,
	but scans all parents
* git-svn dcommit is no longer available
* git-svn commit is used instead, which first merges the latest upstream
	changes and then pushes all local changes since the latest svn revision
	as a single svn-commit
* commit SHA is not changed on commit
* git-notes and git-tag is used to annotate the svn revisions

git-svn and git-bridgesvn are not compatible with each other and should not be combined.

USAGE:
The usage as git-svn, but with 'commit' instead of the 'dcommit' command:

'git bridgesvn commit' ['-m' message] [treeish]

If no commit message is given, the configurated editor is opened. 
The command is aborted on empty commits.
If no treeish is specified, HEAD is assumed.

STATUS:
The bridge is not fully tested, but the commit and fetch commands seem to work well.

Be free to comment and improve it
Boris Unterer

About

A git-svn without altering the commit hashes

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published