summaryrefslogtreecommitdiff
path: root/dotbot
Commit message (Collapse)AuthorAge
* Add 'canonicalize-path' option to linkRobin Schneider2020-01-03
| | | | | | | | | | | | | | | | | | | Dotbot had a hardcoded behaviour that the BASEDIR was always passed to os.path.realpath which "returns the canonical path of the specified filename, eliminating any symbolic links encountered in the path". This might not always be desirable so this commit makes it configurable. The use case where `canonicalize-path` comes in handy is the following: You want to provide dotfiles in the Filesystem Hierarchy Standard under `/usr/local/share/ypid_dotfiles/`. Now you want to provide `.config/dotfiles` as a default in `/etc/skel`. When you now pre-configure `/etc/skel` by running dotbot in it set has HOME, dotfiles will refer to `/usr/local/share/ypid_dotfiles/` and not `/etc/skel/.config/dotfiles` which does not look nice. This is related to but not the same as the `relative` parameter used with link commands.
* Add option to clean recursivelyAnish Athalye2019-12-31
|
* Fix clean not respecting defaultsAnish Athalye2019-12-31
| | | | | | | | | | Previously, clean read the defaults once, and then it updated the setting for each entry it read. This resulted in the defaults being clobbered and then not being respected for subsequent entries. This patch fixes the issue by re-reading the defaults before processing each item. The other plugins (link, shell) do not have this problem.
* Add ignore-missing option to linkAlbert Puig2019-12-31
|
* Release 1.16.0Anish Athalye2019-10-12
|
* Add 'create' directive to create directoriesJesse Leite2019-10-12
|
* Change `target` to `source` for consistency with docsronalabraham2019-06-04
|
* Release 1.15.0Anish Athalye2018-11-21
|
* Merge branch 'thtliife/suppress-shell-cmd'Anish Athalye2018-11-21
|\
* | Release 1.14.1Anish Athalye2018-11-19
| |
* | Support defining default conditional option for linksBao Trinh2018-11-17
| |
* | Release 1.14.0Anish Athalye2018-10-16
| |
* | Implement conditional linkingBen Klein2018-10-16
| |
* | Add option --no-color to suppress colorization of outputPhilip Hallstrom2018-10-06
| | | | | | | | | | | | By default, if output is a TTY, dotbot will colorize the output. This patch adds the option to pass `--no-color` to dotbot to have it suppress this colorization.
* | Fix clean path expansion to expand env varsDerek P Sifford2018-08-06
| |
* | Release 1.12.4Anish Athalye2018-06-18
| |
* | Include built-in plugins in PyPI distributionAnish Athalye2018-06-11
| |
* | Release 1.12.3Anish Athalye2018-06-03
| |
* | Release 1.12.2Anish Athalye2018-06-01
| |
* | Add PyPI packageAnish Athalye2018-05-30
| | | | | | | | | | This patch also makes the '-d' argument optional, with the base directory defaulting to the directory of the configuration file.
* | Fix handling of base directoryAnish Athalye2018-05-24
| | | | | | | | | | | | | | | | Prior to this patch, Dotbot was relying on running with the base directory being the current working directory. In practice, it was relying on the install shim to set up this context. It makes more sense sense to actually execute `chdir()` within Dotbot itself, rather than relying on the install shim to do so.
* | Implement globbing supportBen Klein2018-04-13
|/
* Add default optionsAnish Athalye2016-03-03
| | | | | This feature was implemented with feedback from Aleks Kamko <aykamko@gmail.com> and Casey Rodarmor <casey@rodarmor.com>.
* Add plugin loaderCasey Rodarmor2016-02-06
|
* Fix compatibility with Python 3Anish Athalye2016-01-15
| | | | | This patch removes a stray print statement that was causing problems with Python 3.
* Use file extension to select config file parserAnish Athalye2016-01-13
| | | | | This patch makes Dotbot provide better error messages when parsing JSON files.
* Use standard library JSON parser for JSON filesAnish Athalye2016-01-13
| | | | | | This patch reverts the changes to the README made in 57265f78b4e4f6ca67393f55b2b08f6f45a02ff1 and makes it so that Dotbot supports JSON files with tab characters.
* Use `safe_load` function to load YAMLAnish Athalye2015-08-03
| | | | | | | | In our use case, we are *not* reading arbitrary input that could be malicious. Still, because we know that what we're reading is made up of only dictionaries and lists and not arbitrary Python objects, we might as well use the more restrictive `safe_load` function rather than the `load` function.
* Add environment variable expansion in link pathsAnish Athalye2015-05-12
| | | | This feature was proposed by Brian Knobbs <brian@redlattice.com>.
* Add functionality to overwrite broken linksAnish Athalye2015-05-02
| | | | | | | This commit adds an option to the extended configuration syntax for linking files and directories. The relink option is a safe alternative to forcibly linking that only removes broken symbolic links, so it cannot result in data loss.
* Handle force creation of symlinked directoriesAndreas Ntaflos2015-04-27
| | | | | | Check if entry to force-create (delete) is a symlink and if so, simply unlink it. Don't try to run rmtree on the underlying directory, which will fail anyway.
* Improve error message for malformed filesAnish Athalye2015-04-26
| | | | | This patch makes Dotbot warn the user and gracefully exit when the configuration file is not a list.
* Provide exception information when reading configJoshua Blum2015-04-24
|
* Fix styleAnish Athalye2015-04-24
| | | | Fix formatting of keyword arguments according to PEP 8.
* Add more options for shell commandsAnish Athalye2015-02-03
| | | | | | This commit introduces an extended configuration syntax for shell commands. This syntax allows for specifying whether the stdin, stdout, and stderr streams are enabled.
* Allow nonexistent directories to be cleanedAnish Athalye2015-01-26
| | | | Make nonexistent directories be skipped when cleaning.
* Fix compatibilityAnish Athalye2015-01-26
| | | | | This commit fixes usage of the Singleton metaclass so that it is compatible with both Python 2 and Python 3.
* Clean up codeAnish Athalye2015-01-26
| | | | Fix typos and remove unused code.
* Fix bug with forced links not working in all casesAnish Athalye2014-11-09
| | | | | | | | This commit fixes a bug where forced links did not work on certain types of bad links. Until this fix, forced links only worked if the original was a real file or directory. This commit fixes this, so that the forced link option also works when the original is a broken or incorrect symbolic link.
* Add YAML supportAnish Athalye2014-10-27
| | | | | | Add support for YAML format configuration files. In addition, this commit adds instructions about YAML config files to the README, and it also changes the README to encourage use of YAML instead of JSON.
* Add functionality to create parent directoriesAnish Athalye2014-10-22
| | | | | | | This commit introduces an additional option for extended configuration syntax for linking. It adds the "create" parameter which results in automatically creating a parent directory if necessary before linking a file.
* Add functionality to forcibly link itemsAnish Athalye2014-10-22
| | | | | | | | | | This commit introduces an extended configuration syntax for linking files and directories. Currently, this syntax allows for specifying items to be forcibly linked, overwriting existing files or directories if necessary. The extended configuration syntax was proposed by Travers McInerney <travers@mcinerney.me>.
* Fix whitespace errorAnish Athalye2014-10-17
|
* Clean up codeAnish Athalye2014-08-20
|
* Add keyboard interrupt handlerAnish Athalye2014-07-19
|
* Display better error message when linking failsAnish Athalye2014-07-17
| | | | | | When failing to symbolically linking files, display the names of the files that could not be linked. This makes it easier to troubleshoot the error without having to manually figure out which files failed to link.
* Make Linker check for existence of targetsAnish Athalye2014-07-15
| | | | | | Linker now reports an error when links are configured to point to nonexistent targets. This fixes the old behavior where Linker silently created invalid links.
* Fix source compatibility with Python 3Anish Athalye2014-06-14
| | | | | | | | | | According to PEP 394, `python` should only be used in the shebang line for scripts that are source compatible with both Python 2 and Python 3. In previous versions of Dotbot, on certain systems where `python` referred to `python3`, running Dotbot would throw an exception due to a SyntaxError. This can be fixed by making Dotbot source compatible with both Python 2 and Python 3.
* Add Cleaner executorAnish Athalye2014-06-08
|
* Remove code duplication in executorsAnish Athalye2014-04-24
|