> His counter to my counter was, "So what? Once they branched, they now
> have separate lives."
If they had completely separate lives you wouldn't be applying
the change to both copies.
> "If I want to apply a single change to both
> versions, I'll do it in a single changelist. Besides, what does an
> integrate actually mean? Does it mean that the branches are
> synchronized? What does it mean when I've only propagated some changes
> and not all?"
It means that other engineers can tell whether all fixes have
been propagated to all the places where they're needed.
By using 'p4 integrate' you enter into the system the information
that this is a single change.
If you can do 'p4 integ -n -b <branchspec>' with and without the
'-r' flag and see that no bug fixes remain unintegrated you know
that every engineer is doing this properly. If there are a lot of
spurious pending integrations because someone doesn't bother
to learn the tool, it's a lot more work for everybody else to confirm
the integrity of the code tree.
> "Performing 'p4 integrate' doesn't actually give me
> anything."
It gives your co-workers an indication that you're doing your job.
A source control system serves two principal functions: to save
modifications to files and to save information about
changes: who, what, when, and why. If your work habits
are such that you don't record this information, you're making
life more difficult for whoever fills the roles of release engineer,
project manager, and engineering manager. They need that
information in order to do their jobs.
--
Chuck Karish karish at well.com (415) 317-0182