{"id":15379584,"url":"https://github.com/blond/depot_tools","last_synced_at":"2025-10-18T03:03:10.680Z","repository":{"id":81510517,"uuid":"127747921","full_name":"blond/depot_tools","owner":"blond","description":"git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git","archived":false,"fork":false,"pushed_at":"2020-09-16T11:03:37.000Z","size":31662,"stargazers_count":5,"open_issues_count":0,"forks_count":13,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-10T15:44:19.403Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/blond.png","metadata":{"files":{"readme":"README.gclient.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"support/chromite_wrapper","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-04-02T11:35:18.000Z","updated_at":"2025-03-01T11:56:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"e5e1c944-0d67-4925-80f6-8f92947a19fa","html_url":"https://github.com/blond/depot_tools","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/blond/depot_tools","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blond%2Fdepot_tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blond%2Fdepot_tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blond%2Fdepot_tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blond%2Fdepot_tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/blond","download_url":"https://codeload.github.com/blond/depot_tools/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blond%2Fdepot_tools/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278703580,"owners_count":26031204,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-06T02:00:05.630Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-01T14:19:24.779Z","updated_at":"2025-10-07T00:33:30.436Z","avatar_url":"https://github.com/blond.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gclient\n\ngclient is a tool for managing a modular checkout of source code from multiple\nsource code repositories. It wraps underlying source code management commands\nto provide support for distributing tree updates, status commands, and diffs\nacross multiple checked-out working directories.\n\nThe gclient script is controlled by a `.gclient` file at the top of a directory\ntree which will contain source code from multiple locations. A `.gclient` file\nis a Python script that defines a list of `solutions` with the following format:\n\n    solutions = [\n      { \"name\"        : \"src\",\n        \"url\"         : \"https://chromium.googlesource.com/chromium/src.git\",\n        \"custom_deps\" : {\n          # To use the trunk of a component instead of what's in DEPS:\n          #\"component\": \"https://github.com/luci/luci-go\",\n          # To exclude a component from your working copy:\n          #\"data/really_large_component\": None,\n        }\n      },\n    ]\n\nA `solution` is a collection of component pieces of software that will be\nchecked out in a specific directory layout for building together.\n\nEach entry in the `solutions` list is defined by a Python dictionary that\ncontains the following items:\n\n- `name`: The name of the directory in which the solution will be checked out.\n- `url`: The URL from which this solution will be checked out. gclient expects\n  that the checked-out solution will contain a file named `DEPS` that in turn\n  defines the specific pieces that must be checked out to create the working\n  directory layout for building and developing the solution's software.\n- `deps_file`: A string containing just the filename (not a path) of the file in\n  the solution dir to use as the list of dependencies. This tag is optional, and\n  defaults to `DEPS`.\n- `custom_deps`: A dictionary containing optional custom overrides for entries\n  in the solution's `DEPS` file.  This can be used to have the local working\n  directory *not* check out and update specific components, or to sync the local\n  working-directory copy of a given component to a different specific revision,\n  or a branch, or the head of a tree. It can also be used to append new entries\n  that do not exist in the `DEPS` file.\n\nWithin each checked-out solution, gclient expects to find a file typically named\n`DEPS` (it actually uses the value of the `deps_file` key above) which defines\nthe different component pieces of software that must be checked out for the\nsolution. The `DEPS` file is a Python script that defines a dictionary named\n`deps`:\n\n    deps = {\n      \"src/outside\": \"https://outside-server/one/repo.git@12345677890123456778901234567789012345677890\",\n      \"src/component\": \"https://dont-use-github.com/its/unreliable.git@0000000000000000000000000000000000000000\",\n      \"src/relative\": \"/another/repo.git@aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\n    }\n\nEach item in the `deps` dictionary consists of a key-value pair. The key is the\ndirectory into which the component will be checked out, relative to the\ndirectory containing the `.gclient` file. The value is the URL from which that\ndirectory will be checked out. If there is no address scheme (that is, no\n`http:` prefix), then the value must begin with a slash and is treated\nrelative to the root of the solution's repository.\n\nThe URL typically contains a specific revision or change number (as appropriate\nfor the underlying SCM system) to `freeze` the external software at a specific,\nknown state. Alternatively, if there is no revision or change number, the URL\nwill track the latest changes on the specific trunk or branch.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblond%2Fdepot_tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblond%2Fdepot_tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblond%2Fdepot_tools/lists"}