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

129 Commits

Author SHA1 Message Date
Tim Byrne
d5b217f850
Merge pull request #195 from rra/manpage-fix 2020-01-21 07:24:42 -06:00
Russ Allbery
45ccf09aa5
Fix leading vim comment
Change `."` to `.\"` for a *roff comment.  `."` appears to do the
same thing, but only accidentally because it's treated as an unknown
macro and then ignored by default.  `man --warnings` will show the
problem:

  % man --warnings ./yadm.1 > /dev/null
  troff: <standard input>:1: warning: macro '"' not defined
2020-01-17 11:41:34 -08:00
Tim Byrne
83c0edd9fb
Mention multiple recipients in man page 2020-01-15 08:07:04 -06: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
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
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
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
045042710d
Add alt-links for encrypted files to man page (#34) 2017-01-12 16:55:11 -06:00
Tim Byrne
5afb334767
Add yadm.git-program information to man page (#30) 2017-01-12 16:27:48 -06:00
Siôn Le Roux
7bf1e63eca Fix OS typo in docs
Replace *operation* system with *operating* system in man page.
2017-01-10 12:01:37 +01:00
Tim Byrne
05ed83ea34
Release 1.05
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)
2016-09-08 08:08:22 -05:00
Tim Byrne
ce0acf1505
Support alternate gpg program (#19) 2016-08-14 23:53:26 -05:00
Tim Byrne
fa286f0c9d
Support for symlinked directories (#17) 2016-08-14 23:53:12 -05:00
Tim Byrne
f0a0015209
Release 1.04
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
2016-04-22 16:33:02 -05:00
Tim Byrne
ea3b2ecfa8 Support yadm.gpg-recipient = ASK 2016-04-21 08:58:07 -05:00
Tim Byrne
fbaf5b6cf4 Merge pull request #8 from esphen/master 2016-04-21 07:33:49 -05:00
Espen Henriksen
33c8cd8a21
#7 Document gpg-recipient 2016-04-19 21:56:00 +02:00
Tim Byrne
b11e26c59a Document new universal options 2016-04-18 17:24:04 -05:00
Tim Byrne
10f8833968 Release 1.03
Update version number and update documentation
2016-01-08 21:47:17 -06:00
Tim Byrne
05aa2608fe Update man page with OS.HOSTNAME.USER 2016-01-08 21:43:23 -06:00
Tim Byrne
04a75cf5ed Document the -w switch for the init command 2015-08-29 10:40:29 -05:00
Tim Byrne
0e7e92a3c1 Release 1.02
Update version number and update documentation
2015-08-12 00:56:36 -05:00
Tim Byrne
3a1a370efb Handle permissions for ~/.gnupg/*gpg
By default, gpg keyrings and configurations will have their permissions
locked down. The option `yadm.gpg-perms` can be used to disable.
2015-08-07 07:18:22 -05:00
Tim Byrne
eb60da77b8 Set status.showUntrackedFiles to "no"
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.
2015-07-26 16:55:32 -05:00
Tim Byrne
9967de4efa Refine documentation 2015-07-19 13:01:52 -05:00
Tim Byrne
2024bd0bf1 Add a default alternate suffix of ##
Now yadm chooses these three suffixes in order:
 - `##SYSTEM.HOSTNAME`
 - `##SYSTEM`
 - `##`
2015-07-19 12:27:04 -05:00
Tim Byrne
135ed8d4b7 Add recommendation for using a private repository 2015-07-17 02:29:20 -05:00
Tim Byrne
d1fe16407d Add option to list encrypted files 2015-07-16 20:57:53 -05:00
Tim Byrne
a403128b88 Complete the manpage, and sync the help in program 2015-07-16 17:25:13 -05:00
Tim Byrne
c941690295 Create first public version 2015-07-14 07:48:47 -05:00