1
0
mirror of https://github.com/TheLocehiliosan/yadm synced 2024-10-27 20:34:27 +00:00
Commit Graph

196 Commits

Author SHA1 Message Date
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
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
ee9ffb6828
Reorder command list 2020-02-21 07:55:58 -06:00
Tim Byrne
dd86c8a691
Release 2.4.0
Update version number and update documentation

* Support multiple keys in `yadm.gpg-recipient` (#139)
* Ensure all templates are written atomically (#142)
* Add encrypt_with_checksums to the hooks collection (#188)
* Escape white space in YADM_HOOK_FULL_COMMAND (#187)
* Improve parsing of os-release (#194)
* Improve identification of WSL (#196)
* Fix troff warnings emitted by man page (#195)
* Write encrypt-based exclusions during decrypt
2020-02-06 07:53:18 -06:00
Tim Byrne
79e93e38bc
Fix error when /proc/version is missing 2020-02-03 08:30:50 -06:00
Ross Smith II
062181be4a
Simplify WSL identification 2020-02-03 08:27:54 -06:00
Tim Byrne
69cde7f83c
Exclude files listed in yadm/encrypt when decrypt is called
Previously this would only happen when encrypting.
2020-01-30 09:39:10 -06:00
Tim Byrne
ccb75b97ea
Escape space in YADM_HOOK_FULL_COMMAND (#187)
Backslashes are used to escape spaces, tabs, and backslashes. This
allows hooks to identify separate parameters (which are space
delimited).
2020-01-24 08:33:07 -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
04b98a96cb
Ensure all templates are written atomically
This takes jonasc's change, and applies it to all template writing. Also
removes the dependency on mktemp, and only moves files if they are
successfully written.
2020-01-16 16:27:59 -06:00
Tim Byrne
3e42bd9f52
Merge pull request #142 from jonasc/master
Resolved conflicts, and signed commit from jonasc.
2020-01-16 12:59:32 -06:00
jonasc
a1845c6e8a
Write template result to temporary file and move
This prevents problems with programs which watch the file for changes and will
first be presented an empty file.
One such example which will show a notification message about an empty config
file is Alacritty.
By writing to a tempory file and then moving it (atomically?) to the real
location this problem is mitigated.
2020-01-16 12:58:38 -06:00
Tim Byrne
0b22220e3c
Merge pull request #139 from stigtsp/multiple-gpg-recipients 2020-01-14 08:08:44 -06:00
Tim Byrne
4546636336
Merge pull request #194 from rasa/rasa/remove-quotes-from-distro 2020-01-14 07:14:04 -06:00
Martin Zuther
499837bd80
apply code review changes 2019-12-30 00:34:27 +01:00
Martin Zuther
45b218d5c1
support encrypted files in "yadm list"
* export some helper functions to hooks
2019-12-29 15:21:55 +01:00
Martin Zuther
bd19e31c6e
get rid of dirname 2019-12-29 12:51:29 +01:00
Martin Zuther
c190333fdf
correctly export array to subscript
* fix shellcheck errors and warnings
2019-12-28 16:09:19 +01:00
Martin Zuther
91266ca8eb
Check encrypted files with SHA-512/256 checksums 2019-12-27 18:15:04 +01:00
Tim Byrne
b4fd9e19c2
Release 2.3.0
Update version number and update documentation

* Support git-crypt (#168)
* Support specifying a command after `yadm enter`
* Expose GIT_WORK_TREE during `yadm enter` (#160)
* Support GNUPGHOME environment variable (#134)
* Assert private dirs, only when worktree = $HOME (#171)
2019-12-17 07:15:58 -06:00
Tim Byrne
7ad28c3a97
Set exit status when running a command from enter 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
cc1993dc14
Move logic around assert_private_dirs to be more efficient 2019-12-12 08:09:30 -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
Ross Smith II
43ac19398a
Remove quotes from distro name 2019-12-06 20:38:37 -08:00
Tim Byrne
96bce8dbac
Release 2.2.0
Update version number and update documentation

* Resolve hostname using `uname -n` (#182)
* Use /etc/os-release if lsb_release is missing (#175)
* Issue warning for any invalid alternates found (#183)
* Add support for gawk (#180)
2019-12-05 16:53:16 -06:00
Tim Byrne
4d23bbcf11
Standardize on &> when not appending output 2019-12-04 22:39:00 -06:00
Tim Byrne
758a2e0c26
Automatically prefer gawk over awk 2019-12-04 22:18:22 -06:00
Tim Byrne
c0310a43a2
Merge pull request #180 from rasa/rasa/use-gawk-on-openwrt 2019-12-04 17:53:36 -06:00
Tim Byrne
3d10309665
Issue warning for any invalid alternates found (#183) 2019-12-03 08:38:11 -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
96839a5743
Remove dependency on hostname (#182) 2019-11-30 10:27:28 -06:00
Tim Byrne
75c19c9cc0
Release 2.1.0
Update version number and update documentation

* Use relative symlinks for alternates (#100, #177)
* Support double-star globs in .config/yadm/encrypt (#109)
* Improve bash completion (#136)
* Update docs about using magit (#123)
* Note exception for WSL (#113)
2019-11-27 07:21:44 -06:00
Tim Byrne
510169eb7f
Support double-star globs in encrypt (#109)
This will only work for Bash >=4, there the shell option "globstar" is
supported.
2019-11-26 16:24:51 -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
61576a6ae1
Use relative symlinks for alt (#100)
* Fix broken support for .config/yadm/alt
* Removes dependence on external basename / dirname
2019-11-25 07:27:54 -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
Ross Smith II
2bf98a5ade
Use gawk on OpenWrt, as awk is BusyBox version
The BusyBox version of awk fails with this error:
awk: bad regex '[\\.^$(){}\[\]|*+?]': Repetition not preceded by valid expression
2019-11-23 19:39:57 -08:00
Tim Byrne
98915151a3
Revert version change 2019-11-17 12:39:05 -06:00
Ross Smith II
539ffd3ffc
Make symlinks relative 2019-11-13 08:17:06 -08:00
Tim Byrne
5aa1a7be75
Release 2.0.1
Update version number and update documentation

* Fix bug with worktree permissions (#174)
2019-11-12 07:49:26 -06:00
Ross Smith II
8633083716
Don't glob into parent dirs 2019-11-12 06:50:54 -06:00
Tim Byrne
de73c9f4b4
Release 2.0.0
Update version number and update documentation

* Support XDG base directory specification
* Redesign alternate processing
* Add built-in default template processor
* Allow storing alternates in yadm dir (#90)
* Add support for j2cli template processor
* Ignore encrypted files (#69)
* Support DISTRO in alternates (#72)
* Support `source` in templates (#163)
* Change yadm.cygwin-copy to yadm.alt-copy
* Support `-b <branch>` when cloning (#133)
* Support includes for j2-based templates (#114)
* Remove stale/invalid linked alternates (#65)
* Add support for Mingw/Msys (#102)
* Allow `-l` to pass thru to the `yadm config` command
* Improve processing of `yadm/encrypt`
* Fix bugs in legacy alternate processing
* Fix bug with hidden private files
* Improve support for older versions of Git
* Add upgrade command
2019-11-07 21:38:53 -06:00
Tim Byrne
f2b2d505a2
Reinitialize submodules during upgrade 2019-11-05 16:36:05 -06:00
Tim Byrne
a217537b26
Fix URL for upgrade help 2019-11-04 17:31:55 -06:00