Page tree

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 13 Next »

Establish a mirror between existent SVN project and new Git repository.

A SVN project mirroring using SubGit in Linux/MacOS step-by-step guide.


  1. Install Java Runtime environment and SubGit binaries according to the installation guide.
     

  2. Configure repository
    • Run this command on behalf of the same user you use to serve Git repository

      subgit configure
      $ subgit-3.2.4/bin/subgit configure --layout auto --trunk trunk SVN_URL GIT_REPO

      where

          SVN_URL - SVN project URL.
          GIT_REPO - path to new Git repository

      $ subgit configure --layout auto --trunk trunk http://example.com/svn/repository/project ./repo.git
      
                  SubGit version 3.2.4 ('Bobique') build #3670
      
                  Configuring writable Git mirror of remote Subversion repository:
                      Subversion repository URL : http://example.com/svn/repository/project
                      Git repository location   : ./repo.git
      
                  Detecting peg location... 
                  Authentication realm: <http://example.com:80> Subversion Repository
                  Username [user]: user
                  Password [user]:
                  Peg location detected: r10248 project/trunk
                  Fetching SVN history... Done.
                  Growing trees... Done.
                  Project origin detected: r1 project/trunk
                  Building branches layouts... Done.
                  Combing beards... Done.
                  Generating SVN to Git mapping... Done.
      
                  CONFIGURATION SUCCESSFUL
      
                  To complete SubGit installation do the following:
      
                  1) Adjust Subversion to Git branches mapping if necessary:
                      /home/user/repo.git/subgit/config
                  2) Define at least one Subversion credentials in default SubGit passwd file at:
                      /home/user/repo.git/subgit/passwd
                     OR configure SSH or SSL credentials in the [auth] section of:
                      /home/user/repo.git/subgit/config
                  3) Optionally, add custom authors mapping to the authors.txt file(s) at:
                      /home/user/repo.git/subgit/authors.txt
                  4) Run SubGit 'install' command:
                      subgit install ./repo.git
    • Specify authors mapping

      Configure authors mapping in default authors mapping file:

      GIT_REPOS/subgit/authors.txt 

      Or change core.authors option so that it points to the global authors mapping file.

      Find more details about authors mapping in Authors mapping article.
       

    • Specify an username and password to be used by SubGit in `GIT_REPO/subgit/passwd` file. By default, there's the 'subgitsecret' credential pair in the file; replace it by 'user password' pair to be used to access SVN server by SubGit. 


       
  3. Perform SubGit installation and start using new Git repository: 
     
    • Install SubGit into the repository by the command:

      subgit install
      $ subgit-3.2.4/bin/subgit install GIT_REPO
      $ # subgit install /home/user/repo.git
      
                  SubGit version 3.2.4 ('Bobique') build #3670
      
                  Translating Subversion revisions to Git commits...
      
                  Subversion revisions translated: 10248.
                  Total time: 2 hours 15 minutes 23 seconds.
      
                  INSTALLATION SUCCESSFUL
      
                  Your copy of SubGit is not registered for repository at '/home/user/repo.git'.
      
                  Obtain registration key at http://www.subgit.com/ and register SubGit with 'register' command;
                  registration is free for Open Source, Educational and Startup projects.
      
                  To uninstall SubGit use 'uninstall' command.
      subgit install example
      $ # subgit install /home/user/repo.git
      
                  SubGit version 3.2.4 ('Bobique') build #3670
      
                  Translating Subversion revisions to Git commits...
      
                  Subversion revisions translated: 10248.
                  Total time: 2 hours 15 minutes 23 seconds.
      
                  INSTALLATION SUCCESSFUL
      
                  Your copy of SubGit is not registered for repository at '/home/user/repo.git'.
      
                  Obtain registration key at http://www.subgit.com/ and register SubGit with 'register' command;
                  registration is free for Open Source, Educational and Startup projects.
      
                  To uninstall SubGit use 'uninstall' command.
    • When the command completes, you can clone your new Git repository and start to work with it:

      git clone
      $ git clone GIT_REPO WORK_TREE

      where 

      WORK_TREE - a path to your working copy.

      $ git clone file:///home/user/repo.git/ /home/user/repo_working_copy/
                      Cloning into '/home/user/repo_working_copy'...
                      remote: Counting objects: 99, done.
                      remote: Compressing objects: 100% (89/89), done.
                      remote: Total 99 (delta 51), reused 0 (delta 0)
                      Receiving objects: 100% (99/99), 8.96 KiB | 0 bytes/s, done.
                      Resolving deltas: 100% (51/51), done.
      git clone example
      $ git clone file:///home/user/repo.git/ /home/user/repo_working_copy/
                      Cloning into '/home/user/repo_working_copy'...
                      remote: Counting objects: 99, done.
                      remote: Compressing objects: 100% (89/89), done.
                      remote: Total 99 (delta 51), reused 0 (delta 0)
                      Receiving objects: 100% (99/99), 8.96 KiB | 0 bytes/s, done.
                      Resolving deltas: 100% (51/51), done.
  4. Try and buy.


    Trial period

    Note: the trial period for SubGit mirror is 30 days, after that period you should buy a license key at https://subgit.com/pricing

    Once you receive an email with a license key, upload this license key to your server and run the following command:

    subgit register
    $ sudo subgit register --key subgit.key GIT_REPO

    where
    GIT_REPO - a path to your newly created Git repository.

    $ sudo subgit register --key subgit.key /home/user/repo.git
    
            SubGit version 3.2.4 ('Bobique') build #3670
    
            Registration information:
    
                Registered for:       Example company
                Purchase ID:          OS-111111111111111
                Expiration date:      April 23, 2028
    
                You may use this key to register 9 more repositories (out of 10).
    
            REGISTRATION SUCCESSFUL
    
            Thank you for registering SubGit!
            Visit http://www.subgit.com/ in case you have any questions and for more information on SubGit.
    subgit register example
    $ sudo subgit register --key subgit.key /home/user/repo.git
    
            SubGit version 3.2.4 ('Bobique') build #3670
    
            Registration information:
    
                Registered for:       Example company
                Purchase ID:          OS-111111111111111
                Expiration date:      April 23, 2028
    
                You may use this key to register 9 more repositories (out of 10).
    
            REGISTRATION SUCCESSFUL
    
            Thank you for registering SubGit!
            Visit http://www.subgit.com/ in case you have any questions and for more information on SubGit.


  • No labels