Gerrit - issue submitting a patch

Norbert Thiebaud nthiebaud at gmail.com
Sat Dec 8 15:41:17 PST 2012


On Sat, Dec 8, 2012 at 11:35 AM, Mat M <matm at gmx.fr> wrote:
> Hello
>
> I have an issue:
>
> It rejected my submission with the following message:
>
> mm at FAUCON /cygdrive/d/src/libo10
> $ git log -n 1
> commit 40acf39922f6cada7c724751a7b819c1950e7b38
> Author: Mathias Michel <matm at gmx.fr>
> Date:   Sat Dec 8 18:19:20 2012 +0100
>
>     configure VS dll from system for express version
>
>     Change-Id: Ia79bf2e8afc9413f3ff26412a0d16f71b28e10ea
>
> mm at FAUCON /cygdrive/d/src/libo10
> $ ./logerrit submit master
> Enter passphrase for key '/home/mm/.ssh/id_dsa':
> Counting objects: 6, done.
> Delta compression using up to 4 threads.
> Compressing objects: 100% (4/4), done.
> Writing objects: 100% (4/4), 616 bytes, done.
> Total 4 (delta 2), reused 0 (delta 0)
> remote: Resolving deltas: 100% (2/2)
> remote: Processing changes: refs: 1, done
> remote: ERROR: missing Change-Id in commit message
> remote: Suggestion for commit message:
> remote: Merge branch 'master', remote-tracking branch 'origin/master'
> remote:
> remote: Change-Id: If4d880d9f00115d789d0957d886faba797a19ef8
> To ssh://logerrit/core
>  ! [remote rejected] HEAD -> refs/for/master (missing Change-Id in commit
> message)
> error: failed to push some refs to 'ssh://logerrit/core'
>
> As the first command exhibits, I do have a Change-Id. Could it be related
> that this is a linked workdir and not a plain workdir of a repo ?

That may means that you are trying to push much more than you think...
and some commits along the way do not have a change id.

and yes linked workdir is un-supported so no idea what the implication are...

I also need to edit that wiki patch that incite people to use logerrit...
It is quite hard to know what is happening here.

to recover I would do:

git branch p1 origin/master  #create a clean branch that point to a
sane commit as a base for patches
git checkout p1 # check that point out
git submodule update # in case the checkout move the submodules sha we need
git cherry-pick <the comit you want to push> # add you commit on top
of that branch
git push origin p1:refs/for/master # push you commit for git review

if you want to return to a clean master that match upstream:
git checkout master
git reset --hard origin/master # hard reposition your master barnch to
origin/master
git submodule update

from there you can do
./g pull -r
to move your master branch forward... if need be
or
git pull -r
git submodule update

(which basically what ./g pull -r does)

keep the p1 branch around until your patch is merged in core
if you need to do a new version of that patch:

git checkout p1
edit
git add ...
git commit --amend (please do not says in the commit message that this
is the second or thrid version if the patch... in fact most of the
time you jsut want to leave the commit message alone)
git push p1:refs/for/master

if you want to work on another patch in the mean time:
return to a clean master as indicated above

then git checkout -b <new_path_branch_name_of_your_choice>

(if you know that yout master branch is ok you can do directly

git checkout -b <new_path_branch_name_of_your_choice> master

as always a
git submodule update
is a good idea to make sure that the submodules are in sync


Norbert


More information about the LibreOffice mailing list