Commit Graph

79 Commits

Author SHA1 Message Date
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
Tim Byrne 635468b707
Check exit code directly (SC2181) 2017-01-06 17:05:28 -06:00
Tim Byrne 2033e5673e
Merge pull request #35 from shkitch/master 2017-01-06 16:31:09 -06:00
Tim Byrne 39e5548347
Merge pull request #36 from roothybrid7/feature/alt-with-spaces 2017-01-06 10:35:03 -06:00
Tim Byrne fd77d024dd
Improve portability of `hostname` (#23) 2017-01-05 16:59:22 -06:00
Satoshi Ohki 2140970157 Fixed yadm-alt to work even if whitespaces exist in filepath 2017-01-05 19:52:56 +09:00
Uroš Golja 763146043e Make yadm exit with the return value of git. 2016-12-24 01:12:35 +01:00
Tomas Cernaj 35da3eeb6e Make yadm work with Git for Windows under Cygwin
When using Git for Windows (a.k.a. msysGit) from Cygwin, git stumbles
over paths in Unix notation. Git for Windows only accepts Windows
paths (mixed notation is OK, for example `C:/GITREPO/`). This patch
converts paths passed to and from git to the appropriate notation using
cygpath if yadm is run under Cygwin and Git for Windows is detected.
2016-10-09 22:18:17 +02: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 60eb4c415f
Fallback to using `ls` if `/bin/ls` does not exist (#22) 2016-08-28 22:06:14 -05:00
Tim Byrne ce0acf1505
Support alternate gpg program (#19) 2016-08-14 23:53:26 -05:00
Tim Byrne d500ccfbd9
Use `-f -` with tar `-x`, `-c`, and `-t` operations (#18) 2016-08-14 23:53:17 -05:00
Tim Byrne fa286f0c9d
Support for symlinked directories (#17) 2016-08-14 23:53:12 -05:00
Tim Byrne fea665eb34
Use `#!/bin/sh` for portability (#14) 2016-06-18 10:38:04 -05:00
Tim Byrne d55725eafa
Improve portability of shebang line (#14) 2016-06-08 08:13:19 -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 aeb2e5d6c7 Prevent the mixing of output and gpg prompts 2016-04-21 10:00:12 -05:00