[win-bootstrap] Update docs for removal of git

Bug: b/360206460
Change-Id: I19da03909a082ac0414b751bf316600fa1bed403
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6205107
Commit-Queue: Anne Redulla <aredulla@google.com>
Reviewed-by: Josip Sokcevic <sokcevic@chromium.org>
changes/07/6205107/3
Anne Redulla 1 month ago committed by LUCI CQ
parent 03aad37858
commit 9f48a4ca85

@ -32,7 +32,7 @@ run `./update_depot_tools_toggle.py --disable`.
To update package manually, run `update_depot_tools.bat` on Windows,
or `./update_depot_tools` on Linux or Mac.
On Windows only, running `gclient` will install `git` and `python`.
On Windows only, running `gclient` will install `python`.
## Contributing

@ -4,19 +4,15 @@ This directory has the 'magic' for the `depot_tools` windows binary update
mechanisms.
A previous Python may actually be in use when it is run, preventing us
from replacing it outright without breaking running code. To
ommodate this, and Python cleanup, we handle Python in two stages:
from replacing it outright without breaking running code. To accommodate this,
and Python cleanup, we handle Python in two stages:
1. Use CIPD to install both Git and Python at once.
1. Use CIPD to install Python.
2. Use "bootstrap.py" as a post-processor to install generated files and
fix-ups.
## Software bootstrapped
* Python 3 (https://www.python.org/)
* Git for Windows (https://git-for-windows.github.io/)
* This will soon be unbundled from depot_tools. To prepare for this change,
please install Git directly. See the instructions in the
[Windows build docs](https://chromium.googlesource.com/chromium/src/+/main/docs/windows_build_instructions.md#Install-git).
## Mechanism
@ -29,34 +25,36 @@ work.
package is present, and if so, if it's the expected version. If either of those
cases is not true, it will download and unpack the respective binary.
Installation of Git and Python is done by the [win_tools.bat](./win_tools.bat)
Installation of Python is done by the [win_tools.bat](./win_tools.bat)
script, which uses CIPD (via the [cipd](/cipd.bat) bootstrap) to acquire and
install each package into the root of the `depot_tools` repository. Afterwards,
the [bootstrap.py](./bootstrap.py) Python script is invoked to install stubs,
wrappers, and support scripts into `depot_tools` for end-users.
wrappers, and support scripts into `depot_tools` for end-users. This includes
checking whether the current global Git config matches recommended settings.
### Manifest
The Git and Python versions are specified in [manifest.txt](./manifest.txt).
The Python version is specified in [manifest.txt](./manifest.txt).
There is an associated file,
[manifest_bleeding_edge.txt](./manifest_bleeding_edge.txt), that can be used
to canary new versions on select bots. Any bots with a `.bleeding_edge` file
to canary a new version on select bots. Any bots with a `.bleeding_edge` file
in their `depot_tools` root will automatically use the bleeding edge manifest.
This allows opt-in systems to test against new versions of Python or Git. Once
those versions have been verified correct, `manifest.txt` can be updated to the
This allows opt-in systems to test against new versions of Python. Once
the version has been verified correct, `manifest.txt` can be updated to the
same specification, which will cause the remainder of systems to update.
### Bundles
Git and Python bundle construction is documented in
[infra packaging](https://chromium.googlesource.com/infra/infra/+/HEAD/doc/packaging/).
Python bundles are maintained by 3pp builders. See the
[3pp docs](https://chromium.googlesource.com/infra/infra/+/HEAD/3pp/README.md)
for more info.
Note that in order for the update to take effect, `gclient` currently needs to
run twice. The first time it will update the `depot_tools` repo, and the second
time it will see the new git version and update to it. This is a bug that should
be fixed, in case you're reading this and this paragraph infuriates you more
than the rest of this README.
time it will see the new Python version and update to it. This is a bug that
should be fixed, in case you're reading this and this paragraph infuriates you
more than the rest of this README.
## Testing

Loading…
Cancel
Save