On Wed, Oct 22, 2014 at 11:32 AM, Oswald Buddenhagen < [email protected]> wrote:
> we are in the middle of the bugfixing week, so everyone is wrangling > half a dozen mostly unrelated changes at the same time. the perfect > time to plug the awesomely improved gpush! > > from the manual: > > Prior to actually pushing any commits, gpush will temporarily rebase > them onto a new base. This has the advantage that you can keep many > unrelated "series" in your local branch without creating spurious > dependencies on Gerrit, effectively pretending that you have a separate > branch for every series. Furthermore, gpush will keep the base of > subsequent pushes of the same series constant (unless told otherwise), > which means that you can closely track the upstream branch without > pushing needless rebases to Gerrit (and thus breaking inter-patchset > diffs). > > exactly the thing you need right now, huh? > > quickstart: > > # RTFM > $ git gpush -h > $ git gpick -h > $ git gpull -h > > # get all your pending changes on the current branch, in case you don't > # do this anyway: > $ git cherry-pick ... > > # bootstrap the thing: > $ git gpick --check > > # actually push two changes. yup, you can use change-ids: > $ git gpush I435fa988e: -2 > > # re-push the series ending at HEAD: > $ git gpush > # (now, that was easy ^^) > > # get stuff from somebody else: > $ git gpick +I987ac23f1 > # no need to worry about accidentally re-pushing it any more! > > # update your local copy after somebody has been messing with your > # change (gpush will tell you about it, so you won't overwrite the > # changes accidentally): > $ git gpick I9ce6d9e7a3 > > # pull/rebase your local series: > $ git gpull > > magic! > you only need to save the attached three scripts (simply overwrite your > local checkout of qtrepotools for the time being) to get started. > > this stuff is not tested under windows, but there shouldn't be any major > problems. just make sure that you have ActivePerl *before* msys perl in > your PATH (i have a hunch that it won't work otherwise ^^). > > feel free to complain if something doesn't work for you or you are > missing some important feature. > if you hate the very idea of the dynamic rebasing, put your fatwa on > thiago, as it was his idea. though i don't think he will recognize much > of his code. :D > > oh, btw, i'm looking for reviewers for the whole thing. don't worry - > it's less than 2500 LOC of perl spread over 30 changes. > get started here: https://codereview.qt-project.org/89097 > > > on a completely unrelated note, we deployed a bugfixed version of > gerrit. the most visible change is the fixed keyboard navigation in the > one-page diff view. the other fixes happened mostly behind the scenes. > one consequence of the upgrade is that i can (and will) actually run the > long promised auto-abandoning of de-facto abandoned changes quite > soonish. > > _______________________________________________ > Qt-creator mailing list > [email protected] > http://lists.qt-project.org/mailman/listinfo/qt-creator > > Hi, Great work! An alternative to constant rebasing of the current branch is using *a separate clone* for pushing. This clone can share objects with the real working clone (via .git/objects/info/alternates), then you can easily git checkout and git cherry-pick the changes you want instead of in-place rebasing. - Orgad
_______________________________________________ Qt-creator mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/qt-creator
