~abentley/bzrtools/bzrtools.dev

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
FEATURES

 * 'shelf' command with subcommands like 'list', to show what shelves there
   are, with any associated message etc. Steal code from log?

 * Multiple shelves, use 'bzr shelf switch' (?) to choose between them.
   This is quilt like stuff, need to think more about it - track unshelved
   changes? Do they get reshelved when you switch? Probably not.

 * Shelving of committed changes. Three modes (config option?), either uncommit
   the committed changes (changing history) or apply the inverse diff (messy,
   but not so scary), or prompt.

 * Messages for each patch on the shelf. User specifiable, use commit code.
   If nothing specified it's:
    "Uncommitted changes shelved on YYYY-MM-DD at HH:MM:SS by user@host"

   For shelving committed changes, use some (all) of the commit message.

INTERNAL CRUD

 * Use exceptions in UserInteractor rather than global booleans.

 * Interact with bzr at a lower level, ie. not by parsing diffs. Will probably
   require changes to bzr core, or can we just use a delta object directly?

 * Write tests for --pick !!!