upload/editor: fix bytes/string confusion

The upload module tries to turn the strings into bytes before passing
to EditString, but it combines bytes & strings causing an error.  The
return value might be bytes or string, but the caller only expects a
string.  Lets simplify this by sticking to strings everywhere and have
EditString take care of converting to/from bytes when reading/writing
the underlying files.  This also avoids possible locale confusion when
reading the file by forcing UTF-8 everywhere.

Bug: https://crbug.com/gerrit/11929
Change-Id: I07b146170c5e8b5b0500a2c79e4213cd12140a96
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/245621
Reviewed-by: David Pursehouse <dpursehouse@collab.net>
Tested-by: Mike Frysinger <vapier@google.com>
3 files changed
tree: 6086cb67a1b1f928892b4d47d1b77a069b5ae31f
  1. .flake8
  2. .gitattributes
  3. .gitignore
  4. .mailmap
  5. .project
  6. .pydevproject
  8. README.md
  10. color.py
  11. command.py
  12. docs/
  13. editor.py
  14. error.py
  15. event_log.py
  16. git_command.py
  17. git_config.py
  18. git_refs.py
  19. git_ssh
  20. gitc_utils.py
  21. hooks/
  22. main.py
  23. manifest_xml.py
  24. pager.py
  25. platform_utils.py
  26. platform_utils_win32.py
  27. progress.py
  28. project.py
  29. pyversion.py
  30. repo
  31. repo_trace.py
  32. run_tests
  33. subcmds/
  34. tests/
  35. wrapper.py


Repo is a tool built on top of Git. Repo helps manage many Git repositories, does the uploads to revision control systems, and automates parts of the development workflow. Repo is not meant to replace Git, only to make it easier to work with Git. The repo command is an executable Python script that you can put anywhere in your path.