Activity
From 12/19/2009 to 01/17/2010
01/17/2010
-
05:54 PM Feature #134: Allow --list (or another option) to filter listed tasks
- I like this, with one caveat. I'd make the optional string a regular expression.
01/14/2010
-
07:09 PM Feature #56: Add namespacing or dot notation
- I agree with your point, however I feel fabric CLI parameters should have all the power deciding what to include. It's how Fabric provides flexibility to different situations and environments. Code only provides the tools. @Jeff, sorry about ...
01/12/2010
-
01:31 PM Feature #134: Allow --list (or another option) to filter listed tasks
- When using large fabfiles, one may wish to search for or filter task names. E.g. you know you have some relating to Python but aren't entirely sure and want to do something like `fab --list "py*"`. Benefit of adding this to `-l`/`--list` is tha...
01/11/2010
-
12:22 AM Feature #98: Optionally avoid using ssh if going to localhost
- I've just implemented something similar this evening in the form of a new fabric.operations function called `do`. It looks at `env.run_as` to see if it equals "local", and in doing so switches out to the `local` method instead of the `run` (or `s...
01/09/2010
-
08:45 PM Feature #133: Pre/post run hooks
- Might be nice to provide support for pre/post hooks, so that one can specify code to run before and/or after their tasks are executed. E.g. for long-running tasks, users may want emails to be sent out notifying that things worked (or didn't; wh...
-
09:31 AM Bug #132 (Assigned): run()/sudo() strip the output, local() does not
01/08/2010
-
11:30 PM Bug #132: run()/sudo() strip the output, local() does not
- Just a little inconsistency that can be surprising: I ran run('mktemp') and was able to use the output directly, local('mktemp') caused me all sorts of problems with the trailing newline until I realized what was going on. Fixed [here](http://g...
-
03:39 PM Revision ea9682b20621803e21faa8f7627051911614222a (master, 0.9, ...): Merge branch '0.9'
- Merge branch '0.9'
-
03:39 PM Revision c5da9ed3e8743a595eb7d6ec43268d9bfbdd07a0 (master, 0.9, ...): Fix incorrect statement in ...
- Fix incorrect statement in upgrade docs
-
03:03 PM Feature #131: Allow graceful user-controlled handling of connection failures
- E.g. say you wish to connect to a large series of hosts but a handful of them are temporarily down or unreachable, or are "bad" (i.e. don't have SSH, or your intended user doesn't exist on them, etc.) Right now Fabric will just explode if it canno...
01/06/2010
-
04:11 PM Feature #56: Add namespacing or dot notation
- Hey guys, note: updates to this ticket (or any ticket with a watcher who's got Unicode chars in the name -- hi Domen!) do seem to trigger 500s -- but that 500 only occurs at the "alert watchers" step. So comments and so forth do get stored in the ...
-
03:45 PM Feature #122 (Assigned): Allow fabricrc to be fabfile-esque Python module?
-
03:43 PM Feature #56 (Assigned): Add namespacing or dot notation
-
03:43 PM Bug #130 (Assigned): Context managers don't account for exceptions
-
03:43 PM Support #127 (Assigned): Add PyPM to the installation document
-
03:43 PM Feature #125 (Assigned): Support writing to a file in addition to appending
-
03:43 PM Bug #123 (Assigned): ImportError in _get_system_username on cyqwin without win32api installed
-
03:43 PM Support #124 (Assigned): Maybe replace custom output capturing with nose plugin
-
03:43 PM Feature #21 (Assigned): Make execution model more robust/flexible
-
03:43 PM Feature #3 (Assigned): Make use of ssh_config where possible
-
03:43 PM Feature #121 (Assigned): Make put() more flexible re: file modes
-
03:43 PM Support #120 (Assigned): Make "fabfiles == Python modules" clearer
-
03:43 PM Bug #118 (Assigned): Single quotes in append() don't work, or: goddamn quoting
-
03:43 PM Feature #119 (Assigned): Deal with global-vs-local config issues
-
03:43 PM Bug #115 (Assigned): Preserving order of hosts
-
03:43 PM Feature #116 (Assigned): Support task names with hyphens
-
03:43 PM Feature #117 (Assigned): Add mode support to upload_template()
-
03:43 PM Bug #114 (Assigned): Ctrl-D causes hanging
-
03:43 PM Feature #113 (Assigned): Make sure host lists can be iterables, not just lists
-
03:43 PM Feature #112 (Assigned): Add custom docstrings to --list output
-
03:43 PM Support #111 (Assigned): Backport major compatible "1.0" (master) features to 0.9.x
-
03:43 PM Bug #110 (Assigned): Reorder fab CLI arguments list to be alphabetical
-
03:43 PM Bug #109 (Assigned): put() raising "NoneType has no attribute 'st_mode'" exception
-
03:43 PM Support #108 (Assigned): Ensure all first mentions of env vars are links to usage docs
-
03:43 PM Feature #101 (Assigned): ANSI Color support
-
03:43 PM Feature #106 (Assigned): Improvements to contrib.files
-
03:43 PM Feature #107 (Assigned): Allow require()'s provided_by argument to accept non-list values
-
03:43 PM Feature #105 (Assigned): Allow use of getpass in prompt when asking user for passwords
-
03:43 PM Support #104 (Assigned): Fix up autodoc-generated API docs
-
03:43 PM Bug #103 (Assigned): Use 3rd party "decorator" module to fix introspection for decorated functions
-
03:43 PM Feature #102 (Assigned): Consider updating abort to be more flexible/featureful
-
03:43 PM Bug #100 (Assigned): UnicodeDecodeError on some output (or, implement Unicode support)
-
03:43 PM Support #99 (Assigned): Create subsite for user fabfile/snippet sharing
-
03:43 PM Feature #98 (Assigned): Optionally avoid using ssh if going to localhost
-
03:43 PM Bug #96 (Assigned): Remote 3-strikes auth failure causes traceback
-
03:43 PM Support #95 (Assigned): Ensure link to changelog, or changelog itself, is on PyPI
-
03:43 PM Support #90 (Assigned): Update docs/templates to allow access to previous versions
-
03:43 PM Support #89 (Assigned): Put some hit tracking up
-
03:43 PM Support #87 (Assigned): Set up a buildbot
-
03:43 PM Bug #88 (Assigned): Switch default behavior of local() to not capture
-
03:43 PM Feature #26 (Assigned): Implement "dry run" feature
-
03:43 PM Feature #78 (Assigned): Add Tunneling Context to Fab
-
03:43 PM Feature #69 (Assigned): Investigate translation of CLI per-task args to Python types
-
03:43 PM Support #86 (Assigned): Explore move back to external Paramiko dependency
-
03:43 PM Support #81 (Assigned): Maybe switch from Setuptools to Distribute in 1.0
-
03:43 PM Bug #82 (Assigned): fabric.contrib.files.append checks beginning of lines rather than discrete lines
-
03:43 PM Feature #80 (Assigned): See whether `paramiko.SSHClient.invoke_shell` + `paramiko.Channel.send` i...
-
03:43 PM Feature #7 (Assigned): Improved prompt detection and passthrough
-
03:43 PM Bug #84 (Assigned): fabric.contrib.files.sed uses "non-standard" flag '-r'
-
03:43 PM Bug #85 (Assigned): Prompts for "passphrase" instead of "password" in some situations
-
03:43 PM Feature #79 (Assigned): Optional host prefix for get
-
03:43 PM Feature #76 (Assigned): Use decorator to define tasks
-
03:43 PM Bug #77 (Assigned): If remote and local files are same: empty file as a result
-
03:43 PM Feature #71 (Assigned): Consider adding "global"/per-task capture of run/sudo/local stdout/stderr
-
03:43 PM Bug #75 (Assigned): "fab" with no arguments and no fabfiles should display help
-
03:43 PM Support #73 (Assigned): Once Git can be used, update tutorial to use it.
-
03:43 PM Feature #72 (Assigned): SSH key forwarding
-
03:43 PM Support #74 (Assigned): Try harder to get package-level stuff worked out
-
03:43 PM Feature #68 (Assigned): `fab init` or similar for generating a skeleton fabfile
-
03:43 PM Bug #66 (Assigned): Consider making `--hosts` always override `env.hosts`
-
03:43 PM Support #65 (Assigned): Use nonstandard Sphinx template
-
03:43 PM Bug #60 (Assigned): Use of the "user" argument to sudo() often results in profile load errors
-
03:43 PM Feature #8 (Assigned): Add timeout support
-
03:43 PM Feature #61 (Assigned): Extend `cd` to work for get/put
-
03:43 PM Bug #53 (Assigned): Add command-line option to abort if input is needed
-
03:43 PM Feature #57 (Assigned): Support full logging to file
-
03:43 PM Support #51 (Assigned): Handle Paramiko-level "logger" issues
-
03:43 PM Bug #37 (Assigned): Use of _transport instead of the more appropriate get_transport()
-
03:43 PM Feature #38 (Assigned): Implement tunnelling
-
03:43 PM Bug #41 (Assigned): get() not using remote filename when downloading to a directory
-
03:43 PM Bug #40 (Assigned): get() not correctly detecting number of hosts
-
03:43 PM Bug #36 (Assigned): Incorrect import of state.connections
-
03:43 PM Feature #29 (Assigned): Allow arbitrary shell commands to be specified on the command line
-
03:43 PM Feature #35 (Assigned): Add manpage
-
03:43 PM Feature #28 (Assigned): Allow put-style globbing with get
-
03:43 PM Feature #33 (Assigned): Look into adding "*" support for hosts/roles
-
03:43 PM Support #17 (Assigned): Documentation enhancements (was: Enhance documentation for final release)
-
03:43 PM Support #18 (Assigned): Run PyLint to discover unnecessary imports and etc
-
03:43 PM Feature #23 (Assigned): Make generic "persistence" context manager
-
03:43 PM Feature #22 (Assigned): Allow "aliasing" in env dictionary?
-
03:43 PM Support #20 (Assigned): Rework output mechanisms
-
03:43 PM Feature #25 (Assigned): Update "use_sudo to be "via" or similar
-
03:43 PM Support #16 (Assigned): Increase test coverage
-
03:43 PM Feature #19 (Assigned): Implement parallelism/thread-safety
-
03:43 PM Feature #10 (Assigned): Overhaul contrib.project.upload_project
-
03:43 PM Feature #4 (Assigned): Allow for storing/using metadata about hosts
-
03:43 PM Feature #11 (Assigned): Possibly reimplement old undocumented "confirm_proceed" behavior
-
03:43 PM Feature #6 (Assigned): Bash/Zsh/etc completion
-
03:43 PM Support #15 (Assigned): Try polishing operations' API
-
03:43 PM Feature #13 (Assigned): Add command line flag for setting env vars
-
03:43 PM Feature #9 (Assigned): Find decent way to perform platform-specific path logic
-
03:43 PM Support #14 (Assigned): Reorganize internals a bit
-
03:43 PM Feature #5 (Assigned): Consider adding a "fab shell" back in
-
03:43 PM Feature #2 (Assigned): Make `put` sudo-able
-
03:43 PM Feature #12 (Assigned): Overhaul reboot operation
-
03:21 PM Revision 2bf223dfedcc6298cf504af080eb5aa3841ecd63 (master, 0.9, ...): Add reboot() to API
- Add reboot() to API
-
09:57 AM Bug #130: Context managers don't account for exceptions
- IRC is a crapshoot, I idle in there all the time but whether I'm actually "there" and listening is kind of random :) I had missed your note until about 3 hours later, I think. So yea -- Redmine is the ticket. (ho ho! get it?)
-
09:42 AM Bug #130: Context managers don't account for exceptions
- Jeff Forcier wrote: > Also, note -- leaving a ticket here is fine, no need to also send a GH pull request, it's just 2x the emails/messages for me to handle ;) Yeah. And I also piped up in IRC for the trifecta :-) Just not sure which was the p...
01/05/2010
-
09:26 PM Bug #130: Context managers don't account for exceptions
- Thanks for the catch -- as usual, the first implementation of stuff tends to be relatively naive. Your point is a good one. Will fix / pull down your tweak in the near future. Thanks again! Also, note -- leaving a ticket here is fine, no nee...
-
08:51 PM Bug #130: Context managers don't account for exceptions
- In general, Fabric's context managers fail to clean up after themselves in case an exception is raised within them. This makes it difficult to use them if you're trying to do exception handling. For instance, take the following code: try: ...
-
07:37 PM Feature #129 (Duplicate): Bash-completion script
- If you want to reattach this to #6, it can go in with another couple of ideas/links I had in there. I reckon yours is probably similar to the one linked on Github, but I'll double check when I have time to look at that ticket :) Thanks for the ...
-
06:19 PM Feature #129: Bash-completion script
- Hey there, I wrote a Bash completion script for Fabric. Completion suggestions are generated dynamically from the `fab -l` output. Do you have any use for this? Arthur
-
12:39 PM Feature #56: Add namespacing or dot notation
- @Jeff: Thanks. The design idea just hit me the other day and only took 30 or 45 minutes to implement with tests once I settled on it. Regarding the plain import vs. import/register, I'm ambivalent. I don't particularly care for having to use ...
01/03/2010
-
03:50 PM Revision e3df94c60730523d9929c2a2765fdb6e0903f5df (0.9, master, ...): Add disconnect_all to 1.0 c...
- Add disconnect_all to 1.0 changelog
-
03:47 PM Revision a8465e0d1efacf7ff30771fc9673cbe866f15570 (0.9, master, ...): Docs for previous commit (d...
- Docs for previous commit (disconnect_all)
-
02:34 PM Revision 6756baa15bf03e038a1a72b97fd69e564894f368 (0.9, master, ...): Break out disconnect code i...
- Break out disconnect code into network function. Needed for library users to successfully terminate their code; otherwise their scripts will never exit as the SSH connections stay open and prevent termination.
-
02:23 PM Feature #128 (Wontfix): dont_write_bytecode env var
- Jeff B indicated via IRC that this is indeed an edge case, so I'll close it for now.
-
11:04 AM Feature #128: dont_write_bytecode env var
- Oh, and you could also make a temporary directory instead of temporary file, and place your temp fabfile in there. That way when the temp dir is removed, both the py and pyc would get nuked. (I may still add the feature, but it does feel like a bi...
-
11:03 AM Feature #128: dont_write_bytecode env var
- Sounds fair enough. Were you aware of the `sys.dont_write_bytecode` aspect of that 2.6 feature which I appended to the description? Depending on how you're creating these temporary fabfiles, and assuming you're using Fabric as a library instead of...
-
05:54 AM Feature #128: dont_write_bytecode env var
- I'm creating on-the-fly fab files with NamedTemporaryFile for building EC2 images. When execution is finished, the temporary files are automatically deleted, but the compiled .pyc files remain behind.
01/02/2010
-
11:28 PM Feature #128: dont_write_bytecode env var
- To sate my curiosity, what situations are you running into where .pyc files are causing a problem? First time I've heard of this outside of the occasional stale-pyc issues I used to get with mod_python. It looks like this is a pretty easy thing...
-
01:37 PM Feature #56: Add namespacing or dot notation
- I would propose more Pythonic version: - Create **fabric.plugins** setuptools namespace (or [[http://docs.python.org/dev/library/pkgutil.html?highlight=pkgutil#pkgutil.extend_path]]) - let users contribute to that namespace, so contributed f...
-
12:43 PM Feature #128: dont_write_bytecode env var
- There are situations where you don't want to leave **.pyc** files around after execution. A current workaround is to do something like this: `PYTHONDONTWRITEBYTECODE=True fab -f myfab.py` But it would be nicer to handle this explicitly in a...
-
12:16 PM Feature #56: Add namespacing or dot notation
- (Note: I got what was probably the same error you got. Looks like a bug in `acts_as_watchable`; will double check your errors later when I have more time. But you're not crazy! :))
-
12:14 PM Feature #56: Add namespacing or dot notation
- (Nuked the "spam" comments -- note, I do it by editing and just removing all text; Redmine seems to treat that as a deletion and removes the comment. Pretty sure you can edit your own comments, give it a try sometime. Will make a note to look in m...
01/01/2010
-
02:08 PM Bug #84: fabric.contrib.files.sed uses "non-standard" flag '-r'
- In FreeBSD I have the same problem: Bad example: [root@192.168.1.20] run: sed -i.bak -r -e 's/host \*/host 192.168.1.20/g' /usr/local/etc/munin/munin-node.conf [root@192.168.1.20] err: sed: illegal option -- r [root@192.168.1.2...
12/30/2009
-
06:14 PM Feature #56: Add namespacing or dot notation
- I just [added support][patch] for this in a slightly different manner over in [my fork][fork]. My solution was to add a `FABRIC_TASK_MODULE` variable, and when that's not False, include those values in the list you build up. Fabric's current tas...
-
01:51 PM Feature #122: Allow fabricrc to be fabfile-esque Python module?
- Yet another thought -- might be better to just search upwards in the file root instead of stopping like we do now. This is closer to what some of the users asked for, and is also a bit cleaner than the more arbitrary "home-dir fabfile plus first l...
-
01:42 PM Feature #122: Allow fabricrc to be fabfile-esque Python module?
- OK, enough modifying the description, time for a comment thread... Had another thought -- if this goes through we should also update `-f`/`--fabfile` to be specifiable more than once, probably the best way to expose the new "multiple fabfile" i...
12/27/2009
-
10:39 PM Support #127: Add PyPM to the installation document
- Since the Windows installation scenario is [not always smooth](http://stackoverflow.com/questions/1917193/installing-fabric-on-windows-error-no-module-called-readline), it would be nice to include a note about PyPM in the fabric installation docum...
12/23/2009
-
08:27 AM Feature #76: Use decorator to define tasks
- That's true, we could implement both. I'm on the fence about doing so, because I want to avoid falling into the trap of having too many choices/features (simpler is better) but it *would* be nice to offer `__all__` since it's quite Pythonic and wo...
12/22/2009
-
11:38 PM Feature #76: Use decorator to define tasks
- Doh - missed this when I searched for a duplicate before adding. I like the decorator method as well and wouldn't consider the two at odds with each other, but they would require an order of priority. Off the cuff, I'm thinking `__all__` (as i...
-
11:08 PM Feature #125: Support writing to a file in addition to appending
- Thanks for making the ticket, and answering my query about implementation, it's appreciated. Your logic makes sense; offhand I also think I do prefer the approach of having just `write` with `append` being a call to `write(<arguments>, overwrite=F...
-
10:57 PM Feature #76: Use decorator to define tasks
- Travis Swicegood took an independent stab at implementing the `__all__` approach, so if we do end up going that route (still think decorators are marginally better, myself) it can be found on [his github fork @9fdb4a3](http://github.com/tswicegood...
-
10:55 PM Feature #126 (Duplicate): Allow developer to specify which functions are tasks
-
10:01 PM Feature #126: Allow developer to specify which functions are tasks
- This feature and tests for load_fabfile() are already completed in [9fdb4a3][] of my [fork][]. [9fdb4a3]: http://github.com/tswicegood/fabric/commit/9fdb4a39235365e1d9f54a788a69480c9cde030d [fork]: http://github.com/tswicegood/fabric/
-
09:59 PM Feature #126: Allow developer to specify which functions are tasks
- Currently, all functions that do not begin with `_` are considered tasks within Fabric. This exposes any helper functions as full tasks, though they may not work in isolation. One solution to this is to utilize Python's built-in `__all__` valu...
-
09:21 PM Feature #125: Support writing to a file in addition to appending
- I've added this support to [my fork][fork] of Fabric in commit [cc853f1][]. It adds two new commands, `write()` (the one that would normally be used) and a generic command `write_to_file()` which takes the optional `overwrite=False` keyword argum...
-
09:15 PM Feature #125: Support writing to a file in addition to appending
- contrib.files.append allows adding to a file, but it doesn't support overwriting a file. Sometimes you need to be able to just write to a file, regardless of what is there already. The put() command is often useful in such cases, but it doesn't ...
-
04:23 PM Bug #118: Single quotes in append() don't work, or: goddamn quoting
- [tswicegood's fork](http://github.com/tswicegood/fabric/commit/9aee3612beb27a838500be949a3940b963df4dc8), like another older (and since deleted) fork, includes the single-to-double quote change in the files module. At the very least, check with hi...
-
04:20 PM Feature #25: Update "use_sudo to be "via" or similar
- See also some semi-related work in [tswicegood's fork](http://github.com/tswicegood/fabric/commits/master)
-
03:29 PM Support #124: Maybe replace custom output capturing with nose plugin
- Nose ships with [a stdout-capturing plugin](http://somethingaboutorange.com/mrl/projects/nose/0.11.1/plugins/capture.html) which may be useful. Doesn't say anything about stderr, though, which I think some tests need to look at, but double check.
12/19/2009
-
07:59 PM Feature #3: Make use of ssh_config where possible
- Massive overhaul of description.
Also available in: Atom