[cipd] Deal with the situation when files change case during upgrade.

Imagine when upgrading a package file a/b/c changes to a/b/C. Here's what
happened before this CL on case-insensitive file systems:
  * a/b/c is installed (since it is considered new). In reality it either
    rewrites body of a/b/C, or replaces a/b/C completely (depending on file
    system and OS).
  * a/b/C is removed (since it is considered old). In reality it deletes what
    was supposed to be a/b/c.
  * As a result we end up with nothing.

This case is now handled correctly.

R=iannucci@chromium.org, tandrii@chromium.org
BUG=915278

Change-Id: I9c46e1d4499f74fc8d50b40c421343f9453d7e91
Reviewed-on: https://chromium-review.googlesource.com/c/1381273
Commit-Queue: Vadim Shtayura <vadimsh@chromium.org>
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
4 files changed
tree: efa992328111568a1f6f1b0adb00735ba39b1d0a
  1. appengine/
  2. auth/
  3. buildbucket/
  4. cipd/
  5. client/
  6. common/
  7. config/
  8. dm/
  9. examples/
  10. gce/
  11. grpc/
  12. hardcoded/
  13. infra/
  14. logdog/
  15. luci_notify/
  16. lucicfg/
  17. lucictx/
  18. machine-db/
  19. milo/
  20. mmutex/
  21. mp/
  22. scheduler/
  23. scripts/
  24. server/
  25. starlark/
  26. tokenserver/
  27. tools/
  28. tumble/
  29. vpython/
  30. web/
  31. .travis.yml
  32. AUTHORS
  33. codereview.settings
  34. CONTRIBUTING.md
  35. CONTRIBUTORS
  36. LICENSE
  37. OWNERS
  38. pre-commit-go.yml
  39. PRESUBMIT.py
  40. README.md
README.md

luci-go: LUCI services and tools in Go

GoDoc

Installing

LUCI Go code is meant to be worked on from an Chromium infra.git checkout, which enforces packages versions and Go toolchain version. First get fetch via depot_tools.git then run:

fetch infra
cd infra/go
eval `./env.py`
cd src/go.chromium.org/luci

Contributing

Contributing uses the same flow as Chromium contributions.