Changes between Version 48 and Version 49 of SourceCodeGit


Ignore:
Timestamp:
Jan 31, 2015, 2:38:36 PM (9 years ago)
Author:
Bluefin Tuna
Comment:

Restructured page, clarified where to get Git

Legend:

Unmodified
Added
Removed
Modified
  • SourceCodeGit

    v48 v49  
    33= BOINC source code =
    44
    5 You can download the BOINC source code as a compressed archive from here:
    6 https://github.com/BOINC/boinc-v2/releases
    7 
    8 You can browse the BOINC source code using [/browser a web-based interface]
    9 ([http://boinc.berkeley.edu/gitweb/ alternative]).
    10 This is useful for getting individual files or viewing the revision history.
    11 
    12 == Getting the code via Git ==
    13 
    14 The BOINC source code is stored in a [http://www.git-scm.com Git] repository.
    15 To clone the repository into a directory called (for example) 'boinc', run:
     5The BOINC source code now maintained in [http://www.git-scm.com Git] repositories:
     6
     7* There is a [https://github.com/BOINC/boinc BOINC Git repository] at [http://en.wikipedia.org/wiki/GitHub github]. In particular, you can download the BOINC v2 source code as a compressed archive from [https://github.com/BOINC/boinc-v2/releases here].
     8* There is a [http://boinc.berkeley.edu/gitweb/ BOINC Git repository] at berkeley.edu.
     9
     10''(If anyone knows what the exact relationship is between these repos, please do tell. Also. This [/browser old URL] evidently has decayed and doesn't work anymore.)
     11
     12Both sites allow you to browse the source trees. This is useful for getting individual files or viewing the revision history.
     13
     14= Getting the code directly using Git =
     15
     16It is easier to get the source as a tarball or zipfile as indicated above. However, you may want to use Git directly instead.
     17
     18== Installing Git ==
     19
     20 * On Windows, get a Git client like 'Git for Windows' (console) or !TortoiseGit (GUI)
     21   (see this [SourceCodeGit/Windows guide for Windows]).
     22 * On Linux, Git is usually provided by your distribution.
     23   If it is not already installed, check your distribution's package manager and look for package "git" or "git-core".
     24 * On Mac OS X, use [http://www.macports.org MacPorts]
     25   (to keep Git up to date, recommended) or a manual
     26   [http://code.google.com/p/git-osx-installer installation package].
     27 * Recommended free GUIs: [http://www.sourcetreeapp.com SourceTree (includes an embedded Git)],
     28   [http://www.syntevo.com/smartgit/ SmartGit (free for non-commercial use)],
     29   [http://gitx.laullon.com GitX] ([https://github.com/laullon/gitx latest])
     30
     31You don't need to fully understand Git; just skim the instructions below. If you intend to modify BOINC or to look at branches, you'll need to know at least the basics.
     32
     33Recommended reading/watching:
     34
     35 * vimeo.com/14629850 (Getting Git): 1 hour video (technical, but highly recommended) ''(Live link temporarily removed because Trac complains about too many links and suspects spam)
     36 * git-scm.com/book (Pro Git): Great free online book (also commercially available in print!) ''(Live link temporarily removed because Trac complains about too many links and suspects spam)
     37 * git-scm.com/doc (All the rest): Cheat sheets, tutorials and more videos ''(Live link temporarily removed because Trac complains about too many links and suspects spam)
     38
     39== Cloning the remote Git repository ==
     40
     41To clone the repository into a local directory called (for example) 'boinc', run one of these console commands:
    1642
    1743{{{
     
    1945}}}
    2046
    21 or, using HTTP:
     47or to use HTTP:
    2248
    2349{{{
     
    2551}}}
    2652
    27 On Windows, you'll need a Git client such as !TortoiseGit (see below).
    28 Right-click on the parent directory, select 'Git Clone...', and fill in the dialog with one of the above URLs.
    29 Don't forget to remove both 'git clone' and 'boinc' from the commands above.
    30 
    31 The 'clone' operation pulls down ~134 MB of source and gives you a copy that you can modify and compile locally.
     53On Windows using !TortoiseGit, right-click on the parent directory, select 'Git Clone...', and fill in the dialog with one of the above URLs.
     54Don't forget to remove both 'git clone' and 'boinc' from the commands above.
     55
     56The 'clone' operation pulls down ~150 MiB of source and gives you a copy that you can modify and compile locally.
    3257However, you will not be able to push changes to the BOINC repository.
    3358For write access, see below.
    3459
    3560Change to the directory 'boinc'.
    36 Here you find the files corresponding to the HEAD of the 'remote master branch'.
    37 The development history of the project can be found in the 'boinc/.git' subdirectory.
     61Here you will find the files corresponding to the HEAD of the 'remote master branch'.
     62The whole development history of the project can be found in the 'boinc/.git' subdirectory.
    3863
    3964You can replace the files on your 'master branch' by files from older branches or older tags
     
    4974$ git clean -f -d -x
    5075}}}
     76
     77== Working with the local Git repository ==
    5178
    5279=== Staying Current ===
     
    113140The "git pull" command is shorthand for "git fetch" followed immediately by "git merge".   
    114141
    115 === Installing Git ===
    116 
    117 To access the BOINC Git repository you'll need the Git client software:
    118 
    119  * On Windows, get a Git client like 'Git for Windows' (console) and !TortoiseGit (GUI)
    120   (see this [SourceCodeGit/Windows guide for Windows]).
    121  * On Linux, Git is usually provided by your distribution.
    122    If it is not already installed, check your package manager and look for "git" or "git-core".
    123  * On Mac OS X, use [http://www.macports.org MacPorts]
    124    (to keep Git up to date, recommended) or a manual
    125    [http://code.google.com/p/git-osx-installer installation package].
    126  * Recommended free GUIs: [http://www.sourcetreeapp.com SourceTree (includes an embedded Git)],
    127    [http://www.syntevo.com/smartgit/ SmartGit (free for non-commercial use)],
    128    [http://gitx.laullon.com GitX] ([https://github.com/laullon/gitx latest])
    129 
    130 To get a copy of the BOINC source code you don't need to fully understand Git;
    131 just skim the instructions below.
    132 However, if you intend to modify BOINC or to look at branches, you'll need to know at least the basics.
    133 
    134 Recommended reading/watching:
    135 
    136  * [http://vimeo.com/14629850 Getting Git]: 1 hour video (technical, but highly recommended)
    137  * [http://git-scm.com/book Pro Git]: Great free online book (also commercially available in print!)
    138  * [http://git-scm.com/doc All the rest]: Cheat sheets, tutorials and more videos
    139 
    140 == Tags & Branches ==
     142=== Tags & Branches ===
    141143
    142144For all software other than the client (i.e., server, web, and API)
     
    219221}}}
    220222
    221 === Examples using tags and branches ===
     223==== Examples using tags and branches ====
    222224
    223225To revert back to the remote master branch after you have modified some files in a too hasty fashion:
     
    263265You probably want something more stable.
    264266
    265 === Check out a specific tag for compilation ===
     267==== Check out a specific tag for compilation ====
    266268
    267269As mentioned above, the code for each client release is 'tagged'.
     
    297299...and proceed with compilation.
    298300
    299 == Write Access to the Git Repository ==
     301= Write Access to the remote Git repository =
    300302
    301303Note: you don't need direct write access to contribute code to BOINC.
     
    309311Here's how you can create a public/private key pair and use it after you've been granted access to the repository:
    310312
    311 === Windows ===
     313== Windows ==
    312314
    313315Please see [http://boinc.berkeley.edu/trac/wiki/SourceCodeGit/WindowsKeygen this page] for details.
    314316
    315 === !Linux/Mac OS X ===
     317== !Linux/Mac OS X ==
    316318
    317319 * General note: before you start, please check whether you already have an existing key
     
    360362Important: the private key should never leave your system! Keep it safe!
    361363
    362 == Windows build dependencies ==
     364= Windows build dependencies =
    363365
    364366All the additional dependency files are now stored in
     
    389391Make sure to back up your own code prior to deleting the source code.
    390392
    391 == Source code road map ==
     393= Source code structure overview =
    392394
    393395The BOINC source tree includes the following directories: