Commit 746b0890 authored by Vimal Manohar's avatar Vimal Manohar
Browse files

trunk: Added instructions for using kaldi with git-svn in src/doc/install.dox

git-svn-id: 5e6a8d80-dfce-4ca6-a32a-6e07a63d50c8
parent 1c069df0
......@@ -79,6 +79,49 @@ svn switch --relocate svn+ssh://USERNAME@sv
where USERNAME is replaced by your Sourceforge username. Do this while
you are in the top level of your copy of the repository (e.g. in trunk/). To avoid entering passwords
every time you update, use ssh keys: see
\section git_svn Using Kaldi with Git version control system
git-svn (see: is a useful tool for bridging
between git and svn. A local git repository of the trunk branch of
kaldi can be created using
git svn clone kaldi-trunk
To get the latest updates and bug-fixes from the SVN repository, type
git svn rebase
Your local git repository can be used like any other git repository. However,
it is recommended that you always maintain a linear history by avoiding
integrating changes into your own branches and remotes using merge. For this
"git rebase" must be used instead of "git merge" and "git pull --rebase"
instead of "git pull". It is a good practice is to leave the master branch of
your git repository "clean" with only commits from SVN and work on a branch
such as "trunk", which can be periodically rebased onto master.
As an alternative to using git-svn, you can clone or fork the git mirror at The master branch of this is
synced with the trunk branch of the SVN repository. The recommendations for
linear history apply here as well.
\section git_contributor Contributing from Git
If you are a contributor, you would have to change the remote to an SSH-based
link which allows you to commit changes:
git remote set-url origin svn+ssh://
USERNAME here is that of your Sourceforge account.
Changes can be committed directly to SVN using "git svn dcommit". You would
still need to follow the instructions in \ref install_switch.
"dcommit", by default, creates a commit in SVN for each Git commit. So it is
preferred that you squash all your commits into a single commit and "dcommit"
only this single commit. For example, if your changes are in the trunk branch,
you can do
git rebase -i master
and using the editor, choose to "squash" everything but "pick" only the oldest
commit. You can then "git merge" the branch with master and commit it followed
by "dcommitting" to SVN.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment