<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Paresh Jaiswal</title>
    <description>The latest articles on DEV Community by Paresh Jaiswal (@jaiswalparesh).</description>
    <link>https://dev.to/jaiswalparesh</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F171207%2F9c76b17c-28ad-4890-9dfd-5f6b6ad63bed.png</url>
      <title>DEV Community: Paresh Jaiswal</title>
      <link>https://dev.to/jaiswalparesh</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jaiswalparesh"/>
    <language>en</language>
    <item>
      <title>Easy Move From SVN to Gitlab Repository</title>
      <dc:creator>Paresh Jaiswal</dc:creator>
      <pubDate>Wed, 12 Jun 2019 05:04:56 +0000</pubDate>
      <link>https://dev.to/jaiswalparesh/easy-move-from-svn-to-gitlab-repository-13f1</link>
      <guid>https://dev.to/jaiswalparesh/easy-move-from-svn-to-gitlab-repository-13f1</guid>
      <description>&lt;p&gt;In this article, we gonna see how we can move our repository from SVN (Subversion) to Gitlab.&lt;br&gt;
But before moving we just have a short introduction on things like&lt;/p&gt;

&lt;p&gt;What is SVN (Subversion)?&lt;br&gt;
What is GIT?&lt;br&gt;
What is the difference between SVN and GIT?&lt;/p&gt;

&lt;p&gt;Ok, Now let move forward and look out our checklist.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is SVN (Subversion)?&lt;/strong&gt;&lt;br&gt;
So, SVN is also known as Apache Subversion which is a software versioning and revision control system distributed under an open source license.&lt;br&gt;
It uses subversion to maintain current files and your previous files such as source code, webpage, and documentation.&lt;/p&gt;

&lt;p&gt;Note: If you wanted to know more about SVN you can check out the following link&lt;br&gt;
&lt;strong&gt;RefLink:&lt;/strong&gt; &lt;a href="https://www.perforce.com/blog/vcs/what-svn" rel="noopener noreferrer"&gt;https://www.perforce.com/blog/vcs/what-svn&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is GIT?&lt;/strong&gt;&lt;br&gt;
So, as per GIT official web site&lt;br&gt;
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.&lt;/p&gt;

&lt;p&gt;Git is easy to learn and has a tiny footprint with lightning fast performance. It outclasses SCM tools like Subversion, CVS, Perforce, and ClearCase with features like cheap local branching, convenient staging areas, and multiple workflows.&lt;/p&gt;

&lt;p&gt;Note: If you wanted to know more about GIT you can check out the following link&lt;br&gt;
&lt;strong&gt;RefLink:&lt;/strong&gt; &lt;a href="https://www.atlassian.com/git/tutorials/what-is-git" rel="noopener noreferrer"&gt;https://www.atlassian.com/git/tutorials/what-is-git&lt;/a&gt;&lt;br&gt;
             &lt;a href="https://git-scm.com/book/en/v2/Getting-Started-What-is-Git%3F" rel="noopener noreferrer"&gt;https://git-scm.com/book/en/v2/Getting-Started-What-is-Git%3F&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is the difference between SVN and GIT?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Decentralized:&lt;/strong&gt; GIT is decentralized and SVN is centralized in nature.&lt;br&gt;
In GIT you can have a local copy(i.e repository), so whenever we move our changes, those will be stores locally first and moved to the central repository. Whereas in SVN, it points to the central repository.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Complex to learn:&lt;/strong&gt; GIT is difficult to learn for some developers, because it has huge concepts, whereas SVN has fewer concepts and easy to learn.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Unable to handle Binary files:&lt;/strong&gt; Git becomes slow, when deals with large binary files, whereas with SVN large binaries can be handled easily.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Internal directory:&lt;/strong&gt; Git creates the .git folder only in the root directory, whereas .svn will be created for each folder, in case of SVN.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;User Interface:&lt;/strong&gt; Git itself doesn’t have very good user-interface, but SVN has good user interfaces.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Network Access:&lt;/strong&gt; Network access is not mandatory for the GIT operation but in svn, network access is required to perform the SVN operation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Global Version Number:&lt;/strong&gt; Git does not have a global version number, whereas svn does have a global version number.&lt;/p&gt;

&lt;p&gt;Now as we got brush-up on this let see how easily we can move our repository from SVN to Gitlab.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsjs4ns59sxc4kfy52ith.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsjs4ns59sxc4kfy52ith.jpg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The step-by-step command to migrate the SVN to Gitlab&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Install git&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;$ sudo apt-get install git&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Install git-svn&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;$ sudo apt-get install git-svn&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Clone SVN repository by git-svn command.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;$ git svn clone YOUR_SVN_URL&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Adding Gitlab url in the same directory.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;$ git remote add gitlab YOUR_GITLAB_URL&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Finally, push your SVN repository to Gitlab.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;$ git push — set-upstream gitlab master&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If you wanted to dive more on SVN to Gitlab migration you can check out the following link.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://docs.gitlab.com/ee/user/project/import/svn.html" rel="noopener noreferrer"&gt;https://docs.gitlab.com/ee/user/project/import/svn.html&lt;/a&gt;&lt;/p&gt;

</description>
      <category>git</category>
    </item>
  </channel>
</rss>
