aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2016-02-18Add support for configuration filesGravatar Jon Bernard 2-27/+60
At the moment, only a global configuration file is considered at '~/.config/dotfiles/config.ini'. Further more, only the 'repositories' field is being used at the moment, but this will change in the next commit. If you to specify a repository (or several) in the config file, you could use something like: [dotfiles] repositories = ['~/public/dotfiles', '~/private/dotfiles'] Still some polishing to be done, but it's coming along.
2016-02-16Create repositories class to hide context objectGravatar Jon Bernard 2-26/+46
2016-02-03Remove unused import to make flake8 happyGravatar Jon Bernard 1-1/+0
2016-02-03Simplify CLI status testGravatar Jon Bernard 1-9/+1
2016-02-03Remove CLI repo validationGravatar Jon Bernard 1-3/+2
This prevents auto-creation from happening, which I like.
2016-02-03Update todo listGravatar Jon Bernard 1-2/+1
2016-02-02Add support for multiple repositoriesGravatar Jon Bernard 1-52/+56
I haven't tested this much yet and I haven't written the tests yet either, so please tread lightly. The idea is allow you to compose your home directory symlinks from a set of repositories instead of just one. This allows you to separate things into logical groups and maybe sync only certain groups on certain machines. It's a different take on the 'host profiles' feature where you specify certain files to be included or ignored based on hostname.
2016-01-24Update todo listGravatar Jon Bernard 1-0/+2
2016-01-24Add todo listGravatar Jon Bernard 1-0/+9
2016-01-23Update changelog for upcoming 0.9 releaseGravatar Jon Bernard 1-0/+9
2016-01-22Simplify test fixtures into a single repositoryGravatar Jon Bernard 4-136/+130
2016-01-22Small refactoring and cleanupsGravatar Jon Bernard 2-17/+16
2016-01-21Allow globs in ignore patternsGravatar Jon Bernard 4-65/+76
2016-01-21Import only py's path moduleGravatar Jon Bernard 1-1/+1
2016-01-20Expose --dot/--no-dot in cliGravatar Jon Bernard 2-6/+9
2016-01-20Finish basic repository unit testsGravatar Jon Bernard 1-31/+62
2016-01-20Add docstrings for repository classGravatar Jon Bernard 1-1/+16
2016-01-20Improve docstrings in cliGravatar Jon Bernard 1-3/+10
2016-01-20Add docstrings for dotfile classGravatar Jon Bernard 1-0/+13
2016-01-20Remove unused exception classesGravatar Jon Bernard 1-22/+4
2016-01-20Small cleanup in conftestGravatar Jon Bernard 1-2/+2
2016-01-20Bump version to 0.9.dev0 in preparation for 1.0Gravatar Jon Bernard 1-1/+12
2016-01-19Finish tests for dotfile classGravatar Jon Bernard 1-65/+121
2016-01-19Update function organization in dotfile.pyGravatar Jon Bernard 1-6/+6
2016-01-19Update copyright date in license fileGravatar Jon Bernard 1-1/+1
2016-01-18Make flake8 happy againGravatar Jon Bernard 1-0/+7
2016-01-18Remove class wrapper from repository testsGravatar Jon Bernard 1-46/+44
2016-01-18Fix typoGravatar Jon Bernard 1-1/+1
2016-01-18Fix unit tests to match recent changesGravatar Jon Bernard 1-9/+12
2016-01-17Add support for dotfiles in subdirectoriesGravatar Jon Bernard 1-40/+52
2016-01-17For nested dotfiles, ensure directory structureGravatar Jon Bernard 1-48/+31
2016-01-17Add dotfile-already-exists exceptionGravatar Jon Bernard 1-0/+6
2016-01-17Remove duplication in CLIGravatar Jon Bernard 1-20/+42
2016-01-17Split tests into separate filesGravatar Jon Bernard 3-77/+80
2016-01-17Various cleanupsGravatar Jon Bernard 2-40/+37
2016-01-17Remove some cli duplicationGravatar Jon Bernard 3-42/+27
2016-01-17Sort contents on our ownGravatar Jon Bernard 1-1/+3
py.path.local.visit() sorting doesn't seem to work, at least not in a way that makes sense to me.
2016-01-17Break functionality into separate filesGravatar Jon Bernard 7-368/+414
2016-01-17Ignore task filesGravatar Jon Bernard 1-0/+3
2016-01-17Simplify tox configurationGravatar Jon Bernard 1-5/+2
2016-01-15Move implementation and tests back to directoriesGravatar Jon Bernard 5-7/+7
I think keeping the physical separation is helpful, especially as more features get added.
2016-01-15Add initial support for nestingGravatar Jon Bernard 2-8/+14
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.
2016-01-15Show confirmation on stdout for each successful operationGravatar Jon Bernard 1-4/+19
2016-01-15Improve custom exceptionsGravatar Jon Bernard 2-24/+52
2016-01-14Update unlink verbose messageGravatar Jon Bernard 1-1/+1
2016-01-14Call internal methods after entry verificationGravatar Jon Bernard 1-4/+2
2016-01-13Add failing test for adding a nested dotfileGravatar Jon Bernard 1-0/+8
2016-01-13Fix cli unit test overrideGravatar Jon Bernard 1-4/+7
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.
2016-01-13Add stub for recursive dotfile discoveryGravatar Jon Bernard 1-0/+8
2016-01-13Separate dotfile error checking from actionGravatar Jon Bernard 1-14/+30