Git
Version 10 (Gary Bradski, 2013-10-03 05:50 am)
1 | 10 | Gary Bradski | h1. Instruction for community members |
---|---|---|---|
2 | 1 | ||
3 | 10 | Gary Bradski | If you're one of OpenCV users who want to work directly with the source code, but not one of core developers (i.e. you don't work at Itseez or Willow Garage), we recommend you to fork the OpenCV at the github: https://github.com/Itseez/opencv. This project is always up-to-date, and it is very convenient way to work with OpenCV sources, because all the github features are available for you! This will also allow you to later provide pull requests, so your developments may be added to the OpenCV master. Please refer to the github instructions on "forking the repo":https://help.github.com/articles/fork-a-repo. |
4 | 1 | ||
5 | 10 | Gary Bradski | But if you really want to make a contribution to the OpenCV, please study the [[Core developer guide|guidelines]], because only the high-quality code is merged to the master branch! |
6 | 10 | Gary Bradski | |
7 | 10 | Gary Bradski | h1. Instruction for core developers |
8 | 10 | Gary Bradski | |
9 | 10 | Gary Bradski | h2. Get the current OpenCV source code, by cloning the OpenCV git repository |
10 | 10 | Gary Bradski | |
11 | 10 | Gary Bradski | Use any Git client (such as the "git" command-line tool, or a GUI tool such as "Git Extensions":http://sourceforge.net/projects/gitextensions/ (Windows), "TortoiseGit":http://code.google.com/p/tortoisegit/ (Windows), "SourceTree":http://www.sourcetreeapp.com/ (Mac), or gitk and git-gui (Linux). |
12 | 10 | Gary Bradski | |
13 | 1 | * Main repository (enough for most OpenCV users) |
|
14 | 5 | Gary Bradski | |
15 | 8 | Gary Bradski | <pre>git clone git://code.opencv.org/opencv.git</pre> |
16 | 1 | ||
17 | 5 | Gary Bradski | * Additional repository that contains auxiliary stuff, like big datasets for running the OpenCV tests |
18 | 1 | ||
19 | 1 | <pre>git clone git://code.opencv.org/opencv_extra.git</pre> |
|
20 | 8 | Gary Bradski | |
21 | 10 | Gary Bradski | That's it! Now you're ready to work directly with OpenCV sources. |
22 | 1 | ||
23 | 10 | Gary Bradski | h2. Contributing to the project |
24 | 1 | ||
25 | 10 | Gary Bradski | *Please note that the steps below are for core developers only! If you're not one of them , please consider making "pull requests":https://github.com/Itseez/opencv/pulls at the github. But if you work at Itseez or Willow, please continue.* |
26 | 10 | Gary Bradski | |
27 | 10 | Gary Bradski | h3. Instruction for Ubuntu users: |
28 | 10 | Gary Bradski | |
29 | 1 | * Upload shh-key to the server. If you haven't created any, do it with the following command: <pre>ssh-keygen -t rsa -f ~/.ssh/id_rsa</pre> Leave the Passphrase empty. Then copy contents of the file ~/.ssh/id_rsa.pub to the Key field on the http://code.opencv.org/my/account page. Press Create. Run <pre>ssh-add ~/.ssh/id_rsa</pre> command. It may be critical on some versions of Ubuntu. |
|
30 | 1 | ||
31 | 5 | Gary Bradski | * Clone the repository as described in the section above. Run the following command in local repository folder to be able to push changes |
32 | 5 | Gary Bradski | |
33 | 5 | Gary Bradski | <pre>git remote set-url origin --push [email protected]:opencv.git</pre> |
34 | 1 | ||
35 | 10 | Gary Bradski | h3. Instruction for Windows users: |
36 | 1 | ||
37 | 1 | * Download and install an up-to-date version of msysgit from its official site: http://code.google.com/p/msysgit/downloads/list. There is also the portable version (_PortableGit-1.7.11-preview20120710.7z_), which you need only to unpack to get access to the console version of Git. Supposing that for some of us it could be quite enough. |
|
38 | 1 | * Download and install the GUI for Git. There are two popular alternatives: |
|
39 | 9 | Gary Bradski | ** TortoiseGit is free, open source (GPL v2). It can be downloaded from http://code.google.com/p/tortoisegit/downloads/list. It has different versions for 32 and 64 bit, so be careful. While installing, locate your msysgit (if it doesn't do that automatically) and choose OpenSHH... (Not PLink... Putty...!). |
40 | 1 | ** SmartGit is also free, but for non-commercial use only. Written in Java, which can be installed automatically if needed. SmartGit can be downloaded from: http://www.syntevo.com/smartgit/download.html?all=true. Portable Archive (includes JRE) is recomended for download. It only requires unpacking and locating msysgit on first launch. |
|
41 | 1 | * Generate SSH access key: |
|
42 | 1 | ** Launch Git Bash (file git-bash.bat in msysgit folder). |
|
43 | 1 | ** Run <pre>ssh-keygen -t rsa -C "[email protected]"</pre> with the console. The output will contain information on where it stored the keys. |
|
44 | 1 | ** Go to that directory and open the public key (id_rsa.pub) with any text editor. |
|
45 | 1 | ** Copy contents of the file id_rsa.pub to the Key field on the http://code.opencv.org/my/account page. Press Create. |
|
46 | 1 | * Clone repository, using 'quick' read-only protocol (git://code.opencv.org/opencv.git). |
|
47 | 3 | Gary Bradski | * Launch Git Bash again and go to the folder that you've cloned the repository to ('.git' folder should have appeared there). Run the following command: <pre>git remote set-url origin --push [email protected]:opencv.git</pre> to be able to push changes to the repository. |
48 | 1 | * That's it. You may try making some changes to commit and push them for the test run. |