Release 2.5.0

Update version number and update documentation

* Support for transcrypt (#197)
* Support ESH templates (#220)
* Preserve file mode of template (#193)
* Fish shell completions (#224)
* Fix alt processing when worktree is `/` (#198)
* Assert config directory if missing (#226, #227)
* Documentation improvements (#229)
This commit is contained in:
Tim Byrne 2020-08-08 15:08:23 -05:00
parent 4ff12c7125
commit 7628a1b61d
No known key found for this signature in database
GPG key ID: 14DB4FC2465A4B12
7 changed files with 73 additions and 32 deletions

View file

@ -1,3 +1,11 @@
2.5.0
* Support for transcrypt (#197)
* Support ESH templates (#220)
* Preserve file mode of template (#193)
* Fish shell completions (#224)
* Fix alt processing when worktree is `/` (#198)
* Assert config directory if missing (#226, #227)
* Documentation improvements (#229)
2.4.0
* Support multiple keys in `yadm.gpg-recipient` (#139)
* Ensure all templates are written atomically (#142)

View file

@ -2,28 +2,32 @@ CONTRIBUTORS
Tim Byrne
Martin Zuther
Ross Smith II
Jan Schulz
Jonathan Daigle
Tin Lai
Espen Henriksen
Cameron Eagans
Klas Mellbourn
Ross Smith II
Tomas Cernaj
jonasc
Sébastien Gross
David Mandelberg
Daniel Gray
Jan Schulz
Siôn Le Roux
Stig Palmquist
Sébastien Gross
Thomas Luzat
Tomas Cernaj
Uroš Golja
con-f-use
japm48
Brayden Banks
jonasc
Daniel Wagenknecht
Franciszek Madej
Mateusz Piotrowski
Paraplegic Racehorse
Patrick Hof
Russ Allbery
japm48
Siôn Le Roux
Mateusz Piotrowski
Uroš Golja
Satoshi Ohki
Franciszek Madej
Daniel Wagenknecht
Stig Palmquist
Patrick Hof
con-f-use
Sheng Yang
Tim Condit
Thomas Luzat
Russ Allbery
Brayden Banks
Alexandre GV

View file

@ -42,7 +42,7 @@ Features, usage, examples and installation instructions can be found on the
[master-badge]: https://img.shields.io/travis/com/TheLocehiliosan/yadm/master.svg?label=master
[master-commits]: https://github.com/TheLocehiliosan/yadm/commits/master
[master-date]: https://img.shields.io/github/last-commit/TheLocehiliosan/yadm/master.svg?label=master
[obs-badge]: https://img.shields.io/badge/OBS-v2.4.0-blue
[obs-badge]: https://img.shields.io/badge/OBS-v2.5.0-blue
[obs-link]: https://software.opensuse.org//download.html?project=home%3ATheLocehiliosan%3Ayadm&package=yadm
[releases-badge]: https://img.shields.io/github/tag/TheLocehiliosan/yadm.svg?label=latest+release
[releases-link]: https://github.com/TheLocehiliosan/yadm/releases

2
yadm
View file

@ -20,7 +20,7 @@ if [ -z "$BASH_VERSION" ]; then
[ "$YADM_TEST" != 1 ] && exec bash "$0" "$@"
fi
VERSION=2.4.0
VERSION=2.5.0
YADM_WORK="$HOME"
YADM_DIR=

2
yadm.1
View file

@ -1,5 +1,5 @@
.\" vim: set spell so=8:
.TH yadm 1 "6 February 2020" "2.4.0"
.TH yadm 1 "9 August 2020" "2.5.0"
.SH NAME

51
yadm.md
View file

@ -34,6 +34,8 @@
yadm git-crypt [ options ]
yadm transcrypt [ options ]
yadm upgrade
yadm introspect category
@ -101,8 +103,8 @@
user.
config This command manages configurations for yadm. This command
works exactly they way git-config(1) does. See the CONFIGURA-
TION section for more details.
works exactly the way git-config(1) does. See the CONFIGURATION
section for more details.
decrypt
Decrypt all files stored in $HOME/.config/yadm/files.gpg. Files
@ -185,6 +187,15 @@
can be disabled by setting the configuration yadm.auto-perms to
"false".
transcrypt options
If transcrypt is installed, this command allows you to pass
options directly to transcrypt, with the environment configured
to use the yadm repository.
transcrypt enables transparent encryption and decryption of
files in a git repository. You can read
https://github.com/elasticdog/transcrypt for details.
upgrade
Version 2 of yadm uses a different directory for storing your
configurations. When you start to use version 2 for the first
@ -495,23 +506,32 @@
most *nix systems. To use this processor, specify the value of
"default" or just leave the value off (e.g. "##template").
j2cli To use the j2cli Jinja template processor, specify the value of
ESH ESH is a template processor written in POSIX compliant shell. It
allows executing shell commands within templates. This can be
used to reference your own configurations within templates, for
example:
<% yadm config mysection.myconfig %>
To use the ESH template processor, specify the value of "esh"
j2cli To use the j2cli Jinja template processor, specify the value of
"j2" or "j2cli".
envtpl To use the envtpl Jinja template processor, specify the value of
"j2" or "envtpl".
NOTE: Specifying "j2" as the processor will attempt to use j2cli or
NOTE: Specifying "j2" as the processor will attempt to use j2cli or
envtpl, whichever is available.
If the template processor specified is available, templates will be
If the template processor specified is available, templates will be
processed to create or overwrite files.
During processing, the following variables are available in the tem-
During processing, the following variables are available in the tem-
plate:
Default Jinja Description
Default Jinja or ESH Description
------------- ------------- --------------------------
yadm.class YADM_CLASS Locally defined yadm class
yadm.distro YADM_DISTRO lsb_release -si
@ -520,10 +540,10 @@
yadm.user YADM_USER id -u -n
yadm.source YADM_SOURCE Template filename
NOTE: The OS for "Windows Subsystem for Linux" is reported as "WSL",
NOTE: The OS for "Windows Subsystem for Linux" is reported as "WSL",
even though uname identifies as "Linux".
NOTE: If lsb_release is not available, DISTRO will be the ID specified
NOTE: If lsb_release is not available, DISTRO will be the ID specified
in /etc/os-release.
Examples:
@ -536,7 +556,7 @@
config=dev-whatever
{% endif %}
would output a file named whatever with the following content if the
would output a file named whatever with the following content if the
user is "harvey":
config=work-Linux
@ -545,7 +565,7 @@
config=dev-whatever
An equivalent Jinja template named whatever##template.j2 would look
An equivalent Jinja template named whatever##template.j2 would look
like:
{% if YADM_USER == 'harvey' -%}
@ -554,6 +574,15 @@
config=dev-whatever
{% endif -%}
An equivalent ESH templated named whatever##template.esh would look
like:
<% if [ "$YADM_USER" = "harvey" ]; then -%>
config=<%= $YADM_CLASS %>-<%= $YADM_OS %>
<% else -%>
config=dev-whatever
<% fi -%>
## ENCRYPTION
It can be useful to manage confidential files, like SSH or GPG keys,

View file

@ -1,7 +1,7 @@
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}}
Name: yadm
Summary: Yet Another Dotfiles Manager
Version: 2.4.0
Version: 2.5.0
Group: Development/Tools
Release: 1%{?dist}
URL: https://yadm.io