Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to sales@march-hare.com.
On Tue, 24 Feb 2004 12:54:49 -0000, "Harrison, Andrew" <andy.harrison at anite.com> wrote: >Hmm, "keeping an eye on what your merging" is a bit of a problem. I'm trying >to convince my manager that we should migrate to CVS from VSS using the >argument that it does all the branching & merging automatically. You should always keep an eye on merging anyway... CVS knows nothing of code structure so it's possible that the merge will create something unintended - 99% of the time it's OK but I always make sure that the result compiles and passes various tests first. >Is there a difference between and implicit and an explicit deleted file? No... there's just the 'dead' state. In theory you could do mergepoint processing on it, but it'd require a fair bit of hacking of the merge code to allow that as it's treated as a special case. >When a file is deleted CVS creates an explicit deleted file on that branch, >with it's own revision number. When a new branch is created (from the branch >with the explicit deleted file) after the file is deleted, then that branch >only has an implicit deleted file. Is that the way it works? Yes. Essentially in that case the branch will have the same revision number as the deleted file, so it's deleted and appears not to exist on the branch (if you create a file only on a branch with no HEAD revision cvs automatically creates a dead 1.1.1.1 revision to hook the HEAD and other branches to). Really the term explicit and implicit is misleading - CVS treats them as the same thing... the only difference is where the deleted revision came from - as there's no 'does not exist yet' state it overloads the deleted state. >I'm guessing the problem comes from the difference between an implicit and >explicit deleted file. It looks like CVS has a problem detecting the >ancestor of an implicit deleted file. If this is a problem then would it be It's more that the deletion is special cased on the code as there are special conditions involved. eg. you merge a file which has been deleted on branch1 but modified on branch2.. must force a conflict there. Tony