Commit Graph

76 Commits

Author SHA1 Message Date
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 2978c7dd8a
Add git-crypt info to man page 2019-12-16 17:11:06 -06:00
Tim Byrne 787de27b7c
Reorder items in man page 2019-12-16 17:11:06 -06:00
Tim Byrne 32baf81b56
Support specifying a command after `yadm enter` 2019-12-08 15:17:47 -06: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 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 ecbffdbb28
Update manpage for double-star support 2019-11-26 16:59:19 -06:00
Tim Byrne abf21873f6
Adjust formatting 2019-11-16 15:26:50 -06:00
Sheng Yang daa55b1af0
Update documentation about using yadm with magit 2019-11-16 08:37:32 -06:00
Tim Byrne eed59388cb
Note exception for WSL (#113) 2019-11-14 08:23:41 -06: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
Tim Byrne 5b105e0687
Add missing details to manpage 2019-11-07 21:36:53 -06:00
Tim Byrne 84ef8709e4
Fix typo 2019-11-07 21:09:37 -06:00
Tim Byrne 6442313abf
Improve manpage 2019-10-30 17:34:34 -05:00
Tim Byrne b62a4c77a6
Create an upgrade command
This command will assist users with migration from 1.x.x to 2.0.0.
2019-10-23 17:08:04 -05:00
Tim Byrne 0c9468c9b5
Ignore encrypted files (#69)
Append the contents of .config/yadm/encrypt to the repo's git ignore
list. This is to help prevent accidentally committing unencrypted
sensitive data.
2019-10-17 08:22:17 -05:00
Tim Byrne 4ea3ed9e2a
Allow storing alternates elsewhere (#90)
This change allows alternates to be stored in "$YADM_DIR/alt". The
correct path within the work tree will be symlinked.

Storing alternates within the work tree is still allowed. Both locations
will be considered when choosing an appropriate alternate file.
2019-10-12 09:59:02 -05:00
Tim Byrne aeb6a54ad7
Add `source` to templates (#163)
A new variable is exposed to templates, which holds the filename of the
template source. The primary use case is to be able to include a warning
message within the template. For example:

  # Do not edit. This file auto-generated from {{ yadm.source }}.
2019-10-11 07:23:52 -05:00
Tim Byrne 117541fd21
Reorder descriptions of options 2019-10-09 18:47:45 -05:00
Tim Byrne 574945f010
Change yadm.cygwin-copy to yadm.alt-copy
This removes the constraint of only allowing the copy option on Cygwin
systems. Now any system can configure this option.
2019-10-09 18:47:42 -05:00
Tim Byrne f3bde37f78
Support `-b <branch>` when cloning (#133) 2019-10-08 17:28:53 -05:00
Tim Byrne 6a3199ceea
Support DISTRO in alternates (#72) 2019-10-06 16:35:47 -05:00
Tim Byrne 4f6b0f09cd
Remove unnecessary formatting 2019-10-05 12:01:48 -05:00
Tim Byrne 81134c8edb
Update documentation
* XDG Base Directory Specification
* New alternates processing
2019-10-04 22:40:09 -05:00
Tim Byrne 48fc6b0db7
Support XDG base directory specification
https://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
2019-09-27 08:40:31 -05: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 805d7647a8
Update documentation to reflect new .yadm/encrypt functionality 2017-10-24 07:38:13 -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
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 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
Cameron Eagans 8d1151a609 Document hooks 2017-06-22 17:32:31 -06: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 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 0b1b810722
Generalize documentation for `enter` 2017-03-31 16:27:17 -05:00
Tim Byrne c053481c21
Adjust minor details about Jinja processing 2017-03-31 00:34:29 -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 73a931e920
Unify the capitalization of Git 2017-03-30 16:30:49 -05:00
Tim Byrne b4e73abc9f
Reformat `enter` documentation 2017-03-30 16:30:44 -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
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