Difference between revisions of "Guide to FS Open and git"
From FreeSpace Wiki
(2nd section text done) |
(done for now) |
||
Line 6: | Line 6: | ||
* Download and install [http://code.google.com/p/tortoisegit/ TortoiseGit] (you probably need to reboot after installing) | * Download and install [http://code.google.com/p/tortoisegit/ TortoiseGit] (you probably need to reboot after installing) | ||
* Make a new folder on your HDD where you'd like to install the code. You'll need a fair bit of space for the code + the intermediate files when building it. Press right mouse and choose Git Clone from the list. | * Make a new folder on your HDD where you'd like to install the code. You'll need a fair bit of space for the code + the intermediate files when building it. Press right mouse and choose Git Clone from the list. | ||
− | + | [[File:Git-clone-1.png]] | |
* A new window will open up. Cut and paste the URL of the FSO Github repository into the URL of repository box (https://github.com/scp-fs2open/fs2open.github.com.git) | * A new window will open up. Cut and paste the URL of the FSO Github repository into the URL of repository box (https://github.com/scp-fs2open/fs2open.github.com.git) | ||
− | + | [[File:Git-clone-2.png]] | |
* Press OK to begin downloading from the repository (this may take a few minutes, depending on the speed of your internet connection) | * Press OK to begin downloading from the repository (this may take a few minutes, depending on the speed of your internet connection) | ||
Line 18: | Line 18: | ||
* Go to the [https://github.com github webpage] and create an account | * Go to the [https://github.com github webpage] and create an account | ||
* Go to the [https://github.com/scp-fs2open/fs2open.github.com FSO repository on github] and click on Fork | * Go to the [https://github.com/scp-fs2open/fs2open.github.com FSO repository on github] and click on Fork | ||
− | + | [[File:Github-fork.png]] | |
* Record the URL for your newly forked copy of the FSO repository | * Record the URL for your newly forked copy of the FSO repository | ||
− | + | [[File:Github-fork-2.png]] | |
* Get the code per the guide above (fix with proper intra-page link) | * Get the code per the guide above (fix with proper intra-page link) | ||
** Note: you need to use the URL for '''your forked repository''', not the main FSO repository listed above | ** Note: you need to use the URL for '''your forked repository''', not the main FSO repository listed above | ||
* Right click on the repository directory and select TortoiseGit -> Create Branch | * Right click on the repository directory and select TortoiseGit -> Create Branch | ||
** Note: all development should be done in a new branch, instead of being done in the "master" branch. It's just simpler | ** Note: all development should be done in a new branch, instead of being done in the "master" branch. It's just simpler | ||
− | + | [[File:Git-branch-1.png]] | |
* In the new window, enter the name for the new branch, verify that the branch is based on HEAD (master) and check the "Switch to new branch" box | * In the new window, enter the name for the new branch, verify that the branch is based on HEAD (master) and check the "Switch to new branch" box | ||
− | + | [[File:Git-branch-2.png]] | |
* Write some code with your Editor of Choice | * Write some code with your Editor of Choice | ||
* Test your new code | * Test your new code | ||
* When you're happy with the code, right click on the repository directory and select TortoiseGit -> Diff | * When you're happy with the code, right click on the repository directory and select TortoiseGit -> Diff | ||
− | + | [[File:Git-commit-1.png]] | |
* Review your changes by double-clicking on all the files listed in the new window (ensure no unwanted changes have snuck in!). | * Review your changes by double-clicking on all the files listed in the new window (ensure no unwanted changes have snuck in!). | ||
− | * | + | [[File:Git-commit-2.png]] |
− | + | * This is how the diff will be displayed (using TortoiseGitMerge, which is also used to resolve conflicts) | |
− | * When your review is complete, press "Commit" | + | [[File:Git-commit-3.png]] |
− | ( | + | * When your review is complete, press "Commit" (in the same window that you double clicked on all the changed files) |
* In the new window, add a commit message and press OK | * In the new window, add a commit message and press OK | ||
− | + | [[File:Git-commit-4.png]] | |
− | |||
* When the commit is complete, press the "push" button to send your commit(s) to your github repository | * When the commit is complete, press the "push" button to send your commit(s) to your github repository | ||
− | + | [[File:Git-commit-5.png]] | |
* Select your local branch name from the drop down list and ensure your Destination -> Remote: is "origin" | * Select your local branch name from the drop down list and ensure your Destination -> Remote: is "origin" | ||
* If you want to, you can give the public remote branch a different name to your local branch (this can be useful when rebasing a branch already published to your public repository) | * If you want to, you can give the public remote branch a different name to your local branch (this can be useful when rebasing a branch already published to your public repository) | ||
* Finally, press OK | * Finally, press OK | ||
− | + | [[File:Git-commit-6.png]] | |
* Go to your Github Repository webpage and select the branch you just pushed | * Go to your Github Repository webpage and select the branch you just pushed | ||
− | + | [[File:Git-commit-7.png]] | |
* When you have the correct branch selected, click on the "Pull/Review/Compare" button | * When you have the correct branch selected, click on the "Pull/Review/Compare" button | ||
− | + | [[File:Git-commit-8.png]] | |
* Now click on "Create Pull Request" | * Now click on "Create Pull Request" | ||
− | + | [[File:Git-commit-9.png]] | |
− | + | * Note: the previous three steps can be done as a single step if you have recently pushed a branch by selecting the "Compare and Pull Request" button | |
+ | |||
* Add comments to the pull request if you wish, then click "Send Pull Request" | * Add comments to the pull request if you wish, then click "Send Pull Request" | ||
− | + | [[File:Git-commit-10.png]] | |
* And that's it! Now you wait for the pull request to be reviewed and committed to primary FSO master branch | * And that's it! Now you wait for the pull request to be reviewed and committed to primary FSO master branch | ||
+ | |||
+ | == Simple Conflict Resolution: Tortoise Git == | ||
+ | |||
+ | TBA |
Revision as of 09:51, 24 February 2014
Getting the source: Tortoise Git
(based on Getting_the_FreeSpace2:_SCP_Source_Code)
- Download and install Git For Windows (this is a degendency for TortoiseGit)
- Download and install TortoiseGit (you probably need to reboot after installing)
- Make a new folder on your HDD where you'd like to install the code. You'll need a fair bit of space for the code + the intermediate files when building it. Press right mouse and choose Git Clone from the list.
- A new window will open up. Cut and paste the URL of the FSO Github repository into the URL of repository box (https://github.com/scp-fs2open/fs2open.github.com.git)
- Press OK to begin downloading from the repository (this may take a few minutes, depending on the speed of your internet connection)
Simple Development: Tortoise Git
Note: the guide assumes that you will be developing using a github fork (which is recommended for everyone, SCP members and non-members alike)
- Go to the github webpage and create an account
- Go to the FSO repository on github and click on Fork
- Record the URL for your newly forked copy of the FSO repository
- Get the code per the guide above (fix with proper intra-page link)
- Note: you need to use the URL for your forked repository, not the main FSO repository listed above
- Right click on the repository directory and select TortoiseGit -> Create Branch
- Note: all development should be done in a new branch, instead of being done in the "master" branch. It's just simpler
- In the new window, enter the name for the new branch, verify that the branch is based on HEAD (master) and check the "Switch to new branch" box
- Write some code with your Editor of Choice
- Test your new code
- When you're happy with the code, right click on the repository directory and select TortoiseGit -> Diff
- Review your changes by double-clicking on all the files listed in the new window (ensure no unwanted changes have snuck in!).
- This is how the diff will be displayed (using TortoiseGitMerge, which is also used to resolve conflicts)
- When your review is complete, press "Commit" (in the same window that you double clicked on all the changed files)
- In the new window, add a commit message and press OK
- When the commit is complete, press the "push" button to send your commit(s) to your github repository
- Select your local branch name from the drop down list and ensure your Destination -> Remote: is "origin"
- If you want to, you can give the public remote branch a different name to your local branch (this can be useful when rebasing a branch already published to your public repository)
- Finally, press OK
- Go to your Github Repository webpage and select the branch you just pushed
- When you have the correct branch selected, click on the "Pull/Review/Compare" button
- Now click on "Create Pull Request"
- Note: the previous three steps can be done as a single step if you have recently pushed a branch by selecting the "Compare and Pull Request" button
- Add comments to the pull request if you wish, then click "Send Pull Request"
- And that's it! Now you wait for the pull request to be reviewed and committed to primary FSO master branch
Simple Conflict Resolution: Tortoise Git
TBA