[roll] Roll fuchsia [rbe][link] Avoid unwanted option prefix matching

argparse.parse_known_args() aggressively tries to
match against unique prefixes of options (even with allow_abbrev=False),
which results in unwanted interpretation of '-r' as '-rtlib',
and '-other' as ('-o' 'ther').

To workaround this, we (under-the-hood) register options like '-rtlib'
and '-o' in their double-dash form like '--o' and '--rtlib', and rewrite
the args before passing to ArgumentParser.parse_known_args().

We can't apply this broadly because of the existence of fused-style
flags '-L' and '-W'.

Unit tests cover cases where potentially matched short forms
of options do *not* get matched, and end up in the set of uninterpreted
args after parse_known_args().

This keeps with the spirit of minimizing maintenance as
new unfamiliar flags get used in the build.

Original-Fixed: 343808592
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1058358
Original-Revision: 09a420291c115e0d16a385d8e590ffbc11bbdad8
GitOrigin-RevId: 6b60ba0d740c918f43dce9a70804a953d961e322
Change-Id: I47445d3c7d254cad8d9716a1cc072b7cc7f7a1ed
1 file changed
tree: 3df2a9647dbd5b6626e2ce93d071ea7df8cd0736
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. cts
  6. firmware
  7. flower
  8. jiri.lock
  9. MILESTONE
  10. minimal
  11. prebuilts
  12. README.md
  13. stem
  14. test_durations
  15. toolchain
README.md

Integration

This repository contains Fuchsia's Global Integration manifest files.

Making changes

All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.

Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance via the IRC channel #fuchsia on Freenode.

Obtaining the source

First install Jiri.

Next run:

$ jiri init
$ jiri import minimal https://fuchsia.googlesource.com/integration
$ jiri update

Third party

Third party projects should have their own subdirectory in ./third_party.