pending change that is not compatible

I'm trying to do a migration and this is one of the errors that I get:

Cannot change item $/ECAT/fred/MigrationTest/migration.txt because it already has a pending change that is not compatible.

What does this mean?

[221 byte] By [JasonD.Camp] at [2007-12-16]
# 1

It sounds like it's trying to pend a change to an item that's already pending one or more changes; some changes cannot be combined in a single changeset. Can you run status on the item and see what changes it has, and which changes you were trying to pend?

CRathjen-MSFT at 2007-9-9 > top of Msdn Tech,Visual Studio Team System,Team Foundation Server - General...
# 2
The item doesn't show up in the version control window. I was trying to migrate a couple of files from VSS 2005 to VSTF to test source code migration. When you say "run status on an item", does that mean running the h.exe command?
JasonD.Camp at 2007-9-9 > top of Msdn Tech,Visual Studio Team System,Team Foundation Server - General...
# 3
Correct. Run "h status" in the workspace that's having the problem and post the results. Is the file that has the problem listed in the output of the status command?

Buck

BuckHodges at 2007-9-9 > top of Msdn Tech,Visual Studio Team System,Team Foundation Server - General...
# 4
All I have is one file $/MigrationTest/migration.txt in the VSS2005 repository to test the migration.

C:\Documents and Settings\jcamp\My Documents\Visual Studio 2005\Projects\ECAT\fred>h status
There are no pending changes.

Settings.xml
<Projects>
<Project From="$/" To="$/ECAT/fred"></Project>
</Projects>

VSSMigrationReport.xml
<?xml-stylesheet type='text/xsl' href='_MigrationReport_Files\ReportOutput.xslt'?>
<Report xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="1.1.0">
<Type>PostMigration</Type>
<Converter>VSSConverter</Converter>
<RunBy>SANDBOX\jcamp</RunBy>
<SourceSystem>VSS</SourceSystem>
<TargetSystem>Hatteras</TargetSystem>
<Title>Migration Report</Title>
<UserInput UsingUI="false">
<CommandLine>/c:Migrate /s:c:\vss2005\ /d:sbvsts /m:settings.xml </CommandLine>
<Options>
<Option>Command - Migrate</Option>
<Option>Visual Source Safe Database - c:\vss2005\srcsafe.ini</Option>
<Option>Migration Settings file - settings.xml</Option>
<Option>Destination Repository - sbvsts</Option>
<Option>User Map File - </Option>
<Option>Report File - VSSMigrationReport.xml</Option>
</Options>
</UserInput>
<Issues>
<Issue IssueID="HatterasError" Type="Error">
<Message>Cannot change item $/ECAT/fred/MigrationTest/migration.txt because it already has a pending change that is not compatible.
</Message>
</Issue>
<Issue IssueID="HatterasError" Type="Error">
<Message>Cannot change item $/ECAT/fred/MigrationTest/migration.txt because it already has a pending change that is not compatible.
</Message>
</Issue>
</Issues>
<Summary>
<StartTime>8/3/2005 9:03:12 AM</StartTime>
<EndTime>8/3/2005 9:03:14 AM</EndTime>
<TotalTime>00:00:02</TotalTime>
<Status>Process Incomplete</Status>
<SourceAndDestination>
<Repository Source="c:\vss2005\srcsafe.ini" Destination="sbvsts" />
<Projects>
<Project From="$/" To="$/ECAT/fred" />
</Projects>
</SourceAndDestination>
</Summary>
<Statistics>
<NumberOfErrors>2</NumberOfErrors>
<NumberOfWarnings>0</NumberOfWarnings>
<NumberOfItems>3</NumberOfItems>
<StatisicsDetails>
<NumberOfCheckouts>0</NumberOfCheckouts>
<NumberOfActions>4</NumberOfActions>
<SizeOfRepository>0</SizeOfRepository>
</StatisicsDetails>
</Statistics>
<Output />
</Report>

JasonD.Camp at 2007-9-9 > top of Msdn Tech,Visual Studio Team System,Team Foundation Server - General...
# 5
I actually had to create the folder structure in VSTF (created a MigrationTest folder) before I could use h status to see the pending change:

C:\Documents and Settings\jcamp\My Documents\Visual Studio 2005\Projects\ECAT\fred\MigrationTest>h status
File name Change Local path
- -
$/ECAT/fred
MigrationTest add C:\Documents and Settings\jcamp\my documents\visual studio 2005\Projects\ECAT\fred\MigrationTest

If I right click on the "MigrationTest" folder in the Source Control Explorer and go to "Check in pending changes" it comes back with popup stating that there aren't any pending changes.

Show me the way!

JasonD.Camp at 2007-9-9 > top of Msdn Tech,Visual Studio Team System,Team Foundation Server - General...
# 6

So I tried to do a checkin on the "ghost" file.

C:\Documents and Settings\jcamp\My Documents\Visual Studio 2005\Projects\ECAT\fred\MigrationTest>h checkin /recursive
The following checkin policies have not been satisfied:
Internal error in Build without errors before check-in.
You must associate this checkin with one or more work items.
C:\Documents and Settings\jcamp\my documents\visual studio 2005\Projects\ECAT\fred:
add MigrationTest
Changeset #59 checked in.

I then rerun the h.exe status and now see that there are no pending changes.

C:\Documents and Settings\jcamp\My Documents\Visual Studio 2005\Projects\ECAT\fred\MigrationTest>h status
There are no pending changes.

I look for the file using h dir and don't see the file.
I take a look in the souce control explorer and don't see the file either.

I assume that the "ghost file" is gone never to return, so I try to do run vssconverter again.

VSTS Source Control folder $/ECAT/fred is not empty - provide an empty folder for migration

So, in Souce Control Explorer I delete the "MigrationTest" folder so that $/ECAT/fred is empty. I delete the folder in my workspace. Unfortunately this doesn't help and I keep getting the following message.

VSTS Source Control folder $/ECAT/fred is not empty - provide an empty folder for migration

JasonD.Camp at 2007-9-9 > top of Msdn Tech,Visual Studio Team System,Team Foundation Server - General...
# 7

Hmm...it shows that only the add of the folder is pending; no add of the file. Very strange.

The other command I should have asked you to run earlier was "h dir" from wherever the file was supposed to be checked in or pending a change (to see if the server already had it for some reason).

I know there was a bug in Beta2 (at least) where checking in just a folder was problematic - at least doing it as you tried it, clicking on the folder itself (that basically says "checkin pending changes UNDER this folder"). Why the file under it had no pending changes is the question.

If you still have this scenario reproducible, can you tell me what what h dir on the relevant folders says if status says there's no pending changes?

CRathjen-MSFT at 2007-9-9 > top of Msdn Tech,Visual Studio Team System,Team Foundation Server - General...
# 8
As far as the folder not empty message, I think it's because you have a pending add of the MigrationTest folder still. If nothing else, try pointing it a new folder...
CRathjen-MSFT at 2007-9-9 > top of Msdn Tech,Visual Studio Team System,Team Foundation Server - General...

Visual Studio Team System

Site Classified