<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -56,7 +56,8 @@ shut up about stuff I don't care about)
 to itself (or make an inner function?) followed by a sudo mv call.
 * Add Paramiko SSHConfig support: it can provide username and port and other
 options. Look at `man ssh_config` for what else people can put in that file.
-* Try to make Fabric threadsafe (and/or not using threads for outputting)
+* Try to make Fabric threadsafe (and/or not using threads for outputting) so a
+parallel operation mode can work again.
     * Right now it uses threads and shared state for outputting, and shared
     state for env/connection/etc stuff. This is probably not threadsafe as-is.
     * Even if the shared state works OK, the thread use in outputting is kind
@@ -93,7 +94,6 @@ laggy.
 * Possibly allow &quot;aliases&quot; in `env`, i.e. 'user' and 'username' treated as
 being the same key to limit possible confusion.
     * See \_AliasDict, possibly roll it back into \_AttributeDict?
-* Parallel execution (if it can be done without making things terribly complex
 again)
 * Better remote-end prompt detection/passthrough to local user
     * See pexpect, it's awesome.
@@ -105,8 +105,15 @@ I think it only works on local paths as-is?)
 * Allow persistent environments via context managers, either real (run a bunch
 of commands in one command string) or fake (put a prefix with e.g. 'cd foo &amp;&amp; '
 in front of each shell invocation, behind the scenes)
+    * See settings() and cd() for prior art; cd() in particular would probably
+    turn into a specific application of this generalized manager, if necessary
+    (make sure we're consistent with settings(), i.e. always use general
+    manager, or allow for making some special cases to save a bit of typing)
 * Strip ANSI colors from remote text, as an option (so I can stop having to do
 ls --color=never and so on)
+    * Less necessary once I stopped being an idiot and using --color=auto, but
+    still useful in cases where user doesn't have that control or, like me,
+    wasn't fully aware of how to turn it off correctly.
 * Refactor run/sudo:
     * many times I want to run a handful of commands as one or the other, or
     there are call chains (e.g. in contrib and the fabfile) where I have to pass
@@ -121,9 +128,6 @@ in 2.0):
     more SSH functionality
     * PuSSH: possibly more SSH functionality such as ProxyCommand, etc
 * Allow find_fabfile/load_fabfile to deal with packages as well as modules.
-* Change fabfile loading to move found fabfile directory to front of sys.path
-in the case where it's already in sys.path; this prevents any other fabfiles
-from stealing the show.
 * Have all operations capable of performing a &quot;dry run&quot; wherein they do not
 actually change anything, but simply return the empty string or other
 appropriate empty values.
@@ -131,6 +135,12 @@ appropriate empty values.
     * Can be used in conjunction with --debug to see the real commands to run
     * Would be difficult to fully &quot;test&quot; user code relying on output from
     server, without users doing their own mocking.
+    * How high/low to do dry running?
+        * Just &quot;would do run(foo), then sudo(bar), then run(biz)&quot; and never
+        enter the methods?
+        * or enter the methods, which allows for displaying transformations
+        (i.e. &quot;real&quot; commands being run, like what debug shows; &quot;real&quot; paths
+        after tilde expansion and so on, in put/get; etc)
 * Allow global override of the `pty` behavior currently implemented as kwargs
 for run/sudo. (And then note this in any FAQs mentioning tty problems!)
 * Extend globbing to `get`; with `put` we can leverage local Python libs, but</diff>
      <filename>TODO</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>084076e196b4c0cc5ba417122d5e3e45e6f7ebb1</id>
    </parent>
  </parents>
  <author>
    <name>Jeff Forcier</name>
    <email>jeff@bitprophet.org</email>
  </author>
  <url>http://github.com/karmazilla/fabric/commit/6f78a4befd58abea00c17e7c3f440ba30eeeb096</url>
  <id>6f78a4befd58abea00c17e7c3f440ba30eeeb096</id>
  <committed-date>2009-07-02T21:06:04-07:00</committed-date>
  <authored-date>2009-07-02T21:06:04-07:00</authored-date>
  <message>Big TODO update.

Removed completed items, merged some others, clarified yet others.

At this point, not seeing anything blocking a feature freeze in prep for
0.9 beta 1.</message>
  <tree>138c2f303ed7521eb7a797c38d90cf552dff95ed</tree>
  <committer>
    <name>Jeff Forcier</name>
    <email>jeff@bitprophet.org</email>
  </committer>
</commit>
