1
0
mirror of https://github.com/TheLocehiliosan/yadm synced 2026-03-02 03:49:29 +00:00
Commit Graph

135 Commits

Author SHA1 Message Date
Tim Byrne
62b109ad2d Rename yadm_y -> yadm_cmd
-Y is no longer used when running commands
2020-11-22 17:09:44 -06:00
Tim Byrne
8efe2c8fad Improve tests to use XDG* variables
Instead of overriding YADM_DIR via -Y, set the XDG* environment
variables.
2020-11-22 17:09:44 -06:00
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
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
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
e0daf86334 Add encryption unit tests 2020-10-07 01:44:35 -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
4ae504c533 Merge alternative cyphers changes into develop 2020-07-17 14:07:10 -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
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
6d8494a35f Fix linting errors 2020-07-08 15:30:15 -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
Jonathan Daigle
f348e154c7 Add support for ESH 2020-05-27 19:38:15 -04:00
Tim Byrne
0995f38b06 Merge pull request #138 from ldotlopez/master
I signed all commits first
2020-02-27 08:24:25 -06:00
Luis López
831c9ec09d Testing: add new config items to tests 2020-02-27 08:21:48 -06:00
Tim Byrne
4b99ece480 Support transcrypt (#197)
Support is inherently provided by `enter`, which supports a command.
I've added a `transcrypt` command, which is really just an alias
under-the-hood for "enter transcrypt".
2020-02-21 08:05:56 -06:00
Tim Byrne
45f1d93193 Add test for WSL identification 2020-02-03 08:30:34 -06:00
Tim Byrne
9a2883985b Test for escaped values in YADM_HOOK_FULL_COMMAND 2020-01-24 08:33:30 -06:00
Tim Byrne
3b820835ab Test for warnings from man (#195) 2020-01-21 07:26:10 -06:00
Tim Byrne
76c82c763e Improve identification of WSL (#196)
Ignore case when searching for Microsoft inside /proc/version.
2020-01-20 07:52:50 -06:00
Tim Byrne
75d2747aa0 Add test for multiple recipients 2020-01-15 09:17:26 -06:00
Tim Byrne
d9f68978fa Add test for quoted os-release 2020-01-14 07:21:02 -06:00
Tim Byrne
6e444736ab Tests for encrypt_with_checksums hooks 2020-01-13 08:06:15 -06:00
Tim Byrne
ba5829ad48 Confirm exit status for enter w/cmd 2019-12-16 17:11:07 -06:00
Tim Byrne
d3a2a06184 Support git-crypt (#168)
Support is inherently provided by `enter`, which now supports a command.
I've added a `git-crypt` command, which is really just an alias
under-the-hood for "enter git-crypt".
2019-12-16 17:11:06 -06:00
Tim Byrne
b9f5fdaafa Support GNUPGHOME environment variable (#134) 2019-12-14 13:24:39 -06:00
Tim Byrne
84a173551e Only assert private dirs, when worktree = $HOME (#171) 2019-12-14 13:24:32 -06:00
Tim Byrne
46105aae47 Set YADM_WORK within configure_paths 2019-12-12 08:00:10 -06:00
Tim Byrne
18e5fcfacc Only assert private dirs, when worktree = $HOME 2019-12-11 08:37:45 -06:00
Tim Byrne
e7d2406af3 Export GIT_WORK_TREE during yadm enter (#160) 2019-12-08 15:17:47 -06:00
Tim Byrne
32baf81b56 Support specifying a command after yadm enter 2019-12-08 15:17:47 -06:00
Tim Byrne
397d45ccd0 Suppress insecure memory warnings 2019-12-05 15:02:47 -06:00
Tim Byrne
437ae2b719 Add --force-linters option to pylint (#179)
When this option is provided, linters will be run regardless of the
version installed. Normally tests are skipped if the linters are not the
supported version.
2019-12-05 15:02:47 -06:00
Tim Byrne
5d484ca825 Test with GnuPG 2 (#179)
Take advantage of pinentry-mock to obtain passphrases, instead of using
"expect" (which requires GnuPG 1).
2019-12-05 15:02:47 -06:00
Tim Byrne
e5ff95d09c Create gnupg fixture
This fixture is a session scoped gnupg home directory, along with a
method to set the mocked password which will be used by the
pinentry-mock program.
2019-12-05 15:02:46 -06:00
Tim Byrne
3aefeeff0f Create pinentry-mock
This is a program which adheres to the pinentry protocol. It always
provides the password located in /etc/mock-password.
2019-12-05 15:02:43 -06:00
Tim Byrne
f7485915ed Update tests for gawk support 2019-12-04 22:18:55 -06:00
Tim Byrne
c1f779521c Confirm LEGACY_WARNING_ISSUED is set appropriately 2019-12-04 17:36:43 -06:00
Tim Byrne
66a3969c8a Add unit tests for reporting invalid alternates (#183) 2019-12-04 17:36:43 -06:00
Tim Byrne
59da359e63 Remove old-style alts from test data 2019-12-04 08:17:03 -06:00
Tim Byrne
6bf0852609 Use /etc/os-release if lsb_release is missing (#175) 2019-11-30 18:31:27 -06:00
Tim Byrne
24e6e81713 Test support for double-star globs 2019-11-26 16:24:36 -06:00
Tim Byrne
5634c09a8a Refactor symlink code
Update variable names, favoring the terminology used by `ln`.
* source (original file containing data)
* target (the symlink file, pointing to source)
2019-11-25 08:24:46 -06:00
Tim Byrne
98392b9a9c Add function relative_path
This function will create a path relative to another, without the use of
an external program like dirname.
2019-11-24 13:15:42 -06:00
Tim Byrne
f8d6d2b0e4 Change tests to expect relative links 2019-11-24 13:15:42 -06:00
Tim Byrne
c29834ed86 Add test for permission bug (#174) 2019-11-12 06:52:49 -06:00