Commit Graph

618 Commits

Author SHA1 Message Date
Tim Byrne fc66b6b71b
Support XDG_DATA_HOME (#208)
* Create a YADM_DATA base (that is the source for repo & archive)
* Add --yadm-data to override
* Default YADM_DATA will be determined by XDG_DATA_HOME
2020-11-22 17:09:44 -06:00
Tim Byrne c79a67208c
Merge GitHub Actions updates 2020-11-22 17:04:31 -06:00
Tim Byrne 3ddea20853
Update badges/links for GitHub Actions 2020-11-22 16:39:37 -06:00
Tim Byrne 34940a6240
Migrate from Travis-CI to GitHub Actions 2020-11-22 15:36:57 -06:00
Erik Flodin f22c4d04cc
Add support for the extension "condition"
This special condition doesn't affect the selection process and is only
supported to support syntax highlighting and language detection for alt files
as reported in #239.
2020-10-25 10:41:52 +01:00
Erik Flodin 4e1fb0166e
Reuse if pattern in template_default's condition pattern 2020-10-18 22:40:06 +02:00
Erik Flodin 3ce59314f5
Remove unused function alt_past_linking
Unused as of b19c78b8
2020-10-18 22:20:06 +02:00
Tim Byrne b19c78b8e2
Remove support for YADM_COMPATIBILITY=1 (#242) 2020-10-17 17:41:09 -05:00
Tim Byrne a66d3c148c
Remove tests for deprecated alternate processing 2020-10-17 17:39:24 -05:00
Tim Byrne 1e6f198552
Merge pull request #255 from erijo/template-awk-inc 2020-10-17 13:38:45 -05:00
Erik Flodin 9bcf070dfe
Add support for including files using the default template processor
The syntax is '{% include "file" %}' where file is either an absolute path or a
path relative to the current template file's directory.

Variables in the included file will be replaced as for the main template. But
the included file can't include files itself.
2020-10-12 16:13:50 +02:00
Tim Byrne 48d77c9f21
Use make variables instead of env variables 2020-10-10 18:12:51 -05:00
Tim Byrne 90901e588e
Merge pull request #254 from erijo/misc 2020-10-10 17:53:30 -05:00
Erik Flodin b55ad5b525
Fix template conditional in man page
The default template processor doesn't support single quotes.
2020-10-10 18:25:18 +02:00
Erik Flodin 3741b92737
Fix setting the default value of version in Makefile
As each command in a make target is executed separately, a variable set in one
command isn't available in the following commands.
2020-10-10 18:25:01 +02:00
Erik Flodin 95c17d0bc5
Make shell redirections in Makefile work with dash
The default shell in Debian is dash and it doesn't support &>.
2020-10-10 18:24:50 +02:00
Tim Byrne e0daf86334
Add encryption unit tests 2020-10-07 01:44:35 -05:00
Tim Byrne 2e035d9e05
Refactor encryption option generation 2020-10-07 01:21:55 -05:00
Tim Byrne c2a4d9cb27
Use OPENSSL_OPTS for encryption too 2020-10-05 22:32:18 -05:00
Tim Byrne 78aa84eddb
Update man page for openssl options 2020-09-25 12:45:53 -05:00
Tim Byrne d0556e5f5d
Add more info about transcrypt to man page 2020-09-25 12:21:10 -05:00
Tim Byrne 59c60a4675
Change default archive name to "archive" 2020-09-25 12:10:34 -05:00
Tim Byrne 05ae6f0257
Add config yadm.openssl-old
The newer versions (OpenSSL 1.1.1 or LibreSSL 2.9.1) support the pbkdf2
key derivation function, while older versions do not. In addition the
new versions have changed the default digest to SHA256 instead of MD5.

Files encrypted with older versions would throw warnings about
deprecated key derivation used files encrypted with newer versions +
pbkdf2 would not be decryptable using older versions These problems
matter, when many users maintain their dotfiles across different systems
with different levels of OpenSSL support.

A new boolean config option has been added, yadm.openssl-old

* If false, use options -pbkdf2 -iter 100000 -md sha512
* If true, use options -md md5 (and if decrypting with newer versions
  warnings will be printed)
2020-09-25 10:04:18 -05:00
Tim Byrne 47d4ea5f7e
Merge branch 'feature/alt-cyphers-138' into develop 2020-09-21 21:02:07 -05:00
Tim Byrne 0d94dfd8d7
Truncate using parameter expansion
I'm not completely sure truncation is actually needed, but regardless
this removes the dependency on `cut`.
2020-08-20 13:08:19 -05:00
Tim Byrne b45aba385e
Merge pull request #246 from vendion/develop 2020-08-20 13:05:41 -05:00
Adam Jimerson a13311feac
Adjust file mode check for BSD based systems
Adjusts the file mode check for BSD based systems as default BSD stat
uses "-f '%p'" to report the file mode. Also since `stat -p '%p'
"$filename"` reports more information than just read, write, execute
perms, pipe the output through `cut` to grab only the last three digits.

Signed-off-by: Adam Jimerson <vendion@gmail.com>
2020-08-19 09:36:14 -04:00
Tim Byrne 7628a1b61d
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)
2020-08-09 15:54:31 -05:00
Tim Byrne 4ff12c7125
Sort contributors by lines changed
Previously number of commits were used
2020-08-09 15:54:21 -05:00
Chad Wade Day, Jr d7361cdc31
Simplify zsh completion install 2020-07-26 10:37:20 -07:00
Tim Byrne 6098f76616
Set default cipher in only one place 2020-07-17 14:43:29 -05:00
Tim Byrne d9adc80209
Adjust indent 2020-07-17 14:42:58 -05:00
Tim Byrne 4ae504c533
Merge alternative cyphers changes into develop 2020-07-17 14:07:10 -05:00
Tim Byrne 24e3dab328
Fix alternate file processing when worktree is / (#198) 2020-07-17 11:17:58 -05:00
Tim Byrne 102ba5d558
Preserve file mode of template (#193)
Any processed templates will inherit the file mode of the source
template.
2020-07-11 21:52:28 -05:00
Tim Byrne 6654e29c62
Merge pull request #220 2020-07-08 16:17:24 -05:00
Tim Byrne ed4a4a5fbd
Fix bug with out-of-sync sources
The indexes of targets, scores, sources, etc. must be kept in sync.
2020-07-08 16:16:48 -05:00
Tim Byrne 87f81143b2
Add unit test for alternate order
Ensure that any alternates for YADM_CONFIG are processed prior to
templates.
2020-07-08 16:16:48 -05:00
Tim Byrne b056051603
Identify yadm's configuration using $YADM_CONFIG 2020-07-08 16:16:48 -05:00
Tim Byrne 7f48942934
Update man page for ESH 2020-07-08 16:16:47 -05:00
Tim Byrne 71ecf27291
Update testbed docker image 2020-07-08 16:16:47 -05:00
Tim Byrne 6d8494a35f
Fix linting errors 2020-07-08 15:30:15 -05:00
Tim Byrne 9746d907ec
Merge pull request #227 from jonasc/assert-config-parent-exists 2020-07-08 15:13:39 -05:00
jonasc 9ee83c4b3f
Update test/test_config.py 2020-07-08 15:13:06 -05:00
jonasc 60b23e33e8
Assert existence of config file's parent directory
Fixes TheLocehiliosan/yadm#226

When a config file path is passed to yadm whose parent directory does
not exist, git (and hence yadm) fails without writing the file.
Yadm should, however, make sure that the directory exists s.t. git can
just write to the file.
2020-07-08 15:13:03 -05:00
Tim Byrne 51752233e9
Revert yadm.md & CONTRIBUTORS
yadm.md is generated from yadm.1 during release.
CONTRIBUTORS is generated from Git history during release.
2020-07-08 03:43:19 -05:00
Tim Byrne 2e844766dd
Merge pull request #220 from daiglej/AddSupportForEsh 2020-07-08 00:37:36 -05:00
Tim Byrne 69aefb297c
Migrate from travis-ci.org to travis-ci.com 2020-06-15 15:30:47 -05:00
Tim Byrne ed6185e841
Merge pull request #229 from tcondit/master 2020-06-14 21:32:10 -05:00
Tim Byrne 5f2c84a633
Merge pull request #224 from soraxas/master 2020-06-14 11:27:22 -05:00