aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorLines
2016-01-17Sort contents on our ownJon Bernard-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 filesJon Bernard-368/+414
2016-01-17Ignore task filesJon Bernard-0/+3
2016-01-17Simplify tox configurationJon Bernard-5/+2
2016-01-15Move implementation and tests back to directoriesJon Bernard-7/+7
I think keeping the physical separation is helpful, especially as more features get added.
2016-01-15Add initial support for nestingJon Bernard-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 operationJon Bernard-4/+19
2016-01-15Improve custom exceptionsJon Bernard-24/+52
2016-01-14Update unlink verbose messageJon Bernard-1/+1
2016-01-14Call internal methods after entry verificationJon Bernard-4/+2
2016-01-13Add failing test for adding a nested dotfileJon Bernard-0/+8
2016-01-13Fix cli unit test overrideJon Bernard-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 discoveryJon Bernard-0/+8
2016-01-13Separate dotfile error checking from actionJon Bernard-14/+30
2016-01-12Update development version stringJon Bernard-1/+1
2016-01-12Integrate pytest and flake8 into setuptoolsJon Bernard-1/+14
2016-01-11Add custom exceptions for dotfile validationJon Bernard-7/+40
2016-01-10Introduce custom exceptions for better error handlingJon Bernard-10/+27
2016-01-10Mark CLI test as failing for the momentJon Bernard-18/+2
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.
2016-01-08Skip install for tox flake8 targetJon Bernard-0/+1
2016-01-08Cleanup formatting and docstringsJon Bernard-10/+5
2016-01-08Remove home directory cli optionJon Bernard-10/+9
2016-01-08Add ignore item to skip repository git filesJon Bernard-5/+15
2016-01-07Update readme to explain recent changesJon Bernard-0/+22
2016-01-06Try to create relative symlinks when linkingJon Bernard-1/+1
2016-01-06Fix tests to match recent changesJon Bernard-15/+59
2016-01-06Add link scheme for flat repositoryJon Bernard-28/+90
This commit also includes support for all of the CLI commands. This is for a "flat" repository where dotfiles must be proper files, no directories or files in subdirectories. Support for that is coming and should cover what used to be called "packages" in a more automatic way without requiring configuration file settings. At the moment, this is the bare minimum of useful functionality: flat repository, no 'ignores', no 'externals', no 'packages', and no 'prefixes'. In this way I can make sure I get the object model and abstractions correct before building on it further. This I feel is what the old version suffered from and caused difficulties in maintenance. The above-mentioned features will return in some form as I move through each of them, not to worry. I'd like to see how far I can get without any configuration file before any of that stuff gets added back in.
2016-01-05Rename sync/unsync to link/unlinkJon Bernard-11/+11
I think this naming is more appropriate and intuitive
2016-01-04Merge list into status and remove verboseJon Bernard-109/+31
2016-01-04Cleanup verbose status functionJon Bernard-7/+15
2016-01-04Add verbose status optionJon Bernard-20/+48
2016-01-04Add test for repository expected nameJon Bernard-3/+4
2016-01-04Clean up dotfile state functionJon Bernard-8/+4
2016-01-04Remove unique_suffix function, not neededJon Bernard-24/+2
2016-01-04Test both nested and non-nested repo directoriesJon Bernard-2/+2
2016-01-04Update docstringsJon Bernard-30/+10
2016-01-04Enable use of '-h' for help commandJon Bernard-1/+1
2016-01-04Nest repository in homedir for testingJon Bernard-4/+4
There is a bug when the home directory is not a parent of the repository, this will fixed shortly.
2016-01-04Simplify tox flake8 targetJon Bernard-1/+1
2016-01-04Use click decorator for version optionJon Bernard-16/+2
2016-01-03Add cli testsJon Bernard-2/+38
2016-01-03Use test fixtures and some cleanupJon Bernard-170/+77
2016-01-03Add custom fixtures for testingJon Bernard-0/+17
2016-01-03Consolidate tests into a single fileJon Bernard-711/+234
2016-01-03Consolidate new implementation into a single fileJon Bernard-968/+232
2016-01-02Update repository tests to match recent changesJon Bernard-106/+29
2016-01-02Update dotfile tests to match recent changesJon Bernard-64/+66
2016-01-02Simplify dotfile state management logicJon Bernard-38/+32
2016-01-02Remove dotfile-specific operations from repositoryJon Bernard-51/+9
These are handled in the CLI and there is no need for repository to be involved.
2016-01-01Implement dotfile state managementJon Bernard-27/+110