From 13d6588bf60f0980ffa3d178441fa707655fee95 Mon Sep 17 00:00:00 2001 From: Josip Sokcevic Date: Mon, 16 Dec 2024 22:30:07 +0000 Subject: gc: Introduce new command to remove old projects When projects are removed from manifest, they are only removed from worktree and not from .repo/projects and .repo/project-objects. Keeping data under .repo can be desired if user expects deleted projects to be restored (e.g. checking out a release branch). Android has ongoing effort to remove many stale projects and this change allows users to easily free-up their disk space. Bug: b/344018971 Bug: 40013312 Change-Id: Id23c7524a88082ee6db908f9fd69dcd5d0c4f681 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/445921 Reviewed-by: Mike Frysinger Commit-Queue: Josip Sokcevic Reviewed-by: Gavin Mak Tested-by: Josip Sokcevic --- man/repo-manifest.1 | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'man/repo-manifest.1') diff --git a/man/repo-manifest.1 b/man/repo-manifest.1 index 10ec2e75..2ee23e64 100644 --- a/man/repo-manifest.1 +++ b/man/repo-manifest.1 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man. -.TH REPO "1" "April 2024" "repo manifest" "Repo Manual" +.TH REPO "1" "December 2024" "repo manifest" "Repo Manual" .SH NAME repo \- repo manifest - manual page for repo manifest .SH SYNOPSIS @@ -192,11 +192,13 @@ CDATA #IMPLIED> + .IP + .IP @@ -495,6 +497,14 @@ project. Same syntax as the corresponding element of `project`. Attribute `upstream`: If specified, overrides the upstream of the original project. Same syntax as the corresponding element of `project`. .PP +Attribute `base\-rev`: If specified, adds a check against the revision to be +extended. Manifest parse will fail and give a list of mismatch extends if the +revisions being extended have changed since base\-rev was set. Intended for use +with layered manifests using hash revisions to prevent patch branches hiding +newer upstream revisions. Also compares named refs like branches or tags but is +misleading if branches are used as base\-rev. Same syntax as the corresponding +element of `project`. +.PP Element annotation .PP Zero or more annotation elements may be specified as children of a project or @@ -556,6 +566,14 @@ Logic otherwise behaves like both are specified. Attribute `optional`: Set to true to ignore remove\-project elements with no matching `project` element. .PP +Attribute `base\-rev`: If specified, adds a check against the revision to be +removed. Manifest parse will fail and give a list of mismatch removes if the +revisions being removed have changed since base\-rev was set. Intended for use +with layered manifests using hash revisions to prevent patch branches hiding +newer upstream revisions. Also compares named refs like branches or tags but is +misleading if branches are used as base\-rev. Same syntax as the corresponding +element of `project`. +.PP Element repo\-hooks .PP NB: See the [practical documentation](./repo\-hooks.md) for using repo hooks. -- cgit v1.2.3-54-g00ecf