Age | Commit message (Collapse) | Author | Files | Lines |
|
This feature means to replace what was called 'packages'. The old
packages implementation was only one subdirectory lower than the home
directory and quite limiting in that regard. Even worse, they had to be
configured manually in the configuration file and could not be created
from the command line.
This approach offers any depth the user specifies because the rule is:
you can only add files to the repository, not directories. So if a user
adds a directory, the effect will be that each file contained in any
portion of that directory will be moved into the repository and a
symlink created. This completely removes both manual configuration and
link ambiguity because there is always only once choice. The repository
is used to maintain the directory structure, but only the leaf nodes
(files) are symlinked in the home directory.
This also makes it easy to store other non-dotfile files in the
repository like wallpapers, fonts, music, or whatever.
|
|
|
|
|
|
This was not my first choice, but it works. I need to put this in a
fixture so it's not duplicated for every cli test function.
|
|
I've tried a few approaches to overriding the defaults to test the click
cli components and so far none of them have worked. Need to revisit
this at some point.
|
|
|
|
|
|
I think this naming is more appropriate and intuitive
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
I'm hoping to add more tests for specific features and break then into
separate files so things are a bit easier to manage.
|
|
In reference to #33.
|
|
This test currently fails because of a bug.
In reference to #33.
|
|
This fails because the add operation is not aware of package settings,
and therefore adds a package dotfiles as it normally would - as
a toplevel symlink. The problem arises when a user attempts to sync and
the expected symlink layout is not as it should be. With the force
option, this can lead to deleted files with no way to recover.
Re #20, #27
|
|
Re: #25
|
|
If the remove operation is issued on a dotfile pointing to a target
that's already been removed from the repository, then the symlink should
just be removed quietly.
Re: #25
|
|
|
|
|
|
|
|
If a package is defined in .dotfilesrc and the package directory doesn't exist
in the repository when you attempt to add it, an IOError exception is thrown.
This test captures the failing scenario.
In reference to #17.
|
|
|
|
|
|
|
|
|
|
Replaced a few Python 2-only idioms with equivalents that work in both Python 2
and Python 3.
|
|
|
|
In addition to parsing .dotfilesrc in the user's home directory, also look for
that file inside the repository. This allows you to keep your repository and
it's settings together.
Closes: #1
|
|
|
|
|
|
|
|
|
|
|
|
Closes #2
|
|
|