Changes between Version 68 and Version 69 of SourceCodeGit


Ignore:
Timestamp:
Apr 13, 2020, 3:20:23 PM (5 years ago)
Author:
davea
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SourceCodeGit

    v68 v69  
    55BOINC is free software, distributed under the ​Lesser General Public License (LGPL), version 3 or later.
    66
    7 The BOINC source code is maintained in a Git repository on Github.
    8 The Github web interface lets you
    9  * [https://github.com/BOINC/boinc browse the source tree], get individual files, and view the revision history.
    10  * [https://github.com/BOINC/boinc/commits/master browse recent commits].
     7The BOINC source code is maintained in a Git repository on Github:
     8https://github.com/BOINC/boinc
    119
    1210= Getting the code using Git =
     
    3331== Cloning the Git repository ==
    3432
    35 The easiest way to download the current GIT master source tree is to go to https://github.com/BOINC/boinc and click on "Clone or download". You can also download the source tree for any branch by selecting the desired branch from the pull-down menu on that page.
     33The easiest way to download the current GIT master source tree is to go to https://github.com/BOINC/boinc and click on "Clone or download".
     34You can also download the source tree for any branch by selecting the desired branch from the pull-down menu on that page.
    3635
    3736To clone the repository into a local directory called (for example) 'boinc', run the following command in the Terminal utility (Macintosh) or "Command Prompt" utility (Windows) :
     
    5049Change to the directory 'boinc'.
    5150Here you will find the files corresponding to the HEAD of the 'remote master branch'.
    52 The whole development history of the project can be found in the 'boinc/.git' subdirectory.
    53 
    54 You can replace the files on your 'master branch' by files from older branches or older tags
    55 using the appropriate git command - without
    56 needing to contact the Git repository server again as all the history can be found under 'boinc/.git'.
    57 This is called 'checking out'.   
    58 See the instructions below for checking out different branches or tags.
    5951
    6052Sometimes it is necessary to purge all untracked files created by build tools
     
    6557}}}
    6658
    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
    8259 
    8360== Working with the local Git repository ==
     
    306283...and proceed with compilation.
    307284
    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 
    371285= Windows build dependencies =
    372286
    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.
     287The Windows build for VS 2019 automatically fetches and builds
     288the dependent libraries (openSSL, etc.).
     289For earlier versions of Visual Studio
     290we've collected pre-built versions of these libraries,
     291available as .zip files from here:
     292
     293https://boinc.berkeley.edu/dl/boinc_depends
    376294
    377295|| VS || Dependency ||
    378 || Visual Studio 2005 || boinc_depends_win_vs2005 ||
    379 || Visual Studio 2008 || boinc_depends_win_vs2008 ||
    380296|| Visual Studio 2010 || boinc_depends_win_vs2010 ||
    381297|| Visual Studio 2013 || boinc_depends_win_vs2013 ||
    382298
    383 For example: {{{git clone https://boinc.berkeley.edu/git/boinc_depends_win_vs2010.git}}}.
    384299
    385300The dependencies should be stored in the same parent directory as the BOINC source code: