1
0
Fork 0
mirror of synced 2024-11-16 05:35:33 -05:00
Commit graph

138 commits

Author SHA1 Message Date
Robin Schneider
edc87576ce
Add --no-realpath-base switch to keep symbolic links in BASEDIR
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
using a command line flag, `--no-realpath-base`.

The use case where `--no-realpath-base` 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.
2018-05-21 18:11:28 +02:00
Anish Athalye
2f4cc0d9cb Merge branch 'glob' 2018-04-13 08:49:09 -04:00
Anish Athalye
972e80f188 Fix tests on Travis CI
The tests were failing due to the '~/bin' directory already existing on
the machine. This patch changes the tests to use the directory name
'foo'.
2018-04-13 08:49:02 -04:00
Anish Athalye
ee480d931b Fix bug 2018-04-13 08:49:02 -04:00
Anish Athalye
8d08e4b1ad Add tests for globbing 2018-04-13 08:49:02 -04:00
Anish Athalye
7d069b4ac8 Rename 'use_glob' to 'glob' 2018-04-13 08:49:02 -04:00
Ben Klein
7ebb601a10 Add use_globs to readme 2018-04-13 08:49:02 -04:00
Ben Klein
564d16fcd5 Allow force and relink on glob items 2018-04-13 08:49:02 -04:00
Ben Klein
dece710399 Implement globbing support 2018-04-13 08:49:02 -04:00
Anish Athalye
a517c4c5d0 Fix bug in test harness
Because 'bin/dotbot' is a hybrid sh/Python script that finds the
appropriate Python binary and then runs, the test code should not invoke
it as an sh script when sh does not source the pyenv initialization
script.

The fix implemented in this patch is to directly run 'bin/dotbot' as a
Python script using 'python', which when called from bash, will run with
the correct Python version (because bash is set up to source the pyenv
initialization script).
2018-03-27 21:50:31 -04:00
Anish Athalye
b7022f4abb Speed up Vagrant tests
This patch removes the snapshot/rollback system for the tests and
replaces it with a simple cleanup script that removes the appropriate
files from the VM's $HOME before every test. A side benefit is that
there is no more dependency on the Sahara plugin.

The cleanup script may not provide as good isolation between independent
tests as the previous setup, but it is orders of magnitude faster to run
without a VM rollback for every single test, and it does not break any
of the current tests.
2018-03-27 20:56:55 -04:00
Anish Athalye
9ff1db1672 Change default Python version in tests to 3.6.4 2018-03-27 18:16:55 -04:00
Anish Athalye
04fb8adbd9 Add instructions for installing test env on macOS 2018-03-27 17:42:42 -04:00
Anish Athalye
f8f46960f4 Merge branch 'nagromc/tests-instructions' 2018-03-27 17:41:14 -04:00
Morgan Courbet
174949d1fc Add instructions for installing test env on Debian 2018-03-27 17:41:07 -04:00
Anish Athalye
46b17366a3 Update to Debian 9 (Stretch) for testing 2018-03-27 17:26:34 -04:00
Anish Athalye
fe9ca6f5ed Merge branch 'klausweiss/master' 2017-07-12 21:05:48 -07:00
Mikołaj Biel
87cc8d890a Fix shell example in README (add description) 2017-07-12 19:39:36 +02:00
Anish Athalye
f1e8297255 Fix bug with shell defaults 2017-06-27 21:27:50 -07:00
Anish Athalye
0b01d56d81 Merge branch '4U6U57/patch-1' 2017-04-19 14:10:08 -04:00
August Valera
e2948b1a34 Fix README link to list of users after wiki reorg
wiki:List-of-Dotbot-Users -> wiki:Users
2017-04-19 10:59:30 -07:00
Anish Athalye
096035dd98 Add note 2017-04-19 08:46:45 -04:00
Anish Athalye
53eb3851d1 Make launcher find python binary 2017-04-19 08:40:15 -04:00
Anish Athalye
32aa475903 Number repeated names for easier identification 2017-04-18 22:50:28 -04:00
Anish Athalye
c29ba8d722 Add documentation on force option for clean plugin 2017-03-26 11:50:57 -04:00
Anish Athalye
bf2a9330da Merge branch 'dein0s/feature/clean_plugin_add...' 2017-03-26 11:50:41 -04:00
Anish Athalye
190c800272 Fix tests for Travis CI
This patch makes it so the `travis_cleanup` function removes broken
symlinks properly.
2017-03-26 11:50:01 -04:00
dein0s
a2a9e1fb91 Add force option to clean plugin 2017-03-26 11:19:26 -04:00
Anish Athalye
ef558f85d9 Update dates 2017-03-06 15:20:35 -05:00
Anish Athalye
2abfa7fd91 Add tests for more Python versions 2017-03-06 15:20:27 -05:00
Anish Athalye
847cb101d4 Merge branch 'casey/empty-source' 2016-11-23 14:13:00 -05:00
Casey Rodarmor
d2e20c77db Allow empty link sources
If the source for a link is null, use the basename of the destination
with a single leading '.' removed, if present.
2016-11-23 14:11:45 -05:00
Anish Athalye
4468fff67a Merge branch 'ael-code/skip_nonexisting' 2016-11-19 10:27:21 -06:00
ael-code
58c8b98277 Fix error reporting in link plugin 2016-11-19 10:27:13 -06:00
Anish Athalye
295f8e3160 Merge branch 'casey/tilde-warning' 2016-11-18 23:28:22 -06:00
Casey Rodarmor
54346fa942 Mention in readme that ~ is null in YAML
This is a weird YAML gotcha, and it seems worth mentioning in the readme
since Dotbot users are likely to run into it.
2016-11-18 23:27:54 -06:00
Anish Athalye
b482cbda58 Make force only delete files when target exists 2016-11-17 14:12:22 -05:00
Anish Athalye
913d5484ca Merge branch 'bixel/master' 2016-11-17 13:50:32 -05:00
Kevin Heinicke
7593d8c134 Use current $SHELL for shell plugin 2016-11-17 13:50:12 -05:00
Anish Athalye
28959a3f31 Fix user expansion in link source
Previous to this patch, having a config like the following would not
work properly:

    - link:
        ~/a: ~/b

This was because the '~' was expanded on the left hand side (the link
target), but not the right hand side (the link source). It was necessary
to use a workaround like this:

    - link:
        ~/a: $HOME/b

This was because variable expansion was being done, but user expansion
was not being done.

This commit adds support for using '~' in the link source.
2016-08-17 18:27:47 -07:00
Anish Athalye
f04b94d4ae Add info about initializing repo during setup
This change was suggested by Brian Jacobowski
<bjacobowski.dev@gmail.com>.
2016-08-15 17:44:30 -07:00
Anish Athalye
a836261d02 Fix variable expansion in extended syntax 2016-08-02 10:15:27 -07:00
Anish Athalye
0618bc70cc Change inspiration link to point to wiki 2016-04-10 02:17:21 -04:00
Anish Athalye
191559601a Fix linking when using both relink and relative
Prior to this patch, the following config led to incorrect behavior:

    - link:
        ~/.folder/file:
          path: file
          create: true
          relative: true
          relink: true

Prior to the change, running the config the first time would result in
expected behavior. However, running the config for the second time would
result in deletion and re-creation of the link (even when the link is
correct).

This patch improves the interaction of relink and relative, taking
relative paths into account when checking the validity of existing links
in the `_delete()` method.
2016-04-07 14:45:46 -04:00
Anish Athalye
3d9b3ae2a8 Fix link 2016-03-26 09:16:41 -04:00
Anish Athalye
1374416362 Add link to wiki 2016-03-20 08:34:29 -04:00
Anish Athalye
56aeffa387 Switch to Debian for testing in Vagrant 2016-03-05 02:07:01 -05:00
Anish Athalye
f52bbd1eec Add default options
This feature was implemented with feedback from Aleks Kamko
<aykamko@gmail.com> and Casey Rodarmor <casey@rodarmor.com>.
2016-03-03 09:42:50 -05:00
Anish Athalye
daf8d82e02 Add functionality to create relative links
This commit adds an option to the extended configuration syntax for
linking files and directories. Enabling the relative option makes it so
that symbolic links are created with relative paths instead of absolute
paths.
2016-02-14 23:06:52 -05:00
Anish Athalye
c402396c58 Add documentation and tests for plugins 2016-02-06 15:23:39 -05:00