[Development] [FYI] the smart way of pushing to gerrit, take 2
Tor Arne Vestbø
Tor.arne.Vestbo at qt.io
Fri Apr 3 13:59:02 CEST 2020
Hurray, glad to see this finally landed! Thanks! :)
tor arne
> On 1 Apr 2020, at 21:47, Oswald Buddenhagen <oswald.buddenhagen at gmx.de> wrote:
>
> moin,
>
> not even six years after the initial announcement, i have landed my git-gpush improvements and related tools to the qtrepotools repo.
>
> note for early adopters (i heard that there are quite some of you at kdab): the command lines and metadata storage changed over the years.
>
> the landing page https://wiki.qt.io/Git-gpush-scripts explains the major features, how to get started and perform advanced tasks, and counters frequent skepticism. excerpts:
>
> =====================
>
> The general idea of these scripts is to make working with Gerrit more transparent:
>
> - You can keep many unrelated Changes on one local branch without creating spurious dependencies between them on Gerrit. While you can achieve the same by having a separate local branch for every series, having all Changes on a single branch is much more convenient.
> - You can pull as often as you want, including right before pushing, as you would usually do in a git pull --rebase based workflow. Without git-gpush, this would unnecessarily rebase previously pushed Changes, which would make Gerrit's inter-diff feature slower and much noisier.
>
> You may have noticed that these major features are geared towards making not your life easier, but that of your reviewers. Until roles are switched, that is.
>
> ================
>
> Getting Started
> ---------------
>
> As usual, you should start with some solid RTFM: ;)
>
> $ git-gpush -h
> $ git-gpick -h
> $ git-gpull -h
> $ git-ggc -h
>
> Get all your pending changes onto the current branch, in case you kept them on separate branches:
>
> $ git cherry-pick <…>
>
> Alternatively, you could merge all your local branches and then rebase.
>
> If you have pending Changes for the given branch on Gerrit, you need to synchronize (bootstrap) the state:
>
> $ git gpick --check --all
>
> To get an idea about what gpush thinks you have in your branch:
>
> $ git gpush --list
>
> Group remaining loose Changes into series:
>
> $ git gpush --group :3
> $ git gpush --group ~3:5
> <…>
>
> Get a more thorough overview:
>
> $ git gpush --list-online
>
> Push out any modified Changes:
>
> $ git gpush --all
>
> ===================
>
> have fun!
> _______________________________________________
> Development mailing list
> Development at qt-project.org
> https://lists.qt-project.org/listinfo/development
More information about the Development
mailing list