| 67 | | == Changing your repository origin == |
| 68 | | |
| 69 | | Prior to 27 July 2015, the main BOINC repository was on boinc.berkeley.edu rather than Github. |
| 70 | | If you cloned a repository from here, you'll need to change its origin to Github. |
| 71 | | On Unix you can do this with the command |
| 72 | | {{{ |
| 73 | | git remote set-url origin https://github.com/BOINC/boinc |
| 74 | | }}} |
| 75 | | On Windows with Tortoisegit: |
| 76 | | * right-click on your repo folder |
| 77 | | * select Settings |
| 78 | | * in the left column, select Remote (under Git) |
| 79 | | * select "origin" in the Remote: list |
| 80 | | * change the URL to https://github.com/BOINC/boinc.git |
| 81 | | * click Apply |
| 308 | | = Write Access to the remote Git repository = |
| 309 | | |
| 310 | | Note: you don't need direct write access to contribute code to BOINC. |
| 311 | | Given the [http://git-scm.com/about/distributed distributed nature] of Git |
| 312 | | you can publish your contributions elsewhere (e.g. on [https://github.com GitHub]) |
| 313 | | or send your patches via mail (using {{{git format-patch}}}). |
| 314 | | |
| 315 | | Direct write access to the main repository is currently available via the SSH protocol with public-key authentication. |
| 316 | | If you want direct write access, contact David Anderson and/or Rom Walton. |
| 317 | | They'll ask you for your public key. |
| 318 | | Here's how you can create a public/private key pair and use it after you've been granted access to the repository: |
| 319 | | |
| 320 | | == Windows == |
| 321 | | |
| 322 | | Please see [https://boinc.berkeley.edu/trac/wiki/SourceCodeGit/WindowsKeygen this page] for details. |
| 323 | | |
| 324 | | == !Linux/Mac OS X == |
| 325 | | |
| 326 | | * General note: before you start, please check whether you already have an existing key |
| 327 | | at {{{~/.ssh/id_rsa}}}. |
| 328 | | If so, please choose a different key filename for the commands below! |
| 329 | | Alternatively, you could also reuse the existing key and continue with the final step. |
| 330 | | * Note to Mac OS X users: if you prefer "Finder" over "Terminal" hit {{{CMD+SHIFT+G}}} in "Finder", |
| 331 | | then enter {{{~/.ssh}}} to go to that hidden folder. |
| 332 | | |
| 333 | | The following shell/terminal command will create a key pair that gets stored |
| 334 | | in your {{{~/.ssh}}} directory: |
| 335 | | * Public key: {{{~/.ssh/id_rsa.pub}}} |
| 336 | | * Private key: {{{~/.ssh/id_rsa}}} |
| 337 | | {{{ |
| 338 | | ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa |
| 339 | | }}} |
| 340 | | |
| 341 | | If you used the standard key filename id_rsa and you want the repository named boinc-v2.git, |
| 342 | | use the following URL to access the repository: |
| 343 | | {{{ |
| 344 | | ssh://gitolite@boinc.berkeley.edu/boinc-v2.git |
| 345 | | }}} |
| 346 | | |
| 347 | | If you had to use a different key filename because of an existing key |
| 348 | | that you don't want to overwrite or reuse, |
| 349 | | you can define a so called ssh host alias that allows you to specify which key to use |
| 350 | | when accessing the BOINC repo. |
| 351 | | To do so, add the following to {{{~/.ssh/config}}} (create the file if necessary), |
| 352 | | assuming that you created the ssh key as {{{~/.ssh/boinc-key}}}: |
| 353 | | {{{ |
| 354 | | host boinc-git-server |
| 355 | | Hostname boinc.berkeley.edu |
| 356 | | Port 22 |
| 357 | | IdentityFile ~/.ssh/boinc-key |
| 358 | | User gitolite |
| 359 | | }}} |
| 360 | | |
| 361 | | Now that you have the host alias defined you may access the repo using the alias |
| 362 | | in the clone URL (instead of the full user/hostname information): |
| 363 | | |
| 364 | | {{{ |
| 365 | | git clone boinc-git-server:boinc-v2.git |
| 366 | | }}} |
| 367 | | |
| 368 | | Finally, send the ''public'' key to David or Rom. |
| 369 | | Important: the private key should never leave your system! Keep it safe! |
| 370 | | |
| 373 | | All the additional dependency files are now stored in separate "boinc_depends_win" repositories. |
| 374 | | |
| 375 | | You should clone the version of the dependency tree that corresponds to the version of Visual Studio you have installed. |
| | 287 | The Windows build for VS 2019 automatically fetches and builds |
| | 288 | the dependent libraries (openSSL, etc.). |
| | 289 | For earlier versions of Visual Studio |
| | 290 | we've collected pre-built versions of these libraries, |
| | 291 | available as .zip files from here: |
| | 292 | |
| | 293 | https://boinc.berkeley.edu/dl/boinc_depends |