shithub: todofs

branches: front


clone: git:// gits://
push: hjgit://

Last commit

efe80883 – sirjofri <> authored on 2024/06/27 13:05
adds file extension rename support


todo filesystem

* this is an experiment. *
* It's not the best, both design and implementation. *


todofs path/to/dir

the todo-directory must contain at least one file called `index`:

	key=config nextid=1

todofs -c path/to/dir initializes the directory with this index file.

It will be filled with metadata when creating tasks and statuses.

Console interface (ctl file):

addstatus <name> - create a new status
dump - write data back to disk. Shouldn't be needed.

Task interaction:

Imagine the following scenario:

	; cd /mnt/todo

To move task 1 to StatusB, use create with the task id:

	; touch StatusB/1

To edit a task, just open/read/write the task/data file. This will be forwarded to files-on-disk automatically.

The data file can have a file extension, depending on the file extension. This should be used for plumbing. To change this file extension, just rename the data file:

	; mv 2-Second_Task/data 2-Second_Task/data.txt

To rename a task:

	; mv StatusB/2-Second_Task 'StatusB/My other task'
	; ls StatusB/2*

To create a new task, create it:

	; touch 'StatusA/New Task'
	; ls StatusA

To change assignee/group:

	; chgrp -o alice StatusA/3-New_Task
	; chgrp engineering StatusA/3-New_Task
	; ls -l StatusA
	... alice engineering ... 3-New_Task

It is also possible to change the metadata by file. The filesystem looks like this:

	/mnt/todo/StatusA/1-First_Task/data (or data.extension)