| 70 | | = SVN = |
| 71 | | |
| 72 | | == How do can I get commit access to the SVN repository? == |
| 73 | | |
| 74 | | If you are developing !OpenLayers code, we'd like to help you by providing a place for you to maintain your code in a subversion repository. This will help make it easier for us to integrate changes into !OpenLayers trunk if changes are made, and will also allow you to share your developments with other users more easily. |
| 75 | | |
| 76 | | Any user who wishes to develop !OpenLayers code can request access to the !OpenLayers subversion 'sandbox'. This will |
| 77 | | give you access to commit inside your own directory, at http://svn.openlayers.org/sandbox/username/ . |
| 78 | | |
| 79 | | Code developed in a sandbox will be automatically checked out into http://dev.openlayers.org/sandbox/ after each commit, so there is no longer any need to maintain a public version of your testing code, so users can test it without needing a subversion client. |
| 80 | | |
| 81 | | To request sandbox access: |
| 82 | | * Create an OSGeo User ID (by visiting https://www.osgeo.org/cgi-bin/ldap_create_user.py) |
| 83 | | * Ask any existing user with sandbox access to add you to the OpenLayers sandbox group by going to https://www2.osgeo.org/cgi-bin/auth/ldap_group.py?group=openlayers_sandbox . If you do not know any users with sandbox accounts, you can email the OpenLayers Developer mailing list and make the request: most developers have sandbox access. You can also sometimes find developers on IRC. |
| | 70 | = github = |
| | 71 | |
| | 72 | == How do can I get commit access to the github repository? == |
| | 73 | |
| | 74 | You are invited to fork us on github, and create pull requests. This will normally provide you with enough freedom to tell !OpenLayers developers about bugs in the source code, or features you want to add. |
| 88 | | |
| 89 | | == How do I create my own sandbox in the SVN repository? == |
| 90 | | |
| 91 | | |
| 92 | | Once your account has been set up (see above). To test it, once you have an SVN client installed, you should be able to issue the commands (''substituing your username for '''username''' in all examples''): |
| 93 | | {{{ |
| 94 | | svn mkdir -m "Creating sandbox" http://svn.openlayers.org/sandbox/username |
| 95 | | svn cp http://svn.openlayers.org/trunk/openlayers/ http://svn.openlayers.org/sandbox/username/openlayers/ |
| 96 | | }}} |
| 97 | | |
| 98 | | This will create an initial sandbox, which you can then check out and work in by typing: |
| 99 | | {{{ |
| 100 | | svn co http://svn.openlayers.org/sandbox/username/openlayers/ |
| 101 | | }}} |
| 102 | | |
| 103 | | == How do update my sandbox from trunk? == |
| 104 | | |
| 105 | | When trunk has changed, look through the output of: |
| 106 | | {{{ |
| 107 | | svn log --stop-on-copy http://svn.openlayers.org/sandbox/username |
| 108 | | }}} |
| 109 | | for the release number ($oldrev) of your last trunk merge. (When you start, this should just be the earliest revision you see. On successive merges you should look for the 'merging from' comment you submitted for the merge - see below) |
| 110 | | |
| 111 | | Once you've found that, do: |
| 112 | | {{{ |
| 113 | | cd <local checkout of sandbox> |
| 114 | | svn merge -r $oldrev:HEAD http://svn.openlayers.org/trunk/openlayers . |
| 115 | | svn commit -m "merge with trunk" |
| 116 | | }}} |
| 117 | | Then you should be up to date. (''Note that you should replace oldrev with an actual number in both |
| 118 | | cases.'') |
| 119 | | |
| 120 | | |
| 121 | | == How do create a patch from my sandbox against trunk? == |
| 122 | | |
| 123 | | {{{ |
| 124 | | svn diff http://svn.openlayers.org/trunk/openlayers http://svn.openlayers.org/sandbox/<yoursandbox> > <yourpatchfile.patch> |
| 125 | | }}} |
| 126 | | |
| 127 | | and go make some coffee because it will take a while to finish. |
| | 79 | == How do update my fork from master? == |
| | 80 | |
| | 81 | Make sure you add a remote: |
| | 82 | |
| | 83 | {{{ |
| | 84 | git remote add ol git@github.com:openlayers/openlayers.git |
| | 85 | }}} |
| | 86 | |
| | 87 | and then just pull from the upstream master e.g. by: |
| | 88 | |
| | 89 | {{{ |
| | 90 | git pull ol master |
| | 91 | }}} |