commit bd9dcaa826fe9d9a4628005721d871ac249536d4 from: Stefan Sperling date: Fri Jul 25 11:16:38 2025 UTC sync manual pages commit - fcb962e5de1bfd41ddbcbe7d3e47b3dabf7e5090 commit + bd9dcaa826fe9d9a4628005721d871ac249536d4 blob - 6c802d5d5ea60b0b2d1c0884bfe69fb2f979cb72 blob + 1f3770bd77ef64876a54bcd9b53296714c724c5b --- git-repository.5.html +++ git-repository.5.html @@ -115,11 +115,12 @@ at commit objects which represent the current tip commit of a branch. Because references may point to arbitrary object IDs, their use is not limited to branches.

-

The name is a UTF-8 string with the following disallowed +

The name is a non-empty UTF-8 string with the following disallowed characters: ‘ ’ (space), ~ (tilde), ^ (caret), : (colon), ? (question mark), * (asterisk), [ (opening square bracket), \ - (backslash). Additionally, the name may not contain the two-character - sequences //, .. , and @{.

+ (backslash). The name may not be the string “@”, may not begin + with a / (slash), and may not begin or end with a . (period). Additionally, + the name may not contain the two-character sequences //, .. , and @{.

Reference names may optionally have multiple components separated by the / (slash) character, forming a hierarchy of reference namespaces. Got reserves the refs/got/ reference namespace for @@ -215,7 +216,7 @@

June 27, - 2025 OpenBSD 7.7
+ line">OpenBSD 7.7 July + 25, 2025 GIT-REPOSITORY(5) blob - 2da1759ce4b54eaa24089f68ff704f0419b12ff1 blob + 86a963f559aebdd8a5c626c8d2b5347a30f00519 --- gitwrapper.1.html +++ gitwrapper.1.html @@ -142,7 +142,7 @@
June 27, - 2025 OpenBSD 7.7
+ line">OpenBSD 7.7 July + 25, 2025 GITWRAPPER(1) blob - c63646421d506146c4478981e69379ec3176ca8e blob + 7fd56808f77838fc66d009f4877cdc209300f64a --- got-worktree.5.html +++ got-worktree.5.html @@ -187,7 +187,7 @@
June 27, - 2025 OpenBSD 7.7
+ line">OpenBSD 7.7 July + 25, 2025 GOT-WORKTREE(5) blob - 472ca5f55407977863e2080d07401aaf13e2d316 blob + 53eec417076f039deed27265d02d815d106cfbee --- got.1.html +++ got.1.html @@ -3672,7 +3672,7 @@ remote "origin" {
June 27, - 2025 OpenBSD 7.7
+ line">OpenBSD 7.7 July + 25, 2025 GOT(1) blob - eb52113084adcd376d490d7ecc9cfddc66dc7ca8 blob + 8621021ac9f65c4df785285ceef4146316879c5b --- got.conf.5.html +++ got.conf.5.html @@ -325,7 +325,7 @@
June 27, - 2025 OpenBSD 7.7
+ line">OpenBSD 7.7 July + 25, 2025 GOT.CONF(5) blob - d465d72b7d246a4833192bca50ea62427d585ee3 blob + 30971138b95cfea38858c24d8212691a049edbac --- gotadmin.1.html +++ gotadmin.1.html @@ -439,7 +439,7 @@
June 27, - 2025 OpenBSD 7.7
+ line">OpenBSD 7.7 July + 25, 2025 GOTADMIN(1) blob - e64534acf004eee35601e9cfb26257b741429ec6 blob + 3aa2ab87a84c87ffe28c8e7e0bd7e6f59ca2759f --- gotctl.8.html +++ gotctl.8.html @@ -113,7 +113,7 @@
June 27, - 2025 OpenBSD 7.7
+ line">OpenBSD 7.7 July + 25, 2025 GOTCTL(8) blob - 8b552c1c7e243eaf271cf93ac04f309f5230f4a1 blob + 25c5226b2dc3fe087356ddcc878c271a294efbba --- gotd-secrets.conf.5.html +++ gotd-secrets.conf.5.html @@ -112,7 +112,7 @@ repository "openbsd/src" {
June 27, - 2025 OpenBSD 7.7
+ line">OpenBSD 7.7 July + 25, 2025 GOTD-SECRETS.CONF(5) blob - 786f3c8c3b0a1e47661d888c453d764f3df8ece9 blob + 44604ffb883efd393e19f3b3236d5ab326a44926 --- gotd.8.html +++ gotd.8.html @@ -150,7 +150,7 @@
June 27, - 2025 OpenBSD 7.7
+ line">OpenBSD 7.7 July + 25, 2025 GOTD(8) blob - dd4dfd1962951061e4e06a8bafa6ace51984d546 blob + 0f4238446d314b9b8417c70a282938d321e3541c --- gotd.conf.5.html +++ gotd.conf.5.html @@ -499,7 +499,7 @@ connection {
June 27, - 2025 OpenBSD 7.7
+ line">OpenBSD 7.7 July + 25, 2025 GOTD.CONF(5) blob - 7aad3fd6cba1d056c5d6d76189c5fe99a99ca6e2 blob + 5beebeddde3e89632dc6933452666fe0813d669d --- gotsh.1.html +++ gotsh.1.html @@ -157,7 +157,7 @@
June 27, - 2025 OpenBSD 7.7
+ line">OpenBSD 7.7 July + 25, 2025 GOTSH(1) blob - 6bc7f46f4d425a4bb90a65d0b05f10fe17530c10 blob + 48f2463a9b3b7c71afba765462670e7c3a6ffa59 --- gotsys.1.html +++ gotsys.1.html @@ -172,7 +172,7 @@
June 27, - 2025 OpenBSD 7.7
+ line">OpenBSD 7.7 July + 25, 2025 GOTSYS(1) blob - 2001b0326b57a5c90ff7c73f913629e5ef9bbc4b blob + fd0df63b4d17aded7691c86b5607523bc7a6f167 --- gotsys.conf.5.html +++ gotsys.conf.5.html @@ -182,6 +182,16 @@ configuration directives. Multiple access rules can be specified, and the last matching rule determines the action taken. If no rule matches, access to the repository is denied.

+

Reference and branch names specified in + gotsys.conf are non-empty UTF-8 strings with the + following disallowed characters: ‘ ’ (space, tab, + formfeed, newline, carriage return), ~ (tilde), ^ (caret), : (colon), ? + (question mark), * (asterisk), [ (opening square bracket), \ (backslash), + " (double quote), ´ (single quote), { (opening curly brace), } + (closing curly brace), = (equal sign), # (hash), $ (doller sign). The name + may not be the string “@”, may not begin with a / (slash), and + may not begin or end with a . (period). Additionally, the name may not + contain the two-character sequences //, .. , and @{.

The available repository configuration directives are as follows:

@@ -262,6 +272,203 @@ gotsys.conf. These namespaces are always protected and even attempts to create new references in these namespaces will always be denied.

+ +
+ {...}
+
The notify directive enables notifications about + new commits or tags added to the repository. +

The default content of email notifications looks similar to + the output of the got log -d command.

+

Notifications via HTTP require a HTTP or HTTPS server which is + accepting POST requests with or without HTTP Basic authentication. + Depending on the use case a custom server-side CGI script may be + required for the processing of notifications. HTTP notifications can + achieve functionality similar to Git's server-side post-receive hook + script by triggering arbitrary post-commit actions via the HTTP + server.

+

The notify directive expects + parameters which must be enclosed in curly braces. The available + parameters are as follows:

+
+
+ name
+
Send notifications about commits to the named branch. The + name will be looked up in the + “refs/heads/” reference namespace. This directive may be + specified multiple times to build a list of branches to send + notifications for. If neither a branch nor a + reference namespace are specified then changes + to any reference will trigger notifications.
+
+ namespace namespace
+
Send notifications about commits or tags within a reference namespace. + This directive may be specified multiple times to build a list of + namespaces to send notifications for. If neither a + branch nor a reference + namespace are specified then changes to any reference will + trigger notifications.
+
+ to recipient + [reply to responder]
+
Send notifications via email to the specified + recipient. This directive may be specified + multiple times to build a list of recipients to send notifications to. +

The recipient must be an email + address that accepts mail.

+

If a responder is specified via the + reply to directive, the + responder will be used as the Reply-to + address. Setting the Reply-to header can be useful if replies should + go to a mailing list, for example.

+
+
+ URL [user + user password + password [insecure]] + [hmac secret]
+
Send notifications via HTTP. This directive may be specified multiple + times to build a list of HTTP servers to send notifications to. +

The notification will be sent as a POST request to the + given URL, which must be a valid HTTP URL and + begin with either “http://” or + “https://”. If HTTPS is used, sending of notifications + will only succeed if no TLS errors occur.

+

The optional user and + password directives enable HTTP Basic + authentication. If used, both a user and a + password must be specified. The + password must not be an empty string. Unless + the insecure option is specified the + notification target URL must be a + “https://” URL to avoid leaking of authentication + credentials.

+

If a hmac + secret is provided, the request body will be + signed using HMAC, allowing the receiver to verify the notification + message's authenticity and integrity. The signature uses HMAC-SHA256 + and will be sent in the HTTP header + “X-Gotd-Signature”. Suitable secrets can be generated + with openssl(1) as + follows:

+

+
$ openssl rand -base64 + 32
+

The request body contains a JSON object with a + “notifications” property containing an array of + notification objects. The following notification object properties + are always present:

+
+
+
The repository name as a string.
+
+
The committer's user account as authenticated by + gotd(8) as a + string.
+
+
The notification object type as a string.
+
+

Each notification object carries additional type-specific + properties. The types and their type-specific properties are:

+
+
+
The commit notification object has the following fields. Except + where noted, all are optional. +
+
+
Boolean, indicates whether the object has all the fields set. + When several commits are batched in a single send operation, + not all of the fields are available for each commit + object.
+
+
The commit ID as string, may be abbreviated.
+
+
An object with the committer information with the following + fields: +

+
+
+
Committer's full name.
+
+
Committer's name.
+
+
Committer's mail address.
+
+
Committer's username. This is the only field guaranteed to + be set.
+
+
+
+
An object with the author information. Has the same fields as + the ‘committer’ but may be unset.
+
+
Number, representing the number of seconds since the Epoch in + UTC.
+
+
The first line of the commit message. This field is always + set.
+
+
The complete commit message, may be unset.
+
+
An object with the summarized changes, may be unset. Contains + a ‘files’ field with an array of objects + describing the changes per-file and a ‘total’ + field with the cumulative changes. The changes per-file + contains the following fields: +

+
+
+
A string describing the action, can be + “added”, “deleted”, + “modified”, “mode changed”, or + “unknown”.
+
+
The file path.
+
+
The number of lines added.
+
+
The number of lines removed.
+
+

The ‘total’ object contains two + fields: ‘added’ and ‘removed’ + which are the number of added and removed lines + respectively.

+
+
+
+
+
The branch deleted notifications has the following fields, all + guaranteed to be set: +
+
+
The removed branch reference.
+
+
The hash of the commit pointed by the deleted branch.
+
+
+
+
The tag notification has the following fields, all guaranteed to + be set: +
+
tag
+
The tag reference.
+
tagger
+
The user information, with the same format of the + ‘committer’ field for the ‘commit’ + notification but with all the field guaranteed to be set.
+
+
Number, representing the number of seconds since the Epoch in + UTC.
+
+
The object being tagged. It contains the fields + ‘type’ with the object type and + ‘id’ with the object id being tagged.
+
+
The tag message.
+
+
+
+
+
@@ -285,6 +492,8 @@ user flan_squee { repository "src" { permit rw :developers permit ro anonymous + protect branch "main" + protect tag namespace "refs/tags/" } repository "openbsd/ports" { @@ -292,11 +501,24 @@ repository "openbsd/ports" { permit ro anonymous deny flan_hacker + protect { + branch "main" + tag namespace "refs/tags/" + } + + notify { + branch "main" + reference namespace "refs/tags/" + email to openbsd-ports-changes@example.com + } } repository "secret" { permit rw flan_hacker head "refs/heads/private" + + protect branch "private" + protect tag namespace "refs/tags/" } @@ -317,7 +539,7 @@ repository "secret" {
June 27, - 2025 OpenBSD 7.7
+ line">OpenBSD 7.7 July + 25, 2025 GOTSYS.CONF(5) blob - f002ed2f7b9d74db8e3a64478e69efea213204be blob + 316a528ae39a851a0972c207d3b1a6d6404f76a0 --- gotsysctl.8.html +++ gotsysctl.8.html @@ -93,7 +93,7 @@
June 27, - 2025 OpenBSD 7.7
+ line">OpenBSD 7.7 July + 25, 2025 GOTSYSCTL(8) blob - 485471868eed2b8a4d24c6145a428a28a4d2229e blob + 0b5ee74dbc1b0192c4ccb82299f0b7f6ee4224fb --- gotsysd.8.html +++ gotsysd.8.html @@ -136,7 +136,7 @@
June 27, - 2025 OpenBSD 7.7
+ line">OpenBSD 7.7 July + 25, 2025 GOTSYSD(8) blob - 9da5aa24288edff97da79e378138dbd473ac0675 blob + f5e70c6a771396114590ab394fa3c5ff737d9a16 --- gotsysd.conf.5.html +++ gotsysd.conf.5.html @@ -195,7 +195,7 @@ uid range 5000 5999
June 27, - 2025 OpenBSD 7.7
+ line">OpenBSD 7.7 July + 25, 2025 GOTSYSD.CONF(5) blob - de1eb120419fa1dc1944ba566e4c3dcb6622811c blob + 68e69eb7f9937a4f060d47680e205984f050d2cb --- gotwebd.8.html +++ gotwebd.8.html @@ -144,7 +144,7 @@ server "example.com" {

Hosting multiple gotwebd instances on the same HTTP server under different path prefixes, with the first reached via - the default UNIX-domain socket, the second + the default Unix-domain socket, the second configured to listen on localhost port 9000:

server "example.com" {
@@ -190,7 +190,7 @@ server "example.com" {
 
 
 
June 27, - 2025 OpenBSD 7.7
+ line">OpenBSD 7.7 July + 25, 2025 GOTWEBD(8)
blob - 8a63eb7f19a089e76b07ef0894b8bb15a98b4ce8 blob + 6d0a7c00075a326f37d1b7dce6f7f31cf47d6d33 --- gotwebd.conf.5.html +++ gotwebd.conf.5.html @@ -77,7 +77,7 @@ listen on $lan_addr port 9090 listening sockets.
path
-
Configure a UNIX-domain socket for incoming +
Configure a Unix-domain socket for incoming FastCGI connections. May be specified multiple times to build up a list of listening sockets.

While the specified path must be @@ -104,7 +104,7 @@ listen on $lan_addr port 9090

If no listen directive is used, gotwebd(8) will listen on - the UNIX-domain socket at + the Unix-domain socket at /var/www/run/gotweb.sock.

@@ -242,7 +242,7 @@ server "localhost" { }

Another example, this time listening on a local port instead of - the implicit UNIX socket, and serving repositories + the implicit Unix socket, and serving repositories located outside the web server's chroot:

listen on 127.0.0.1 port 9000
@@ -265,7 +265,7 @@ server "localhost" {
 
June 27, - 2025 OpenBSD 7.7
+ line">OpenBSD 7.7 July + 25, 2025 GOTWEBD.CONF(5) blob - c38f755e74d72f7be42c57ff83ce91e6a27e71d7 blob + 65958386fba91c0ef8256d6a9e77ee18e19cef47 --- tog.1.html +++ tog.1.html @@ -887,7 +887,7 @@
June 27, - 2025 OpenBSD 7.7
+ line">OpenBSD 7.7 July + 25, 2025 TOG(1)