-
Notifications
You must be signed in to change notification settings - Fork 8
/
TODO
95 lines (62 loc) · 2.48 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
TODO List
- Todo items begin with a dash
* Starred items are done.
-* A starred Todo item is completely done.
-* bug -- detect and break loops in dependency chain.
-* refactor -- rather than create $3 file and check for changes,
a simplier method is to not create file at all and check for existence.
-* bug -- task flag detection is broken
- Add redo-stamp for compatibility with other implementations.
- Add command to list database entries. Either for a single file or all files.
- Add mechanism to run jobs in parallel
Useful for 'redo' or 'ifchange' with multiple targets.
- Expand documentation on ifcreate:
'redo-ifcreate a` creates a dependency on the nonexistent file `a`.
If `a` exists redo-ifcreate complains and exits with an error status.
- optimization -- rewrite redoTarget with sets:
old = existing prerequisite keys
new = new prerequisites keys
deletes = old - new
writes = new - old
# updates
for each file in old && new
if !file.IsCurrent() {
add file to deletes
add file to writes
delete(deletes)
put(writes)
In most cases, this will eliminate a number of redundant operations.
- Increased verbosity should
* Show do file selected
Show file stats for generated output
- Tests
Add docker based test with external suites
* check arguments
* writing to stdout vs file
* cross project dependencies
* Devise more special case tests
- Use different database?
Doubtlessly, an embedded SQL or key value database would be faster.
Need to ensure serializable access.
-* Add debug flag
-* Change verbosity > 2 behaviour to use debug
-* Combine into single executable with commands.
redux init
redux ifchange
redux ifcreate
redux redo
With links to redux for each command.
-* Rebuild binary for tests
-* Add support for multiple levels of extensions.
See https://github.com/gyepisam/redux/issues/1
- Consider slightly different file storage
every object gets a SHA1
prerequisite (source SHA, dest SHA, data, type {static, auto, standard})
dependency (source SHA, dest SHA)
metadata (source SHA, data)
- Add requirements.txt file for hacking on redux
- Add config file. redux init can create a default config
-* Add apenwarr configuration value and make it fully compatible with apenwarr redo when enabled.
$2 arg depends on do script. Basically, the missing prefixes, if any, from the do script are
appended to the $2 arg.
- Generate PDF docs