Support #111

avatar

Backport major compatible "1.0" (master) features to 0.9.x

Added by Jeff Forcier 297 days ago. Updated 6 days ago.

Status:Done Start:11/15/2009
Priority:High Due date:
Assigned to:avatarJeff Forcier % Done:

0%

Category:Core
Target version:0.9.2

Description

E.g. the succeeded attribute and anything else which is backwards compatible (i.e. won’t break existing fabfiles.) and which is relatively important and/or useful. I don’t want to backport everything that’s compatible, because technically I want tertiary releases to be bugfix-only. However, I do want to lessen the gap between 0.9 and 1.0 so that the “feature pressure” of 1.0 is let up a bit — I don’t want to release it too soon after 0.9.

Will need to come up with a good way of cherry picking the commits (both implementation and docs/changelog!) while changing the “added in:” notes:

  • Cherry-pick original commit, followed up with modification commit.
    • Plus: retains link to “original” commit in the master branch
    • Minus: means that the cherry-pick shows up as its own, incorrect state of the 0.9.x branch (i.e. anybody checking it out would see the wrong docs/docstring.)
  • Do a local cherry-pick + modification + rebase, so that the upstream only sees the one commit.
    • Plus: atomic correctness (especially since there may be multiple commits affecting a given backported feature — e.g. 84fd8aa which affects a handful of commits, isn’t going to mesh well with cherry picking for a single change. This is why I need to be more cognizant of the docs related to feature changes!)
    • Minus: loses connection to original commit (outside of the commit message, which would be left with the “cherry-picked X” message of course)

Will also need to figure out whether to do all of these at once for 0.9.1 or 0.9.2, or to spread them out over a few releases for some reason.

Finally — the 1.0 version of the code will need updating at the same time so that it now includes the “change in 0.9.1” notes instead of “changed in 1.0”. If I'm lucky, merging back in from 0.9 will do this, but I foresee conflicts, in which case I should finally learn how to tell a merge to use one side or the other, beforehand.


The following (non-merge) commits are related to this ticket but don’t have #111 in their commit logs. Remember that you can mouse-over them to see the commit messages :)

In 0.9, cherry-picked or hand-copied from master:

In master, mostly just removing items from the 1.0 changelog now that they’re listed under 0.9.2 (also occasionally fixing the up-merges from 0.9 if they broke):

All other backports will be tagged with #111 and should show up below this description in the usual spot.


Related issues

related to Support #94 Update master/1.0 changelog, docs with all recent work Done 11/09/2009

Watchers

axel rutz

Associated revisions

Revision e1e2d2bf2ce08abb35eafa884b902f3d4bdc5750
Added by Jeff Forcier 297 days ago

Update release/development documentation re: #111

Revision 4d65ddb27e1bb39d1ee635d96772b875dd2407e3
Added by Jeff Forcier 10 days ago

Backport package fabfile discovery from master.

Re #111

Revision 5b26dc8b756636e5ccadd68f1f31cd437c2d7c9d
Added by Jeff Forcier 10 days ago

Backport package fabfiles to 0.9.

Re #111

Merge branch ‘0.9’

Conflicts:

docs/usage/fabfiles.rst

Revision 200bbf3a12f5dd9b717b03840814153acdc08352
Added by Jeff Forcier 10 days ago

Backport execution output lines from master.

Cherry-picks of 89265081, 5750459

Re #111

Revision 12a353ead44fcbb37e9ff3b5c4a061fe39e59e17
Added by Jeff Forcier 10 days ago

Backport execution lines to 0.9

Re #111

Revision 51fed3299c34a19bcd73ac271875b7e119c62dd0
Added by Jeff Forcier 10 days ago

Backport callable roledefs from master.

Cherry-picks of 5995463, 62856c1c

Re #111

Revision 936321c30c31c870a287ed73fe3e29b1eb080c51
Added by Jeff Forcier 10 days ago

Backport callable roledefs to 0.9

Re #111

Revision fb70872664596119df832cf2be879615b7921c48
Added by Jeff Forcier 10 days ago

Backport contrib.django from master

Re #111

Revision 1de9b5aa19db3473ecbee3ed6047485c0f0f4fd7
Added by Jeff Forcier 10 days ago

Backport contrib.django to 0.9

Re #111

Revision 25f14bee8a58d7437f2d5c2b3b68dcc4576d896b
Added by Jeff Forcier 10 days ago

Add env.local_user for easy local username access.

Backported from master. Re #111

Conflicts:

docs/changes/1.0.rst
fabric/state.py

Revision 2cb70affa97410b8ff4c818e74b69aadb18aa7cc
Added by Jeff Forcier 10 days ago

Backport env.local_user to 0.9; re #111

Revision d8300b05a9850d10f20edfd730f55d190779a613
Added by Jeff Forcier 7 days ago

Backport colors module from master re #111

Revision 739336a8c0e70389d6c0c33d99474e021b8995ff
Added by Jeff Forcier 7 days ago

Backport host prompt env var updating from master

Re #111

Revision fbfac44c18bd6ba1e54d79c96d5f1e8bf78c8a91
Added by Jeff Forcier 6 days ago

Re #111, backport changelog re: PYTHONPATH bug

Revision 4b0fed4eb99e9862605b0fc985d4a132b1eed9c0
Added by Jeff Forcier 6 days ago

Re #111, backport PYTHONPATH bugfix to 0.9

Revision 9cddaa755689126b8c8b99427052e3d539e7a640
Added by Jeff Forcier 6 days ago

Re #111, backport #44/#63 fix from master

History

Updated by Jeff Forcier 297 days ago

avatar
  • Tracker changed from Bug to Support

Updated by Jeff Forcier 297 days ago

avatar
  • Priority changed from Normal to High

Updated by Jeff Forcier 297 days ago

avatar
  • Subject changed from Backport any compatible "1.0" (master) features to 0.9.x to Backport major compatible "1.0" (master) features to 0.9.x

Updated by Jeff Forcier 245 days ago

avatar
  • Status changed from New to Assigned

Updated by Jeff Forcier 245 days ago

avatar
  • Priority changed from High to Quick

Updated by Jeff Forcier 104 days ago

avatar
  • Target version changed from 0.9.1 to 0.9.2

Updated by Jeff Forcier 104 days ago

avatar
  • Priority changed from Quick to High
  • Target version changed from 0.9.2 to 0.9.3

Bumping this to 0.9.3, actually — I think what'd be good is to have 0.9.2 be another round of 0.9 specific bugfixes, then 0.9.3 be the backporting, and hopefully the last significant 0.9.x release.

Updated by Jeff Forcier 10 days ago

avatar
  • Target version changed from 0.9.3 to 0.9.2

Doing this for 0.9.2 after all, at least partly. Anything I feel needs more work to backport will probably still be copied into an 0.9 based branch to free up master for merging #7.

Didn’t remember this ticket until partway in; will add a list of the commits already done, in the description, and will start flagging the rest with this ticket number.

Updated by Jeff Forcier 10 days ago

avatar

Still backporting; takes more effort than expected due to fragmentation of a “feature” over the entire timeline (eg initial implementation, later tweaks, yet later doc updates, etc) not to mention the occasional less-than-ideal commit atomicity.

That aside, some of the meatier changes are even more complicated, as expected (e.g. many of the changes involving run/sudo were done after those were refactored, so pulling in said changes requires pulling in that refactoring, or reimplementing). Will finish a “first pass” to get all the low-hanging fruit and then decide whether to tackle the harder stuff or just leave it in 1.0. (“Pulling it into an 0.9 based branch” as I'd originally intended doesn’t actually make much sense — either it works or it doesn’t.)

Updated by Jeff Forcier 7 days ago

avatar

Double check the PYTHONPATH pre-emption issue (the topmost bug in the 1.0 changelog) as I think it got merged into 0.9 a while ago (or my cherry-pick just now went totally seamlessly?) and make sure that A) it is in fact fixed on 0.9, and B) the changelogs get updated accordingly.

Updated by Jeff Forcier 6 days ago

avatar
  • Status changed from Assigned to Done

Ok, first pass is done. Everything left involves the refactored run/sudo, for the most part. Thinking it’s best to leave that for 1.0, I need to start pushing releases out quicker anyway, so the more work I do on 0.9 is less I'm doing to get 1.0 and 1.1 out the door faster.

So, this ticket is now done as far as I'm concerned.

Also available in: Atom