Rex
Rex copied to clipboard
Check older development commits and reapply if needed
TL;DR: this is a placeholder issue to collect some of the older changes that got merged into the historical development branch, but didn't make it into mainline master after all, and see if they are useful to (re)apply now.
Longer version:
Around 1.4.1 release, development happened on dual tracks in development and development-1.x branches. Since development was the place for more experimental changes (as in "exploring ideas and preparing for v2"), development-1.x was used to do 1.x releases.
After a while, progress in development stalled and development-1.x remained active. Because of this, the latter became the new master when we consolidated the development workflow later.
This means there might be some changes in the old development branch which would be useful today, but haven't found their way into master yet. Let's play it safe, check the history and see which ones can be (re)applied.
List of known cases so far that need a resolution of either merge/port to master, or leave it in the development branch for reference (subject to change):
- [ ] #976 / #996: breaking change, revamp of resource API and migrating Rex::Commands::Kernel to it
- [x] #872 / #998: already ported (shell command quoting + pass arguments as array + use i_run/i_exec internally)
- [ ] #987 / #999: breaking change (moving Rex::Commands::say() into a separate module)
- [x] #969 / #1002: typo fixes, ready to port
- [ ] #992 / #1010: fix for #992 is already backported, the rest is breaking change, but may be at least partially ported
- [ ] #971 / #1040: dependency handling (partially ported for Rex::Cloud::Amazon, and partially reverted for XML::LibXML; needs review, but probably can stay unmerged, and let dist.ini manage dependencies better)
- [x] #1009: not implemented yet, but the related note in the documentation should be ported
- [ ] #973 / #1050: issue is about porting Rex::Commands::File to new resource API, but the PR has more unrelated changes; at least partially portable
- [x] #1056 / #1057: fix setting false values for sysctl, reimplemented on #1325
- [ ] #913 / #1059: hard to apply as it is, and probably best to be reimplemented only for the affected package manager as a first step (instead of full generic)
- [x] 0cf4ff43: ready to port
- [ ] #1079: seems related to resource API change, needs review, has unrelated change
- [ ] #1082: new Rex::Command interface, braking change
- [ ] #1074: has to be reimplemented for the current interface
- [ ] #1083: singleton Rex object, breaking change, pulls in Moose
- [x] a7d254b0edc4f6c01a9d5a076d06ef7cd933991c: reimplemented on c9e2426fb550c5e1e191e98f00dfd26104ecd64f
FTR, I'm just attaching my initial notes on the review of the potentially affected range of commits.
Legend for markers on the first character of the line:
x: no further todo (done, all good, or reimplemented since then, not important, etc.)!: might need further investigation (usually because (partly) reimplemented, or mismerged as part of other commits)-: wasn't merged/ported, need review/decision about merge as part of this issue
Comments are separated from commit messages with ==> at the end of line.
NB.: pay attention that many commits are referencing another line in the same document since they were cherry-picked onto another branch and got a different commit ID due to that (sometimes even the content changed to reflect differences between the then-current development and development-1.x branches).