Changes between Version 8 and Version 9 of explainSvn
- Timestamp:
- Mar 14, 2016, 3:47:25 PM (9 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
explainSvn
v8 v9 71 71 Note 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. 72 72 73 === Tagging vendor release === 74 75 The next step is to mark the result of the new vendor import with a version tag for further reference, like this (see r1230): 76 {{{ 77 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." 78 }}} 79 80 === Creating trunk === 81 82 Now it's time to start off the project trunk where OS/2 development will actually take place (r1231): 83 {{{ 84 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." 85 }}} 86 87 === Checking out working copy 88 89 Now you can check out the trunk locally with: 90 {{{ 91 cd .. 92 svn co http://svn.netlabs.org/repos/ports/pixman/trunk 93 }}} 94 and start working on patches to make it build and work on OS/2. 95 73 96 === Removing generated files === 74 97 … … 98 121 Now 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: 99 122 {{{ 100 svn commit -m "pixman: Remove generated files f or version 0.32.8 from vendor."123 svn commit -m "pixman: Remove generated files from trunk." 101 124 }}} 102 The example result is in r1224.103 125 104 126 Note 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. 105 127 106 === Tagging vendor release === 128 **Note**. It is important to remove generated files on the trunk rather than on the vendor tree because: 107 129 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 }}} 130 1. The vendor tree is meant as an exact copy of what is imported into our repository. 131 2. 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). 112 132 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 === 130 134 131 135 Changes should be committed to the trunk grouped into logically connected chunks, one commit per each logical modification using this commit message as a template: