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

267 Commits

Author SHA1 Message Date
Tim Byrne
0f2039f79d
Create a flag to identify when running inside testbed 2019-02-25 16:30:05 -06:00
Tim Byrne
e7f9616b39
Rewrite testing system (#119)
The new test system is written with py.test. These tests are more
comprehensive, run faster by an order of magnitude, and are far more
maintainable. The tests themselves conform to PEP8.
2019-02-20 07:48:25 -06:00
Brayden Banks
0b9f537909
Allow for more complex Jinja templates
By calling envtpl with a filename, Jinja can perform includes, which is useful for more general machine configuration.
2018-06-11 19:31:10 -07:00
Tim Byrne
09a018ea5a
Release 1.12.0
Update version number and update documentation

* Add basic Zsh completion (#71, #79)
* Support directories in `.yadm/encrypt` (#81, #82)
* Support exclusions in `.yadm/encrypt` (#86)
* Improve portability with printf (#87)
* Eliminate usage of `eval` and `ls`
2017-10-24 22:12:23 -05:00
Tim Byrne
8af5425dc3
Capitalize headings 2017-10-24 07:40:40 -05:00
Tim Byrne
805d7647a8
Update documentation to reflect new .yadm/encrypt functionality 2017-10-24 07:38:13 -05:00
Tim Byrne
db9c00287b
Fix contrib target 2017-10-16 17:36:14 -05:00
Tim Byrne
75e0bf94bb
Merge pull request #91 from luzat/fix-whitespace 2017-10-16 17:24:22 -05:00
Thomas Luzat
ac2aed9ab4
Indentation: Convert tab to space 2017-10-09 15:21:32 +02:00
Tim Byrne
d411db9f6f
Consolidate cd to YADM_WORK 2017-09-22 12:30:24 -05:00
Tim Byrne
c24906ec10
Handle exclusions in .yadm/encrypt (#86) 2017-09-21 14:21:23 -05:00
Tim Byrne
2517e4b4ac
Add test-case for exclusions in .yadm/encrypt (#86) 2017-09-21 14:21:22 -05:00
Tim Byrne
cc30dfc24b
Re-number unit tests 2017-09-16 09:33:12 -05:00
Tim Byrne
f23bdb8147
Remove last use of LS_PROGRAM
Globs are not determined by an `eval` of `ls` anymore. The only other
use of `ls` can be replaced with a simple `printf`.
2017-09-16 09:33:12 -05:00
Tim Byrne
b78bb1eef4
Eliminate the use of eval
`eval` has always been used to process the globs in `.yadm/encrypt`.
This is being removed, as there is a risk of executing "dirty" data
found in `.yadm/encrypt`.

Caveats of this change:
  * Brace and tilde expansion will no longer work in `.yadm/encrypt`
  * Paths with spaces must not be quoted anymore
2017-09-16 09:32:38 -05:00
Tim Byrne
57866714c4
Replace echo with printf (#87) 2017-09-15 18:35:41 -05:00
Tim Byrne
abf6cd1c4c
Merge pull request #81 from japm48/patch-1
Add support for directories in .yadm/encrypt
2017-09-04 13:22:21 -05:00
Tim Byrne
df952094a1
Add test case for supporting directories in .yadm/encrypt (#81) 2017-09-04 13:19:04 -05:00
Tim Byrne
e09b5a551e
Declare PHONY targets in Makefile 2017-09-04 11:59:06 -05:00
Tim Byrne
eef9bfa2f7
Add a testhost target
This target runs Bash in an ephemeral docker container with the HEAD
revision of yadm mounted at /bin/yadm. You can override the version
using any "commit-ish". Eg. `target=1.06 make testhost`
2017-09-04 11:59:06 -05:00
Tim Byrne
f0886ef622
Merge pull request #79 from Mellbourn/zsh-completion
* Unified the naming between bash and zsh
* Cleaned up indentations, line endings
* Tweaked documentation
2017-08-24 18:35:17 -05:00
Tim Byrne
5d4f3aac5b
Release 1.11.1
Update version number and update documentation

* Create private dirs prior to merge (#74)
2017-08-23 07:28:35 -05:00
Tim Byrne
ebc90bfc98
Create secured private dirs (#74)
Directories are created prior to merge during clone, and prior to any
Git command run.

This directly addresses CVE-2017-11353.

When cloning a repo which includes data in a .ssh or .gnupg directory,
if those directories do not exist at the time of cloning, yadm will
create the directories with mask 0700 prior to merging the fetched data
into the work-tree.

When running a Git command and .ssh or .gnupg directories do not exist,
create those directories with mask 0700 prior to running the Git
command. However, do not create those directories if
yadm.auto-private-dirs is false.
2017-08-22 21:28:07 -05:00
japm48
8e3a5dbf47 Fix for issue #81
See details in #81
2017-08-20 06:55:59 +02:00
Klas Mellbourn
38318cff84 zsh completion - improve documentation 2017-08-11 20:09:27 +02:00
Klas Mellbourn
ded14fce73 add zsh completions 2017-08-11 19:50:25 +02:00
Tim Byrne
c20973c306
Fix date in SPEC
Months must be three letters for compatibility
2017-07-10 07:57:38 -05:00
Tim Byrne
4b5b6c44d3
Release 1.11.0
Update version number and update documentation

* Option for Cygwin to copy files instead of symlink (#62)
* Support `YADM_DISTRO` in Jinja templates (#68)
* Support pre/post hooks for every command (#70)
2017-07-09 23:07:50 -05:00
Tim Byrne
df1f7493ab
Add documentation for YADM_DISTRO support in Jinja templates 2017-07-07 08:33:14 -05:00
Tim Byrne
bf61ad662d
Add new detail to HOOKS documentation 2017-07-06 21:53:23 -05:00
Tim Byrne
557ce93fab
Add tests for hooks 2017-07-05 16:33:50 -05:00
Tim Byrne
0168bcfb5e
Query worktree directly from repo 2017-07-05 16:32:54 -05:00
Tim Byrne
61270c8277
Prevent command from running if "pre" hook fails 2017-07-05 08:12:29 -05:00
Tim Byrne
f73c873681
Expose some internal data to all hooks
* Command run by yadm
* Full commandline arguments
* Repo directory
* Worktree
* Exit status (for post hooks)
2017-07-05 08:12:29 -05:00
Tim Byrne
35743e3711
Tie "post" hooks to yadm exits
There are many cases where yadm may exit early (particularly when
encountering an error).
2017-07-03 16:25:23 -05:00
Tim Byrne
880964e2b2
Some initial tweaks to hooks
* No not require `.sh` extension. Hooks can be written in any language.
* Use `[` for the `-x` test
* Clean up debug message and formatting
2017-07-03 16:25:03 -05:00
Tim Byrne
df21cd2cb8
Merge pull request #70 from cweagans/hooks
Dropping changes to `yadm.md` and `CONTRIBUTORS`. These are built
programmatically during releases.
2017-07-03 16:24:13 -05:00
Tim Byrne
5293db986a
Support YADM_DISTRO in Jinja templates (#68) 2017-07-03 16:21:27 -05:00
Tim Byrne
280b1179f7
Add lsb-release to testbed (to support YADM_DISTRO) 2017-07-03 16:21:06 -05:00
Cameron Eagans
cf06ca3f42 Add myself as a contributor 2017-06-22 17:32:47 -06:00
Cameron Eagans
8ff804c1a9 Regenerate yadm.md 2017-06-22 17:32:39 -06:00
Cameron Eagans
8d1151a609 Document hooks 2017-06-22 17:32:31 -06:00
Cameron Eagans
41409631a1 Add script hooks 2017-06-22 17:32:16 -06:00
Tim Byrne
7538851fe3
Gracefully handle changes in yadm.cygwin-copy 2017-06-01 17:06:27 -05:00
Tim Byrne
f8e0bd593d
Support yadm.cygwin-copy configuration (#62)
With `yadm.cygwin-copy` set to "true", alternate files will be copies
instead of symlinks, but only when running on Cygwin.
2017-05-31 18:28:54 -05:00
Tim Byrne
68937f3cad
Release 1.10.0
Update version number and update documentation

* Fix `COMP_WORDS bad array subscript` bug (#64)
* Transition to semantic versioning
2017-05-10 17:46:37 -05:00
Tim Byrne
79e149ed25
Switch to semantic versioning 2017-05-10 08:00:29 -05:00
Tim Byrne
9d21376f88
Merge pull request #64 from Mellbourn/fix-negative-comp-words
Including tweaks to conditional statements

I think the original conditionals would always be false. That prevents
using completions which rely on identifying the penultimate and
antepenultimate portions of typed commandline.
2017-05-08 16:30:30 -05:00
Klas Mellbourn
708b491d88 fix for getting 'COMP_WORDS bad array subscript' on completing yadm
I stared getting these errors when pressing tab after 'yadm '. This seems to be due to COMP_CWORD being negative, so this is the fix I applied
2017-05-07 22:43:10 +02:00
Tim Byrne
246eab8b52
Release 1.09
Update version number and update documentation

* Add Bash completion script (#60)
* Support WSL detection (#61)
* Add introspect command (used by completion)
2017-05-04 07:22:48 -05:00