GitHub pull request
Can I discuss a patch in a GitHub pull request instead of at codereview.qt-project.org?
The question was originally asked at https://bugreports.qt-project.org/browse/QTBUG-28811.
No. Code has to be contributed to Qt through Qt Project's gerrit. Pull requests are not possible because every contributor is required to sign CLA before submitting any code.
You can read more about that "here":http://wiki.qt-project.org/Main_Page.
Pull requests are not possible because every contributor is required to sign CLA before submitting any code.
The CLA can be matched to the commit mail address if a commit is merged through GitHub, so that's not a deterrent.
There seem to be a slight hurdle to commit through Gerrit which would make it desirable to allow code discussion on GitHub.
I for example need advice regarding amending a commit to https://codereview.qt-project.org/#change,43640 which I don't need on GitHub.
I agree with you here, but that is reply that is given time and time again by people at development ML. You can ask there to be sure, as not many Qt developers are on this forum.
To answer your query from JIRA: Qt5 is modularised, every module (almost) has a separate repository. QtWidgets resides in "qtbase":https://qt.gitorious.org/qt/qtbase repo.
Since the question is related to the topic of this thread in the way that it's a Gerrit hurdle that doesn't exist in GitHub, can you in this thread answer the referenced question regarding amending a commit in Gerrit?
No, sorry, I'm not experienced enough in gerrit.
I'm not sure of the exact reason for Gerrit's rejection, but I maybe I can help shed some light on the "usual" way of pushing to Gerrit.
Assuming that you've set up your repository according to http://qt-project.org/wiki/Setting-up-Gerrit , just call
git push gerrit HEAD:refs/for/4.8
The forced push (git push -f) and the topic (refs / for / 4.8 / date) are unnecessary; these MIGHT be causing your problem. For amending commits, you only need to ensure that your amended commit message contains the same Change-Id as before, and push your change the usual way.
For Qt 5, just cd into the relevant Git submodule and call:
git push gerrit HEAD:refs/for/<BRANCH_TYPE>
...where <BRANCH_TYPE> is one of "release", "stable", or "dev", depending on how critical and/or backwards-compatible your change is.
“release”, “stable”, or “dev”, depending on how critical and/or backwards-compatible your change is.
Is there a wiki page that discuss this branch selection? According what principles are commits copied between these branches? Isn't the code review identical regardless of the branch I commit to?
I want to change the branch for an existing Gerrit commit, how do I move the commit between these branches? If I use the same Change-Id and commit to another branch it returns
! [remote rejected] HEAD -> refs/for/release/date (No new changes).
[quote author="John Peterson" date="1356610234"]Is there a wiki page that discuss this branch selection? I want to change the branch for an existing Gerrit commit, how do I move the commit between these branches? If I use the same Change-Id and commit to another branch will it be moved there?[/quote]This branch system is very new to Qt, so there's no Wiki page yet. It's described on the Development mailing list: http://lists.qt-project.org/pipermail/development/2012-December/008285.html
I've never moved patch sets across branches before, so I'm afraid I can't give you a definite answer. Your suggested method sounds reasonable, however, so I'd go ahead and try it -- The worst that could happen is that Gerrit stops you; no harm will come from it.
How do I
What's the difference between running
Please post the link to the answer instead of answering in this thread because I want this question to be answered in documentation.
An answer to your question doesn't exist in documentation .
init-repository sets up the whole repository, which covers all branches including 'dev' AND 'stable' AND others.
If you want to SWITCH BETWEEN branches after you've initialized your repo, call 'git checkout dev' or 'git checkout stable'