git / gerrit best work flow ?
erack at redhat.com
Mon Nov 9 10:42:06 PST 2015
On Monday, 2015-11-09 10:00:01 -0700, jan iversen wrote:
> Sometimes I have to correct an older patch set, I do the following in core:
> git pull
> <cherry pick gerrit patch set>
> make changes
> ./logerrit ...
> Then in order to cleanup I do
> git reset head~
> git checkout files from changeset
> This does not seem optimal, any suggestion on how to effectively work with
> different changesets fast ?
Use git-review ;-)
(that page btw seems a bit outdated regarding installation, git-review
should be available now with all(?) distros, and the page should not
focus on git-review development but usage in our gerrit process instead)
Instead of git-review you can also use ./logerrit to create a branch and
cherry-pick the gerrit change and submit an amended commit for that
change and clean the temporary branch, but git-review does all that for
you. Plus, which I regard as a big bonus, it warns about multiple
commits that are about to be pushed to gerrit, whereas ./logerrit
silently pushes them all.
# download changenumber and apply on a temporary branch named after
# submitter and changenumber (changenumber is the currently 5 digits
# gerrit change, not the Change-Id):
git review <changenumber>
# do your changes
git commit --amend ...
git review -R -f
# -R skips rebasing change (may be desired when amending a change, see
# git review --help), then pushes to gerrit, and -f finishes the
# temporary branch, switching back to your branch and removing the
# temporary branch
You can also use git review -x <changenumber> to just cherry-pick
onto your current branch without creating a named branch, e.g. if your
master isn't ahead of origin/master and a git review would not result
in multiple changes to be pushed, and after submitting to gerrit do
git reset --hard HEAD^
Otherwise a separate branch is of advantage.
Btw, git reset HEAD^ (without --hard) probably is not what you want
(actually it is the same as git reset --mixed HEAD^ ), it just undoes
the commit and preserves the modified files, so you could git add and
include them in your next commit..
LibreOffice Calc developer. Number formatter stricken i18n transpositionizer.
GPG key "ID" 0x65632D3A - 2265 D7F3 A7B0 95CC 3918 630B 6A6C D5B7 6563 2D3A
Better use 64-bit 0x6A6CD5B765632D3A here is why: https://evil32.com/
Care about Free Software, support the FSFE https://fsfe.org/support/?erack
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 819 bytes
Desc: not available
More information about the LibreOffice