If you are having a problem using Vault, post a message here.
Moderator: SourceGear
-
Halo_Four
Post
by Halo_Four » Mon Feb 21, 2005 6:50 pm
Vault version 3.0.2
An unhandled exception dialog is appearing when attempting to select a VSS project to import. The text of this exception is as follows:
Code: Select all
System.Runtime.InteropServices.COMException (0x8004D687): This command only works on projects.
at SourceSafeTypeLib.IVSSItem.get_Items(Boolean IncludeDeleted)
at VSSImport.vss.GetTreeNodes(String strProject, TreeNodeCollection tnc)
at VSSImport.WizardForm.treeViewProjects_AfterSelect(Object sender, TreeViewEventArgs e)
at System.Windows.Forms.TreeView.OnAfterSelect(TreeViewEventArgs e)
at System.Windows.Forms.TreeView.TvnSelected(NMTREEVIEW* nmtv)
at System.Windows.Forms.TreeView.WmNotify(Message& m)
at System.Windows.Forms.TreeView.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
This occurs immediately when the Select Project dialog of the wizard is displayed and the /$ folder is selected.
Our company is evaluating Vault as a replacement to Visual SourceSafe and we currently picked up one user license to "toy around." Our SourceSafe repository is an absolute mess and I don't doubt that could be the reason for this problem, but it is imperative that we be able to fully import our existing projects.
Thank you
-
lbauer
- Posts: 9736
- Joined: Tue Dec 16, 2003 1:25 pm
- Location: SourceGear
Post
by lbauer » Tue Feb 22, 2005 9:00 am
The "This command only works on projects" error message is a VSS error which we have found to occur when there is corruption in the VSS database.
If your database is in a bad state, it's important to run Analyze:
Be sure to run the SourceSafe 'analyze' utility on your database before doing the import. If your VSS database is not healthy, you are likely to run into problems when retrieving files during the VSS import. A properly running database should be able to run the VSS 'analyze' with the /f (fix) option without any errors.
This tip comes from the KB article on steps for a successful import:
http://support.sourcegear.com/viewtopic.php?t=7
Linda Bauer
SourceGear
Technical Support Manager
-
Halo_Four
Post
by Halo_Four » Mon Mar 07, 2005 10:13 am
lbauer wrote:The "This command only works on projects" error message is a VSS error which we have found to occur when there is corruption in the VSS database.
If your database is in a bad state, it's important to run Analyze:
Be sure to run the SourceSafe 'analyze' utility on your database before doing the import. If your VSS database is not healthy, you are likely to run into problems when retrieving files during the VSS import. A properly running database should be able to run the VSS 'analyze' with the /f (fix) option without any errors.
This tip comes from the KB article on steps for a successful import:
http://support.sourcegear.com/viewtopic.php?t=7
Well, this isn't encouraging. I've run analyze many times on the database. It managed to clean up some corruption in some files, and identified a large number of files that lacked a data file which I just deleted because they were ancient. However, I still get the same "Command only works on projects" errors in the import program, and I repeatedly get that same error message in the analyze utility itself and it cannot repair it.
I've isolated two projects in VSS which seem to be responsible for this error. Any VSS command I attempt to run against them throws the same error message. That even includes attempting to delete them. I've perused the Internet for any hints regarding how to deal with this issue and have found nothing which has helped. Has anyone else seen this problem before?
-
lbauer
- Posts: 9736
- Joined: Tue Dec 16, 2003 1:25 pm
- Location: SourceGear
Post
by lbauer » Mon Mar 07, 2005 10:35 am
Has anyone else seen this problem before?
Yes. We hear from many VSS users who have experienced database corruption in VSS. That's why they've decided to move to Vault.
So the issue now is how to get this database into Vault. If you can't run VSS commands against your databases using a VSS Client, then our VSS Import tool won't be successful either. It communicates with the database via the SourceSafe Automation Component, which does not deal with database corruption very well.
If running Analyze withe the -f and -c parameters still leaves you with errors reported, you might want to contact Microsoft or VSS newsgroups for help on how to get the database in a better state.
Sometimes an archive and restore can clean up a database. Some users with the same issue have done a get of all their files and added them fresh to Vault, keeping their VSS database to review historical information.
Linda Bauer
SourceGear
Technical Support Manager
-
Guest
Post
by Guest » Mon Mar 07, 2005 11:09 am
lbauer wrote:Has anyone else seen this problem before?
Yes. We hear from many VSS users who have experienced database corruption in VSS. That's why they've decided to move to Vault.
So the issue now is how to get this database into Vault. If you can't run VSS commands against your databases using a VSS Client, then our VSS Import tool won't be successful either. It communicates with the database via the SourceSafe Automation Component, which does not deal with database corruption very well.
If running Analyze withe the -f and -c parameters still leaves you with errors reported, you might want to contact Microsoft or VSS newsgroups for help on how to get the database in a better state.
Sometimes an archive and restore can clean up a database. Some users with the same issue have done a get of all their files and added them fresh to Vault, keeping their VSS database to review historical information.
I understand completely.
I know this might be a stretch, but given the VSS import tool seems to currently just be hanging up on the projects which seem irrevocably corrupt, is there anyway that the program can be modified that when it receives such an error to skip that project and move on? At this point the program just stops enumerating the projects. I could deal with just accepting the corrupt projects as lost, but I would like to try to salvage the projects which seem to be in functioning order.
Thanks for your help.