.gitignore local todo files, but sync them through Dropbox.
I like to use a LOCAL_TODO
file for each of my projects as a whiteboard for ideas, notes on what is currently being worked on (useful when coming back to a project after some time), and things in that vein.
Because these files are not under version control, I use Dropbox to sync them across machines (this also serves as a backup).
What this script does is place such a file in a shared folder (for example, managed by Dropbox), and then links this file into the current directory.
Install via:
$ easy_install localtodo
Add the following line to your .gitignore
file (or something equivalent for the respective ignore mechanism of your version control system):
/LOCAL_TODO*
The trailing wildcard will allows for multiple todo files, something this script supports.
In your project directory, run:
$ localtodo --to ~/Dropbox/todofiles
Creating new empty file ~/Dropbox/todofiles/myproject
I have established the following links for you:
./LOCAL_TODO --> ~/Dropbox/todofiles/myproject
Note: The --to
argument is only required the first time and is cached in ~/.localtodo
.
As you can see, this created a new file in your chosen folder, and created a link to it in the current directory.
By default, the name of the todo file will be inferred from the basename of the current directory. You can also specify a custom name:
$ localtodo foo
Creating new empty file ~/Dropbox/todofiles/foo
I have established the following links for you:
./LOCAL_TODO --> ~/Dropbox/todofiles/foo
If the todo file already exists, it will not be overridden. If a LOCAL_TODO file already exists in the current directory, it will be used and copied. So when you start working on your project on a different machine, you again run the script:
$ localtodo
Found existing file ~/Dropbox/todofiles/foo
I have established the following links for you:
./LOCAL_TODO --> ~/Dropbox/todofiles/foo
It's possible to create sub-todos:
$ localtodo -s docs
Creating new empty file ~/Dropbox/todos/myproject.docs
I have established the following links for you:
./LOCAL_TODO.docs --> ~/Dropbox/todos/myproject.docs
When running localtodo
, it will find all the todo files related to the current project, and link all of them into the current directory.