commit 41ae98c905c4378d82f873038625b205a82a4557 from: Stefan Sperling date: Fri Jun 23 15:04:40 2023 UTC sync man pages commit - 42a18bd6073a452f9f9854b14a4060fa6ebbb89d commit + 41ae98c905c4378d82f873038625b205a82a4557 blob - b6d0cf4648fc1e67cdca00d64694b09da7b9625a blob + bd50835d18f682e633d6c7ce501ef60173299b56 --- git-repository.5.html +++ git-repository.5.html @@ -214,7 +214,7 @@
April 20, + line">June 23, 2023 OpenBSD 7.3
blob - 72cf8a4a1bd5fc5f35da05345e24409e03490f39 blob + 6f543586d86863a3d61c9c4ee8c80e21930538c7 --- gitwrapper.1.html +++ gitwrapper.1.html @@ -142,7 +142,7 @@
April 20, + line">June 23, 2023 OpenBSD 7.3
blob - 97b3ea57944ec573ebe4bf7f77abc9b9a312dcb4 blob + 82fa9fe4e80023c45c460b8314d7b5a35f4b0fe3 --- got-worktree.5.html +++ got-worktree.5.html @@ -186,7 +186,7 @@
April 20, + line">June 23, 2023 OpenBSD 7.3
blob - 342e86623f36b3e08ab4a10123c629117d0b8656 blob + d75d3ef41ad1b440db0637ed00d9cc850edc0854 --- got.1.html +++ got.1.html @@ -1213,6 +1213,32 @@
Schedule unversioned files in a work tree for addition to the repository in the next commit. By default, files which match a got status ignore pattern will not be added. +

If a path mentioned in the command line + is not an unversioned file then got add may + raise an error. To avoid unnecessary errors from paths picked up by file + globbing patterns in the shell, paths in the argument list will be + silently ignored if they are not reported by got + status at all, or if they are reported with one of the following + status codes and do not have changes staged via got + stage:

+ + + + + + + + + + + + + + + + + +
Mmodified file
Afile scheduled for addition in next commit
Cmodified or added file which contains merge conflicts
mmodified file modes (executable bit only)

The options for got add are as follows:

@@ -2332,15 +2358,21 @@
(alias: mg)
- Create a merge commit based on the current branch of the work tree and the - specified branch. If a linear project history is - desired, then use of got rebase should be - preferred over got merge. However, even strictly - linear projects may require merge commits in order to merge in new - versions of third-party code stored on vendor branches created with - got import. + Merge the specified branch into the current branch of + the work tree. If the branches have diverged, creates a merge commit. + Otherwise, if branch already includes all commits + from the work tree's branch, updates the work tree's branch to be the same + as branch without creating a commit, and updates the + work tree to the most recent commit on the branch. +

If a linear project history is desired, then use of + got rebase should be preferred over + got merge. However, even strictly linear + projects may require merge commits in order to merge in new versions of + third-party code stored on vendor branches created with + got import.

Merge commits are commits based on multiple parent commits. - The tip commit of the work tree's current branch, which must be set with + The tip commit of the work tree's current branch, which must be in the + “refs/heads/” reference namespace and must be set with got update -b before starting the merge operation, will be used as the first parent. The tip commit of the specified branch @@ -2399,23 +2431,23 @@ considered complete. Alternatively, the merge operation may be aborted which will leave the work tree's current branch unmodified.

got merge will refuse to run if - certain preconditions are not met. If history of the - branch is based on the work tree's current branch, - then no merge commit can be created and got - integrate may be used to integrate the - branch instead. If the work tree is not yet fully - updated to the tip commit of its branch, then the work tree must first - be updated with got update. If the work tree - contains multiple base commits, it must first be updated to a single - base commit with got update. If changes have - been staged with got stage, these changes must - first be committed with got commit or unstaged - with got unstage. If the work tree contains - local changes, these changes must first be committed with - got commit or reverted with got - revert. If the branch contains changes to - files outside of the work tree's path prefix, the work tree cannot be - used to merge this branch.

+ certain preconditions are not met. If the work tree's current branch is + not in the “refs/heads/” reference namespace then the work + tree must first be switched to a branch in the + “refs/heads/” namespace with got update + -b. If the work tree is not yet fully updated to the tip commit + of its branch, then the work tree must first be updated with + got update. If the work tree contains multiple + base commits, it must first be updated to a single base commit with + got update. If changes have been staged with + got stage, these changes must first be committed + with got commit or unstaged with + got unstage. If the work tree contains local + changes, these changes must first be committed with got + commit or reverted with got revert. If + the branch contains changes to files outside of + the work tree's path prefix, the work tree cannot be used to merge this + branch.

The got update, got commit, got rebase, got histedit, got integrate, and @@ -2725,11 +2757,15 @@

$ set -A complete_got_1 -- $(got -h 2>&1 | sed -n s/commands://p)

Clone an existing Git repository for use with - got.

+ got:

$ cd /var/git/
$ got clone ssh://git@github.com/openbsd/src.git
+

Unfortunately, many of the popular Git hosting sites do not offer + anonymous access via SSH. Such sites will require an account to be created, + and a public SSH key to be uploaded to this account, before repository + access via ssh:// URLs will work.

Use of HTTP URLs currently requires git(1):

@@ -2937,7 +2973,7 @@ such as “origin/master” instead of “refs/remotes/origin/master”. The latter is only needed in case of ambiguity.

-

got rebase must be used to merge changes +

got rebase can be used to merge changes which are visible on the “origin/master” branch into the “master” branch. This will also merge local changes, if any, with the incoming changes:

@@ -2947,8 +2983,8 @@
$ got rebase master

In order to make changes committed to the “unified-buffer-cache” visible on the “master” - branch, the “unified-buffer-cache” branch must first be - rebased onto the “master” branch:

+ branch, the “unified-buffer-cache” branch can be rebased onto + the “master” branch:

$ got update -b master
$ got rebase @@ -3055,6 +3091,15 @@ remote "origin" {
$ got update -b upstream/master
$ got rebase master
+

As an alternative to got rebase, branches + can be merged with got merge:

+

+
$ got update -b master
+
$ got merge + upstream/master
+

The question of whether to rebase or merge branches is + philosophical. When in doubt, refer to the software project's policies set + by project maintainers.

As a final step, the forked repository's copy of the master branch needs to be kept in sync by sending the new changes there:

@@ -3199,7 +3244,7 @@ remote "origin" {
April 20, + line">June 23, 2023 OpenBSD 7.3
blob - fe9ed11ac3d549da76cb5c7642587fa547b585cf blob + 18f5799c47715bf0500bcd0d513d0e0e7575dee2 --- got.conf.5.html +++ got.conf.5.html @@ -306,7 +306,7 @@
April 20, + line">June 23, 2023 OpenBSD 7.3
blob - 4a23d059f92a414037f51b32a86661ddef8d7228 blob + e8c2feee46a573054f6eff617563bdcd04a53a91 --- gotadmin.1.html +++ gotadmin.1.html @@ -211,30 +211,27 @@
(alias: cl)
- Purge unreferenced loose objects from the repository and display the amount - of disk space which has been freed as a result. + Purge unreferenced loose objects and redundant pack files 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.

+ namespace. Objects will usually become unreferenced as a result of + deleting branches, tags, or other references with got + branch -d, got ref -d, or + got fetch -X.

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.

+

Packed objects are stored in pack files under + objects/pack/.

+

If redundant copies of packed objects exist in loose form, + such redundant copies will be purged. If all the objects of a pack file + are present in other pack files, the redundant pack file will be purged. + Pack files will usually become redundant as a result of repacking the + repository with gotadmin + pack -a.

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

+ got rebase -X, got histedit + -X, or got ref -d.

+

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.

+

For compatibility with Git, if a file with the extension + .keep exists and corresponds to a pack file with + the extension .pack then this pack file will not + be removed.

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 @@ -252,10 +258,6 @@ 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:

@@ -269,8 +271,9 @@
Display the usual progress output and summary information but do not actually remove any files from disk.
-
Instead of purging unreferenced loose objects, remove any pack index - files which do not have a corresponding pack file.
+
Instead of purging unreferenced loose objects and redundant pack + files, remove any pack index files which do not have a corresponding + pack file.
Suppress progress reporting and disk space summary output.
@@ -309,6 +312,9 @@ Klemens Nanni <kn@openbsd.org>
+ Omar Polo + <op@openbsd.org> +
Ori Bernstein <ori@openbsd.org>
@@ -326,9 +332,6 @@ git(1) to perform some tasks. In particular:

    -
  • Removing redundant or unreferenced packed objects requires - git-gc(1) and perhaps - git-repack(1).
  • Exporting data from repositories requires git-fast-export(1).
  • @@ -348,7 +351,7 @@
    April 20, + line">June 23, 2023 OpenBSD 7.3
    blob - 98de60daf70bf0211eb4de815c8b4321bd332a90 blob + 386bcae5223b2c4e38cdd35073dd99fe79fe0959 --- gotctl.8.html +++ gotctl.8.html @@ -86,7 +86,7 @@
    April 20, + line">June 23, 2023 OpenBSD 7.3
    blob - 5aaa06085e17dd09aa007e2cdf30023b1eabc8e1 blob + 30ea1b068c76d54e664ee5678f7ead409cd91e8f --- gotd.8.html +++ gotd.8.html @@ -99,7 +99,7 @@
    April 20, + line">June 23, 2023 OpenBSD 7.3
    blob - dbf9aefdb261a35c90eca8455e5c8d85758d92cc blob + a645cfc8de6c6b8eb9b060ef8e0d2667ed010f29 --- gotd.conf.5.html +++ gotd.conf.5.html @@ -265,7 +265,7 @@ connection {
    April 20, + line">June 23, 2023 OpenBSD 7.3
    blob - 36aa914f9c1a4bbf3c0770c144ffb4a21a5bfa2f blob + e29c65e8b8e2442fbac4f47da912dde7a603221a --- gotsh.1.html +++ gotsh.1.html @@ -157,7 +157,7 @@
    April 20, + line">June 23, 2023 OpenBSD 7.3
    blob - 0c1b3caff6536ed2dffeb20588bcd46dadceff3e blob + ca0b468af6bd8a398dc898a3aad3d0c5d272e86e --- gotwebd.8.html +++ gotwebd.8.html @@ -185,7 +185,7 @@
    April 20, + line">June 23, 2023 OpenBSD 7.3
    blob - bfe75ff9ff6ad4959a8740ba9b446b543d495ca6 blob + 5024fa55df74189c4bfe7106bab969a59ac4b963 --- gotwebd.conf.5.html +++ gotwebd.conf.5.html @@ -88,12 +88,8 @@ listen on $lan_addr directives inside curly braces:

    server name {...}

    -

    gotwebd(8) is - compatible with TLS Server Name Indication (SNI), provided the - name of a server defined in - gotwebd.conf corresponds to the name of a server - defined in httpd.conf(5).

    +

    The first server defined is used if the requested hostname is not + matched by any server block.

    The available server configuration directives are as follows:

    @@ -223,7 +219,7 @@ server "localhost-unix" { #show_site_owner on #show_repo_owner on #show_repo_age on - #show_repo_description no + #show_repo_description on #show_repo_cloneurl on #respect_exportok off @@ -252,7 +248,7 @@ server "localhost-unix" {
    April 20, + line">June 23, 2023 OpenBSD 7.3
    blob - 068965577ee8549bba8ede7461d52eeeb9608f6a blob + bd1e3d21966e0f24888c4a18072d964f75abe455 --- tog.1.html +++ tog.1.html @@ -769,7 +769,7 @@
    April 20, + line">June 23, 2023 OpenBSD 7.3