commit 16cd1323a1652e0fb130bfd965e6f930907bd96e from: Stefan Sperling date: Mon Jul 26 09:49:50 2021 UTC sync man pages commit - aafafc3e2b185a7a5a890b77d3a55a3283cc5274 commit + 16cd1323a1652e0fb130bfd965e6f930907bd96e blob - 1a180b0a04b76c153a96b70911093bc61141c9d3 blob + 2798429e876babacc3721592a2208f90615b8299 --- git-repository.5.html +++ git-repository.5.html @@ -144,7 +144,8 @@ in the packed-refs file which contains one reference definition per line.

Any object which is not directly or indirectly reachable via a - reference is subject to deletion by Git's garbage collector.

+ reference is subject to deletion by Git's garbage collector or + gotadmin cleanup.

@@ -218,7 +219,7 @@ - +
June 22, 2021July 26, 2021 OpenBSD 6.9
blob - a1f78d7a80ae038109ddab8f812c034e39293a11 blob + 8f88f9a971c0004540365afc05bf1f03efa41558 --- got-worktree.5.html +++ got-worktree.5.html @@ -150,10 +150,10 @@

Each work tree has a universal unique identifier. When a work tree is checked out or updated, this identifier is used to create a reference to the current base commit in the Git repository. The presence of this - reference prevents Git garbage collectors from discarding the base commit - and any objects it refers to. When a work tree is no longer needed its - reference can be deleted from the Git repository with got - ref -d.

+ reference prevents the Git garbage collector and gotadmin + cleanup from discarding the base commit and any objects it refers to. + When a work tree is no longer needed its reference can be deleted from the + Git repository with got ref -d.

@@ -192,7 +192,7 @@ - +
June 22, 2021July 26, 2021 OpenBSD 6.9
blob - f415dc0e8fae12a1b7fe63fb27ae6b06be17f4fc blob + 770fb11dd8b69572909351aefb4a07dfd00e8f55 --- got.1.html +++ got.1.html @@ -271,7 +271,7 @@ repository-path] [-t] [-q] [-v] [-R reference] - [remote-repository] + [-X] [remote-repository]
Fetch new changes from a remote repository. If no remote-repository is specified, “origin” will be used. The remote repository's URL is @@ -293,8 +293,9 @@ the corresponding branches in the remote repository. If those branches contained local commits, these commits will no longer be reachable via a reference and will therefore be at risk of being discarded by Git's - garbage collector. Maintaining custom changes in a mirror repository is - therefore discouraged.

+ garbage collector or gotadmin cleanup. + Maintaining custom changes in a mirror repository is therefore + discouraged.

In any case, references in the “refs/tags/” namespace will always be fetched and mapped directly to local references in the same namespace.

@@ -322,7 +323,7 @@ present in the remote repository. Only references are deleted. Any commit, tree, tag, and blob objects belonging to deleted branches or tags remain in the repository and may be removed separately with Git's - garbage collector.
+ garbage collector or gotadmin cleanup.
List branches and tags available for fetching from the remote repository and exit immediately. Cannot be used together with any of @@ -367,6 +368,21 @@ references from the remote repository's “refs/remotes/” or “refs/got/” namespace.

+
+
+
Delete all references which correspond to a particular + remote-repository instead of fetching new + changes. This can be useful when a remote repository is being removed + from got.conf(5). +

With -X, the + remote-repository argument is mandatory and no + other options except -r, + -v, and -q are + allowed.

+

Only references are deleted. Any commit, tree, tag, and + blob objects fetched from a remote repository will generally be + stored in pack files and may be removed separately with + git-repack(1) and Git's garbage collector.

@@ -910,8 +926,9 @@
Delete the reference with the specified name from the repository. Any commit, tree, tag, and blob objects belonging to deleted references remain in the repository and may be removed - separately with Git's garbage collector. Cannot be used together with - any other options except -r.
+ separately with Git's garbage collector or gotadmin + cleanup. Cannot be used together with any other options except + -r.
@@ -1006,7 +1023,8 @@
Delete the branch with the specified name from the repository. Only the branch reference is deleted. Any commit, tree, and blob objects belonging to the branch remain in the repository and may be removed - separately with Git's garbage collector.
+ separately with Git's garbage collector or gotadmin + cleanup.
Do not switch and update the work tree after creating a new branch.
@@ -1070,7 +1088,8 @@ [-R] [-I] path ...
Schedule unversioned files in a work tree for addition to the repository - in the next commit. + in the next commit. By default, files which match a got + status ignore pattern will not be added.

The options for got add are as follows:

@@ -1079,8 +1098,8 @@ got add will refuse to run if a specified path is a directory.
-
With -R, add files even if they match a got - status ignore pattern.
+
Add files even if they match a got status + ignore pattern.
@@ -1368,7 +1387,8 @@
Short alias for backout.
[-a] [-c] - [-l] [branch]
+ [-l] [-X] + [branch]
Rebase commits on the specified branch onto the tip of the current branch of the work tree. The branch must share common ancestry with the work tree's current branch. Rebasing @@ -1399,7 +1419,8 @@ commits will remain in the repository and can be viewed with the got rebase -l command. Removal of these references makes objects which become unreachable via any reference - subject to removal by Git's garbage collector.

+ subject to removal by Git's garbage collector or + gotadmin cleanup.

While rebasing commits, show the status of each affected file, using the following status codes:

@@ -1488,6 +1509,22 @@ does not require a work tree. None of the other options can be used together with -l.

+
+
Delete backups created by past rebase operations, represented by + references in the “refs/got/backup/rebase” reference + namespace. +

If a branch is specified, only + delete backups which at some point in time represented this branch. + Otherwise, delete all references found within + “refs/got/backup/rebase”.

+

Any commit, tree, tag, and blob objects belonging to + deleted backups remain in the repository and may be removed + separately with Git's garbage collector or gotadmin + cleanup.

+

If this option is used, got rebase + does not require a work tree. None of the other options can be used + together with -X.

+
@@ -1496,7 +1533,8 @@ [-a] [-c] [-f] [-Fhistedit-script] [-m] - [-l] [branch] + [-l] [-X] + [branch]
Edit commit history between the work tree's current base commit and the tip commit of the work tree's current branch.

Before starting a histedit operation @@ -1560,7 +1598,8 @@ edited commits will remain in the repository and can be viewed with the got histedit -l command. Removal of these references makes objects which become unreachable via any reference - subject to removal by Git's garbage collector.

+ subject to removal by Git's garbage collector or + gotadmin cleanup.

While merging commits, show the status of each affected file, using the following status codes:

@@ -1668,6 +1707,22 @@

If this option is used, got histedit does not require a work tree. None of the other options can be used together with -l.

+ +
+
Delete backups created by past histedit operations, represented by + references in the “refs/got/backup/histedit” reference + namespace. +

If a branch is specified, only + delete backups which at some point in time represented this branch. + Otherwise, delete all references found within + “refs/got/backup/histedit”.

+

Any commit, tree, tag, and blob objects belonging to + deleted backups remain in the repository and may be removed + separately with Git's garbage collector or gotadmin + cleanup.

+

If this option is used, got + histedit does not require a work tree. None of the other + options can be used together with -X.

@@ -2263,14 +2318,6 @@ git-clone(1) and git-fetch(1).
  • Writing to remote repositories, over any protocol, requires git-push(1).
  • -
  • Packing repositories, which reduces disk space consumption and improves - read-access performance, requires git-repack(1).
  • -
  • Exporting data from repositories requires - git-fast-export(1).
  • -
  • Importing data into repositories requires - git-fast-import(1).
  • -
  • Reducing the size of repositories by removing redundant or unreferenced - data requires git-gc(1).
  • The creation of merge commits, i.e. commits with two or more parent commits, requires git-merge(1).
  • In situations where files or directories were moved around @@ -2282,7 +2329,7 @@
  • - +
    June 22, 2021July 26, 2021 OpenBSD 6.9
    blob - 61b389fdde6641905dfe674f8ca24479ecbed957 blob + cfb12a5769afa1275f9ee0baf2367881df6cddf6 --- gotadmin.1.html +++ gotadmin.1.html @@ -180,6 +180,74 @@
    Short alias for listpack.
    +
    + [-p] [-n] + [-r repository-path] + [-q]
    +
    Purge unreferenced loose objects from the repository and display the + amount of disk space which has been freed as a result. +

    Unreferenced objects are present in the repository but cannot + be reached via any reference in the entire refs/ + namespace.

    +

    Loose objects are stored as individual files beneath the + repository's objects/ directory, spread across + 256 sub-directories named after the 256 possible hexadecimal values of + the first byte of an object identifier.

    +

    Packed objects stored in pack files under + objects/pack/ will not be purged. However, if + redundant copies of packed objects exist in loose form, such redundant + copies will be purged.

    +

    Objects will usually become unreferenced as a result of + deleting branches or tags with got branch -d or + got tag -d. Deleting arbitrary references with + got ref -d may also leave unreferenced objects + behind.

    +

    In order to determine the set of objects which are referenced, + search all references for commit objects and tag objects, and traverse + the corresponding tree object hierarchies. Any loose object IDs not + encountered during this search are unreferenced and thus subject to + removal. Display the number of commits which have been searched to + indicate progress.

    +

    References in the refs/got namespace + may prevent objects from being purged. This includes references in the + refs/got/worktree namespace created by + got checkout and got + update, as well as references in the + refs/got/backup namespace created by + got rebase and got + histedit. gotadmin cleanup will only + purge corresponding objects once such references have been deleted with + got ref -d.

    +

    Some Git repositories contain pack index files which lack a + corresponding pack file, which is an inconsistent repository state. In + such cases, gotadmin cleanup -p -n will display + a list of affected pack index files. Whenever possible the missing pack + files should be restored. If restoring missing pack files is not + possible then affected pack index files can be removed with + gotadmin cleanup -p.

    +

    The “preciousObjects” Git extension is intended + to prevent the removal of objects from a repository. + gotadmin cleanup will refuse to operate on + repositories where this extension is active.

    +

    The options for gotadmin cleanup are + as follows:

    +
    +
    +
    Instead of purging unreferenced loose objects, remove any pack index + files which do not have a corresponding pack file.
    +
    +
    Display the usual progress output and summary information but do not + actually remove any files from disk.
    +
    + repository-path
    +
    Use the repository at the specified path. If not specified, assume the + repository is located at or above the current working directory.
    +
    +
    Suppress progress reporting and disk space summary output.
    +
    +
    +
    +
    Short alias for cleanup.
    @@ -202,10 +270,34 @@ Ori Bernstein <ori@openbsd.org>

    +
    +

    +

    gotadmin is a work-in-progress and some + features remain to be implemented.

    +

    At present, the user has to fall back on git(1) + to perform some tasks. In particular:

    + +
    +
    +

    +

    Disk space savings reported by gotadmin + cleanup will be misleading if the repository contains object files + that were hard-linked from another repository. Such hard-links will be + created by certain git(1) commands. By itself, + got(1) will never create hard-linked object files.

    +
    - +
    June 22, 2021July 26, 2021 OpenBSD 6.9
    blob - 84b29ee2ea53756f4983e7a100dbff9a7685e2a1 blob + 011f90f4a88440f68a85d0f2428b898b0ebdef3d --- gotweb.8.html +++ gotweb.8.html @@ -155,7 +155,7 @@ - +
    June 22, 2021July 26, 2021 OpenBSD 6.9
    blob - fb2b53a4939dd860ed41037cec5881fe461d84e4 blob + 50baea2dddb65793188e253e507b1ba17c7a4079 --- gotweb.conf.5.html +++ gotweb.conf.5.html @@ -171,7 +171,7 @@ got_logo_url "https://gameoftrees.org" - +
    June 22, 2021July 26, 2021 OpenBSD 6.9
    blob - a3f53e55bb15eef14e2a9411ef8f3016f961d1b4 blob + c3ef08b221c1861f7e0bdd3c95cf3d9ef2a7f707 --- tog.1.html +++ tog.1.html @@ -561,7 +561,7 @@ - +
    June 22, 2021July 26, 2021 OpenBSD 6.9