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

295 Commits

Author SHA1 Message Date
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
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
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
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
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
Tim Byrne
356c47a19f Add Bash completion script (#60)
* Add completion script
* Add introspection
2017-04-24 07:49:10 -05:00
Tim Byrne
eabf9091fb Support WSL detection (#61)
`uname -s` was already being executed every run for *cygwin* detection.
I've consolidated all of the OS detection into a single function. This
also fixed the problem of running `uname -s` twice for the `alt`
command.
2017-04-09 08:47:18 -05:00
Tim Byrne
df4652d6de Release 1.08
Update version number and update documentation

* Fix bug alternates based on `CLASS` (#51)
* Support globs and paths with space in .yadm/encrypt (#53, #54)
* Add support for alternate files using Jinja templates (#56, #58)
* Add `enter` command, for creating a sub-shell (#57)
* Support local.hostname properly (#59)
2017-04-03 07:09:32 -05:00
Tim Byrne
9824de5410 Change template indicator to ##yadm.j2 2017-03-31 16:42:51 -05:00
Tim Byrne
588bc6eafe Support local.hostname properly (#59) 2017-03-31 12:43:32 -05:00
Tim Byrne
00133032ef Add minor improvements to template processing
* Determine envtpl using `command -v` instead of `which` (more portable)
* Anchor the end of template file names in regex
* Quote variables to allow for whitespace in file names
2017-03-30 23:51:23 -05:00
Tim Byrne
aaa4152fac Remove trailing whitespace 2017-03-30 21:58:26 -05:00
Tim Byrne
fd6fa8c923 Merge pull request #58 from janschulz/jinja_processing
Excluding yadm.md changes (these will happen during a release)
2017-03-30 17:00:27 -05:00
Tim Byrne
4e05be7020 Set prompt for sub-shells 2017-03-30 16:30:22 -05:00
Tim Byrne
1c34bc8e7f Merge pull request #57 from renard/enter-function 2017-03-30 16:28:31 -05:00
Jan Schulz
a479b70d8a Add jinja processing to alt command
With the new functionality, when the 'alt' command is called (or automatically
triggered), any file with a name ending in '##yadm_tmpl' is treated as a jinja
template. The template is processed by envtpl and the result is written to a
file without the '##yadm_tmpl' name. The variables passed into the template
processing are

  YADM_CLASS
  YADM_OS
  YADM_HOSTNAME
  YADM_USER

These variables are set according to the normal rules for
CLASS, OS, HOSTNAME, and USER during the alt processing.
2017-03-26 03:49:24 +02:00
Tim Byrne
5678e383d8 Give priority to CLASS by processing those patterns separately (#51) 2017-03-25 12:55:46 -05:00
Tim Byrne
5141433776 Support encrypt globs and paths with space (#53, #54) 2017-03-24 17:37:40 -05:00
Sébastien Gross
831461e91e Add enter function for easier interaction with git repo.
Run a subshell with all git variables set. This can be used to easily
interact with your git repository. This is also useful if you are using
Emacs Tramp and magit to manage your directory.

Signed-off-by: Sébastien Gross <seb•ɑƬ•chezwam•ɖɵʈ•org>
2017-03-21 11:53:13 +01:00
Tim Byrne
def7e732db Release 1.07
Update version number and update documentation

* Add `CLASS` to supported alt-link patterns (#21)
* Add bootstrap command (#42)
* Support wildcards for alt-links (#43)
* Stash conflicting data during clone (#44)
* Offer bootstrap after successful clone (#45)
* Display supported configs for `yadm config` (#46)
* Add "curl-pipe" program to clone without installation (#48)
* Fix bug in alt-link regular expressions (#49)
2017-02-10 14:53:52 -08:00
Tim Byrne
f2b2b64750 Bring man page up-to-date with new features 2017-02-03 07:36:53 -06:00
Tim Byrne
2a7203a67b Unset GIT_DIR prior to executing bootstrap 2017-01-30 21:20:37 -06:00
Tim Byrne
a612a98136 Explicitly read answers from /dev/tty
This is necessary if **yadm** is started by piping it into `bash`.
2017-01-27 17:08:07 -06:00
Tim Byrne
7f6fe24280 Indicate stash should be run from within $HOME 2017-01-27 08:23:15 -06:00
Tim Byrne
d28df86494 Store class/os/host/user overrides in the local repo config
Overrides are meant to be local to each system, unlike other
configurations which are often added to a user's dotfiles repository.

With this change, the configurations change names:

  alt.class => local.class
  alt.os    => local.os
  alt.host  => local.host
  alt.user  => local.user
2017-01-26 10:48:40 -06:00
Tim Byrne
76d90db627 Replace "TODO text" for yadm config (#46) 2017-01-25 17:31:56 -06:00
Tim Byrne
08e6cd40cb Offer bootstrap after clone (#45) 2017-01-25 08:41:17 -06:00
Tim Byrne
e82c4dac4c Add bootstrap command (#42) 2017-01-23 17:53:40 -06:00
Tim Byrne
7d3c9e1cb5 Run auto-alt after yadm config 2017-01-23 17:53:40 -06:00
Tim Byrne
e2d8742a40 Support stashing of conflicting data during clone (#44) 2017-01-20 17:11:23 -06:00
Tim Byrne
ce4ed41f10 Support custom classes for alt-links (#21)
Class can be set using `yadm config alt.class <class>`
2017-01-20 00:14:10 -06:00
Tim Byrne
3b4c405d7f Allow override of OS/Host/User (#21) 2017-01-18 19:51:28 -06:00
Tim Byrne
eaa252f721 Implement alt-link wildcards (#43) 2017-01-18 01:46:51 -06:00
Tim Byrne
02bf83c5ef Restrict alt-link delimiter to a period (#49) 2017-01-16 17:52:04 -06:00
Tim Byrne
672c985e88 Release 1.06
Update version number and update documentation

* Improve portability of `hostname` (#23)
* Fix incompatibilities between Cygwin and Git for Windows (#26)
* Allow Git program to be configured via yadm.git-program (#30)
* Support alt-links for encrypted files (#34)
* Exit with the same return value as Git (#35)
* Support spaces in alt-link paths (#36)
* Ignore empty lines in .yadm/encrypt (#40)
* Fix typos (#41)
2017-01-12 17:15:46 -06:00
Tim Byrne
fe0ddd4c1a Merge pull request #26 from cnaj/master 2017-01-08 20:33:46 -06:00
Tim Byrne
eba6557ae8 Ignore empty lines/whitespace lines in .yadm/encrypt (#40) 2017-01-08 11:11:01 -06:00
Tim Byrne
2a956d15ad Allow Git program to be configured via yadm.git-program (#30) 2017-01-07 19:47:25 -06:00
Tim Byrne
044c6e4d62 Support alt-links for encrypted files (#34) 2017-01-07 16:13:47 -06:00