]> scripts.mit.edu Git - wizard.git/commitdiff
Update TODO.
authorEdward Z. Yang <ezyang@mit.edu>
Sat, 6 Feb 2010 08:36:36 +0000 (03:36 -0500)
committerEdward Z. Yang <ezyang@mit.edu>
Sat, 6 Feb 2010 08:36:36 +0000 (03:36 -0500)
Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
TODO

diff --git a/TODO b/TODO
index 0d73f244a4ec975932ac5091e4906ba9aa342491..6499d7ab33d912432b1ca7d2894a8bfcc93eef68 100644 (file)
--- a/TODO
+++ b/TODO
@@ -2,50 +2,7 @@ The Git Autoinstaller
 
 TODO NOW:
 
-- Symlinked rerere to get awesomeness. Problems:
-    - Permissions
-    - Might not make a huge difference; how does it handle empty file
-      and removed file cases?
-    - Need to manually run git rerere subsequently to reap benefits
-    - Majority of resolutions have to happen pre-merge (see below)
-    - Consider workflow: run wizard mass-upgrade, and then begin
-      resolving working copies one by one.  Each time we resolve
-      a copy, it should cause other copies to start magically resolving.
-      So, ordering should be:
-        1. Perform merge
-        2. If it fails, merge the rr-cache with central rr-cache
-           (this operation needs to be atomic) and replace it
-           with a symlink.  File permissions preferably should
-           be made correct, but don't have to be since only root
-           will be touching subsequently.  If the hash already exists,
-           don't do anything (maybe record this for the benefit
-           of Mister Kite aka so we don't have to do a full traversal,
-           this optimization might be essential)
-        3. When a human is resolving the merges, they are "low
-           concurrency", i.e. only one commit recording rerere will
-           happen at a time.  This means that rr-cache does not
-           need to be concurrent safe.  Some number of hashes in
-           the rr-cache will start having postimages; we'll use
-           a full-scan to figure that out.  Then cross-reference those
-           with the recorded pending resolutions, and figure out which
-           checkouts we can run rerere on (this gets permissions kind
-           of tricky).  We'll try an alternative plan: manually require
-           the user run some sort of retry command that does this as
-           root; presumably they'd run this every ten installs or
-           something.  A user can run git rerere to get a resolution
-           early.
-      This requires some new data-structures:
-        - Besides the merge.txt file (which should never ever change),
-          we should have an outstanding.txt file which gets modified
-          as our scripts do resolutions behind our back.  Those modifications
-          might a little annoying for a human to keep up with, so we should
-          recommend something like watch -n2 "head file" or something
-        - We need to keep track of the hashes and the cross-referencing.
-          A very small sqlite database might be a good idea here, although
-          the type of information we're interested in a somewhat unnatural
-          query.  Alternatively, we just have a very simple text file.
-- Make it possible to say certain classes of missing files are ok
-
+- Symlinked rerere to get awesomeness. Consider permissions
 - Wordpress needs to get rid of the siteurl hack, so that it actually
   has a fully-qualified URL http://foo.scripts.mit.edu/blah.  This will
   also fix Wordpress's cron functionality.  We should be careful not