[squeak-dev] Re: The Trunk: Monticello-ar.379.mcz
Andreas Raab
andreas.raab at gmx.de
Thu Mar 11 04:41:53 UTC 2010
On 3/10/2010 7:34 PM, Colin Putney wrote:
> Well, if you really must have such a check, then yes, please make it a preference.
>
> But I think we're talking past each other. It really is better, from a package-history point of view, to commit regardless of what else is in the repository, and merge afterward.
Wow. I'm amazed to hear you say that. Package history is specifically
one of the main reason why I prefer merging before commit. For example,
let's look at the package history of the System package in current trunk:
System-ar.290: Ancestors: System-ar.285, System-laza.289 ==+--+
System-ar.285: Ancestors: System-ar.284 <==================+ |
System-laza.289: Ancestors: System-nice.288----------------+--+
System-ar.284: Ancestors: System-dtl.283, System-ar.283<===+ | <-+
System-nice.288: Ancestors: System-nice.287 <--------------+--+ |
System-dtl.283 Ancestors: System-ar.282 <==================+ | |
System-ar.283: Ancestors: System-ar.282 <==================+ | <-+
System-nice.287: Ancestors: System-nice.286 <--------------+--+ |
System-ar.282: Ancestors: System-ar.281 <==================+ | |
System-nice.286: Ancestors: System-nice.285 <--------------+--+ |
System-ar.281: Ancestors: System-ar.280 <==================+ | |
System-nice.285: Ancestors: System-nice.284, System-ar.284 <--+ --|
System-ar.280: Ancestors: System-ar.279 <==================+ | |
System-nice.284: Ancestors: System-dtl.283 <------------------+---+
etc.
(I find this impossible to understand even *with* the ascii graph)
Let's assume I need to isolate a change, when it happened to either
verify if it was in a shipped product version or not. Look at the last
line in the above: If you're going down you might expect that
System-dtl.283 is below ("before") System-nice.284. But it's not. It's
actually *eight* lines on top of it. So is System-ar.284 merged by
System-nice.285. In other words there is no consistency in the graph -
you cannot assume that something that happened before something else
appears below it. Now let's look at a nice simple plain
merge-before-commit version history:
Traits-ar.282: Ancestors: Traits-ar.281 <-+
Traits-ar.281: Ancestors: Traits-nice.280 <-+
Traits-nice.280: Ancestors: Traits-ar.279 <-+
Traits-ar.279: Ancestors: Traits-ar.278 <-+
Traits-ar.278: Ancestors: Traits-nice.277 <-+
Traits-nice.277: Ancestors: Traits-ul.276 <-+
etc.
How's that for simplicity? I don't need the ascii graph to understand
the relation between the package versions, I can simply scroll through
the version history can find the package that I'm interested in, or use
binary subdivision to compare changes to see when a change was made.
Nothing personal, Colin, I really appreciate what you guys have been
doing but I don't see how one could possibly say that merge-after-commit
is better for package history. The precise opposite seems to be true.
Cheers,
- Andreas
More information about the Squeak-dev
mailing list
|