commit 827a167b34401bd6541b199377e4e6c68d643151 from: Josiah Frentsos via: Stefan Sperling date: Tue Aug 16 09:10:42 2022 UTC Group options in accordance with style(9) patch by Josiah Frentsos commit - ace4e41cf157fb25a0b4924a7d9490ced58e12a1 commit + 827a167b34401bd6541b199377e4e6c68d643151 blob - 119947954209ae33b3144c11757b93ae8a30a06a blob + 08f2e27e6f1dc270bf76d6c95bca6a920b1921d8 --- got/got.1 +++ got/got.1 @@ -63,7 +63,7 @@ The commands for 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 @@ -103,6 +103,14 @@ instead of creating the default branch 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 @@ -114,17 +122,9 @@ opens a temporary file in an editor where a log messag 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 @@ -268,16 +268,6 @@ Suppress progress reporting output. 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 @@ -305,9 +295,19 @@ will refuse to fetch references from the remote reposi 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 @@ -397,33 +397,11 @@ Cannot be used together with any of the other options .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 @@ -455,6 +433,28 @@ will refuse to fetch references from the remote reposi 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 @@ -480,7 +480,7 @@ will generally be stored in pack files and may be remo 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: @@ -502,11 +502,6 @@ The options for .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 . @@ -536,6 +531,11 @@ before .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 @@ -545,7 +545,7 @@ will be checked out. 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 . @@ -643,7 +643,7 @@ branch will be used. 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: @@ -689,8 +689,8 @@ are as follows: .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. @@ -698,10 +698,10 @@ Any combination of codes from the above list of possib 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. @@ -709,7 +709,7 @@ Any combination of codes from the above list of possib 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 @@ -745,7 +745,7 @@ does not support negated ignore patterns prefixed with 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 @@ -766,6 +766,10 @@ from other branches. 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 . @@ -775,10 +779,6 @@ An abbreviated hash argument will be expanded to a ful 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, @@ -786,14 +786,6 @@ which is treated as an unbounded limit. 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: @@ -807,14 +799,24 @@ 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 @@ -828,16 +830,14 @@ File paths changed by a commit will be matched if 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 @@ -847,7 +847,7 @@ This option has no effect if the specified 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. @@ -874,9 +874,12 @@ are as follows: .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. @@ -897,9 +900,13 @@ arguments are provided, only show differences for the 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 @@ -914,13 +921,6 @@ instead of showing local changes in the work tree. 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 @@ -949,7 +949,7 @@ If this directory is a 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. @@ -981,6 +981,10 @@ The expected argument is a commit ID SHA1 hash or an e 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 @@ -988,12 +992,8 @@ working directory. 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. @@ -1006,13 +1006,28 @@ The options for .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 @@ -1027,24 +1042,13 @@ Cannot be used together with any other options except .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 @@ -1056,19 +1060,15 @@ Care should be taken not to create loops between refer 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 @@ -1125,13 +1125,20 @@ The expected .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 @@ -1144,6 +1151,15 @@ with one the following annotations: .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. @@ -1155,24 +1171,8 @@ regardless. 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 @@ -1205,6 +1205,12 @@ argument is a commit ID SHA1 hash or an existing refer 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 @@ -1219,12 +1225,6 @@ working directory. 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 . @@ -1243,12 +1243,6 @@ command, using the signature namespace .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 @@ -1266,6 +1260,12 @@ A path to the 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 @@ -1276,7 +1276,7 @@ If a tag must be deleted, 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 @@ -1287,6 +1287,10 @@ The options for .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, @@ -1294,13 +1298,9 @@ 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. @@ -1337,7 +1337,7 @@ option) .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 @@ -1458,7 +1458,7 @@ will be recognized and stripped automatically. 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 @@ -1477,6 +1477,17 @@ The options for .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 @@ -1489,17 +1500,6 @@ 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, @@ -1509,7 +1509,7 @@ will refuse to run if a 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. @@ -1644,7 +1644,7 @@ If a path is found to be out of date, 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 @@ -1771,6 +1771,11 @@ copy of a branch or tag is known to be out-of-date and 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 @@ -1778,6 +1783,18 @@ working directory. 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 @@ -1801,24 +1818,7 @@ instead of overwriting an existing 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 @@ -1917,7 +1917,7 @@ to a single base commit with 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 @@ -2118,7 +2118,7 @@ None of the other options can be used together with .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. @@ -2301,6 +2301,11 @@ The .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 @@ -2309,19 +2314,6 @@ The .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 @@ -2355,6 +2347,14 @@ If this option is used, 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 @@ -2431,7 +2431,7 @@ committed with 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 @@ -2557,7 +2557,7 @@ Alternatively, the merge may be aborted with .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 @@ -2604,6 +2604,17 @@ The options for .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. @@ -2623,17 +2634,6 @@ If a file is in modified status, individual patches de 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. @@ -2696,18 +2696,6 @@ The options for .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 @@ -2719,8 +2707,20 @@ and 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 @@ -2752,6 +2752,10 @@ The expected argument is a commit ID SHA1 hash or an e 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 @@ -2759,10 +2763,6 @@ working directory. 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 @@ -347,8 +347,8 @@ apply_unveil(const char *repo_path, int repo_read_only __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); } @@ -987,8 +987,8 @@ done: __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); } @@ -2035,9 +2035,8 @@ done: __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); } @@ -2733,8 +2732,8 @@ done: __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); } @@ -3219,9 +3218,8 @@ print_merge_progress_stats(struct got_update_progress_ __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); } @@ -4356,9 +4354,9 @@ done: __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); } @@ -4631,9 +4629,9 @@ done: __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); } @@ -5683,9 +5681,8 @@ done: __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); } @@ -5984,8 +5981,8 @@ done: __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); } @@ -6149,10 +6146,8 @@ done: __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); } @@ -6442,9 +6437,8 @@ done: __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); } @@ -6887,10 +6881,8 @@ done: __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); } @@ -7546,8 +7538,7 @@ done: __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); } @@ -7685,8 +7676,8 @@ done: __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); } @@ -7852,8 +7843,8 @@ done: __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); } @@ -8070,8 +8061,8 @@ done: __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); } @@ -8348,8 +8339,8 @@ done: __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); } @@ -8695,9 +8686,9 @@ done: __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); } @@ -9482,8 +9473,7 @@ done: __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); } @@ -10457,9 +10447,8 @@ done: __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); } @@ -12016,8 +12005,7 @@ done: __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); } @@ -12293,9 +12281,8 @@ done: __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); } @@ -12458,8 +12445,7 @@ __dead static void usage_unstage(void) { fprintf(stderr, "usage: %s unstage [-p] [-F response-script] " - "[file-path ...]\n", - getprogname()); + "[path ...]\n", getprogname()); exit(1); } @@ -12581,8 +12567,8 @@ done: __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 @@ -83,7 +83,7 @@ If this directory is a .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. @@ -111,6 +111,8 @@ are as follows: 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 @@ -133,8 +135,6 @@ option may be specified multiple times to build a list 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 @@ -164,7 +164,7 @@ The filename of the corresponding pack index is equiva 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 . @@ -201,7 +201,7 @@ This includes the total number of objects stored in th 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. @@ -286,12 +286,14 @@ modification timestamp are kept on disk to prevent rac 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 @@ -299,8 +301,6 @@ working directory. 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 @@ -445,9 +445,8 @@ done: __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); } @@ -925,7 +924,7 @@ done: __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); } @@ -1116,8 +1115,8 @@ done: __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 @@ -251,7 +251,7 @@ If this directory is a .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 @@ -3746,8 +3746,8 @@ __dead static void 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 @@ -15,7 +15,7 @@ # 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=