Brad Holt
2006-01-24 19:34:03 UTC
Hello All,
I've got a bit of a fine point here that I've thought through before a
few times but would like someone to check my work. I've tested it, but
I can't really tell if my testing is checking everything.
As part of the manual resolve process, a user can manually edit the
resulting file. If they do some of these manual edits, and then do an
"Accept Merged", then will the right things happen in regards to the
integration records and future common ancestors? To be honest, we've
been doing this for years, and I cannot point to any particular
problems. We do get a lot of confusing merges, but that's probably just
par for the course the way we do things. Should the file be "Reopened
for Edit" by the user to let p4 know they are inserting changes that
were not in either version of the merging files?
We got burned on this a few years ago when users had misconfigured their
merge tools (not a perforce problem), and wound up resolving files and
then doing an "Accept Yours". Everything looked fine in the target
files, but files branched from those revisions, lost the edits as the
integration metadata saw the original merge as an "ignore" resolve
action, so it didn't realize that edits had been included because it
didn't even realize they were there.
Does an "Accept Merged" roll the common ancestor, and if so, then
wouldn't in-resolve manual edits mess with this? I would expect that
"Accept Merged" is a dirty merge, and doesn't roll. For some reason, I
find this stuff tricky to test, and I don't trust myself.
Anyway, just wanted to confirm this as I've got some merge training to
give.
Thanks.
-brad
I've got a bit of a fine point here that I've thought through before a
few times but would like someone to check my work. I've tested it, but
I can't really tell if my testing is checking everything.
As part of the manual resolve process, a user can manually edit the
resulting file. If they do some of these manual edits, and then do an
"Accept Merged", then will the right things happen in regards to the
integration records and future common ancestors? To be honest, we've
been doing this for years, and I cannot point to any particular
problems. We do get a lot of confusing merges, but that's probably just
par for the course the way we do things. Should the file be "Reopened
for Edit" by the user to let p4 know they are inserting changes that
were not in either version of the merging files?
We got burned on this a few years ago when users had misconfigured their
merge tools (not a perforce problem), and wound up resolving files and
then doing an "Accept Yours". Everything looked fine in the target
files, but files branched from those revisions, lost the edits as the
integration metadata saw the original merge as an "ignore" resolve
action, so it didn't realize that edits had been included because it
didn't even realize they were there.
Does an "Accept Merged" roll the common ancestor, and if so, then
wouldn't in-resolve manual edits mess with this? I would expect that
"Accept Merged" is a dirty merge, and doesn't roll. For some reason, I
find this stuff tricky to test, and I don't trust myself.
Anyway, just wanted to confirm this as I've got some merge training to
give.
Thanks.
-brad