Wireshark-dev: Re: [Wireshark-dev] Gerrit Patch Set Submission Problem
From: Graham Bloice <graham.bloice@xxxxxxxxxxxxx>
Date: Wed, 5 Jul 2017 13:16:41 +0100


On 5 July 2017 at 12:47, Paul Offord <Paul.Offord@xxxxxxxxxxxx> wrote:

Hi,

 

I’m struggling with git again.  I want to submit a new patch set for change 19666 - https://code.wireshark.org/review/#/c/19666/

 

When I try git review I get:

 

C:\Development\wireshark>git review

You are about to submit multiple commits. This is expected if you are

submitting a commit that is dependent on one or more in-review

commits. Otherwise you should consider squashing your changes into one

commit before submitting.

 

The outstanding commits are:

 

[33m519336c915[m[33m ([m[1;36mHEAD -> [m[1;32mreview/unknown/syncro[m[33m)[m Syncro: Program access to plugin_if via TCP

[33m25c72c3a24[m Merge branch 'master' of https://code.wireshark.org/review/wireshark into review/unknown/syncro

[33m5854989e62[m Syncro: Program access to plugin_if via TCP

 

Do you really want to submit the above commits?

Type 'yes' to confirm, other to cancel: yes

remote: Processing changes: refs: 1, done

remote: ERROR: missing Change-Id in commit message footer

remote:

remote: Hint: To automatically insert Change-Id, install the hook:

remote:   gitdir=$(git rev-parse --git-dir); scp -p -P 29418 PaulOfford@xxxxxxxxxxxxxxxxxx:hooks/commit-msg ${gitdir}/hooks/

remote: And then amend the commit:

remote:   git commit --amend

remote:

To https://code.wireshark.org/review/wireshark

! [remote rejected]       HEAD -> refs/publish/master/syncro (missing Change-Id in commit message footer)

error: failed to push some refs to 'https://code.wireshark.org/review/wireshark'

 

It says the Change-Id is missing but that’s not true because if I check with git –amend I get:

 

Syncro: Program access to plugin_if via TCP

 

Extensive re-write of the code.  The C++ Qt code now

only handles the TCP server component.  All other code is written

in C.

 

Change-Id: I05e96a3efdfed13bf779fecde6677aa9f0a0c12c

 

# Please enter the commit message for your changes. Lines starting

# with '#' will be ignored, and an empty message aborts the commit.

#

# Date:      Tue Jul 4 22:41:41 2017 +0100

.

.

 

Sorry to keep bothering the list with repeated git questions, it’s just that I have spent more than an hour trying to overcome this.

 

Thanks and regards…Paul



Not entirely sure what you;'ve done, but it would seem that you have two commits, one with your changes and one with a merge from master, and I suspect the commit message for the latter won't have the Change-Id.

You shouldn't be "merging" from master, you should be rebasing.

Personally I would fix this the following way, it may not be the most approved method but it works for me when I break git:
  1. Copy your modified files to the side
  2. Switch back to master (git checkout master)
  3. Update master (git pull)
  4. Delete your branch (git branch -D "review/unknown/syncro", I think this is the branch name you have)
  5. Get a new copy of the branch (git review -d 19666)
  6. Rebase the branch to the latest master (git rebase master)
  7. Copy your saved files from 1. back into the branch.
  8. Review the diffs of your changes (git diff)
  9. Build wireshark.
  10. Test build.
  11. Commit changes (git commit -a --amend)
  12. Post changes to Gerrit (git review)
  13. Send beer tokens to graham

--
Graham Bloice