Changes between Version 14 and Version 15 of DeveloperGuidelines/Git/GCI

12/06/14 04:56:09 (10 years ago)
Pat Tressel



  • DeveloperGuidelines/Git/GCI

    v14 v15  
    9494=== Aggregation cycle ===
    96 This is where it gets interesting...
     96This is where it gets interesting... Here are the steps to prepare student work for a PR to the main repository,
     97and to switch to fresh base and staging branches for additional student work.
     99* Make sure there are no branches called base_done and staging_done in the edengci repository. That would mean the
     100  previous aggregation cycle is incomplete, or the branches were not cleaned up. Talk to the other mentors to find
     101  out what happened. When that's resolved...
     102* If there are any open student PRs:
     103 * Post a note to the student GCI announcements thread in the sahana-eden mailing list asking students to pause in
     104   sending PRs until you say it's ok. (We'll add a link here to the announcements thread when it's ready.)
     105 * Open the web page for each PR, as you'll need to post comments there after they are closed.
     106 * Post a comment in each open PR, telling the student that you're starting an aggregation cycle, and are going
     107   to temporarily close their PR. They should watch for another comment or post in the announcements thread, and
     108   then open their PR again on the (new) staging branch, and rebase it from staging.
     109 * Close the open PRs.
     110 * Make one last check for open PRs in case any snuck in...
     112* Rename the base and staging branches on !GitHub, as follows:
     113 * If you have local branches called base or staging, rename or delete them, e.g.:
     115git branch -m staging staging_old
     116git branch -m base base_old
     118 * Pull copies of base and staging from the edengci repository.
     120git pull edengci staging
     121git pull ededgci base
     123 * Rename them.
     125git branch -m staging staging_done
     126git branch -m base base_done
     128 * Push to their new names.
     130git push edengci staging_done
     131git push edengci base_done
     134* Make fresh base and staging branches. (The commands show assume that "upstream" is the name of the remote
     135  you use for the main repository. If not, use whatever your remote name is.)
     137git pull upstream master:base
     138git push edengci base
     139git push edengci base:staging
     142* At this point, the new staging branch is ready for business. Post on the GCI announcement thread that
     143  students can re-open any PRs that had to be closed to rename staging, and can add new PRs.
     145* Post a comment in each closed PR telling the student they should now rebase their work from the (new)
     146  staging branch, fix any conflicts, and do another PR.
     148* Next, prepare for the PR to the main repository. Check out staging_done.
     150git checkout staging_done
     153* Run the test suite on your local copy of staging_done. If all has gone well with individual code reviews,
     154  there should be no problem here. But if there is, work with the student whose commit has the problem to
     155  resolve it. The student may need to do a PR to staging_done. Or you may want to fix the issue if it is
     156  minor and not due to a problem with the student's work. Don't bother with attempting to squash commits
     157  here, as we want to retain the student names as authors of the their commits.
     159* Run Eden from the staging_done branch. Go through the students' PR pages, and look for their comment
     160  about how to observe their change. Do that, and check that it still works. Again, if there's a problem,
     161  work with the student to fix it.
     163* If there were any fixups needed, push them to the staging_done branch.
     165* Do a PR to the main repository. Add a comment with the PR that tells what is in it -- should be able to
     166  scrape these from the students' PRs. As a courtesy, also scrape the student's instructions for testing --
     167  Mark this so it's easily distinguished from the descriptive comment.
    97168== Student Workflow ==