SubGit 2.0 EAP is Open!
Need to build a writable Git mirror of a remote Subversion repository?
Lost In Translation
Please find information on non-translatable concepts below. This list is subject to change and reflects current state of SubGit.
Custom user properties available for Subversion users has no representation in Git and not translated.
Directories are not versioned by Git, so empty directory created by Subversion commit will not be available in Git repository.
Cherry-pick merges made in Subversion may not always be represented by a merge commit in Git, which implies that all it parent commits has been merged.
File locks one may use in Subversion are obviously not supported in Git and thus not translated.
svn:keywords are not expanded on translation from Subversion to Git.
Subversion revision properties and Git notes are not translated in the current version of SubGit. In the future we are going to make SubGit translate these concepts one into another.
Path based authentication is not supported by Git and is not taken into account when performing translation. With multiple Git repositories layout (planned for version 1.0.0) it will be possible to introduce limited support for it.
Currently, path based authentication is not supported and Git users may modify and read all repository paths as long as they have corresponding repository access.
Subversion externals and Git submodules are not translated in the current version of SubGit. We plan to add support for externals and submodules in the future versions, and we appreciate your ideas on what would be the best way to do it.
For some of the use cases, great alternative to externals or submodules is a maven-like artifacts management system which moves dependency management to the higher level of abstraction.
User hooks will be supported in the first version of SubGit, but take in account, that when SubGit enables Git access to existing Subversion repository (or vice versa), it basically enables an alternative way to modify repository contents.
Thus, you may need to duplicate your hooks, so that you track both Subversion commits and Git pushes.
As for today, EAP builds of SubGit disables Subversion pre-commit and Git pre-receive and post-receive hooks.