Changes between Version 25 and Version 26 of Event/2014/GCI
- Timestamp:
- 12/04/14 10:06:39 (10 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Event/2014/GCI
v25 v26 54 54 == Committing Code == 55 55 56 Please read this, about how to use git and !GitHub , but we have some differences for GCI, which are explained below.56 Please read this, about how to use git and !GitHub. 57 57 http://eden.sahanafoundation.org/wiki/DeveloperGuidelines/Git 58 59 We have some differences for GCI, which are summarized below. 60 61 '''''Note we are revising the procedure a bit, so there will be changes gradually appearing here.''''' 58 62 59 63 We will be using a !GitHub repository just for GCI, rather than submitting code directly to the main repository. 60 64 This will help us conserve the time of the (very busy) folks who have to approve submissions to the main repository. 61 65 62 This is the repository to use for pull requests. You should still fork the main repository to create your own repository.[[br]]66 You'll use the GCI repository to use for pull requests.[[br]] 63 67 https://github.com/edengci/eden 64 68 65 Also, we will use several branches in that GCI repository to receive the pull requests, to make it simpler and faster 66 to get them merged, as we can review and merge them in parallel. 69 But you should still fork the main repository to create your own repository, and then clone your own repository.[[br]] 70 https://github.com/flavour/eden 67 71 68 So, there will be two changes to the procedure for submitting code. 72 On your local (cloned) repository, set up a "remote" that points to the GCI repository. Open the repository page:[[br]] 73 https://github.com/edengci/eden [[br]] 74 On the right, there will be a box that says "SSH clone URL" or "HTTPS clone URL" -- that will be the URL to use for your new remote. 75 If you are using git from the command line, cd to your local eden repository, and do this if you are using a password to connect 76 to GitHub (this is the "HTTPS clone URL"): 77 {{{ 78 git remote add edengci https://github.com/edengci/eden.git 79 }}} 80 Or do this if you are using SSH keys to connect to GitHub (this is the "SSH clone URL"): 81 {{{ 82 git remote add edengci git@github.com:edengci/eden.git 83 }}} 69 84 70 W hen you have code ready for review by a mentor, ask which branch in the GCI repository you should send your pull request to.71 The mentor will make sure this branch is up to date.85 We will give each student their own branch in that GCI repository to receive their pull requests, to make it simpler and faster 86 to get them merged, as we can review and merge work from students in parallel. 72 87 73 The first steps to submit your work are the same as in the wiki page linked above. 88 So, there will be some changes to the procedure for submitting code. 89 90 Instead of updating your branch from the main repository, there will be a branch in the GCI repository that we will keep 91 stable for several days, that students can pull from to set up their own branches for GCI work. This will fix the problem 92 students saw with getting extra commits out of the main repository that were not in the GCI repository. 93 (This is part of the new procedures we're just designing, so there will be more info about this soon. For now, if you're 94 just setting up your branch for GCI work, ask the mentors which branch to pull from.) 95 96 Every few days, we will collect up students' work, and submit a combined PR to the main repository. At this point, we'll 97 update the branch to pull from, and students can pull a fresh copy of that branch for any new work. Work already in progress 98 can continue on the old branch, and we'll wait for that to include in the PR to the main repository. 99 100 The steps to submit your work are similar to those in the git wiki page linked above -- differences are noted here. 74 101 * "Squash" your commits into one. 75 * Rebase from the main repository, so your branch is fully up to date, and has no conflicts. 102 * ''This is different:'' Don't rebase from the main repository -- you started with the right revision from the GCI branch, so don't need to update. 103 (The mentors will rebase from the main repository while they are getting ready to send the combined PR.) 76 104 * Push your commit to your Eden repository on !GitHub. 77 105 * Open the !GitHub page for your Eden repository. 78 106 * Click the "Compare and Create Pull Request" button shown on that commit. 79 80 The next step is where the change comes in: 81 * The pull request page will have a line that shows which repository and branch you are sending the pull request too. 82 You will need to change both, to the GCI repository and the branch name supplied by the mentor. 107 * ''This is different:'' The pull request page has a line that shows which repository and branch you are sending the pull request too. 108 You will need to change both, to the GCI repository and your branch name in the GCI repository. 83 109 * There will be a down-arrow next to the repository -- that will give you a list of repositories. Select the GCI repository. 84 110 * Then use the down-arrow on the branch -- select your branch. 85 111 * Create the pull request. 86 87 Then:88 112 * Continue with the code review as usual. 89 113 90 114 After the mentor accepts your pull request, the GCI admins will collect your commits and those of other students into one 91 pull request each day (or every few days) and submit that to the main repository. Your commits will have your name on the, 92 and will show up in the main repository. 115 pull request and submit that to the main repository. Your commits will have your name on them, and will show up in the main repository. 93 116 == Mentors == 94 117