Document some current bugs and add to the TODO list.
[stgit] / TODO
diff --git a/TODO b/TODO
index 6cc7f76..2f40657 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,19 +1,61 @@
-The TODO list until 1.0:
+The TODO list before 1.0:
 
-- branch control command
-- tag (snapshot) command
-- log command (it should also show the log per single patch)
+- more regression tests
+- stg help should probably pipe through the $PAGER
+- fix StGIT to run correctly in subdirectories
+- use a separate index for some commands (refresh, fold etc.) so that
+  files already added/removed are not automatically checked in
+- debian package support
 - man page
-- regression tests
+- document the workflow on the StGIT wiki
+- maybe a separate undo command rather than passing a --undo option to
+  push and refresh
+- use same configuration file as GIT
 - release 1.0
 
 
-The future, when time allows or someone else does it:
+The future, when time allows or if someone else does them:
 
-- patches command to show the patches modifying a file
 - patch dependency tracking
 - multiple heads in a patch - useful for forking a patch,
   synchronising with other patches (diff format or in other
   repositories)
-- prune the old base of the patch if there are no references to it
-- write bash-completion script for the StGIT commands
+- "pull" argument should default to a sane value, "origin" is wrong in
+  many cases
+- commit directly to a patch which is not top
+- patch synchronisation between between branches (as some people,
+  including me have the same patches based on different branches and
+  they have scripts for moving the changes in one to the others)
+- numeric shortcuts for naming patches near top (eg. +1, -2)
+- (config?) parameter for number of patches included by "series -s"
+
+Bugs:
+
+- cannot branch off arbitrary branch when current branch not under
+stgit control:
+|$ stg branch 
+|bar
+|$ stg branch -c foo2 foo
+|stg branch: Branch "bar" not initialised
+
+- patch created with empty description ("stg new" and quit editor
+without saving) confuse "series -d":
+|$ stg series -ds
+|+ p5  | p5
+|Traceback (most recent call last):
+|  File "/usr/bin/stg", line 43, in ?
+|    main()
+|  File "/var/lib/python-support/python2.4/stgit/main.py", line 261, in main
+|    command.func(parser, options, args)
+|  File "/var/lib/python-support/python2.4/stgit/commands/series.py", line 107, in func
+|    __print_patch(applied[-1], '> ', '0>', max_len, options)
+|  File "/var/lib/python-support/python2.4/stgit/commands/series.py", line 63, in __print_patch
+|    print prefix + patch.ljust(length) + '  | ' + __get_description(patch)
+|  File "/var/lib/python-support/python2.4/stgit/commands/series.py", line 55, in __get_description
+|    descr = p.get_description().strip()
+|AttributeError: 'NoneType' object has no attribute 'strip'
+|dwitch@gandelf:/export/work/yann/git/foo/a$ stg series
+|+ p5
+|> y
+|$ cat .git/patches/master/patches/y/description
+|cat: .git/patches/master/patches/y/description: No such file or directory