Problems when migrating a repository from SVN to GITLAB












0















I have a very large repository in SVN with the following structure:



http://mycompany.com/svn/something/



└───branches
│ │
│ └───MyProject_FIX
│ │ │
│ │ └(SOURCE CODE)
│ │
│ └───MyProject_Branch2
│ │ │
│ │ └(SOURCE CODE)
│ │
│ │
│ │
│ └───OtherProject_FIX
│ │
│ └(SOURCE CODE)



└───tags
│ │
│ └───MyProject
│ │ │
│ │ └1.0.0
| | | └(SOURCE CODE)
│ │ │
| │ └1.0.1
| │ | └(SOURCE CODE)
│ │ │
| │ └1.0.3
| │ | └(SOURCE CODE)
│ │ │
| │ (...)
│ │ │
│ │ └latest
│ │
│ └───OtherProject

└───trunk
|
└───MyProject
| |
| └─(SOURCE CODE)
|
└───OtherProject
|
└─(SOURCE CODE)


I have tried almost everything:




  • git svn clone

  • This script: https://github.com/JohnAlbin/git-svn-migrate

  • The import option in github

  • This tutorial from bitbucket: https://es.atlassian.com/git/tutorials/migrating-overview

  • This tool: https://github.com/nirvdrum/svn2git


And the only think that I have achieved is to import the same structure of the SVN repository with the commits.



What I would like to do is to convert the tag folder intro real git tags, the branch folder intro real branches and import only MyProject (Ignoring the OtherProject)



Finally I have to say that the repository is quite large (I don't know if this detail is important)



Is there any straightforward way to convert this repository?



Thank you in advance!










share|improve this question























  • It should be doable with plain old git-svn provided that you set up branches correctly. You can set them up one by one (if you are not talking about dozens of tags) using fetch lines (one for each branch) inside the .git/config file in the section for the svn repo. Tags? I don't have much experience there so won't give you any advice there (though I assume it should be possible to do it).

    – eftshift0
    Nov 15 '18 at 17:37
















0















I have a very large repository in SVN with the following structure:



http://mycompany.com/svn/something/



└───branches
│ │
│ └───MyProject_FIX
│ │ │
│ │ └(SOURCE CODE)
│ │
│ └───MyProject_Branch2
│ │ │
│ │ └(SOURCE CODE)
│ │
│ │
│ │
│ └───OtherProject_FIX
│ │
│ └(SOURCE CODE)



└───tags
│ │
│ └───MyProject
│ │ │
│ │ └1.0.0
| | | └(SOURCE CODE)
│ │ │
| │ └1.0.1
| │ | └(SOURCE CODE)
│ │ │
| │ └1.0.3
| │ | └(SOURCE CODE)
│ │ │
| │ (...)
│ │ │
│ │ └latest
│ │
│ └───OtherProject

└───trunk
|
└───MyProject
| |
| └─(SOURCE CODE)
|
└───OtherProject
|
└─(SOURCE CODE)


I have tried almost everything:




  • git svn clone

  • This script: https://github.com/JohnAlbin/git-svn-migrate

  • The import option in github

  • This tutorial from bitbucket: https://es.atlassian.com/git/tutorials/migrating-overview

  • This tool: https://github.com/nirvdrum/svn2git


And the only think that I have achieved is to import the same structure of the SVN repository with the commits.



What I would like to do is to convert the tag folder intro real git tags, the branch folder intro real branches and import only MyProject (Ignoring the OtherProject)



Finally I have to say that the repository is quite large (I don't know if this detail is important)



Is there any straightforward way to convert this repository?



Thank you in advance!










share|improve this question























  • It should be doable with plain old git-svn provided that you set up branches correctly. You can set them up one by one (if you are not talking about dozens of tags) using fetch lines (one for each branch) inside the .git/config file in the section for the svn repo. Tags? I don't have much experience there so won't give you any advice there (though I assume it should be possible to do it).

    – eftshift0
    Nov 15 '18 at 17:37














0












0








0








I have a very large repository in SVN with the following structure:



http://mycompany.com/svn/something/



└───branches
│ │
│ └───MyProject_FIX
│ │ │
│ │ └(SOURCE CODE)
│ │
│ └───MyProject_Branch2
│ │ │
│ │ └(SOURCE CODE)
│ │
│ │
│ │
│ └───OtherProject_FIX
│ │
│ └(SOURCE CODE)



└───tags
│ │
│ └───MyProject
│ │ │
│ │ └1.0.0
| | | └(SOURCE CODE)
│ │ │
| │ └1.0.1
| │ | └(SOURCE CODE)
│ │ │
| │ └1.0.3
| │ | └(SOURCE CODE)
│ │ │
| │ (...)
│ │ │
│ │ └latest
│ │
│ └───OtherProject

└───trunk
|
└───MyProject
| |
| └─(SOURCE CODE)
|
└───OtherProject
|
└─(SOURCE CODE)


I have tried almost everything:




  • git svn clone

  • This script: https://github.com/JohnAlbin/git-svn-migrate

  • The import option in github

  • This tutorial from bitbucket: https://es.atlassian.com/git/tutorials/migrating-overview

  • This tool: https://github.com/nirvdrum/svn2git


And the only think that I have achieved is to import the same structure of the SVN repository with the commits.



What I would like to do is to convert the tag folder intro real git tags, the branch folder intro real branches and import only MyProject (Ignoring the OtherProject)



Finally I have to say that the repository is quite large (I don't know if this detail is important)



Is there any straightforward way to convert this repository?



Thank you in advance!










share|improve this question














I have a very large repository in SVN with the following structure:



http://mycompany.com/svn/something/



└───branches
│ │
│ └───MyProject_FIX
│ │ │
│ │ └(SOURCE CODE)
│ │
│ └───MyProject_Branch2
│ │ │
│ │ └(SOURCE CODE)
│ │
│ │
│ │
│ └───OtherProject_FIX
│ │
│ └(SOURCE CODE)



└───tags
│ │
│ └───MyProject
│ │ │
│ │ └1.0.0
| | | └(SOURCE CODE)
│ │ │
| │ └1.0.1
| │ | └(SOURCE CODE)
│ │ │
| │ └1.0.3
| │ | └(SOURCE CODE)
│ │ │
| │ (...)
│ │ │
│ │ └latest
│ │
│ └───OtherProject

└───trunk
|
└───MyProject
| |
| └─(SOURCE CODE)
|
└───OtherProject
|
└─(SOURCE CODE)


I have tried almost everything:




  • git svn clone

  • This script: https://github.com/JohnAlbin/git-svn-migrate

  • The import option in github

  • This tutorial from bitbucket: https://es.atlassian.com/git/tutorials/migrating-overview

  • This tool: https://github.com/nirvdrum/svn2git


And the only think that I have achieved is to import the same structure of the SVN repository with the commits.



What I would like to do is to convert the tag folder intro real git tags, the branch folder intro real branches and import only MyProject (Ignoring the OtherProject)



Finally I have to say that the repository is quite large (I don't know if this detail is important)



Is there any straightforward way to convert this repository?



Thank you in advance!







git svn gitlab git-svn






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 15 '18 at 16:27









david.t_92david.t_92

888




888













  • It should be doable with plain old git-svn provided that you set up branches correctly. You can set them up one by one (if you are not talking about dozens of tags) using fetch lines (one for each branch) inside the .git/config file in the section for the svn repo. Tags? I don't have much experience there so won't give you any advice there (though I assume it should be possible to do it).

    – eftshift0
    Nov 15 '18 at 17:37



















  • It should be doable with plain old git-svn provided that you set up branches correctly. You can set them up one by one (if you are not talking about dozens of tags) using fetch lines (one for each branch) inside the .git/config file in the section for the svn repo. Tags? I don't have much experience there so won't give you any advice there (though I assume it should be possible to do it).

    – eftshift0
    Nov 15 '18 at 17:37

















It should be doable with plain old git-svn provided that you set up branches correctly. You can set them up one by one (if you are not talking about dozens of tags) using fetch lines (one for each branch) inside the .git/config file in the section for the svn repo. Tags? I don't have much experience there so won't give you any advice there (though I assume it should be possible to do it).

– eftshift0
Nov 15 '18 at 17:37





It should be doable with plain old git-svn provided that you set up branches correctly. You can set them up one by one (if you are not talking about dozens of tags) using fetch lines (one for each branch) inside the .git/config file in the section for the svn repo. Tags? I don't have much experience there so won't give you any advice there (though I assume it should be possible to do it).

– eftshift0
Nov 15 '18 at 17:37












1 Answer
1






active

oldest

votes


















1














Sounds like you need to use the trunk/branches/tags command line options for git svn:



git svn clone --trunk=/trunk/MyProject --branches=/branches/MyProject_Branch2 --branches=/branches/MyProject_FIX --tags=/tags/MyProject http://mycompany.com/svn/something/ <dest repo>


This should pull out just MyProject.



Remember to include your authors file and put in --prefix== to ensure that the atlassian clean up script that converts svn tags to real tags works properly.






share|improve this answer























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53323863%2fproblems-when-migrating-a-repository-from-svn-to-gitlab%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    1














    Sounds like you need to use the trunk/branches/tags command line options for git svn:



    git svn clone --trunk=/trunk/MyProject --branches=/branches/MyProject_Branch2 --branches=/branches/MyProject_FIX --tags=/tags/MyProject http://mycompany.com/svn/something/ <dest repo>


    This should pull out just MyProject.



    Remember to include your authors file and put in --prefix== to ensure that the atlassian clean up script that converts svn tags to real tags works properly.






    share|improve this answer




























      1














      Sounds like you need to use the trunk/branches/tags command line options for git svn:



      git svn clone --trunk=/trunk/MyProject --branches=/branches/MyProject_Branch2 --branches=/branches/MyProject_FIX --tags=/tags/MyProject http://mycompany.com/svn/something/ <dest repo>


      This should pull out just MyProject.



      Remember to include your authors file and put in --prefix== to ensure that the atlassian clean up script that converts svn tags to real tags works properly.






      share|improve this answer


























        1












        1








        1







        Sounds like you need to use the trunk/branches/tags command line options for git svn:



        git svn clone --trunk=/trunk/MyProject --branches=/branches/MyProject_Branch2 --branches=/branches/MyProject_FIX --tags=/tags/MyProject http://mycompany.com/svn/something/ <dest repo>


        This should pull out just MyProject.



        Remember to include your authors file and put in --prefix== to ensure that the atlassian clean up script that converts svn tags to real tags works properly.






        share|improve this answer













        Sounds like you need to use the trunk/branches/tags command line options for git svn:



        git svn clone --trunk=/trunk/MyProject --branches=/branches/MyProject_Branch2 --branches=/branches/MyProject_FIX --tags=/tags/MyProject http://mycompany.com/svn/something/ <dest repo>


        This should pull out just MyProject.



        Remember to include your authors file and put in --prefix== to ensure that the atlassian clean up script that converts svn tags to real tags works properly.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 20 '18 at 9:10









        Paul PhillipsPaul Phillips

        416




        416
































            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53323863%2fproblems-when-migrating-a-repository-from-svn-to-gitlab%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Florida Star v. B. J. F.

            Danny Elfman

            Lugert, Oklahoma