/stdhome

To get this branch, use:
bzr branch http://bzr.ed.am/stdhome
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
* fix add/ci command's recursion
if i go: stdhome ci ~/somedir, will it add the whole damn dir, or just the dir
itsself?  recursion needs to be requested, i think, by the -R switch
* add --all-files to `stdhome st` to show status of all files in repo?  or
   should we add `stdhome ls`? I'm favouring ls right now...
* symlink substitutes don't acept a symlink in the repo and a directory on the
   FS (as well as the other way around).  Should they?  I can't think of a use
   case for this...  Note: if this is changed, also update the StatusWalker
   (used by status and diff commands)
* add ~/bin/rebuild-tags!
* make the copy walker accept symlinks in place of files (as well as
   directories) if they are on the symlink accept list
* look at what need to be done before v0.1
* !!! TAG 0.1 !!!
* check directory permissions before updating them
* during copy-out (not copy-in), show what is being changed with lines like
   "<SP><SP><OP><SP><FILE>" where OP is A (add), D (delete), M (modified) and K
   (kind change)
* currently, verbose print lines for bzr stuff are in the commands -- should
   they be in the bzr module?
* make the copy walker accept symlinks that differ if they are on the symlink
   accept list (so that symlinks can be pointed elsewhere in ~/)
* add code that can determine a relative file from a full file and a basepoint
* when ignoring files in the walker, populate the list of file more
   inteligently.  ".bzr" (and ".bzrignore") need to come from the VCS backend.
   ".stdhome", ".stdhomerc" and/or ".stdhomeignore" need to be converted to full
   filenames and then their relative file names derived from the configured home
   directory
* KNOWN ISSUE: handle renames as renames (rather than delete + add) because a
   directory renamed in the repo could contain other stuff that isn't versioned
   in ~/ which is lost, at the moment
* KNOWN ISSUE: decide on whether to implement remote --keep flag (see plan:483);
   currently, on the remote end, stuff deleted in repo during an update deletes
   files in ~/