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.
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)
Update version number and update documentation
* Add Bash completion script (#60)
* Support WSL detection (#61)
* Add introspect command (used by completion)
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)
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.
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>
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)
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)
Update version number and update documentation
* Improve portability of shebang line (#14)
* Support for symlinked directories (#17)
* Improve portability of tar parameters (#18)
* Support alternate gpg program (#19)
* Fallback to using `ls` if `/bin/ls` does not exist (#22)
Update version number and update documentation
* Support alternate paths for yadm data (#4, #5)
* Support asymmetric encryption (#7, #8)
* Prevent the mixing of output and gpg prompts
Each time the yadm repository is initialized or cloned,
set `status.showUntrackedFiles` to "no". This prevents untracked files
and directories from showing up in status commands. This seems to be the
most sensible default, because usually there will be MANY untracked
files in a user's $HOME directory.