Changes between Version 25 and Version 26 of Event/2014/GCI


Ignore:
Timestamp:
12/04/14 10:06:39 (10 years ago)
Author:
Pat Tressel
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Event/2014/GCI

    v25 v26  
    5454== Committing Code ==
    5555
    56 Please read this, about how to use git and !GitHub, but we have some differences for GCI, which are explained below.
     56Please read this, about how to use git and !GitHub.
    5757http://eden.sahanafoundation.org/wiki/DeveloperGuidelines/Git
     58
     59We 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.'''''
    5862
    5963We will be using a !GitHub repository just for GCI, rather than submitting code directly to the main repository.
    6064This will help us conserve the time of the (very busy) folks who have to approve submissions to the main repository.
    6165
    62 This is the repository to use for pull requests.  You should still fork the main repository to create your own repository.[[br]]
     66You'll use the GCI repository to use for pull requests.[[br]]
    6367https://github.com/edengci/eden
    6468
    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.
     69But you should still fork the main repository to create your own repository, and then clone your own repository.[[br]]
     70https://github.com/flavour/eden
    6771
    68 So, there will be two changes to the procedure for submitting code.
     72On your local (cloned) repository, set up a "remote" that points to the GCI repository. Open the repository page:[[br]]
     73https://github.com/edengci/eden [[br]]
     74On 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.
     75If 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
     76to GitHub (this is the "HTTPS clone URL"):
     77{{{
     78git remote add edengci https://github.com/edengci/eden.git
     79}}}
     80Or do this if you are using SSH keys to connect to GitHub (this is the "SSH clone URL"):
     81{{{
     82git remote add edengci git@github.com:edengci/eden.git
     83}}}
    6984
    70 When 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.
     85We will give each student their own branch in that GCI repository to receive their pull requests, to make it simpler and faster
     86to get them merged, as we can review and merge work from students in parallel.
    7287
    73 The first steps to submit your work are the same as in the wiki page linked above.
     88So, there will be some changes to the procedure for submitting code.
     89
     90Instead of updating your branch from the main repository, there will be a branch in the GCI repository that we will keep
     91stable for several days, that students can pull from to set up their own branches for GCI work. This will fix the problem
     92students 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
     94just setting up your branch for GCI work, ask the mentors which branch to pull from.)
     95
     96Every few days, we will collect up students' work, and submit a combined PR to the main repository. At this point, we'll
     97update the branch to pull from, and students can pull a fresh copy of that branch for any new work. Work already in progress
     98can continue on the old branch, and we'll wait for that to include in the PR to the main repository.
     99
     100The steps to submit your work are similar to those in the git wiki page linked above -- differences are noted here.
    74101* "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.)
    76104* Push your commit to your Eden repository on !GitHub.
    77105* Open the !GitHub page for your Eden repository.
    78106* 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.
    83109  * There will be a down-arrow next to the repository -- that will give you a list of repositories. Select the GCI repository.
    84110  * Then use the down-arrow on the branch -- select your branch.
    85111* Create the pull request.
    86 
    87 Then:
    88112* Continue with the code review as usual.
    89113
    90114After 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.
     115pull request and submit that to the main repository. Your commits will have your name on them, and will show up in the main repository.
    93116== Mentors ==
    94117