Multiple items conflict with the same change

Nov 30, 2008 at 4:46 AM
I keep getting this error trying to migrate projects from TFS2005 to TFS2008.  Both are SP1.  Any ideas?
Dec 3, 2008 at 3:45 PM
Could you please provide us more details, e.g. your config file and the trace log of the migration session? Thanks.
Dec 3, 2008 at 3:51 PM
Sure.  Here is a link to the trace and config files:
ftp://ftp.koolsoft.com/TraceAndConfig.zip

If you need anything else, please let me know.
Developer
Dec 5, 2008 at 9:38 PM
From the trace log, it seems that changeset 1820 on your source TFS server cause the exception. Can you help to gather detailed information for this changeset? You can run command 'tf changeset 1820 /noprompt' and direct the output to a txt file.

Thanks
Pei
Dec 6, 2008 at 3:53 AM
Edited Dec 6, 2008 at 7:14 AM
Here ya go: 
ftp://ftp.koolsoft.com/changeset1820.txt

- Robert Beaubien
- Kool Software LLC
Dec 16, 2008 at 11:33 PM
Any progress on this?

Thanx,
Developer
Dec 17, 2008 at 11:26 PM
We have a local repro of the problem. It is caused by chained Rename|Edit. We are currently working on a fix. Hopefully, it will be included into the next release.

Just want to confirm that there are chained Rename|Edit in the failing changeset 1820.
From the checkin comment, it seems the following caused the problem (CodeGenSolution.vb is renamed to CodeGenProject.vb and CodeGenProject.vb is renamed to CodeGenTable.vb.)
rename, edit $/Framework/Code Generator/CodeGenV3/cgBAL/CodeGenProject.vb
rename, edit $/Framework/Code Generator/CodeGenV3/cgBAL/CodeGenTable.vb

Thanks,
Pei
Dec 17, 2008 at 11:30 PM
That is correct.  Any timeframe for the next release?  I'm sorta getting anxious to get this done.  I've only been trying to do this since the tfstotfs migration tool came out. :-(

Thanx,

Rob
Jan 13, 2009 at 12:17 AM
Hey Pei,

Any hope for an update to the tool soon to fix these migration problems?

Thanx,

Rob
Feb 19, 2009 at 7:51 PM
I have the same issue as the OP. All within one changeset:

$/MyFolder renamed to $/MYFOLDER
$/MyFolder/MyItem.cs renamed to $/MyFolder/MYITEM.cs
$/MyFolder/MyItem.cs edited

I have tried unsuccessfully to fix this problem by working in the code. The place in the code that throws this exception is pretty cryptic. I was unable to figure out just what it's doing after several hours of analysis.
Developer
Mar 3, 2009 at 8:04 PM
Hi, All,

Thanks for provide us information for this issue.

'Multiple itsms conflict with the same change' is a known issue. We have a fix for it in the next release. However, we currently don't have an estimation of the next release date. For customers having this problem, here is our plan to help you with your migration:
1. Check in source code of current release to codeplex team project.
2. Branch to a service branch.
3. Port fix to service branch.
4. Customer can build the service branch and get new binaries that will unblock their aborted migration.

Since we've made many changes to the Migration Toolkit framework for the next release, the work to port the fix to current release is not trivial. I expected to complete it in 2 weeks. I'll let you know once this is done.

Thanks,
Pei
Mar 4, 2009 at 1:34 AM
That sounds good Pei. Any chances of you showing us the code now? I can't wait two weeks.

I'll happy to try out the source code myself if it can fix the problem. I have far too many projects affected by this issue and we have waited for long.

Developer
Mar 19, 2009 at 2:36 PM
Hi, all,

The fix for bug 6618 - 'Multiple items conflict with the same change' has been checked in to service branch v1.1-service.

Thanks,
Pei
Mar 19, 2009 at 6:52 PM
Pei,

Thanks so much for this patch! However, I am getting a different error during migration (at the same spot as before).

I freshly installed the standard 1.1 release, then copied over TfsToTfsAdaptor.dll, Migration.Linking.dll, Migration.Toolkit.dll, TfsMigrationService.dll, and the ServiceHost and ToolUI binaries from the service branch.

Now, where I previously encountered TF14050, I am getting "Object reference not set to an instance of an object". I'm in the process of installing on my local machine so that I can run under debugger, but I thought I would bring it up and see if I might have made a mistake in how I updated the release.

Thanks,
-justinb
Developer
Mar 19, 2009 at 7:00 PM
Hi, Justin,

Your process to update the release is correct. Actually only the following 3 binaries needs to be replaced for your case

Microsoft.TeamFoundation.Migration.Linking.dll;
Microsoft.TeamFoundation.Migration.Toolkit.dll
TfsToTfsAdaptor.dll.

Can you send me the log files that contain the call stack of the exceptions?

Thanks,
Pei 
Developer
Mar 19, 2009 at 7:07 PM
Justin,

Just to make sure, you downloaded and installed the v1.1.31205.1 (Prerelease) from the release page, right?

Pei
Mar 19, 2009 at 7:19 PM
Pei,

Yep, I'm using the latest codeplex release. I also got identical results on my local machine  (had been running it right on the development db server.

Here's about a minute of the trace log: http://rafb.net/p/k1afXz43.html

-justinb
Developer
Mar 19, 2009 at 7:46 PM
Justin,

I assume you are migrating from a clean database. Coz the DB data is changed with the patch and you can't migrate using an existing migration database.

From the trace log, the exception occurs when migrating changeset 24253 on your source system. Can you check to see whether there are items in this changeset that has both Edit|Rename change on it and the rename is from a path not mapped in your migration configuration.

It will be easy to identify the item if you are able to debug the program and catch the exception. You should be able to get the targetItem name (inside Edit() of file SourceToTFSMigrationEngine.cs) which cause the exception. Let us know what changes are commited to this item in changeset 24253.

Pei
Mar 19, 2009 at 7:55 PM
Pei,

I'm certain that the file in question is a Rename,Edit. I had tracked it down via the changeset shortly before I saw your patch. There are a few files like this in the project, I'm just focusing on this one for the sake of clarity.

You mention that the rename outside the migration configuration is a factor. I had migrated all the unaffected directories separately, and was trying to address the affected ones one at a time. Do you think it would make a difference if I started a fresh migration from the root of the project?

I thought I had deleted the database but I'm not sure of the order of events, so I will explicitly do so now and let you know if that provides any resolution.

-justinb
Developer
Mar 19, 2009 at 8:10 PM
Justin,

Thanks for the clarification. The short answer to your question is - yes, if you map both the rename-from-path and rename-to-path (or just simply map at root) it shouldn't throw.

This patch is to always persisit previous version of an item into DB and use that information for pending-change ordering. For your case, if the rename-from-path is not mapped, the previous will be null. Apparently, this is our bug as it should abort the migration with a more user-friendly error message instead of a nullexception.

To unblock your migration, you should be able to restart the migration by mapping from root.

Pei