This is an old revision of the document! Table of ContentsBefore continuing to read this page, you have two options:
This page has been benefited a lot from the following pages: Installing gitInstall first git and a graphical client (e.g. gitk) for it sudo apt-get install git gitk Applying git clone to the svn repository
Create the following #!/bin/bash USERNAME=<username> ERROR_CODE=-1 while [ $ERROR_CODE -ne 0 ]; do # repeat until final success git svn clone -s https://${USERNAME}@rosegarden.svn.sourceforge.net/svnroot/rosegarden rosegarden.git # it may be possible that the commands ends to an error like 'RA layer request failed:' let ERROR_CODE=$? # just a small pause before repeating the command sleep 1 done echo Finished. The clone the repository (takes a long, long time and 662 Mb to fetch all branches) by running the script bash ./git-clone-rg-repository.sh If the script still fails, end the loop by pressing Ctrl+C and rerun the script. Example commit 1: Generating .gitignore and adding it to the subversion repository(These lines have already been executed once.) Generating .gitignoreGenerate the ignore file with cd rosegarden.git git-svn show-ignore > .gitignore Adding file to a following local commitAdd the generated file to the local commit git add .gitignore and check the status of the repository, if you wish git status the following lines will result # On branch master # Changes to be committed: # (use "git reset HEAD <file>..." to unstage) # # new file: .gitignore # Committing locallyCommit locally the changes git commit .gitignore write then the comment Add .gitignore file as a result of the following command: git svn show-ignore > .gitignore after writing the comment, save the file in editor and finally quit the editor. This will commit locally the changes and the following information will be given Created commit 4dcfaa7: Add .gitignore file as a result of the following command: 1 files changed, 181 insertions(+), 0 deletions(-) create mode 100644 .gitignore Fetching latest changes before commitBefore committing, you want make sure that you have the latest version of the source git-svn rebase Invoking the above command
The following lines will be printed First, rewinding head to replay your work on top of it... Applying: Add .gitignore file as a result of the following command: Committing back to subversionSuggesting that there were no code to merge and no conflicts to solve, you can then commit back to subversion git-svn dcommit You will see then the following output Committing to https://hjunes@rosegarden.svn.sourceforge.net/svnroot/rosegarden/trunk ... A .gitignore Committed r10792 A .gitignore r10792 = 8d3f93067b542f7e770c08a3e84c8fb4bb8fb46f (trunk) No changes between current HEAD and refs/remotes/trunk Resetting to the latest refs/remotes/trunk As you can see, the commit has been assigned subversion's version number 10792. |