snipt

Ctrl+h for KB shortcuts

Text only

svn mini howto

SVN, the first steps – A Mini HowTo for n00bs!

Posted by: technofreak on: August 13, 2006

    * In: Linux and FLOSS| Programming Gimmicks| Techy Tips and Tweaks| Upgradations and Installations
    * Comment!

I had to deal with teaching a few Linux n00bs on how to start with SVN. Though my last post deals with using the SVN basically, it missed one big point which I perhaps myself learnt today – How to create a reposiroty and start with a working copy. I agree, I had difficulty over creating a repository though I very well know how to work on a working copy. This day, I had more things to learn and especially to find a list of things to be learned. Thus, I wrote a simple step-by-step howto for those who haven’t tried their hands on SVN before. As usual, I blog them too therefore someday when I myself couldn’t figure out how to do things, I can look at my own blog (Which I did today while dealing with MySQL).

Here goes my mini how-to for noobs on SVN….

Procedure to Create a Repository using SVN and basic operations with Subversion:

Step1. Create a repositry named mysvn in your home directory (assuming your shell’s current directory is your home, which is by default),

[email protected]:~$ svnadmin create mysvn

Step1(b). Check whether your repository is created in the intended location,

[email protected]:~$ ls
Apps Django-0.95 GNUstep Collections Documents Linux Music confman Downloads LUG mysvn WorkSpace
Desktop

Step2. Create a directory called code in your home, crate 3 sub-directories under it namely branches, logs and trunk. If you have some files to be placed, place it in the ‘trunk’ sub-directory.

[email protected]:~$ mkdir ./code
[email protected]:~$ mkdir ./code/branches
[email protected]:~$ mkdir ./code/logs
[email protected]:~$ mkdir ./code/trunk
[email protected]:~$ ls ./code/
branches logs trunk

Step3. Now, import your newly created directory, named code to the repository using the SVN’s import command as follows,

[email protected]:~$ svn import ./code file:///home/noob/mysvn/code -m ‘Initial Import’
Adding code/trunk
Adding code/trunk/testfile.txt
Adding code/logs
Adding code/branches

Committed revision 1.

Step3(b) This will add an invisible directory named code in the repos, though you cannot see them by getting into mysvn repos direcotry manually from FileManager or so. Don’t worry.

Step4. Checkout the newly created project in the repos, namely code, thereby cretaing a working copy in local filesystem. (may be in the same name or a slightly different name like mycode)

[email protected]:~$ svn co file:///home/noob/mysvn/code code
A code/trunk
A code/trunk/testfile.txt
A code/logs
A code/branches
Checked out revision 1.

Step5. Now, change the content of any file in the local working copy under trunk and save the file. Now a file in your working copy is changed and lets have some fun with svn :)

Step6. Lets check the difference between the file in the repository and the local working copy, as we have made a change. The changes will the printed on the terminal, where a + denotes addition and – dentoes deletion or change.

[email protected]:~$ cd code/
[email protected]:~/code$ svn diff
Index: trunk/testfile.txt
===================================================================
— trunk/testfile.txt (revision 1)
+++ trunk/testfile.txt (working copy)
@@ -1,3 +1,6 @@
-This is a test text file. This file is intended to be moved to local
+8.20 PM: This is a test text file. This file is intended to be moved to local
repository (not working copy) named ‘mysvn’ under the project
‘code’. Hope everything works fine :)
+
+8.25 PM: Repository creation successful. Added files to repos and created a
+local working copy of the same name.

Step7. The change is found. Now as we have a modified working copy, we need to commit the changes so it gets updated int he repository as well.

[email protected]:~/code$ svn commit -m ‘changed text contents’
Sending trunk/testfile.txt
Transmitting file data .
Committed revision 2.

Step8. Update your working copy so that you get the laest revision in your working directory.
[email protected]:~/code$ svn update
At revision 2.

Note:
#1. This procedure is for creating a repository in your local machine, as well as the working copy in the same machine. This is a simple example of how to do the basic things. Read the SVN documentation available in the SVN’s official web site.

#2. Did you see, when we added the files from code folder using an import command, the revision changed to ‘revision 1? from the initial ‘revision 0? (sorry, how did i miss the output which showed revision 0 ?? :( ). And check again, when we did a ‘commit’ at step7, the revision again got updated to ‘revision 2?. Wow! It’s cool, isn’t it ?! :D

*********************Licence*******************************************
This work was created by Parthan.S.R. on 13th August, 2006. Parthan can be contacted at [email protected]
This work is licensed under the Creative Commons Attribution License. To view a copy of this license, visit
tp://creativecommons.org/licenses/by/2.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

Possibly related posts: (automatically generated)

    * Subversion – A Scoop of it!
    * Setting up a SVN repository and working copy
    * svnserve the people
    * Using Google code as a repository

Tags: howto, newbie, subversion, svn, tutorial
https://snipt.net/embed/5972c3b84329c268a9b7fa7730ac10f6/
/raw/5972c3b84329c268a9b7fa7730ac10f6/
5972c3b84329c268a9b7fa7730ac10f6
text
Text only
102
2019-08-22T05:08:41
True
False
False
/api/public/snipt/10536/
svn-mini-howto
<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><a href="#L-1"> 1</a> <a href="#L-2"> 2</a> <a href="#L-3"> 3</a> <a href="#L-4"> 4</a> <a href="#L-5"> 5</a> <a href="#L-6"> 6</a> <a href="#L-7"> 7</a> <a href="#L-8"> 8</a> <a href="#L-9"> 9</a> <a href="#L-10"> 10</a> <a href="#L-11"> 11</a> <a href="#L-12"> 12</a> <a href="#L-13"> 13</a> <a href="#L-14"> 14</a> <a href="#L-15"> 15</a> <a href="#L-16"> 16</a> <a href="#L-17"> 17</a> <a href="#L-18"> 18</a> <a href="#L-19"> 19</a> <a href="#L-20"> 20</a> <a href="#L-21"> 21</a> <a href="#L-22"> 22</a> <a href="#L-23"> 23</a> <a href="#L-24"> 24</a> <a href="#L-25"> 25</a> <a href="#L-26"> 26</a> <a href="#L-27"> 27</a> <a href="#L-28"> 28</a> <a href="#L-29"> 29</a> <a href="#L-30"> 30</a> <a href="#L-31"> 31</a> <a href="#L-32"> 32</a> <a href="#L-33"> 33</a> <a href="#L-34"> 34</a> <a href="#L-35"> 35</a> <a href="#L-36"> 36</a> <a href="#L-37"> 37</a> <a href="#L-38"> 38</a> <a href="#L-39"> 39</a> <a href="#L-40"> 40</a> <a href="#L-41"> 41</a> <a href="#L-42"> 42</a> <a href="#L-43"> 43</a> <a href="#L-44"> 44</a> <a href="#L-45"> 45</a> <a href="#L-46"> 46</a> <a href="#L-47"> 47</a> <a href="#L-48"> 48</a> <a href="#L-49"> 49</a> <a href="#L-50"> 50</a> <a href="#L-51"> 51</a> <a href="#L-52"> 52</a> <a href="#L-53"> 53</a> <a href="#L-54"> 54</a> <a href="#L-55"> 55</a> <a href="#L-56"> 56</a> <a href="#L-57"> 57</a> <a href="#L-58"> 58</a> <a href="#L-59"> 59</a> <a href="#L-60"> 60</a> <a href="#L-61"> 61</a> <a href="#L-62"> 62</a> <a href="#L-63"> 63</a> <a href="#L-64"> 64</a> <a href="#L-65"> 65</a> <a href="#L-66"> 66</a> <a href="#L-67"> 67</a> <a href="#L-68"> 68</a> <a href="#L-69"> 69</a> <a href="#L-70"> 70</a> <a href="#L-71"> 71</a> <a href="#L-72"> 72</a> <a href="#L-73"> 73</a> <a href="#L-74"> 74</a> <a href="#L-75"> 75</a> <a href="#L-76"> 76</a> <a href="#L-77"> 77</a> <a href="#L-78"> 78</a> <a href="#L-79"> 79</a> <a href="#L-80"> 80</a> <a href="#L-81"> 81</a> <a href="#L-82"> 82</a> <a href="#L-83"> 83</a> <a href="#L-84"> 84</a> <a href="#L-85"> 85</a> <a href="#L-86"> 86</a> <a href="#L-87"> 87</a> <a href="#L-88"> 88</a> <a href="#L-89"> 89</a> <a href="#L-90"> 90</a> <a href="#L-91"> 91</a> <a href="#L-92"> 92</a> <a href="#L-93"> 93</a> <a href="#L-94"> 94</a> <a href="#L-95"> 95</a> <a href="#L-96"> 96</a> <a href="#L-97"> 97</a> <a href="#L-98"> 98</a> <a href="#L-99"> 99</a> <a href="#L-100">100</a> <a href="#L-101">101</a></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span id="L-1"><a name="L-1"></a>SVN, the first steps – A Mini HowTo for n00bs! </span><span id="L-2"><a name="L-2"></a> </span><span id="L-3"><a name="L-3"></a>Posted by: technofreak on: August 13, 2006 </span><span id="L-4"><a name="L-4"></a> </span><span id="L-5"><a name="L-5"></a> * In: Linux and FLOSS| Programming Gimmicks| Techy Tips and Tweaks| Upgradations and Installations </span><span id="L-6"><a name="L-6"></a> * Comment! </span><span id="L-7"><a name="L-7"></a> </span><span id="L-8"><a name="L-8"></a>I had to deal with teaching a few Linux n00bs on how to start with SVN. Though my last post deals with using the SVN basically, it missed one big point which I perhaps myself learnt today – How to create a reposiroty and start with a working copy. I agree, I had difficulty over creating a repository though I very well know how to work on a working copy. This day, I had more things to learn and especially to find a list of things to be learned. Thus, I wrote a simple step-by-step howto for those who haven’t tried their hands on SVN before. As usual, I blog them too therefore someday when I myself couldn’t figure out how to do things, I can look at my own blog (Which I did today while dealing with MySQL). </span><span id="L-9"><a name="L-9"></a> </span><span id="L-10"><a name="L-10"></a>Here goes my mini how-to for noobs on SVN…. </span><span id="L-11"><a name="L-11"></a> </span><span id="L-12"><a name="L-12"></a>Procedure to Create a Repository using SVN and basic operations with Subversion: </span><span id="L-13"><a name="L-13"></a> </span><span id="L-14"><a name="L-14"></a>Step1. Create a repositry named mysvn in your home directory (assuming your shell’s current directory is your home, which is by default), </span><span id="L-15"><a name="L-15"></a> </span><span id="L-16"><a name="L-16"></a>[email protected]:~$ svnadmin create mysvn </span><span id="L-17"><a name="L-17"></a> </span><span id="L-18"><a name="L-18"></a>Step1(b). Check whether your repository is created in the intended location, </span><span id="L-19"><a name="L-19"></a> </span><span id="L-20"><a name="L-20"></a>[email protected]:~$ ls </span><span id="L-21"><a name="L-21"></a>Apps Django-0.95 GNUstep Collections Documents Linux Music confman Downloads LUG mysvn WorkSpace </span><span id="L-22"><a name="L-22"></a>Desktop </span><span id="L-23"><a name="L-23"></a> </span><span id="L-24"><a name="L-24"></a>Step2. Create a directory called code in your home, crate 3 sub-directories under it namely branches, logs and trunk. If you have some files to be placed, place it in the ‘trunk’ sub-directory. </span><span id="L-25"><a name="L-25"></a> </span><span id="L-26"><a name="L-26"></a>[email protected]:~$ mkdir ./code </span><span id="L-27"><a name="L-27"></a>[email protected]:~$ mkdir ./code/branches </span><span id="L-28"><a name="L-28"></a>[email protected]:~$ mkdir ./code/logs </span><span id="L-29"><a name="L-29"></a>[email protected]:~$ mkdir ./code/trunk </span><span id="L-30"><a name="L-30"></a>[email protected]:~$ ls ./code/ </span><span id="L-31"><a name="L-31"></a>branches logs trunk </span><span id="L-32"><a name="L-32"></a> </span><span id="L-33"><a name="L-33"></a>Step3. Now, import your newly created directory, named code to the repository using the SVN’s import command as follows, </span><span id="L-34"><a name="L-34"></a> </span><span id="L-35"><a name="L-35"></a>[email protected]:~$ svn import ./code file:///home/noob/mysvn/code -m ‘Initial Import’ </span><span id="L-36"><a name="L-36"></a>Adding code/trunk </span><span id="L-37"><a name="L-37"></a>Adding code/trunk/testfile.txt </span><span id="L-38"><a name="L-38"></a>Adding code/logs </span><span id="L-39"><a name="L-39"></a>Adding code/branches </span><span id="L-40"><a name="L-40"></a> </span><span id="L-41"><a name="L-41"></a>Committed revision 1. </span><span id="L-42"><a name="L-42"></a> </span><span id="L-43"><a name="L-43"></a>Step3(b) This will add an invisible directory named code in the repos, though you cannot see them by getting into mysvn repos direcotry manually from FileManager or so. Don’t worry. </span><span id="L-44"><a name="L-44"></a> </span><span id="L-45"><a name="L-45"></a>Step4. Checkout the newly created project in the repos, namely code, thereby cretaing a working copy in local filesystem. (may be in the same name or a slightly different name like mycode) </span><span id="L-46"><a name="L-46"></a> </span><span id="L-47"><a name="L-47"></a>[email protected]:~$ svn co file:///home/noob/mysvn/code code </span><span id="L-48"><a name="L-48"></a>A code/trunk </span><span id="L-49"><a name="L-49"></a>A code/trunk/testfile.txt </span><span id="L-50"><a name="L-50"></a>A code/logs </span><span id="L-51"><a name="L-51"></a>A code/branches </span><span id="L-52"><a name="L-52"></a>Checked out revision 1. </span><span id="L-53"><a name="L-53"></a> </span><span id="L-54"><a name="L-54"></a>Step5. Now, change the content of any file in the local working copy under trunk and save the file. Now a file in your working copy is changed and lets have some fun with svn :) </span><span id="L-55"><a name="L-55"></a> </span><span id="L-56"><a name="L-56"></a>Step6. Lets check the difference between the file in the repository and the local working copy, as we have made a change. The changes will the printed on the terminal, where a + denotes addition and – dentoes deletion or change. </span><span id="L-57"><a name="L-57"></a> </span><span id="L-58"><a name="L-58"></a>[email protected]:~$ cd code/ </span><span id="L-59"><a name="L-59"></a>[email protected]:~/code$ svn diff </span><span id="L-60"><a name="L-60"></a>Index: trunk/testfile.txt </span><span id="L-61"><a name="L-61"></a>=================================================================== </span><span id="L-62"><a name="L-62"></a>— trunk/testfile.txt (revision 1) </span><span id="L-63"><a name="L-63"></a>+++ trunk/testfile.txt (working copy) </span><span id="L-64"><a name="L-64"></a>@@ -1,3 +1,6 @@ </span><span id="L-65"><a name="L-65"></a>-This is a test text file. This file is intended to be moved to local </span><span id="L-66"><a name="L-66"></a>+8.20 PM: This is a test text file. This file is intended to be moved to local </span><span id="L-67"><a name="L-67"></a>repository (not working copy) named ‘mysvn’ under the project </span><span id="L-68"><a name="L-68"></a>‘code’. Hope everything works fine :) </span><span id="L-69"><a name="L-69"></a>+ </span><span id="L-70"><a name="L-70"></a>+8.25 PM: Repository creation successful. Added files to repos and created a </span><span id="L-71"><a name="L-71"></a>+local working copy of the same name. </span><span id="L-72"><a name="L-72"></a> </span><span id="L-73"><a name="L-73"></a>Step7. The change is found. Now as we have a modified working copy, we need to commit the changes so it gets updated int he repository as well. </span><span id="L-74"><a name="L-74"></a> </span><span id="L-75"><a name="L-75"></a>[email protected]:~/code$ svn commit -m ‘changed text contents’ </span><span id="L-76"><a name="L-76"></a>Sending trunk/testfile.txt </span><span id="L-77"><a name="L-77"></a>Transmitting file data . </span><span id="L-78"><a name="L-78"></a>Committed revision 2. </span><span id="L-79"><a name="L-79"></a> </span><span id="L-80"><a name="L-80"></a>Step8. Update your working copy so that you get the laest revision in your working directory. </span><span id="L-81"><a name="L-81"></a>[email protected]:~/code$ svn update </span><span id="L-82"><a name="L-82"></a>At revision 2. </span><span id="L-83"><a name="L-83"></a> </span><span id="L-84"><a name="L-84"></a>Note: </span><span id="L-85"><a name="L-85"></a>#1. This procedure is for creating a repository in your local machine, as well as the working copy in the same machine. This is a simple example of how to do the basic things. Read the SVN documentation available in the SVN’s official web site. </span><span id="L-86"><a name="L-86"></a> </span><span id="L-87"><a name="L-87"></a>#2. Did you see, when we added the files from code folder using an import command, the revision changed to ‘revision 1? from the initial ‘revision 0? (sorry, how did i miss the output which showed revision 0 ?? :( ). And check again, when we did a ‘commit’ at step7, the revision again got updated to ‘revision 2?. Wow! It’s cool, isn’t it ?! :D </span><span id="L-88"><a name="L-88"></a> </span><span id="L-89"><a name="L-89"></a>*********************Licence******************************************* </span><span id="L-90"><a name="L-90"></a>This work was created by Parthan.S.R. on 13th August, 2006. Parthan can be contacted at [email protected] </span><span id="L-91"><a name="L-91"></a>This work is licensed under the Creative Commons Attribution License. To view a copy of this license, visit </span><span id="L-92"><a name="L-92"></a>tp://creativecommons.org/licenses/by/2.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. </span><span id="L-93"><a name="L-93"></a> </span><span id="L-94"><a name="L-94"></a>Possibly related posts: (automatically generated) </span><span id="L-95"><a name="L-95"></a> </span><span id="L-96"><a name="L-96"></a> * Subversion – A Scoop of it! </span><span id="L-97"><a name="L-97"></a> * Setting up a SVN repository and working copy </span><span id="L-98"><a name="L-98"></a> * svnserve the people </span><span id="L-99"><a name="L-99"></a> * Using Google code as a repository </span><span id="L-100"><a name="L-100"></a> </span><span id="L-101"><a name="L-101"></a>Tags: howto, newbie, subversion, svn, tutorial </span></pre></div> </td></tr></table>
howto, mini, svn