Changes between Version 4 and Version 5 of SvnRules


Ignore:
Timestamp:
10/23/14 09:28:25 (10 years ago)
Author:
dneise
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SvnRules

    v4 v5  
    2222This call will checkout the current version of Mars form our SVN repository and dump it into a new folder called mars/ in your home folder.
    2323
     24== Start working -- Create A Branch ==
     25
     26If you have an idea and want to try it, we invite you to profit from FACTs code versionion system right from the start. Who knows, maybe your idea will one day be a vital part of the std-analysis.
     27
     28However it's reasonable not to mess with other peoples work, so you might just create a Branch(http://svnbook.red-bean.com/en/1.7/svn.branchmerge.using.html) for your private work.
     29If later you want to share your work with others, or have it revised, just tell them about your branch.
     30
     31=== Creating a Branch ===
     32
     33Let's look at branching using the Example of Mars. Suppose you want to develop something in Mars, you may create your private branch of Mars. Branches are cheap in the sense, that on the svn server, there is not actually made a copy. It merely notes from which part of the trunk your branch springs off.
     34Is suppose you are creating a branch of the most recetn version of the trunk (of course it is also possible to create branches of historic versions, we'll come to that later)
     35
     36Technically your branch could sit anywhere in the svn repository, but we agreed on having them in one central place for simplicity.
     37
     38    {{{
     39    svn copy https://trac.fact-project.org/svn/trunk/Mars https://trac.fact-project.org/svn/branches/MyAwesomeNewMarsBranch -m "Just having an awesome idea..."
     40    }}}
     41   
     42Now just checkout your new branch as you would checkout the trunk version of mars.
     43
     44    {{{
     45    svn co https://trac.fact-project.org/svn/branches/MyAwesomeNewMarsBranch mars_mybranch
     46    }}}
     47
     48Actually if you checked out the trunk version into a folder called `mars` and your private branch into a folder called `mars_mybranch`, you might want to rename `mars`now to `mars_trunk` and create a symlink called `mars` that points to the version you are currently working with most.
     49
     50In case you set `LD_LIBRARY_PATH` or `PATH` to the `mars` folder, changing versions is nothing more than overwriting that symlink.
     51
     52    {{{
     53    ln -s mars_trunk mars
     54    rm mars
     55    ln -s mars_mybranch mars
     56    }}}
     57
     58Feel free to work in your branch the way you like best, but if you later want to merge your branch back into the trunk, it might be useful to rather do many smaller commits than one big commit.
     59
     60=== Creating a Branch from a historic version ===
     61
     62It is actually common practice that not the most recent version of the trunk is used for production. Very often software developers create certain release versions of their code, which is used for production, while development continues in the trunk. Code releases are often marked by so called **tags** for easy reference, but so far FACT did not follow this practise.
     63However you might find yourself in the situation, that you want to base your development on
    2464
    2565== Before you commit something ==