TFS to VSS port hell
Source control is a neccesary evil. Whether it be SVN, Tortoise, TFS or VSS (which isn't as bad as you think : I hear the audience wail!)
Our company was using TFS, which is an awesome platform, but fairly pricey considering; we still keep our gold press code in the TFS, but for quick and dirty projects the VSS is a perfect tool.
When source code goes awry its never good; and on a personal project, I had some source in my personal TFS at home (one single SQL backup a night for all my personal source), of which I was using the Trial Edition, which I then ported to my VSS on my home server.
But I missed a file. Not nice...
The TFS trial expired. And I "lost" the file...
This is where it got interesting.
I tried queries like this on db (TFSVersionControl):
select * from tbl_identity
select * from tbl_workspace
select * from tbl_PendingChange
select * from tbl_File
select tbl.name from syscolumns c, sysobjects tbl
where c.name = 'FileID' and tbl.id = c.id
select * from tbl_NameSpace
select * from tbl_File
select * from tbl_Content
To no avail...
In the end, I gave my old TFS another 30 days of life, by using bharry's TFS trial extender and retrieving all my files.
Don't even try and brute the MD5 encryption on the hash you need to unlock the content of the file; its NEVER going to happen. Some people suggest restoring your old TFSVersionControl over a new install, but I'm sure that would mean harshing the OS to clear it of the Trial checking crap, or an install on a new machine, neither a good option; so bharry's stuff worked a charm.
But there is an important lesson here...
when migrating from one source control to another, make ABSOLUTELY sure to keep a gold copy and hard copy of your source code seperate from your source control; you never know if your source control might get locked up and become inaccessible.
And that's not a happy day, anyway you look at it.
Our company was using TFS, which is an awesome platform, but fairly pricey considering; we still keep our gold press code in the TFS, but for quick and dirty projects the VSS is a perfect tool.
When source code goes awry its never good; and on a personal project, I had some source in my personal TFS at home (one single SQL backup a night for all my personal source), of which I was using the Trial Edition, which I then ported to my VSS on my home server.
But I missed a file. Not nice...
The TFS trial expired. And I "lost" the file...
This is where it got interesting.
I tried queries like this on db (TFSVersionControl):
select * from tbl_identity
select * from tbl_workspace
select * from tbl_PendingChange
select * from tbl_File
select tbl.name from syscolumns c, sysobjects tbl
where c.name = 'FileID' and tbl.id = c.id
select * from tbl_NameSpace
select * from tbl_File
select * from tbl_Content
To no avail...
In the end, I gave my old TFS another 30 days of life, by using bharry's TFS trial extender and retrieving all my files.
Don't even try and brute the MD5 encryption on the hash you need to unlock the content of the file; its NEVER going to happen. Some people suggest restoring your old TFSVersionControl over a new install, but I'm sure that would mean harshing the OS to clear it of the Trial checking crap, or an install on a new machine, neither a good option; so bharry's stuff worked a charm.
But there is an important lesson here...
when migrating from one source control to another, make ABSOLUTELY sure to keep a gold copy and hard copy of your source code seperate from your source control; you never know if your source control might get locked up and become inaccessible.
And that's not a happy day, anyway you look at it.

0 Comments:
Post a Comment
<< Home