Skip to content

Commit 268b22f

Browse files
author
Torgny Nyblom
committed
Merge Gitorious WIKI into README
1 parent 53bc780 commit 268b22f

File tree

1 file changed

+30
-10
lines changed

1 file changed

+30
-10
lines changed

README.md

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,40 @@
11
svn-all-fast-export aka svn2git
22
===============================
3+
This project contains all the tools required to do a conversion of an svn repository (server side, not a checkout) to one or more git repositories.
34

4-
This is the tool used to convert KDE's Subversion into multiple Git
5-
repositories. You can find more description and usage examples at
6-
https://techbase.kde.org/Projects/MoveToGit/UsingSvn2Git
5+
This is the tool used to convert KDE's Subversion into multiple Git repositories. You can find more description and usage examples at https://techbase.kde.org/Projects/MoveToGit/UsingSvn2Git
76

87

9-
Building
10-
--------
8+
How does it work
9+
----------------
10+
The svn2git repository gets you an application that will do the actual conversion.
11+
The conversion exists of looping over each and every commit in the subversion repository and matching the changes to a ruleset after which the changes are applied to a certain path in a git repo.
12+
The ruleset can specify which git repository to use and thus you can have more than one git repository as a result of running the conversion.
13+
Also noteworthy is that you can have a rule that, for example, changes in svnrepo/branches/foo/2.1/ will appear as a git-branch in a repository.
1114

15+
If you have a proper ruleset the tool will create the git repositories for you and show progress while converting commit by commit.
16+
17+
After it is done you likely want to run `git repack -a -d -f` to compress the pack file as it can get quite big.
18+
19+
Building the tool
20+
-----------------
1221
Run `qmake && make`. You get `./svn-all-fast-export`.
22+
(Do a checkout of the repo .git' and run qmake and make. You can only build it after having installed libsvn-dev, and naturally Qt. Running the command will give you all the options you can pass to the tool.)
23+
24+
KDE
25+
---
26+
there is a repository kde-ruleset which has several example files and one file that should become the final ruleset for the whole of KDE called 'kde-rules-main'.
1327

28+
Write the Rules
29+
---------------
30+
You need to write a rules file that describes how to slice the Subversion history into Git repositories and branches. See https://techbase.kde.org/Projects/MoveToGit/UsingSvn2Git.
31+
The rules are also documented in the 'samples' directory of the svn2git repository. Feel free to add more documentation here as well.
1432

15-
Usage
16-
-----
33+
Work flow
34+
---------
35+
Please feel free to fill this section in.
1736

18-
You need to write a rules file that describes how to slice the Subversion
19-
history into Git repositories and branches. See
20-
https://techbase.kde.org/Projects/MoveToGit/UsingSvn2Git.
37+
Some SVN tricks
38+
---------------
39+
You can access your newly rsynced SVN repo with commands like `svn ls file:///path/to/repo/trunk/KDE`.
40+
A common issue is tracking when an item left playground for kdereview and then went from kdereview to its final destination. There is no straightforward way to do this. So the following command comes in handy: `svn log -v file:///path/to/repo/kde-svn/kde/trunk/kdereview | grep /trunk/kdereview/mplayerthumbs -A 5 -B 5` This will print all commits relevant to the package you are trying to track. You can also pipe the above command to head or tail to see the the first and last commit it was in that directory.

0 commit comments

Comments
 (0)