commit - ace4e41cf157fb25a0b4924a7d9490ced58e12a1
commit + 827a167b34401bd6541b199377e4e6c68d643151
blob - 119947954209ae33b3144c11757b93ae8a30a06a
blob + 08f2e27e6f1dc270bf76d6c95bca6a920b1921d8
--- got/got.1
+++ got/got.1
are as follows:
.Bl -tag -width checkout
.Tg im
-.It Cm import Oo Fl b Ar branch Oc Oo Fl m Ar message Oc Oo Fl r Ar repository-path Oc Oo Fl I Ar pattern Oc Ar directory
+.It Cm import Oo Fl b Ar branch Oc Oo Fl I Ar pattern Oc Oo Fl m Ar message Oc Oo Fl r Ar repository-path Oc Ar directory
.Dl Pq alias: Cm im
Create an initial commit in a repository from the file hierarchy
within the specified
Use of this option is required if the
.Dq main
branch already exists.
+.It Fl I Ar pattern
+Ignore files or directories with a name which matches the specified
+.Ar pattern .
+This option may be specified multiple times to build a list of ignore patterns.
+The
+.Ar pattern
+follows the globbing rules documented in
+.Xr glob 7 .
.It Fl m Ar message
Use the specified log message when creating the new commit.
Without the
Use the repository at the specified path.
If not specified, assume the repository is located at or above the current
working directory.
-.It Fl I Ar pattern
-Ignore files or directories with a name which matches the specified
-.Ar pattern .
-This option may be specified multiple times to build a list of ignore patterns.
-The
-.Ar pattern
-follows the globbing rules documented in
-.Xr glob 7 .
.El
.Tg cl
-.It Cm clone Oo Fl a Oc Oo Fl b Ar branch Oc Oo Fl l Oc Oo Fl m Oc Oo Fl q Oc Oo Fl v Oc Oo Fl R Ar reference Oc Ar repository-URL Op Ar directory
+.It Cm clone Oo Fl almqv Oc Oo Fl b Ar branch Oc Oo Fl R Ar reference Oc Ar repository-URL Op Ar directory
.Dl Pq alias: Cm cl
Clone a Git repository at the specified
.Ar repository-URL
The same option will be passed to
.Xr ssh 1
if applicable.
-.It Fl v
-Verbose mode.
-Causes
-.Cm got clone
-to print debugging messages to standard error output.
-This option will be passed to
-.Xr ssh 1
-if applicable.
-Multiple -v options increase the verbosity.
-The maximum is 3.
.It Fl R Ar reference
In addition to the branches and tags that will be fetched, fetch an arbitrary
.Ar reference
or
.Dq refs/got/
namespace.
+.It Fl v
+Verbose mode.
+Causes
+.Cm got clone
+to print debugging messages to standard error output.
+This option will be passed to
+.Xr ssh 1
+if applicable.
+Multiple -v options increase the verbosity.
+The maximum is 3.
.El
.Tg fe
-.It Cm fetch Oo Fl a Oc Oo Fl b Ar branch Oc Oo Fl d Oc Oo Fl l Oc Oo Fl r Ar repository-path Oc Oo Fl t Oc Oo Fl q Oc Oo Fl v Oc Oo Fl R Ar reference Oc Oo Fl X Oc Op Ar remote-repository
+.It Cm fetch Oo Fl adlqtvX Oc Oo Fl b Ar branch Oc Oo Fl R Ar reference Oc Oo Fl r Ar repository-path Oc Op Ar remote-repository
.Dl Pq alias: Cm fe
Fetch new changes from a remote repository.
If no
.Fl q ,
and
.Fl r .
-.It Fl t
-Allow existing references in the
-.Dq refs/tags
-namespace to be updated if they have changed on the server.
-If not specified, only new tag references will be created.
-.It Fl r Ar repository-path
-Use the repository at the specified path.
-If not specified, assume the repository is located at or above the current
-working directory.
-If this directory is a
-.Nm
-work tree, use the repository path associated with this work tree.
.It Fl q
Suppress progress reporting output.
The same option will be passed to
.Xr ssh 1
if applicable.
-.It Fl v
-Verbose mode.
-Causes
-.Cm got fetch
-to print debugging messages to standard error output.
-The same option will be passed to
-.Xr ssh 1
-if applicable.
-Multiple -v options increase the verbosity.
-The maximum is 3.
.It Fl R Ar reference
In addition to the branches and tags that will be fetched, fetch an arbitrary
.Ar reference
or
.Dq refs/got/
namespace.
+.It Fl r Ar repository-path
+Use the repository at the specified path.
+If not specified, assume the repository is located at or above the current
+working directory.
+If this directory is a
+.Nm
+work tree, use the repository path associated with this work tree.
+.It Fl t
+Allow existing references in the
+.Dq refs/tags
+namespace to be updated if they have changed on the server.
+If not specified, only new tag references will be created.
+.It Fl v
+Verbose mode.
+Causes
+.Cm got fetch
+to print debugging messages to standard error output.
+The same option will be passed to
+.Xr ssh 1
+if applicable.
+Multiple -v options increase the verbosity.
+The maximum is 3.
.It Fl X
Delete all references which correspond to a particular
.Ar remote-repository
and Git's garbage collector.
.El
.Tg co
-.It Cm checkout Oo Fl E Oc Oo Fl b Ar branch Oc Oo Fl c Ar commit Oc Oo Fl p Ar path-prefix Oc Oo Fl q Oc Ar repository-path Op Ar work-tree-path
+.It Cm checkout Oo Fl Eq Oc Oo Fl b Ar branch Oc Oo Fl c Ar commit Oc Oo Fl p Ar path-prefix Oc Ar repository-path Op Ar work-tree-path
.Dl Pq alias: Cm co
Copy files from a repository into a new work tree.
Show the status of each affected file, using the following status codes:
.Cm got checkout
are as follows:
.Bl -tag -width Ds
-.It Fl E
-Proceed with the checkout operation even if the directory at
-.Ar work-tree-path
-is not empty.
-Existing files will be left intact.
.It Fl b Ar branch
Check out files from a commit on the specified
.Ar branch .
.Cm got checkout
can be used.
Checking out work trees with an unknown branch is intentionally not supported.
+.It Fl E
+Proceed with the checkout operation even if the directory at
+.Ar work-tree-path
+is not empty.
+Existing files will be left intact.
.It Fl p Ar path-prefix
Restrict the work tree to a subset of the repository's tree hierarchy.
Only files beneath the specified
Silence progress output.
.El
.Tg up
-.It Cm update Oo Fl b Ar branch Oc Oo Fl c Ar commit Oc Oo Fl q Oc Op Ar path ...
+.It Cm update Oo Fl q Oc Oo Fl b Ar branch Oc Oo Fl c Ar commit Oc Op Ar path ...
.Dl Pq alias: Cm up
Update an existing work tree to a different
.Ar commit .
Silence progress output.
.El
.Tg st
-.It Cm status Oo Fl I Oc Oo Fl s Ar status-codes Oc Oo Fl S Ar status-codes Oc Op Ar path ...
+.It Cm status Oo Fl I Oc Oo Fl S Ar status-codes Oc Oo Fl s Ar status-codes Oc Op Ar path ...
.Dl Pq alias: Cm st
Show the current modification status of files in a work tree,
using the following status codes:
.Bl -tag -width Ds
.It Fl I
Show unversioned files even if they match an ignore pattern.
-.It Fl s Ar status-codes
-Only show files with a modification status matching any of the
+.It Fl S Ar status-codes
+Suppress the output of files with a modification status matching any of the
single-character status codes contained in the
.Ar status-codes
argument.
may be specified.
For staged files, status codes displayed in either column will be matched.
Cannot be used together with the
-.Fl S
+.Fl s
option.
-.It Fl S Ar status-codes
-Suppress the output of files with a modification status matching any of the
+.It Fl s Ar status-codes
+Only show files with a modification status matching any of the
single-character status codes contained in the
.Ar status-codes
argument.
may be specified.
For staged files, status codes displayed in either column will be matched.
Cannot be used together with the
-.Fl s
+.Fl S
option.
.El
.Pp
and gives no special significance to the location of path component separators,
.Dq / ,
in a pattern.
-.It Cm log Oo Fl b Oc Oo Fl c Ar commit Oc Oo Fl C Ar number Oc Oo Fl l Ar N Oc Oo Fl p Oc Oo Fl P Oc Oo Fl s Oc Oo Fl S Ar search-pattern Oc Oo Fl r Ar repository-path Oc Oo Fl R Oc Oo Fl x Ar commit Oc Op Ar path
+.It Cm log Oo Fl bPpRs Oc Oo Fl C Ar number Oc Oo Fl c Ar commit Oc Oo Fl l Ar N Oc Oo Fl r Ar repository-path Oc Oo Fl S Ar search-pattern Oc Oo Fl x Ar commit Oc Op Ar path
Display history of a repository.
If a
.Ar path
By default,
.Cm got log
shows the linear history of the current branch only.
+.It Fl C Ar number
+Set the number of context lines shown in diffs with
+.Fl p .
+By default, 3 lines of context are shown.
.It Fl c Ar commit
Start traversing history at the specified
.Ar commit .
automatically, provided the abbreviation is unique.
If this option is not specified, default to the work tree's current branch
if invoked in a work tree, or to the repository's HEAD reference.
-.It Fl C Ar number
-Set the number of context lines shown in diffs with
-.Fl p .
-By default, 3 lines of context are shown.
.It Fl l Ar N
Limit history traversal to a given number of commits.
If this option is not specified, a default limit value of zero is used,
The
.Ev GOT_LOG_DEFAULT_LIMIT
environment variable may be set to change this default value.
-.It Fl p
-Display the patch of modifications made in each commit.
-If a
-.Ar path
-is specified, only show the patch of modifications at or within this path.
-Cannot be used with the
-.Fl s
-option.
.It Fl P
Display the list of file paths changed in each commit, using the following
status codes:
Cannot be used with the
.Fl s
option.
-.It Fl s
-Display a short one-line summary of each commit, instead of the default
-history format.
-Cannot be used together with the
-.Fl p
-or
-.Fl P
+.It Fl p
+Display the patch of modifications made in each commit.
+If a
+.Ar path
+is specified, only show the patch of modifications at or within this path.
+Cannot be used with the
+.Fl s
option.
+.It Fl R
+Determine a set of commits to display as usual, but display these commits
+in reverse order.
+.It Fl r Ar repository-path
+Use the repository at the specified path.
+If not specified, assume the repository is located at or above the current
+working directory.
+If this directory is a
+.Nm
+work tree, use the repository path associated with this work tree.
.It Fl S Ar search-pattern
If specified, show only commits with a log message, author name,
committer name, or ID SHA1 hash matched by the extended regular
is specified.
Regular expression syntax is documented in
.Xr re_format 7 .
-.It Fl r Ar repository-path
-Use the repository at the specified path.
-If not specified, assume the repository is located at or above the current
-working directory.
-If this directory is a
-.Nm
-work tree, use the repository path associated with this work tree.
-.It Fl R
-Determine a set of commits to display as usual, but display these commits
-in reverse order.
+.It Fl s
+Display a short one-line summary of each commit, instead of the default
+history format.
+Cannot be used together with the
+.Fl p
+or
+.Fl P
+option.
.It Fl x Ar commit
Stop traversing commit history immediately after the specified
.Ar commit
is never traversed.
.El
.Tg di
-.It Cm diff Oo Fl a Oc Oo Fl c Ar commit Oc Oo Fl C Ar number Oc Oo Fl r Ar repository-path Oc Oo Fl s Oc Oo Fl P Oc Oo Fl w Oc Op Ar object1 Ar object2 | Ar path ...
+.It Cm diff Oo Fl aPsw Oc Oo Fl C Ar number Oc Oo Fl c Ar commit Oc Oo Fl r Ar repository-path Oc Op Ar object1 Ar object2 | Ar path ...
.Dl Pq alias: Cm di
When invoked within a work tree without any arguments, display all
local changes in the work tree.
.Bl -tag -width Ds
.It Fl a
Treat file contents as ASCII text even if binary data is detected.
+.It Fl C Ar number
+Set the number of context lines shown in the diff.
+By default, 3 lines of context are shown.
.It Fl c Ar commit
Show differences between commits in the repository.
-This options may be used up to two times.
+This option may be used up to two times.
When used only once, show differences between the specified
.Ar commit
and its first parent commit.
Cannot be used together with the
.Fl P
option.
-.It Fl C Ar number
-Set the number of context lines shown in the diff.
-By default, 3 lines of context are shown.
+.It Fl P
+Interpret all arguments as paths only.
+This option can be used to resolve ambiguity in cases where paths
+look like tag names, reference names, or object IDs.
+This option is only valid when
+.Cm got diff
+is invoked in a work tree.
.It Fl r Ar repository-path
Use the repository at the specified path.
If not specified, assume the repository is located at or above the current
This option is only valid when
.Cm got diff
is invoked in a work tree.
-.It Fl P
-Interpret all arguments as paths only.
-This option can be used to resolve ambiguity in cases where paths
-look like tag names, reference names, or object IDs.
-This option is only valid when
-.Cm got diff
-is invoked in a work tree.
.It Fl w
Ignore whitespace-only changes.
.El
work tree, use the repository path associated with this work tree.
.El
.Tg tr
-.It Cm tree Oo Fl c Ar commit Oc Oo Fl r Ar repository-path Oc Oo Fl i Oc Oo Fl R Oc Op Ar path
+.It Cm tree Oo Fl iR Oc Oo Fl c Ar commit Oc Oo Fl r Ar repository-path Oc Op Ar path
.Dl Pq alias: Cm tr
Display a listing of files and directories at the specified
directory path in the repository.
or tag name which will be resolved to a commit ID.
An abbreviated hash argument will be expanded to a full SHA1 hash
automatically, provided the abbreviation is unique.
+.It Fl i
+Show object IDs of files (blob objects) and directories (tree objects).
+.It Fl R
+Recurse into sub-directories in the repository.
.It Fl r Ar repository-path
Use the repository at the specified path.
If not specified, assume the repository is located at or above the current
If this directory is a
.Nm
work tree, use the repository path associated with this work tree.
-.It Fl i
-Show object IDs of files (blob objects) and directories (tree objects).
-.It Fl R
-Recurse into sub-directories in the repository.
.El
-.It Cm ref Oo Fl r Ar repository-path Oc Oo Fl l Oc Oo Fl t Oc Oo Fl c Ar object Oc Oo Fl s Ar reference Oc Oo Fl d Oc Op Ar name
+.It Cm ref Oo Fl dlt Oc Oo Fl c Ar object Oc Oo Fl r Ar repository-path Oc Oo Fl s Ar reference Oc Op Ar name
Manage references in a repository.
.Pp
References may be listed, created, deleted, and changed.
.Cm got ref
are as follows:
.Bl -tag -width Ds
-.It Fl r Ar repository-path
-Use the repository at the specified path.
-If not specified, assume the repository is located at or above the current
-working directory.
-If this directory is a
-.Nm
-work tree, use the repository path associated with this work tree.
+.It Fl c Ar object
+Create a reference or change an existing reference.
+The reference with the specified
+.Ar name
+will point at the specified
+.Ar object .
+The expected
+.Ar object
+argument is a ID SHA1 hash or an existing reference or tag name which will
+be resolved to the ID of a corresponding commit, tree, tag, or blob object.
+Cannot be used together with any other options except
+.Fl r .
+.It Fl d
+Delete the reference with the specified
+.Ar 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 or
+.Cm gotadmin cleanup .
+Cannot be used together with any other options except
+.Fl r .
.It Fl l
List references in the repository.
If no
.Fl r
and
.Fl t .
-.It Fl t
-Sort listed references by modification time (most recently modified first)
-instead of sorting by lexicographical order.
-Use of this option requires the
-.Fl l
-option to be used as well.
-.It Fl c Ar object
-Create a reference or change an existing reference.
-The reference with the specified
-.Ar name
-will point at the specified
-.Ar object .
-The expected
-.Ar object
-argument is a ID SHA1 hash or an existing reference or tag name which will
-be resolved to the ID of a corresponding commit, tree, tag, or blob object.
-Cannot be used together with any other options except
-.Fl r .
+.It Fl r Ar repository-path
+Use the repository at the specified path.
+If not specified, assume the repository is located at or above the current
+working directory.
+If this directory is a
+.Nm
+work tree, use the repository path associated with this work tree.
.It Fl s Ar reference
Create a symbolic reference, or change an existing symbolic reference.
The symbolic reference with the specified
this option is used.
Cannot be used together with any other options except
.Fl r .
-.It Fl d
-Delete the reference with the specified
-.Ar 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 or
-.Cm gotadmin cleanup .
-Cannot be used together with any other options except
-.Fl r .
+.It Fl t
+Sort listed references by modification time (most recently modified first)
+instead of sorting by lexicographical order.
+Use of this option requires the
+.Fl l
+option to be used as well.
.El
.Tg br
-.It Cm branch Oo Fl c Ar commit Oc Oo Fl r Ar repository-path Oc Oo Fl l Oc Oo Fl t Oc Oo Fl d Ar name Oc Oo Fl n Oc Op Ar name
+.It Cm branch Oo Fl lnt Oc Oo Fl c Ar commit Oc Oo Fl d Ar name Oc Oo Fl r Ar repository-path Oc Op Ar name
.Dl Pq alias: Cm br
Create, list, or delete branches.
.Pp
.Ar commit
argument is a commit ID SHA1 hash or an existing reference
or tag name which will be resolved to a commit ID.
-.It Fl r Ar repository-path
-Use the repository at the specified path.
-If not specified, assume the repository is located at or above the current
-working directory.
-If this directory is a
-.Nm
-work tree, use the repository path associated with this work tree.
+.It Fl d Ar name
+Delete the branch with the specified
+.Ar name
+from the
+.Dq refs/heads
+or
+.Dq refs/remotes
+reference namespace.
+.Pp
+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 or
+.Cm gotadmin cleanup .
.It Fl l
List all existing branches in the repository, including copies of remote
repositories' branches in the
.It * Ta work tree's base commit matches the branch tip
.It \(a~ Ta work tree's base commit is out-of-date
.El
+.It Fl n
+Do not switch and update the work tree after creating a new branch.
+.It Fl r Ar repository-path
+Use the repository at the specified path.
+If not specified, assume the repository is located at or above the current
+working directory.
+If this directory is a
+.Nm
+work tree, use the repository path associated with this work tree.
.It Fl t
Sort listed branches by modification time (most recently modified first)
instead of sorting by lexicographical order.
Use of this option requires the
.Fl l
option to be used as well.
-.It Fl d Ar name
-Delete the branch with the specified
-.Ar name
-from the
-.Dq refs/heads
-or
-.Dq refs/remotes
-reference namespace.
-.Pp
-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 or
-.Cm gotadmin cleanup .
-.It Fl n
-Do not switch and update the work tree after creating a new branch.
.El
-.It Cm tag Oo Fl c Ar commit Oc Oo Fl m Ar message Oc Oo Fl r Ar repository-path Oc Oo Fl l Oc Oo Fl s Ar signer-id Oc Oo Fl v Oc Oo Fl V Oc Ar name
+.It Cm tag Oo Fl lVv Oc Oo Fl c Ar commit Oc Oo Fl m Ar message Oc Oo Fl r Ar repository-path Oc Oo Fl s Ar signer-id Oc Ar name
Manage tags in a repository.
.Pp
Tags are managed via references which live in the
will be resolved to a commit ID.
An abbreviated hash argument will be expanded to a full SHA1 hash
automatically, provided the abbreviation is unique.
+.It Fl l
+List all existing tags in the repository instead of creating a new tag.
+If a
+.Ar name
+argument is passed, show only the tag with the given
+.Ar name .
.It Fl m Ar message
Use the specified tag message when creating the new tag.
Without the
If this directory is a
.Nm
work tree, use the repository path associated with this work tree.
-.It Fl l
-List all existing tags in the repository instead of creating a new tag.
-If a
-.Ar name
-argument is passed, show only the tag with the given
-.Ar name .
.It Fl s Ar signer-id
While creating a new tag, sign this tag with the identity given in
.Ar signer-id .
.Dq git
for compatibility with
.Xr git 1 .
-.It Fl v
-Verbose mode.
-During SSH signature creation and verification this option will be passed to
-.Xr ssh-keygen 1 .
-Multiple -v options increase the verbosity.
-The maximum is 3.
.It Fl V
Verify tag object signatures.
If a
file must be set in
.Xr got.conf 5 ,
otherwise verification is impossible.
+.It Fl v
+Verbose mode.
+During SSH signature creation and verification this option will be passed to
+.Xr ssh-keygen 1 .
+Multiple -v options increase the verbosity.
+The maximum is 3.
.El
.Pp
By design, the
command may be used to delete a tag's reference.
This should only be done if the tag has not already been copied to
another repository.
-.It Cm add Oo Fl R Oc Oo Fl I Oc Ar path ...
+.It Cm add Oo Fl IR Oc Ar path ...
Schedule unversioned files in a work tree for addition to the
repository in the next commit.
By default, files which match a
.Cm got add
are as follows:
.Bl -tag -width Ds
+.It Fl I
+Add files even if they match a
+.Cm got status
+ignore pattern.
.It Fl R
Permit recursion into directories.
If this option is not specified,
will refuse to run if a specified
.Ar path
is a directory.
-.It Fl I
-Add files even if they match a
-.Cm got status
-ignore pattern.
.El
.Tg rm
-.It Cm remove Oo Fl f Oc Oo Fl k Oc Oo Fl R Oc Oo Fl s Ar status-codes Oc Ar path ...
+.It Cm remove Oo Fl fkR Oc Oo Fl s Ar status-codes Oc Ar path ...
.Dl Pq alias: Cm rm
Remove versioned files from a work tree and schedule them for deletion
from the repository in the next commit.
.El
.El
.Tg pa
-.It Cm patch Oo Fl c Ar commit Oc Oo Fl n Oc Oo Fl p Ar strip-count Oc Oo Fl R Oc Op Ar patchfile
+.It Cm patch Oo Fl nR Oc Oo Fl c Ar commit Oc Oo Fl p Ar strip-count Oc Op Ar patchfile
.Dl Pq alias: Cm pa
Apply changes from
.Ar patchfile
Reverse the patch before applying it.
.El
.Tg rv
-.It Cm revert Oo Fl p Oc Oo Fl F Ar response-script Oc Oo Fl R Oc Ar path ...
+.It Cm revert Oo Fl pR Oc Oo Fl F Ar response-script Oc Ar path ...
.Dl Pq alias: Cm rv
Revert any local changes in files at the specified paths in a work tree.
File contents will be overwritten with those contained in the
.Cm got revert
are as follows:
.Bl -tag -width Ds
+.It Fl F Ar response-script
+With the
+.Fl p
+option, read
+.Dq y ,
+.Dq n ,
+and
+.Dq q
+responses line-by-line from the specified
+.Ar response-script
+file instead of prompting interactively.
.It Fl p
Instead of reverting all changes in files, interactively select or reject
changes to revert based on
If a file is in modified status, individual patches derived from the
modified file content can be reverted.
Files in added or deleted status may only be reverted in their entirety.
-.It Fl F Ar response-script
-With the
-.Fl p
-option, read
-.Dq y ,
-.Dq n ,
-and
-.Dq q
-responses line-by-line from the specified
-.Ar response-script
-file instead of prompting interactively.
.It Fl R
Permit recursion into directories.
If this option is not specified,
is a directory.
.El
.Tg ci
-.It Cm commit Oo Fl A Ar author Oc Oo Fl F Ar path Oc Oo Fl m Ar message Oc Oo Fl N Oc Oo Fl S Oc Op Ar path ...
+.It Cm commit Oo Fl NS Oc Oo Fl A Ar author Oc Oo Fl F Ar path Oc Oo Fl m Ar message Oc Op Ar path ...
.Dl Pq alias: Cm ci
Create a new commit in the repository from changes in a work tree
and use this commit as the new base commit for the work tree.
must be used first in order to merge local changes with changes made
in the repository.
.Tg se
-.It Cm send Oo Fl a Oc Oo Fl b Ar branch Oc Oo Fl d Ar branch Oc Oo Fl f Oc Oo Fl r Ar repository-path Oc Oo Fl t Ar tag Oc Oo Fl T Oc Oo Fl q Oc Oo Fl v Oc Op Ar remote-repository
+.It Cm send Oo Fl afqTv Oc Oo Fl b Ar branch Oc Oo Fl d Ar branch Oc Oo Fl r Ar repository-path Oc Oo Fl t Ar tag Oc Op Ar remote-repository
.Dl Pq alias: Cm se
Send new changes to a remote repository.
If no
disposable.
The risks of creating inconsistencies between different repositories
should also be taken into account.
+.It Fl q
+Suppress progress reporting output.
+The same option will be passed to
+.Xr ssh 1
+if applicable.
.It Fl r Ar repository-path
Use the repository at the specified path.
If not specified, assume the repository is located at or above the current
If this directory is a
.Nm
work tree, use the repository path associated with this work tree.
+.It Fl T
+Attempt to send all tags from the local repository's
+.Dq refs/tags/
+reference namespace.
+The
+.Fl T
+option is equivalent to listing all tags with multiple
+.Fl t
+options.
+Cannot be used together with the
+.Fl t
+option.
.It Fl t Ar tag
Send the specified
.Ar tag
.Pp
Cannot be used together with the
.Fl T
-option.
-.It Fl T
-Attempt to send all tags from the local repository's
-.Dq refs/tags/
-reference namespace.
-The
-.Fl T
-option is equivalent to listing all tags with multiple
-.Fl t
-options.
-Cannot be used together with the
-.Fl t
option.
-.It Fl q
-Suppress progress reporting output.
-The same option will be passed to
-.Xr ssh 1
-if applicable.
.It Fl v
Verbose mode.
Causes
If any relevant files already contain merge conflicts, these
conflicts must be resolved first.
.Tg rb
-.It Cm rebase Oo Fl a Oc Oo Fl c Oc Oo Fl l Oc Oo Fl X Oc Op Ar branch
+.It Cm rebase Oo Fl aclX Oc Op Ar branch
.Dl Pq alias: Cm rb
Rebase commits on the specified
.Ar branch
.Fl X .
.El
.Tg he
-.It Cm histedit Oo Fl a Oc Oo Fl c Oc Oo Fl e Oc Oo Fl f Oc Oo Fl F Ar histedit-script Oc Oo Fl m Oc Oo Fl l Oc Oo Fl X Oc Op Ar branch
+.It Cm histedit Oo Fl aceflmX Oc Oo Fl F Ar histedit-script Oc Op Ar branch
.Dl Pq alias: Cm he
Edit commit history between the work tree's current base commit and
the tip commit of the work tree's current branch.
.Fl e
option can only be used when starting a new histedit operation.
If this option is used, no other command-line arguments are allowed.
+.It Fl F Ar histedit-script
+Use the specified
+.Ar histedit-script
+instead of opening a temporary file in an editor where a histedit script
+can be written.
.It Fl f
Fold all commits into a single commit.
This option is a quick equivalent to a histedit script which folds all
.Fl f
option can only be used when starting a new histedit operation.
If this option is used, no other command-line arguments are allowed.
-.It Fl F Ar histedit-script
-Use the specified
-.Ar histedit-script
-instead of opening a temporary file in an editor where a histedit script
-can be written.
-.It Fl m
-Edit log messages only.
-This option is a quick equivalent to a histedit script which edits
-only log messages but otherwise leaves every picked commit as-is.
-The
-.Fl m
-option can only be used when starting a new histedit operation.
-If this option is used, no other command-line arguments are allowed.
.It Fl l
Show a list of past histedit operations, represented by references in the
.Dq refs/got/backup/histedit
does not require a work tree.
None of the other options can be used together with
.Fl l .
+.It Fl m
+Edit log messages only.
+This option is a quick equivalent to a histedit script which edits
+only log messages but otherwise leaves every picked commit as-is.
+The
+.Fl m
+option can only be used when starting a new histedit operation.
+If this option is used, no other command-line arguments are allowed.
.It Fl X
Delete backups created by past histedit operations, represented by references
in the
or reverted with
.Cm got revert .
.Tg mg
-.It Cm merge Oo Fl a Oc Oo Fl c Oc Oo Fl n Oc Op Ar branch
+.It Cm merge Oo Fl acn Oc Op Ar branch
.Dl Pq alias: Cm mg
Create a merge commit based on the current branch of the work tree and
the specified
.Cm got merge -a .
.El
.Tg sg
-.It Cm stage Oo Fl l Oc Oo Fl p Oc Oo Fl F Ar response-script Oc Oo Fl S Oc Op Ar path ...
+.It Cm stage Oo Fl lpS Oc Oo Fl F Ar response-script Oc Op Ar path ...
.Dl Pq alias: Cm sg
Stage local changes for inclusion in the next commit.
If no
.Cm got stage
are as follows:
.Bl -tag -width Ds
+.It Fl F Ar response-script
+With the
+.Fl p
+option, read
+.Dq y ,
+.Dq n ,
+and
+.Dq q
+responses line-by-line from the specified
+.Ar response-script
+file instead of prompting interactively.
.It Fl l
Instead of staging new changes, list paths which are already staged,
along with the IDs of staged blob objects and stage status codes.
modified file content can be staged.
Files in added or deleted status may only be staged or rejected in
their entirety.
-.It Fl F Ar response-script
-With the
-.Fl p
-option, read
-.Dq y ,
-.Dq n ,
-and
-.Dq q
-responses line-by-line from the specified
-.Ar response-script
-file instead of prompting interactively.
.It Fl S
Allow staging of symbolic links which point outside of the path space
that is under version control.
.Cm got unstage
are as follows:
.Bl -tag -width Ds
-.It Fl p
-Instead of unstaging the entire content of a changed file, interactively
-select or reject changes for unstaging based on
-.Dq y
-(unstage change),
-.Dq n
-(keep change staged), and
-.Dq q
-(quit unstaging this file) responses.
-If a file is staged in modified status, individual patches derived from the
-staged file content can be unstaged.
-Files staged in added or deleted status may only be unstaged in their entirety.
.It Fl F Ar response-script
With the
.Fl p
responses line-by-line from the specified
.Ar response-script
file instead of prompting interactively.
+.It Fl p
+Instead of unstaging the entire content of a changed file, interactively
+select or reject changes for unstaging based on
+.Dq y
+(unstage change),
+.Dq n
+(keep change staged), and
+.Dq q
+(quit unstaging this file) responses.
+If a file is staged in modified status, individual patches derived from the
+staged file content can be unstaged.
+Files staged in added or deleted status may only be unstaged in their entirety.
.El
-.It Cm cat Oo Fl c Ar commit Oc Oo Fl r Ar repository-path Oc Oo Fl P Oc Ar arg ...
+.It Cm cat Oo Fl P Oc Oo Fl c Ar commit Oc Oo Fl r Ar repository-path Oc Ar arg ...
Parse and print contents of objects to standard output in a line-based
text format.
Content of commit, tree, and tag objects is printed in a way similar
or tag name which will be resolved to a commit ID.
An abbreviated hash argument will be expanded to a full SHA1 hash
automatically, provided the abbreviation is unique.
+.It Fl P
+Interpret all arguments as paths only.
+This option can be used to resolve ambiguity in cases where paths
+look like tag names, reference names, or object IDs.
.It Fl r Ar repository-path
Use the repository at the specified path.
If not specified, assume the repository is located at or above the current
If this directory is a
.Nm
work tree, use the repository path associated with this work tree.
-.It Fl P
-Interpret all arguments as paths only.
-This option can be used to resolve ambiguity in cases where paths
-look like tag names, reference names, or object IDs.
.El
.It Cm info Op Ar path ...
Display meta-data stored in a work tree.
blob - 2d6c882fd2177fc9f0eb55c1384272d072e6e163
blob + eef8f6da182a48139985e84999b8606a6f412d73
--- got/got.c
+++ got/got.c
__dead static void
usage_import(void)
{
- fprintf(stderr, "usage: %s import [-b branch] [-m message] "
- "[-r repository-path] [-I pattern] path\n", getprogname());
+ fprintf(stderr, "usage: %s import [-b branch] [-I pattern] [-m message] "
+ "[-r repository-path] directory\n", getprogname());
exit(1);
}
__dead static void
usage_clone(void)
{
- fprintf(stderr, "usage: %s clone [-a] [-b branch] [-l] [-m] [-q] [-v] "
- "[-R reference] repository-url [directory]\n", getprogname());
+ fprintf(stderr, "usage: %s clone [-almqv] [-b branch] [-R reference] "
+ "repository-URL [directory]\n", getprogname());
exit(1);
}
__dead static void
usage_fetch(void)
{
- fprintf(stderr, "usage: %s fetch [-a] [-b branch] [-d] [-l] "
- "[-r repository-path] [-t] [-q] [-v] [-R reference] [-X] "
- "[remote-repository-name]\n",
+ fprintf(stderr, "usage: %s fetch [-adlqtvX] [-b branch] "
+ "[-R reference] [-r repository-path] [remote-repository]\n",
getprogname());
exit(1);
}
__dead static void
usage_checkout(void)
{
- fprintf(stderr, "usage: %s checkout [-E] [-b branch] [-c commit] "
- "[-p prefix] [-q] repository-path [worktree-path]\n",
+ fprintf(stderr, "usage: %s checkout [-Eq] [-b branch] [-c commit] "
+ "[-p path-prefix] repository-path [work-tree-path]\n",
getprogname());
exit(1);
}
__dead static void
usage_update(void)
{
- fprintf(stderr, "usage: %s update [-b branch] [-c commit] [-q] "
- "[path ...]\n",
- getprogname());
+ fprintf(stderr, "usage: %s update [-q] [-b branch] [-c commit] "
+ "[path ...]\n", getprogname());
exit(1);
}
__dead static void
usage_log(void)
{
- fprintf(stderr, "usage: %s log [-b] [-p] [-P] [-s] [-c commit] "
- "[-C number] [ -l N ] [-x commit] [-S search-pattern] "
- "[-r repository-path] [-R] [path]\n", getprogname());
+ fprintf(stderr, "usage: %s log [-bPpRs] [-C number] [-c commit] [-l N] "
+ "[-r repository-path] [-S search-pattern] [-x commit] [path]\n",
+ getprogname());
exit(1);
}
__dead static void
usage_diff(void)
{
- fprintf(stderr, "usage: %s diff [-a] [-c commit] [-C number] "
- "[-r repository-path] [-s] [-w] [-P] "
- "[object1 object2 | path ...]\n", getprogname());
+ fprintf(stderr, "usage: %s diff [-aPsw] [-C number] [-c commit] "
+ "[-r repository-path] [object1 object2 | path ...]\n",
+ getprogname());
exit(1);
}
__dead static void
usage_tree(void)
{
- fprintf(stderr,
- "usage: %s tree [-c commit] [-r repository-path] [-iR] [path]\n",
- getprogname());
+ fprintf(stderr, "usage: %s tree [-iR] [-c commit] [-r repository-path] "
+ "[path]\n", getprogname());
exit(1);
}
__dead static void
usage_status(void)
{
- fprintf(stderr, "usage: %s status [-I] [-s status-codes ] "
- "[-S status-codes] [path ...]\n", getprogname());
+ fprintf(stderr, "usage: %s status [-I] [-S status-codes] "
+ "[-s status-codes] [path ...]\n", getprogname());
exit(1);
}
__dead static void
usage_ref(void)
{
- fprintf(stderr,
- "usage: %s ref [-r repository] [-l] [-t] [-c object] "
- "[-s reference] [-d] [name]\n",
- getprogname());
+ fprintf(stderr, "usage: %s ref [-dlt] [-c object] [-r repository-path] "
+ "[-s reference] [name]\n", getprogname());
exit(1);
}
__dead static void
usage_branch(void)
{
- fprintf(stderr,
- "usage: %s branch [-c commit] [-d] [-r repository] [-l] [-t] "
- "[-n] [name]\n", getprogname());
+ fprintf(stderr, "usage: %s branch [-lnt] [-c commit] [-d name] "
+ "[-r repository-path] [name]\n", getprogname());
exit(1);
}
__dead static void
usage_tag(void)
{
- fprintf(stderr,
- "usage: %s tag [-c commit] [-r repository] [-l] "
- "[-m message] [-s signer-id] [-v] [-V] name\n",
- getprogname());
+ fprintf(stderr, "usage: %s tag [-lVv] [-c commit] [-m message] "
+ "[-r repository-path] [-s signer-id] name\n", getprogname());
exit(1);
}
__dead static void
usage_add(void)
{
- fprintf(stderr, "usage: %s add [-R] [-I] path ...\n",
- getprogname());
+ fprintf(stderr, "usage: %s add [-IR] path ...\n", getprogname());
exit(1);
}
__dead static void
usage_remove(void)
{
- fprintf(stderr, "usage: %s remove [-f] [-k] [-R] [-s status-codes] "
- "path ...\n", getprogname());
+ fprintf(stderr, "usage: %s remove [-fkR] [-s status-codes] path ...\n",
+ getprogname());
exit(1);
}
__dead static void
usage_patch(void)
{
- fprintf(stderr, "usage: %s patch [-c commit] [-n] [-p strip-count] "
- "[-R] [patchfile]\n", getprogname());
+ fprintf(stderr, "usage: %s patch [-nR] [-c commit] [-p strip-count] "
+ "[patchfile]\n", getprogname());
exit(1);
}
__dead static void
usage_revert(void)
{
- fprintf(stderr, "usage: %s revert [-p] [-F response-script] [-R] "
- "path ...\n", getprogname());
+ fprintf(stderr, "usage: %s revert [-pR] [-F response-script] path ...\n",
+ getprogname());
exit(1);
}
__dead static void
usage_commit(void)
{
- fprintf(stderr, "usage: %s commit [-A author] [-F path] [-m msg] "
- "[-N] [-S] [path ...]\n", getprogname());
+ fprintf(stderr, "usage: %s commit [-NS] [-A author] [-F path] "
+ "[-m message] [path ...]\n", getprogname());
exit(1);
}
__dead static void
usage_send(void)
{
- fprintf(stderr, "usage: %s send [-a] [-b branch] [-d branch] [-f] "
- "[-r repository-path] [-t tag] [-T] [-q] [-v] "
- "[remote-repository]\n", getprogname());
+ fprintf(stderr, "usage: %s send [-afqTv] [-b branch] [-d branch] "
+ "[-r repository-path] [-t tag] [remote-repository]\n",
+ getprogname());
exit(1);
}
__dead static void
usage_rebase(void)
{
- fprintf(stderr, "usage: %s rebase [-a] [-c] [-l] [-X] [branch]\n",
- getprogname());
+ fprintf(stderr, "usage: %s rebase [-aclX] [branch]\n", getprogname());
exit(1);
}
__dead static void
usage_histedit(void)
{
- fprintf(stderr, "usage: %s histedit [-a] [-c] [-e] [-f] "
- "[-F histedit-script] [-m] [-l] [-X] [branch]\n",
- getprogname());
+ fprintf(stderr, "usage: %s histedit [-aceflmX] [-F histedit-script] "
+ "[branch]\n", getprogname());
exit(1);
}
__dead static void
usage_merge(void)
{
- fprintf(stderr, "usage: %s merge [-a] [-c] [-n] [branch]\n",
- getprogname());
+ fprintf(stderr, "usage: %s merge [-acn] [branch]\n", getprogname());
exit(1);
}
__dead static void
usage_stage(void)
{
- fprintf(stderr, "usage: %s stage [-l] | [-p] [-F response-script] "
- "[-S] [file-path ...]\n",
- getprogname());
+ fprintf(stderr, "usage: %s stage [-lpS] [-F response-script] "
+ "[path ...]\n", getprogname());
exit(1);
}
usage_unstage(void)
{
fprintf(stderr, "usage: %s unstage [-p] [-F response-script] "
- "[file-path ...]\n",
- getprogname());
+ "[path ...]\n", getprogname());
exit(1);
}
__dead static void
usage_cat(void)
{
- fprintf(stderr, "usage: %s cat [-r repository ] [ -c commit ] [ -P ] "
- "arg1 [arg2 ...]\n", getprogname());
+ fprintf(stderr, "usage: %s cat [-P] [-c commit] [-r repository-path] "
+ "arg ...\n", getprogname());
exit(1);
}
blob - 6205dfc5bd0505463ccfca983492ba58b3ac92fe
blob + 0f970bf8e42b6329fb4b1718ff50f3d637eb442f
--- gotadmin/gotadmin.1
+++ gotadmin/gotadmin.1
.Xr got 1
work tree, use the repository path associated with this work tree.
.El
-.It Cm pack Oo Fl a Oc Oo Fl r Ar repository-path Oc Oo Fl x Ar reference Oc Oo Fl q Oc Op Ar reference ...
+.It Cm pack Oo Fl aq Oc Oo Fl r Ar repository-path Oc Oo Fl x Ar reference Oc Op Ar reference ...
Generate a new pack file and a corresponding pack file index.
By default, add any loose objects which are reachable via any references
to the generated pack file.
Add objects to the generated pack file even if they are already packed
in a different pack file.
Unless this option is specified, only loose objects will be added.
+.It Fl q
+Suppress progress reporting output.
.It Fl r Ar repository-path
Use the repository at the specified path.
If not specified, assume the repository is located at or above the current
Exclusion takes precedence over inclusion.
If a reference appears in both the included and excluded lists, it will
be excluded.
-.It Fl q
-Suppress progress reporting output.
.El
.Tg ix
.It Cm indexpack Ar packfile-path
that it ends in
.Pa .idx .
.Tg ls
-.It Cm listpack Oo Fl h Oc Oo Fl s Oc Ar packfile-path
+.It Cm listpack Oo Fl hs Oc Ar packfile-path
.Dl Pq alias: Cm ls
List the contents of the pack file at
.Ar packfile-path .
and a break-down of the number of objects per object type.
.El
.Tg cl
-.It Cm cleanup Oo Fl a Oc Oo Fl p Oc Oo Fl n Oc Oo Fl r Ar repository-path Oc Oo Fl q Oc
+.It Cm cleanup Oo Fl anpq Oc Op Fl r Ar repository-path
.Dl Pq alias: Cm cl
Purge unreferenced loose objects from the repository and display
the amount of disk space which has been freed as a result.
with other commands that add new objects to the repository while
.Cm gotadmin cleanup
is running.
-.It Fl p
-Instead of purging unreferenced loose objects, remove any pack index files
-which do not have a corresponding pack file.
.It Fl n
Display the usual progress output and summary information but do not actually
remove any files from disk.
+.It Fl p
+Instead of purging unreferenced loose objects, remove any pack index files
+which do not have a corresponding pack file.
+.It Fl q
+Suppress progress reporting and disk space summary output.
.It Fl r Ar repository-path
Use the repository at the specified path.
If not specified, assume the repository is located at or above the current
If this directory is a
.Xr got 1
work tree, use the repository path associated with this work tree.
-.It Fl q
-Suppress progress reporting and disk space summary output.
.El
.El
.Sh EXIT STATUS
blob - f4d2b3013d6751cf1612acb25b8552e3910f05f5
blob + cc47823cd2100f2565e4172a84472e2fb5ffd7bd
--- gotadmin/gotadmin.c
+++ gotadmin/gotadmin.c
__dead static void
usage_pack(void)
{
- fprintf(stderr, "usage: %s pack [-a] [-r repository-path] "
- "[-x reference] [-q] [reference ...]\n",
- getprogname());
+ fprintf(stderr, "usage: %s pack [-aq] [-r repository-path] "
+ "[-x reference] [reference ...]\n", getprogname());
exit(1);
}
__dead static void
usage_listpack(void)
{
- fprintf(stderr, "usage: %s listpack [-h] [-s] packfile-path\n",
+ fprintf(stderr, "usage: %s listpack [-hs] packfile-path\n",
getprogname());
exit(1);
}
__dead static void
usage_cleanup(void)
{
- fprintf(stderr, "usage: %s cleanup [-a] [-p] [-n] [-r repository-path] "
- "[-q]\n", getprogname());
+ fprintf(stderr, "usage: %s cleanup [-anpq] [-r repository-path]\n",
+ getprogname());
exit(1);
}
blob - 7675eb02809eb3f2eb24a7b6e4066ffaefbc42bc
blob + cbd5233dd61d780f245c5bcb24d95b030a5a7676
--- tog/tog.1
+++ tog/tog.1
.Xr got 1
work tree, use the repository path associated with this work tree.
.El
-.It Cm diff Oo Fl a Oc Oo Fl C Ar number Oc Oo Fl r Ar repository-path Oc Oo Fl w Oc Ar object1 Ar object2
+.It Cm diff Oo Fl aw Oc Oo Fl C Ar number Oc Oo Fl r Ar repository-path Oc Ar object1 Ar object2
Display the differences between two objects in the repository.
Treat each of the two arguments as a reference, a tag name, or an object
ID SHA1 hash, and display differences between the corresponding objects.
blob - 65fe22564e7665a2c9a872b7e1e868b9ed62f0ae
blob + 6ec8b5f0c155fafe55ee2aab0653d259876e6254
--- tog/tog.c
+++ tog/tog.c
usage_diff(void)
{
endwin();
- fprintf(stderr, "usage: %s diff [-a] [-C number] [-r repository-path] "
- "[-w] object1 object2\n", getprogname());
+ fprintf(stderr, "usage: %s diff [-aw] [-C number] [-r repository-path] "
+ "object1 object2\n", getprogname());
exit(1);
}
blob - a5005ad659010203a4298da2234c9e75f1cc7197
blob + d39141fb12a51b418ec658816ffb680669c89938
--- util/got-build-regress.sh
+++ util/got-build-regress.sh
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
prog=`basename $0`
-usage="$prog [-b branch] [-f] [-w worktree ] [ -r from-address ] [-R testroot] email-address [email-address ...]"
+usage="$prog [-f] [-b branch] [-R testroot] [-r from-address] [-w worktree] email-address ..."
branch=main
worktree=$HOME/got
fromaddr_arg=