From 7628a1b61d8fc21c899c8f8f0fef8c95725598dd Mon Sep 17 00:00:00 2001 From: Tim Byrne Date: Sat, 8 Aug 2020 15:08:23 -0500 Subject: [PATCH] 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) --- CHANGES | 8 ++++++++ CONTRIBUTORS | 38 +++++++++++++++++++++----------------- README.md | 2 +- yadm | 2 +- yadm.1 | 2 +- yadm.md | 51 ++++++++++++++++++++++++++++++++++++++++----------- yadm.spec | 2 +- 7 files changed, 73 insertions(+), 32 deletions(-) diff --git a/CHANGES b/CHANGES index ff9526c..b8627df 100644 --- a/CHANGES +++ b/CHANGES @@ -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) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 319b463..8274b11 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -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 diff --git a/README.md b/README.md index a3661e9..17ecc78 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/yadm b/yadm index a8076e8..a03e769 100755 --- a/yadm +++ b/yadm @@ -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= diff --git a/yadm.1 b/yadm.1 index 37dfacc..377cf36 100644 --- a/yadm.1 +++ b/yadm.1 @@ -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 diff --git a/yadm.md b/yadm.md index 425a226..a09ea4f 100644 --- a/yadm.md +++ b/yadm.md @@ -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, diff --git a/yadm.spec b/yadm.spec index 8497a68..275c154 100644 --- a/yadm.spec +++ b/yadm.spec @@ -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