[Starlingx-discuss] Full process to update/add documentation pages (gerrit review push issue)

Jeremy Stanley fungi at yuggoth.org
Fri Sep 13 13:55:34 UTC 2019


On 2019-09-13 10:53:16 +0000 (+0000), VanCutsem, Geoffroy wrote:
[...]
> I suspect this is a problem at the git-review Python code, not a
> problem with Gerrit itself. I took a (very) quick look at the code and
> noticed it uses the 'argparse' module to parse all arguments. This is
> the issue I believe we're hitting: https://bugs.python.org/issue22433
> ... unfortunately it's been sitting there, opened for 5 years now.
> 
> Note: enclosing the string in quotes should help but I've seen reports
> that it would only work when using '--topic='.
> 
> @Dominig, if you can spare a couple of minutes, I'd be curious to know
> if the following command works for you:
>  git review --topic="initial creation Doc page Navigate Git Code
> story/2005184"

It's a good guess, but no I tried all manner of passing the option
and also more robust sorts of quoting directly in the parameter
handling routines in git-review's source code. Where I'm stuck is
that the serialization Gerrit uses for "push options" to communicate
a change topic during a git push operation seems to have no means of
encoding spaces. These do not work to set a topic of "topic spaces":

    git push gerrit HEAD:refs/for/master%topic=topic spaces

    git push gerrit HEAD:refs/for/master%topic='topic spaces'

    git push gerrit HEAD:refs/for/master%topic="topic spaces"

    git push gerrit HEAD:refs/for/master%"topic=topic spaces"

    git push gerrit HEAD:"refs/for/master%topic=topic spaces"

    git push gerrit "HEAD:refs/for/master%topic=topic spaces"

...and so on. As best I can tell, Git refspecs simply cannot contain
spaces. There is a converse problem as well, that git review -d to
retrieve a change from Gerrit wants to create a local branch
incorporating the change topic string, and Git doesn't allow spaces
in branch names either. So I think we're going to just need to have
git-review check for spaces when pushing and either transliterate or
reject them, but also have it check for them when downloading
changes and perform substitutions in that direction as well.
-- 
Jeremy Stanley
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 963 bytes
Desc: not available
URL: <http://lists.starlingx.io/pipermail/starlingx-discuss/attachments/20190913/887a524c/attachment.sig>


More information about the Starlingx-discuss mailing list