Hi Everyone, The new Gerrit-based infrastructure is now live with the old Mercurial repository as a read-only mirror. Mirroring is currently done using a cron job that executes every 15 minutes, which means that there is some amount of lag between the gerrit master version and the mirrors.
Those of you with commit access who plan to submit patches that have been on reviewed using the old infrastructure will need to convert these patches to git and push them to the main repository. It is highly recommended that patches without reviews are discarded and re-posted using the Gerrit flow to reduce the maintenance overhead of committing patches. Existing Mercurial patches (e.g., from patch queues) can be converted using the hg-patch-to-git-patch [1] script from Mozilla. The patch conversion script makes sure that the commit message and author information can be understood by git. Before converting your patches, make sure they apply cleanly on the current master branch. The best way to check this is by qpop:ing your patch queue, pulling in new changes, and then reapplying it. If you get warnings when applying patches, you need to qrefresh them to make sure that the diffs are up to date. Failing to do so will result in git refusing the patch. Once you have a patch queue that applies cleanly, you can import it into a new git branch using the following commands: # Create a new clone of the master repository git clone https://gem5.googlesource.com/public/gem5 gem5 cd gem5 # Install Gerrit's commit message hook. This is done automatically by scons when you build gem5. cp ext/git-commit-msg .git/hooks/commit-msg # Create a new branch for the outgoing changes git checkout -b fixes origin/master hg-patch-to-git-patch /path/to/old/gem5/.hg/patches/patch1.patch | git am # Run the commit message hook to generate a Change-id by amending the commit git commit --amend ... hg-patch-to-git-patch /path/to/old/gem5/.hg/patches/patchN.patch | git am git commit --amend To push the branch for review (remember to test it and verify that the commit log looks OK first!), execute the following command: git push origin HEAD:refs/for/master It's sometimes useful to set a patch series topic if you're submitting multiple patches. To do that when you submit patches for review, use this command instead: git push origin HEAD:refs/for/master%topic=my/topic Some users can bypass reviews and push changes straight into the master branch. This should only be done for code that has been reviewed using the ReviewBoard-based flow. If you're one of the select few, you can use the following push command to bypass review: git push origin HEAD:refs/heads/master Cheers, Andreas [1] https://github.com/mozilla/moz-git-tools/raw/master/hg-patch-to-git-patch On 16/02/2017 16:54, Jason Lowe-Power wrote:
Hi all, We've been talking about this for a while, but now it's time! Special thanks to Andreas Sandberg for all of his hard work for putting this together. We will be migrating our infrastructure from the self-hosted mercurial repo at repo.gem5.org and reviewboard to git and gerrit hosted on Google's new googlesource website. You can find a live version (not ready for primetime) of this at https://gem5.googlesource.com/. We are planning on flipping the switch on *March 1st*, unless there is an objection from the community. Note: I'm announcing this on gem5-dev before announcing on gem5-users and gem5-announce in case there's any details we've missed. I've posted a patch on reviewboard that contains a new CONTRIBUTING document that details the new contribution process. Please review that document so it can be pushed before we transition. ( http://reviews.gem5.org/r/3814/) The major changes are detailed below: 1. REPOSITORIES * The canonical version of gem5 will now live at https://gem5.googlesource.com/, not repo.gem5.org * The mercurial repository at repo.gem5.org will be a read-only mirror of the googlesource repo. * We will keep the github mirror 2. CODE REVIEWS * All reviews will happen on https://gem5-review.googlesource.com/. * No new patches will be accepted on reviewboard after March 1. Any patches still on reviewboard will be discussed/reviewed there, but committers will have to manually commit them to the git repo (not unlike our current situation). Main differences for developers: 1. You will have to learn to use git, if you haven't already 2. Developers who submit patches will be able to *commit their own patches* after review. No more waiting for me to push patches for you! 3. Continuous integration tests are coming soon, and must pass before a patch is committed. 4. Gerrit has a different user-interface than reviewboard... sorry for the change. 5. Many of the policies we have for commits will be *strictly enforced* automatically by gerrit. E.g., it will no longer be possible to post a patch that has a non-conforming commit message. 6. Instead of using postreview, patches will be posted by pushing to special git branches on our gerrit instance. *Please let me know if you have any questions or concerns. I'd like to iron all of this out in the next few days so we can post the announcement on gem5-users and gem5-announce.* I would also like to thank the team at Google that has generously donated their time to set up this infrastructure. This include Rahul Thakur, Jason Buberel, Haihong Zhuo, and many others. Cheers, Jason _______________________________________________ gem5-dev mailing list gem5-dev@gem5.org http://m5sim.org/mailman/listinfo/gem5-dev
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. _______________________________________________ gem5-dev mailing list gem5-dev@gem5.org http://m5sim.org/mailman/listinfo/gem5-dev