- Notifications
You must be signed in to change notification settings - Fork10
Provides the functionality of GNU Stow in a cross platform CLI tool and python module
License
arecarn/dploy
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Dploy is a tool for creating symbolic links similarly toGNUStow. It is provided as a CLI tool andPython 3.6.2+ module and supports Windows, Linux, and OSX.
Dploy's commandstow
creates symbolic links to the contents of sourcedirectories or packages in a specified destination directory. Repeating thestow
command with the same arguments will confirm that the contents of thepackage have been symbolically linked.
Dploy's commandunstow
removes symbolic links that resulted fromstow
commands. Repeating theunstow
command with the same arguments will confirmthat the links to stowed packages have been removed.
- Latest Release:
pip install dploy
- Development Version:
pip install git+https://github.com/arecarn/dploy.git
dploy stow <source-directory>... <destination-directory>
dploy unstow <source-directory>... <destination-directory>
dploy --help
Dploy started out as simple Python script to create symbolic links to mydotfiles for Windows, Mac, and Linux. Over time I keep improving and tweaking myscript to suit my needs, but I was running into a problem. Keeping all thefiles I wanted to link in a config file was becoming a real pain in the neck.
I started looking for another solution to solve my problem, and found manyalternatives but none of them seemed to be a good fit. The solution that seemedthe most promising was using GNU Stow. It seemed like the most simple elegantsolution to the problem. The only issue was that it didn't support Windows.
Then I thought to myself, why can't I just create my own version of Stow thatwork on Windows, Linux and OSX. So after that my I started morphingsimple python script into what would become Dploy and learned a lot more aboutpython in the process.
Below are just a few few major points of comparison between GNU stow and Dploy.
Like GNU Stow Dploy runs in two passes. First by collecting the actionsrequired to complete the command and verifying that the command cancompleted without any issues. If no issues are detected then the secondpass executes these actions are execute to complete the command. OtherwiseDploy will exit and indicate why the command can not be completed. This way astow or unstow operation is atomic and never partially done.
Like Stow, Dploy supports tree folding and tree unfolding.
Unlike Stow, Dploy requires an explicit source(s) and a destinationdirectory.
Unlike Stow, Dploy does not have any concept of ownership, but will onlyoperate on symbolic links and the creation or removal of directories for thesesymbolic links.
About
Provides the functionality of GNU Stow in a cross platform CLI tool and python module