Changes between Version 8 and Version 9 of explainSvn


Ignore:
Timestamp:
Mar 14, 2016, 2:47:25 PM (8 years ago)
Author:
dmik
Comment:

Fix the paragraph order again, the generated files removal must happen on the trunk!

Legend:

Unmodified
Added
Removed
Modified
  • explainSvn

    v8 v9  
    7171Note that you should specify the exact URL of the corresponding repository tag (or the download URL of the tarball, like http://cairographics.org/releases/pixman-0.32.8.tar.gz) you used for the import operation in this commit — it may be needed to get the original vendor source later to check that everything was properly imported etc. Check r1229 for the real-life example.
    7272
     73=== Tagging vendor release ===
     74
     75The next step is to mark the result of the new vendor import with a version tag for further reference, like this (see r1230):
     76{{{
     77svn copy http://svn.netlabs.org/repos/ports/pixman/vendor/current http://svn.netlabs.org/repos/ports/pixman/vendor/0.32.8 -m "pixman: Tag version 0.32.8 from vendor."
     78}}}
     79
     80=== Creating trunk ===
     81
     82Now it's time to start off the project trunk where OS/2 development will actually take place (r1231):
     83{{{
     84svn copy http://svn.netlabs.org/repos/ports/pixman/vendor/0.32.8 http://svn.netlabs.org/repos/ports/pixman/trunk -m "pixman: Start off trunk from version 0.32.8 from vendor."
     85}}}
     86
     87=== Checking out working copy
     88
     89Now you can check out the trunk locally with:
     90{{{
     91cd ..
     92svn co http://svn.netlabs.org/repos/ports/pixman/trunk
     93}}}
     94and start working on patches to make it build and work on OS/2.
     95
    7396=== Removing generated files ===
    7497
     
    98121Now you first remove these files from under SVN control with `svn rm FILENAME` or with `svn rm --targets FILE` where FILE contains all the files to remove, one per line (be careful not to remove necessary files!), then commit the result with this command:
    99122{{{
    100 svn commit -m "pixman: Remove generated files for version 0.32.8 from vendor."
     123svn commit -m "pixman: Remove generated files from trunk."
    101124}}}
    102 The example result is in r1224.
    103125
    104126Note that another important reason to re-generate as much files as possible on the developer's machine (besides saving space and history in the SVN repository) is to make sure the generated files will get OS/2-specific changes necessary for the build to work correctly. This is needed since not all OS/2 patches to the toolchain reach upstream repositories in time and hence the generated file provided in the tar ball may not know about OS/2 at all and will simply not work. Besides this, a recent version of autotools may have some important fix to apply and so on. So the developer should always re-generate these files locally before performing a build.
    105127
    106 === Tagging vendor release ===
     128**Note**. It is important to remove generated files on the trunk rather than on the vendor tree because:
    107129
    108 The next step is to mark the result of the new vendor import with a version tag for further reference, like this (see r1230):
    109 {{{
    110 svn copy http://svn.netlabs.org/repos/ports/pixman/vendor/current http://svn.netlabs.org/repos/ports/pixman/vendor/0.32.8 -m "pixman: Tag version 0.32.8 from vendor."
    111 }}}
     1301. The vendor tree is meant as an exact copy of what is imported into our repository.
     1312. If the files are removed from the vendor tree and the vendor tree is then updated to a newer upstream version, the removed files will appear as NEW and it will be hard to distinguish if they are really new and needed for the new version or if we already removed them in the past and need to remove them again (a check of the commit history is required for this). If we remove these files from the trunk instead, then there will be a merge conflict (a change to a file that we deleted) which is easy to spot and fix (just `svn rm` these files before the final commit).
    112132
    113 === Creating trunk ===
    114 
    115 Now it's time to start off the project trunk where OS/2 development will actually take place (r1231):
    116 {{{
    117 svn copy http://svn.netlabs.org/repos/ports/pixman/vendor/0.32.8 http://svn.netlabs.org/repos/ports/pixman/trunk -m "pixman: Start off trunk from version 0.32.8 from vendor."
    118 }}}
    119 
    120 === Checking out working copy
    121 
    122 Now you can check out the trunk locally with:
    123 {{{
    124 cd ..
    125 svn co http://svn.netlabs.org/repos/ports/pixman/trunk
    126 }}}
    127 and start working on patches to make it build and work on OS/2.
    128 
    129 Don't forget to re-generate the build files as described above.
     133=== Working on trunk ===
    130134
    131135Changes should be committed to the trunk grouped into logically connected chunks, one commit per each logical modification using this commit message as a template: