Remove unnecessary formatting
This commit is contained in:
parent
444622a658
commit
4f6b0f09cd
1 changed files with 104 additions and 190 deletions
294
yadm.1
294
yadm.1
|
@ -59,29 +59,20 @@ list
|
||||||
|
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
|
|
||||||
.B yadm
|
yadm is a tool for managing a collection of files across multiple computers,
|
||||||
is a tool for managing a collection of files across multiple computers,
|
|
||||||
using a shared Git repository.
|
using a shared Git repository.
|
||||||
In addition,
|
In addition, yadm provides a feature to select alternate versions of files for
|
||||||
.B yadm
|
particular systems.
|
||||||
provides a feature to select alternate versions of files for particular
|
Lastly, yadm supplies the ability to manage a subset of secure files, which are
|
||||||
systems.
|
|
||||||
Lastly,
|
|
||||||
.B yadm
|
|
||||||
supplies the ability to manage a subset of secure files, which are
|
|
||||||
encrypted before they are included in the repository.
|
encrypted before they are included in the repository.
|
||||||
|
|
||||||
.SH COMMANDS
|
.SH COMMANDS
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
.IR git-command " or " git-alias
|
.IR git-command " or " git-alias
|
||||||
Any command not internally handled by
|
Any command not internally handled by yadm is passed through to
|
||||||
.B yadm
|
|
||||||
is passed through to
|
|
||||||
.BR git (1).
|
.BR git (1).
|
||||||
Git commands or aliases are invoked with the
|
Git commands or aliases are invoked with the yadm managed repository.
|
||||||
.B yadm
|
|
||||||
managed repository.
|
|
||||||
The working directory for Git commands will be the configured
|
The working directory for Git commands will be the configured
|
||||||
.IR work-tree " (usually
|
.IR work-tree " (usually
|
||||||
.IR $HOME ).
|
.IR $HOME ).
|
||||||
|
@ -104,10 +95,8 @@ command (see below).
|
||||||
.B alt
|
.B alt
|
||||||
Create symbolic links and process templates for any managed files matching the
|
Create symbolic links and process templates for any managed files matching the
|
||||||
naming rules described in the ALTERNATES and TEMPLATES sections. It is usually
|
naming rules described in the ALTERNATES and TEMPLATES sections. It is usually
|
||||||
unnecessary to run this command, as
|
unnecessary to run this command, as yadm automatically processes alternates by
|
||||||
.B yadm
|
default. This automatic behavior can be disabled by setting the configuration
|
||||||
automatically processes alternates by default.
|
|
||||||
This automatic behavior can be disabled by setting the configuration
|
|
||||||
.I yadm.auto-alt
|
.I yadm.auto-alt
|
||||||
to "false".
|
to "false".
|
||||||
.TP
|
.TP
|
||||||
|
@ -155,21 +144,17 @@ will be used as the
|
||||||
.IR work-tree ,
|
.IR work-tree ,
|
||||||
but this can be overridden with the
|
but this can be overridden with the
|
||||||
.BR -w " option.
|
.BR -w " option.
|
||||||
.B yadm
|
yadm can be forced to overwrite an existing repository by providing the
|
||||||
can be forced to overwrite an existing repository by providing the
|
|
||||||
.BR -f " option.
|
.BR -f " option.
|
||||||
By default
|
By default yadm will ask the user if the bootstrap program should be run (if it
|
||||||
.B yadm
|
exists). The options
|
||||||
will ask the user if the bootstrap program should be run (if it exists). The
|
|
||||||
options
|
|
||||||
.BR --bootstrap " or " --no-bootstrap
|
.BR --bootstrap " or " --no-bootstrap
|
||||||
will either force the bootstrap to be run, or prevent it from being run,
|
will either force the bootstrap to be run, or prevent it from being run,
|
||||||
without prompting the user.
|
without prompting the user.
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B config
|
.B config
|
||||||
This command manages configurations for
|
This command manages configurations for yadm.
|
||||||
.BR yadm .
|
|
||||||
This command works exactly they way
|
This command works exactly they way
|
||||||
.BR git-config (1)
|
.BR git-config (1)
|
||||||
does.
|
does.
|
||||||
|
@ -193,11 +178,9 @@ See the ENCRYPTION section for more details.
|
||||||
.B enter
|
.B enter
|
||||||
Run a sub-shell with all Git variables set. Exit the sub-shell the same way you
|
Run a sub-shell with all Git variables set. Exit the sub-shell the same way you
|
||||||
leave your normal shell (usually with the "exit" command). This sub-shell can
|
leave your normal shell (usually with the "exit" command). This sub-shell can
|
||||||
be used to easily interact with your
|
be used to easily interact with your yadm repository using "git" commands. This
|
||||||
.B yadm
|
could be useful if you are using a tool which uses Git directly. For example,
|
||||||
repository using "git" commands. This could be useful if you are using a tool
|
Emacs Tramp and Magit can manage files by using this configuration:
|
||||||
which uses Git directly. For example, Emacs Tramp and Magit can manage files by
|
|
||||||
using this configuration:
|
|
||||||
.RS
|
.RS
|
||||||
(add-to-list 'tramp-methods
|
(add-to-list 'tramp-methods
|
||||||
'("yadm"
|
'("yadm"
|
||||||
|
@ -210,17 +193,16 @@ using this configuration:
|
||||||
.B gitconfig
|
.B gitconfig
|
||||||
Pass options to the
|
Pass options to the
|
||||||
.B git config
|
.B git config
|
||||||
command. Since
|
command. Since yadm already uses the
|
||||||
.B yadm
|
|
||||||
already uses the
|
|
||||||
.I config
|
.I config
|
||||||
command to manage its own configurations,
|
command to manage its own configurations,
|
||||||
this command is provided as a way to change configurations of the repository managed by
|
this command is provided as a way to change configurations of the repository
|
||||||
.BR yadm .
|
managed by yadm.
|
||||||
One useful case might be to configure the repository so untracked files are shown in status commands.
|
One useful case might be to configure the repository so untracked files are
|
||||||
.B yadm
|
shown in status commands. yadm initially configures its repository so that
|
||||||
initially configures its repository so that untracked files are not shown.
|
untracked files are not shown.
|
||||||
If you wish use the default Git behavior (to show untracked files and directories), you can remove this configuration.
|
If you wish use the default Git behavior (to show untracked files and
|
||||||
|
directories), you can remove this configuration.
|
||||||
|
|
||||||
.RS
|
.RS
|
||||||
.RS
|
.RS
|
||||||
|
@ -229,8 +211,7 @@ yadm gitconfig --unset status.showUntrackedFiles
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B help
|
.B help
|
||||||
Print a summary of
|
Print a summary of yadm commands.
|
||||||
.BR yadm " commands.
|
|
||||||
.TP
|
.TP
|
||||||
.B init
|
.B init
|
||||||
Initialize a new, empty repository for tracking dotfiles.
|
Initialize a new, empty repository for tracking dotfiles.
|
||||||
|
@ -242,21 +223,17 @@ will be used as the
|
||||||
.IR work-tree ,
|
.IR work-tree ,
|
||||||
but this can be overridden with the
|
but this can be overridden with the
|
||||||
.BR -w " option.
|
.BR -w " option.
|
||||||
.B yadm
|
yadm can be forced to overwrite an existing repository by providing the
|
||||||
can be forced to overwrite an existing repository by providing the
|
|
||||||
.BR -f " option.
|
.BR -f " option.
|
||||||
.TP
|
.TP
|
||||||
.B list
|
.B list
|
||||||
Print a list of files managed by
|
Print a list of files managed by yadm.
|
||||||
.BR yadm .
|
|
||||||
.RB The " -a
|
.RB The " -a
|
||||||
option will cause all managed files to be listed.
|
option will cause all managed files to be listed.
|
||||||
Otherwise, the list will only include files from the current directory or below.
|
Otherwise, the list will only include files from the current directory or below.
|
||||||
.TP
|
.TP
|
||||||
.BI introspect " category
|
.BI introspect " category
|
||||||
Report internal
|
Report internal yadm data. Supported categories are
|
||||||
.B yadm
|
|
||||||
data. Supported categories are
|
|
||||||
.IR commands ,
|
.IR commands ,
|
||||||
.IR configs ,
|
.IR configs ,
|
||||||
.IR repo,
|
.IR repo,
|
||||||
|
@ -266,50 +243,42 @@ The purpose of introspection is to support command line completion.
|
||||||
.TP
|
.TP
|
||||||
.B perms
|
.B perms
|
||||||
Update permissions as described in the PERMISSIONS section.
|
Update permissions as described in the PERMISSIONS section.
|
||||||
It is usually unnecessary to run this command, as
|
It is usually unnecessary to run this command, as yadm automatically processes
|
||||||
.B yadm
|
permissions by default. This automatic behavior can be disabled by setting the
|
||||||
automatically processes permissions by default.
|
configuration
|
||||||
This automatic behavior can be disabled by setting the configuration
|
|
||||||
.I yadm.auto-perms
|
.I yadm.auto-perms
|
||||||
to "false".
|
to "false".
|
||||||
.TP
|
.TP
|
||||||
.B version
|
.B version
|
||||||
Print the version of
|
Print the version of yadm.
|
||||||
.BR yadm .
|
|
||||||
|
|
||||||
.SH COMPATIBILITY
|
.SH COMPATIBILITY
|
||||||
|
|
||||||
Beginning with version 2.0.0,
|
Beginning with version 2.0.0, yadm introduced a couple major changes which may
|
||||||
.B yadm
|
require you to adjust your configurations.
|
||||||
introduced a couple major changes which may require you to adjust your configurations.
|
|
||||||
|
|
||||||
First,
|
First, yadm now uses the "XDG Base Directory Specification" to find its
|
||||||
.B yadm
|
configurations. You can read https://yadm.io/docs/xdg_config_home for more
|
||||||
now uses the "XDG Base Directory Specification" to find its configurations.
|
information.
|
||||||
You can read https://yadm.io/docs/xdg_config_home for more information.
|
|
||||||
|
|
||||||
Second, the naming conventions for alternate files have been changed.
|
Second, the naming conventions for alternate files have been changed.
|
||||||
You can read https://yadm.io/docs/alternates for more information.
|
You can read https://yadm.io/docs/alternates for more information.
|
||||||
|
|
||||||
If you want to retain the old functionality, you can set an environment variable,
|
If you want to retain the old functionality, you can set an environment variable,
|
||||||
.IR YADM_COMPATIBILITY=1 .
|
.IR YADM_COMPATIBILITY=1 .
|
||||||
Doing so will automatically use the old
|
Doing so will automatically use the old yadm directory, and process alternates
|
||||||
.B yadm
|
the same as the pre-2.0.0 version. This compatibility mode is deprecated, and
|
||||||
directory, and process alternates the same as the pre-2.0.0 version.
|
will be removed in future versions. This mode exists solely for transitioning
|
||||||
This compatibility mode is deprecated, and will be removed in future versions.
|
to the new paths and naming of alternates.
|
||||||
This mode exists solely for transitioning to the new paths and naming of
|
|
||||||
alternates.
|
|
||||||
|
|
||||||
.SH OPTIONS
|
.SH OPTIONS
|
||||||
|
|
||||||
.B yadm
|
yadm supports a set of universal options that alter the paths it uses. The
|
||||||
supports a set of universal options that alter the paths it uses.
|
default paths are documented in the FILES section. Any path specified by these
|
||||||
The default paths are documented in the FILES section.
|
options must be fully qualified. If you always want to override one or more of
|
||||||
Any path specified by these options must be fully qualified.
|
these paths, it may be useful to create an alias for the yadm command.
|
||||||
If you always want to override one or more of these paths, it may be useful to create an alias for the
|
For example, the following alias could be used to override the repository
|
||||||
.B yadm
|
directory.
|
||||||
command.
|
|
||||||
For example, the following alias could be used to override the repository directory.
|
|
||||||
|
|
||||||
.RS
|
.RS
|
||||||
alias yadm='yadm --yadm-repo /alternate/path/to/repo'
|
alias yadm='yadm --yadm-repo /alternate/path/to/repo'
|
||||||
|
@ -319,41 +288,27 @@ The following is the full list of universal options.
|
||||||
Each option should be followed by a fully qualified path.
|
Each option should be followed by a fully qualified path.
|
||||||
.TP
|
.TP
|
||||||
.B -Y,--yadm-dir
|
.B -Y,--yadm-dir
|
||||||
Override the
|
Override the yadm directory.
|
||||||
.B yadm
|
yadm stores its data relative to this directory.
|
||||||
directory.
|
|
||||||
.B yadm
|
|
||||||
stores its data relative to this directory.
|
|
||||||
.TP
|
.TP
|
||||||
.B --yadm-repo
|
.B --yadm-repo
|
||||||
Override the location of the
|
Override the location of the yadm repository.
|
||||||
.B yadm
|
|
||||||
repository.
|
|
||||||
.TP
|
.TP
|
||||||
.B --yadm-config
|
.B --yadm-config
|
||||||
Override the location of the
|
Override the location of the yadm configuration file.
|
||||||
.B yadm
|
|
||||||
configuration file.
|
|
||||||
.TP
|
.TP
|
||||||
.B --yadm-encrypt
|
.B --yadm-encrypt
|
||||||
Override the location of the
|
Override the location of the yadm encryption configuration.
|
||||||
.B yadm
|
|
||||||
encryption configuration.
|
|
||||||
.TP
|
.TP
|
||||||
.B --yadm-archive
|
.B --yadm-archive
|
||||||
Override the location of the
|
Override the location of the yadm encrypted files archive.
|
||||||
.B yadm
|
|
||||||
encrypted files archive.
|
|
||||||
.TP
|
.TP
|
||||||
.B --yadm-bootstrap
|
.B --yadm-bootstrap
|
||||||
Override the location of the
|
Override the location of the yadm bootstrap program.
|
||||||
.B yadm
|
|
||||||
bootstrap program.
|
|
||||||
|
|
||||||
.SH CONFIGURATION
|
.SH CONFIGURATION
|
||||||
|
|
||||||
.B yadm
|
yadm uses a configuration file named
|
||||||
uses a configuration file named
|
|
||||||
.IR $HOME/.config/yadm/config .
|
.IR $HOME/.config/yadm/config .
|
||||||
This file uses the same format as
|
This file uses the same format as
|
||||||
.BR git-config (1).
|
.BR git-config (1).
|
||||||
|
@ -371,11 +326,9 @@ yadm config yadm.auto-alt false
|
||||||
The following is the full list of supported configurations:
|
The following is the full list of supported configurations:
|
||||||
.TP
|
.TP
|
||||||
.B yadm.auto-alt
|
.B yadm.auto-alt
|
||||||
Disable the automatic linking described in the section ALTERNATES.
|
Disable the automatic linking described in the section ALTERNATES. If disabled,
|
||||||
If disabled, you may still run
|
you may still run "yadm alt" manually to create the alternate links. This
|
||||||
.B yadm alt
|
feature is enabled by default.
|
||||||
manually to create the alternate links.
|
|
||||||
This feature is enabled by default.
|
|
||||||
.TP
|
.TP
|
||||||
.B yadm.auto-perms
|
.B yadm.auto-perms
|
||||||
Disable the automatic permission changes described in the section PERMISSIONS.
|
Disable the automatic permission changes described in the section PERMISSIONS.
|
||||||
|
@ -497,10 +450,7 @@ Valid when no other alternate is valid.
|
||||||
|
|
||||||
You may use any number of conditions, in any order.
|
You may use any number of conditions, in any order.
|
||||||
An alternate will only be used if ALL conditions are valid.
|
An alternate will only be used if ALL conditions are valid.
|
||||||
If there are any files managed by
|
If there are any files managed by yadm's repository, or listed in
|
||||||
.BR yadm \'s
|
|
||||||
repository,
|
|
||||||
or listed in
|
|
||||||
.IR $HOME/.config/yadm/encrypt ,
|
.IR $HOME/.config/yadm/encrypt ,
|
||||||
which match this naming convention,
|
which match this naming convention,
|
||||||
symbolic links will be created for the most appropriate version.
|
symbolic links will be created for the most appropriate version.
|
||||||
|
@ -512,9 +462,7 @@ Files with more conditions will always be favored. Any invalid condition will
|
||||||
disqualify that file completely.
|
disqualify that file completely.
|
||||||
|
|
||||||
Alternate linking may best be demonstrated by example. Assume the following
|
Alternate linking may best be demonstrated by example. Assume the following
|
||||||
files are managed by
|
files are managed by yadm's repository:
|
||||||
.BR yadm \'s
|
|
||||||
repository:
|
|
||||||
|
|
||||||
- $HOME/path/example.txt##default
|
- $HOME/path/example.txt##default
|
||||||
- $HOME/path/example.txt##class.Work
|
- $HOME/path/example.txt##class.Work
|
||||||
|
@ -526,14 +474,12 @@ repository:
|
||||||
- $HOME/path/example.txt##os.Linux,hostname.host2
|
- $HOME/path/example.txt##os.Linux,hostname.host2
|
||||||
|
|
||||||
If running on a Macbook named "host2",
|
If running on a Macbook named "host2",
|
||||||
.B yadm
|
yadm will create a symbolic link which looks like this:
|
||||||
will create a symbolic link which looks like this:
|
|
||||||
|
|
||||||
.IR $HOME/path/example.txt " -> " $HOME/path/example.txt##os.Darwin,hostname.host2
|
.IR $HOME/path/example.txt " -> " $HOME/path/example.txt##os.Darwin,hostname.host2
|
||||||
|
|
||||||
However, on another Mackbook named "host3",
|
However, on another Mackbook named "host3", yadm will create a symbolic link
|
||||||
.B yadm
|
which looks like this:
|
||||||
will create a symbolic link which looks like this:
|
|
||||||
|
|
||||||
.IR $HOME/path/example.txt " -> " $HOME/path/example.txt##os.Darwin
|
.IR $HOME/path/example.txt " -> " $HOME/path/example.txt##os.Darwin
|
||||||
|
|
||||||
|
@ -554,12 +500,11 @@ If running on a system, with class set to "Work", the link will be:
|
||||||
If no "##default" version exists and no files have valid conditions, then no
|
If no "##default" version exists and no files have valid conditions, then no
|
||||||
link will be created.
|
link will be created.
|
||||||
|
|
||||||
Links are also created for directories named this way, as long as they have at least one
|
Links are also created for directories named this way, as long as they have at
|
||||||
.B yadm
|
least one yadm managed file within them.
|
||||||
managed file within them.
|
|
||||||
|
|
||||||
.B yadm
|
yadm will automatically create these links by default. This can be disabled
|
||||||
will automatically create these links by default. This can be disabled using the
|
using the
|
||||||
.I yadm.auto-alt
|
.I yadm.auto-alt
|
||||||
configuration.
|
configuration.
|
||||||
Even if disabled, links can be manually created by running
|
Even if disabled, links can be manually created by running
|
||||||
|
@ -569,9 +514,7 @@ Class is a special value which is stored locally on each host (inside the local
|
||||||
repository). To use alternate symlinks using class, you must set the value of
|
repository). To use alternate symlinks using class, you must set the value of
|
||||||
class using the configuration
|
class using the configuration
|
||||||
.BR local.class .
|
.BR local.class .
|
||||||
This is set like any other
|
This is set like any other yadm configuration with the
|
||||||
.B yadm
|
|
||||||
configuration with the
|
|
||||||
.B yadm config
|
.B yadm config
|
||||||
command. The following sets the class to be "Work".
|
command. The following sets the class to be "Work".
|
||||||
|
|
||||||
|
@ -593,12 +536,12 @@ processed to create or overwrite files.
|
||||||
Supported template processors:
|
Supported template processors:
|
||||||
.TP
|
.TP
|
||||||
.B builtin
|
.B builtin
|
||||||
This is
|
This is yadm's built-in template processor. This processor is very basic, with
|
||||||
.BR yadm \'s
|
a Jinja-like syntax. The advantage of this processor is that it only depends
|
||||||
built-in template processor. This processor is very basic, with a Jinja-like
|
upon
|
||||||
syntax. The advantage of this processor is that it only depends upon \fBawk\fR,
|
.BR awk ,
|
||||||
which is available on most *nix systems. To use this processor, specify the
|
which is available on most *nix systems. To use this processor,
|
||||||
value of "builtin" or just leave the value off (e.g. "##template").
|
specify the value of "builtin" or just leave the value off (e.g. "##template").
|
||||||
.TP
|
.TP
|
||||||
.B j2cli
|
.B j2cli
|
||||||
To use the j2cli Jinja template processor, specify the value of "j2" or
|
To use the j2cli Jinja template processor, specify the value of "j2" or
|
||||||
|
@ -660,10 +603,9 @@ would look like:
|
||||||
|
|
||||||
It can be useful to manage confidential files, like SSH or GPG keys, across
|
It can be useful to manage confidential files, like SSH or GPG keys, across
|
||||||
multiple systems. However, doing so would put plain text data into a Git
|
multiple systems. However, doing so would put plain text data into a Git
|
||||||
repository, which often resides on a public system.
|
repository, which often resides on a public system. yadm can make it easy to
|
||||||
.B yadm
|
encrypt and decrypt a set of files so the encrypted version can be maintained
|
||||||
can make it easy to encrypt and decrypt a set of files so the encrypted version
|
in the Git repository.
|
||||||
can be maintained in the Git repository.
|
|
||||||
This feature will only work if the
|
This feature will only work if the
|
||||||
.BR gpg (1)
|
.BR gpg (1)
|
||||||
command is available.
|
command is available.
|
||||||
|
@ -690,9 +632,8 @@ The
|
||||||
command will find all files matching the patterns, and prompt for a password. Once a
|
command will find all files matching the patterns, and prompt for a password. Once a
|
||||||
password has confirmed, the matching files will be encrypted and saved as
|
password has confirmed, the matching files will be encrypted and saved as
|
||||||
.IR $HOME/.config/yadm/files.gpg .
|
.IR $HOME/.config/yadm/files.gpg .
|
||||||
The patterns and files.gpg should be added to the
|
The patterns and files.gpg should be added to the yadm repository so they are
|
||||||
.B yadm
|
available across multiple systems.
|
||||||
repository so they are available across multiple systems.
|
|
||||||
|
|
||||||
To decrypt these files later, or on another system run
|
To decrypt these files later, or on another system run
|
||||||
.B yadm decrypt
|
.B yadm decrypt
|
||||||
|
@ -712,10 +653,9 @@ files, even though they are encrypted.
|
||||||
.SH PERMISSIONS
|
.SH PERMISSIONS
|
||||||
|
|
||||||
When files are checked out of a Git repository, their initial permissions are
|
When files are checked out of a Git repository, their initial permissions are
|
||||||
dependent upon the user's umask. Because of this,
|
dependent upon the user's umask. Because of this, yadm will automatically
|
||||||
.B yadm
|
update the permissions of some file paths. The "group" and "others" permissions
|
||||||
will automatically update the permissions of some file paths. The "group" and
|
will be removed from the following files:
|
||||||
"others" permissions will be removed from the following files:
|
|
||||||
|
|
||||||
.RI - " $HOME/.config/yadm/files.gpg
|
.RI - " $HOME/.config/yadm/files.gpg
|
||||||
|
|
||||||
|
@ -728,8 +668,8 @@ will automatically update the permissions of some file paths. The "group" and
|
||||||
- The GPG directory and files,
|
- The GPG directory and files,
|
||||||
.I .gnupg/*
|
.I .gnupg/*
|
||||||
|
|
||||||
.B yadm
|
yadm will automatically update permissions by default. This can be disabled
|
||||||
will automatically update permissions by default. This can be disabled using the
|
using the
|
||||||
.I yadm.auto-perms
|
.I yadm.auto-perms
|
||||||
configuration. Even if disabled, permissions can be manually updated by running
|
configuration. Even if disabled, permissions can be manually updated by running
|
||||||
.BR "yadm perms" .
|
.BR "yadm perms" .
|
||||||
|
@ -745,29 +685,22 @@ configuration.
|
||||||
|
|
||||||
When cloning a repo which includes data in a
|
When cloning a repo which includes data in a
|
||||||
.IR .ssh " or " .gnupg
|
.IR .ssh " or " .gnupg
|
||||||
directory, if those directories do not exist at the time of cloning,
|
directory, if those directories do not exist at the time of cloning, yadm will
|
||||||
.B yadm
|
create the directories with mask 0700 prior to merging the fetched data into
|
||||||
will create the directories with mask 0700 prior to merging the fetched data
|
the work-tree.
|
||||||
into the work-tree.
|
|
||||||
|
|
||||||
When running a Git command and
|
When running a Git command and
|
||||||
.IR .ssh " or " .gnupg
|
.IR .ssh " or " .gnupg
|
||||||
directories do not exist,
|
directories do not exist, yadm will create those directories with mask 0700
|
||||||
.B yadm
|
prior to running the Git command. This can be disabled using the
|
||||||
will create those directories with mask 0700 prior to running the Git command.
|
|
||||||
This can be disabled using the
|
|
||||||
.I yadm.auto-private-dirs
|
.I yadm.auto-private-dirs
|
||||||
configuration.
|
configuration.
|
||||||
|
|
||||||
.SH HOOKS
|
.SH HOOKS
|
||||||
|
|
||||||
For every command
|
For every command yadm supports, a program can be provided to run before or
|
||||||
.B yadm
|
after that command. These are referred to as "hooks". yadm looks for hooks in
|
||||||
supports, a program can be provided to run before or after that command. These
|
the directory
|
||||||
are referred to as "hooks".
|
|
||||||
.B yadm
|
|
||||||
looks for
|
|
||||||
hooks in the directory
|
|
||||||
.IR $HOME/.config/yadm/hooks .
|
.IR $HOME/.config/yadm/hooks .
|
||||||
Each hook is named using a prefix of
|
Each hook is named using a prefix of
|
||||||
.I pre_
|
.I pre_
|
||||||
|
@ -782,11 +715,8 @@ Hooks must have the executable file permission set.
|
||||||
|
|
||||||
If a
|
If a
|
||||||
.I pre_
|
.I pre_
|
||||||
hook is defined, and the hook terminates with a non-zero exit status,
|
hook is defined, and the hook terminates with a non-zero exit status, yadm will
|
||||||
.B yadm
|
refuse to run the yadm command. For example, if a
|
||||||
will refuse to run the
|
|
||||||
.B yadm
|
|
||||||
command. For example, if a
|
|
||||||
.I pre_commit
|
.I pre_commit
|
||||||
hook is defined, but that command ends with a non-zero exit status, the
|
hook is defined, but that command ends with a non-zero exit status, the
|
||||||
.I yadm commit
|
.I yadm commit
|
||||||
|
@ -800,57 +730,41 @@ Hooks have the following environment variables available to them at runtime:
|
||||||
The command which triggered the hook
|
The command which triggered the hook
|
||||||
.TP
|
.TP
|
||||||
.B YADM_HOOK_EXIT
|
.B YADM_HOOK_EXIT
|
||||||
The exit status of the
|
The exit status of the yadm command
|
||||||
.B yadm
|
|
||||||
command
|
|
||||||
.TP
|
.TP
|
||||||
.B YADM_HOOK_FULL_COMMAND
|
.B YADM_HOOK_FULL_COMMAND
|
||||||
The
|
The yadm command with all command line arguments
|
||||||
.B yadm
|
|
||||||
command with all command line arguments
|
|
||||||
.TP
|
.TP
|
||||||
.B YADM_HOOK_REPO
|
.B YADM_HOOK_REPO
|
||||||
The path to the
|
The path to the yadm repository
|
||||||
.B yadm
|
|
||||||
repository
|
|
||||||
.TP
|
.TP
|
||||||
.B YADM_HOOK_WORK
|
.B YADM_HOOK_WORK
|
||||||
The path to the work-tree
|
The path to the work-tree
|
||||||
|
|
||||||
.SH FILES
|
.SH FILES
|
||||||
|
|
||||||
All of
|
All of yadm's configurations are relative to the "yadm directory".
|
||||||
.BR yadm \'s
|
yadm uses the "XDG Base Directory Specification" to determine this directory.
|
||||||
configurations are relative to the "yadm directory".
|
If the environment variable
|
||||||
.B yadm
|
|
||||||
uses the "XDG Base Directory Specification" to determine this directory. If the
|
|
||||||
environment variable
|
|
||||||
.B $XDG_CONFIG_HOME
|
.B $XDG_CONFIG_HOME
|
||||||
is defined as a fully qualified path, this directory will be
|
is defined as a fully qualified path, this directory will be
|
||||||
.IR "$XDG_CONFIG_HOME/yadm" .
|
.IR "$XDG_CONFIG_HOME/yadm" .
|
||||||
Otherwise it will be
|
Otherwise it will be
|
||||||
.IR "$HOME/.config/yadm" .
|
.IR "$HOME/.config/yadm" .
|
||||||
|
|
||||||
The following are the default paths
|
The following are the default paths yadm uses for its own data.
|
||||||
.B yadm
|
|
||||||
uses for its own data.
|
|
||||||
These paths can be altered using universal options.
|
These paths can be altered using universal options.
|
||||||
See the OPTIONS section for details.
|
See the OPTIONS section for details.
|
||||||
.TP
|
.TP
|
||||||
.I $HOME/.config/yadm
|
.I $HOME/.config/yadm
|
||||||
The
|
The yadm directory. By default, all data yadm stores is relative to this
|
||||||
.B yadm
|
directory.
|
||||||
directory. By default, all data
|
|
||||||
.B yadm
|
|
||||||
stores is relative to this directory.
|
|
||||||
.TP
|
.TP
|
||||||
.I $YADM_DIR/config
|
.I $YADM_DIR/config
|
||||||
Configuration file for
|
Configuration file for yadm.
|
||||||
.BR yadm .
|
|
||||||
.TP
|
.TP
|
||||||
.I $YADM_DIR/repo.git
|
.I $YADM_DIR/repo.git
|
||||||
Git repository used by
|
Git repository used by yadm.
|
||||||
.BR yadm .
|
|
||||||
.TP
|
.TP
|
||||||
.I $YADM_DIR/encrypt
|
.I $YADM_DIR/encrypt
|
||||||
List of globs used for encrypt/decrypt
|
List of globs used for encrypt/decrypt
|
||||||
|
|
Loading…
Reference in a new issue