On Feb 12, 2010, at 1:17 PM, Jesse A Wolfe wrote:
Beats me. In the system we discussed and that I mostly implemented
(where the changes necessary to make a commit apply were tracked by
the rake task) the answer would have been yes; they would have been
kept (as an indexed collection of diffs).
well, either way, I think we need to be very careful when rebasing
off of testing.
if testing looks like this today:
testing = Master + FeatureA + FeatureB
and I rebase something off of it like so:
jesse:featureC = Master + FeatureA + FeatureB + FeatureC
and you accept that branch, everything is okay:
luke:featureA succeeded:
7fab7d2 this is the FeatureA commit
luke:featureB succeeded:
669831f this is the FeatureB commit
jesse:featureC succeeded:
ebfe4d8 this is the FeatureC commit
later, FeatureB gets canceled. so, you want:
testing = Master + FeatureA + FeatureC
but FeatureB's commits are in the history of FeatureC, so you
actually get:
luke:featureA succeeded:
7fab7d2 this is the FeatureA commit
jesse:featureC succeeded:
669831f this is the FeatureB commit
ebfe4d8 this is the FeatureC commit
We should make sure to keep an eye on the logs for things bringing
in patches we didn't expect.
I definitely agree this is a problem, but I don't see any awesome ways
around it without spending a ton of time or switching from branches to
commit series.
That being said, 'rebase --onto' does work well in this situation, and
it shouldn't be too ridiculous to automate if we name our branches
appropriately.
My personal belief, though, is that there will be ugly, heinous cases
where this occurs early on, and then we will get burned relatively
thoroughly and stop doing it. I think this next release will be
especially prone to it because of all of the large-scale refactorings
being done.
--
Fallacies do not cease to be fallacies because they become fashions.
--G. K. Chesterton
---------------------------------------------------------------------
Luke Kanies -|- http://reductivelabs.com -|- +1(615)594-8199
--
You received this message because you are subscribed to the Google Groups "Puppet
Developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/puppet-dev?hl=en.