1
"use-case apis" - means not just the api called by the Command layer, but
2
also the stack going down.
4
top level - an atomic api - whole thing should either commit or not
6
needs to come back and interact with the user to get the commit message, if
7
not previously specified
9
hooks that will modify the wt before commit takes place;
10
line endings - actually not an issue for commit because we propose to always commit what's in the tree and just transform them when reading back out
12
problem with commit builder api - you need to build a whole tree in it.
14
takes contents of a workingtree, logically puts it into a branch and the
16
point is that it should only store the new things in the tree which are
17
not already in the tree
18
* possibly updates the workingtree after the commit to tell it about the new
21
if you commit only a single file, you should only need to tell it about that
24
if implemented with dirstate present, will still make good use of dirstate.
26
requirements wrt branches - bound branches do complicate it, so does bzr-svn.
28
commit is an operation between the tree and the branch.
30
api should only be told about content changes by the tree.