TFS in Visual Studio Online - tfs

I used before free TFS from Visual Studio Online. I worked fine, I added some projects to TFS and did check-in and check-out without problem. But now it just stop working. When I try to check-in new projects, I get the following error:
The following issues were encountered during check in: TF10169:
Unsupported pending change attempted on team project folder $/Code.
Use the Project Creation Wizard in Team Explorer to create a project
or the Team Project deletion tool to delete one.
What is Project Creation Wizard? How I can run it? And what is happened with my account? I see the message:
Your account is an Early Adopter account. In 31 days your account will
revert to a standard account.
Maybe that's why it's not working anymore?

You cannot create or delete folders at the top-level of the source tree. (Eg, $/Code).
The top level of the source tree is reserved for Team Projects, which must be created and deleting specially. If you want to delete $/Code, you will need to undo your pending change that deletes it and instead delete it using the Project Creation Wizard or the TfsDeleteProject command.

Related

TFS Repository deleting status after upgrading major version

In the past, we seem to have created a TFS repository that was not part of a project. It seems that this is no longer supported by TFS in recent versions.
After updating TFS 2013 to 2015 and then 2017 we did not immediately notice the problem, but looking in the Collection Management screen on the web portal shows that the "Project" (which is not a project) is marked in a "Deleting" status.
The Microsoft page about this says that if you want to keep the code, no action needs to be taken. That "Deleting" status worries me however.
Is there any way to add an existing repo to a project? I can create a new project. I can add a new repo to a project. Can I add an existing repo to a project?
Alternatively, can I "Un-Deleting" that repo somehow?
That page have described this very clear:
Otherwise, no action is required. Placeholder team projects are
hidden in Web Access and Team Explorer in Visual Studio. Therefore,
they have no significant effect on day-to-day usage. As with any
other deleted item in Version Control, you can still access the
corresponding project in Source Control Explorer if the Show/Hide
Deleted Items button is enabled.
As you said, Placeholder team projects are not real team projects. When you delete a real team project, it will permanently removes data associated with that project from the database. You cannot recover it later.
They are just as deleted folders/items in TFS, you could undelete them in Visual Studio Source Control. Just select the deleted folders and right click it select undelete , and check in pending changes. Then you could get/download all files in the repo to local. Create a new team project, add files to the project, finally delete the particular placeholder project.
Since there is no way to import deleted files to either a existing project or a new project. Above is a safety workaround, the only disadvantage is it will lose the source control history of those folders. Otherwise, you could also take no action as the page suggested, the Placeholder team project will not be deleted. If you encounter any problem about this, you could contact the TFS support.

TFS project removal

We have a project which cannot be removed completely. We use TFS API output all the projects and their size and we find a project which we cannot see it on the web or VS. The project is very big(more than 200G). We try to delete it, but met some problems. I tried to remove it with the command "TFSDeleteproject ..." and got the error message as bellow.
"The team project could not be deleted. Either the delete operation failed, or project creation failed but partially-created project could not be deleted. Review the previous entries in this log for details. The team project has been taken offline and remains in a non-operational state. It is not accessible to Team Explorer. To complete the deletion, address the errors noted in this log, and then attempt deleting the project again."
Is there any other way to remove the project? Any advice is welcomed.
Thanks,
I think You read Delete a team project with TFSDeleteProjec guide.
There is even a description on how to Verify Project Deletion.
In addition I think main space occupation can be related on version control files, if this is Your case you can use TFS Destroy command to destroy, or permanently delete, version-controlled files from Team Foundation version control and related changeset history.
If you not like command line, I suggest to use TFS Source Control Explorer Extensionthat integrate destroy in source control advanced right click menu.

Change UserName for a TFS Workspace

We recently changed domains for our entire network, and I am trying to find a way to migrate my TFS workspace from my old Domain\Username to the new Domain\Username without losing any pending changes.
Note also that I need a solution to accomplish this via the command line, as Visual Studio won't let me access the old workspace from the old domain.
See the MSDN article about the Workspaces Command. You can invoke tf workspace with an argument /updateUserName. That should do the trick.
I just migrated my TFS server from my old domain to a new domain because my organization had a company name change. After the migration, I had to overcome several issues and eventually I was left with the development team getting TFS14045 error messages. The fix to this problem was simply having the developers issue the following command from their Visual Studio command prompt.
tf workspaces /updateUserName:OLDDOMAIN\olddomainusername /s:http://[tfsserver]:8080/tfs
I found that if multiple developers had logged into that workstation and created workspaces with visual studio that I had to issue this command for each domain account until I get them all. After I did this procedure I was then able to remove their corresponding records form the tbl_identity table of the TFS_Configuration database on my TFS server so that I wouldn't then also have to look at duplicate accounts for the same person (one for their old domain account and one for their new domain account) inside my TFS collection. Leaving this record in place also created another error that you will get if a developer breaks the build and TFS tries to create a auto generated work item for that developer to fix the build. If both the old domain account and the new domain account is present in the TFS collection (recorded in the tbl_identity table...) then TFS will not know which user account to use when making the work item for the broken build.
Good luck and I apologize if this is too rambling to read but I am in a hurry and I hate reading posts that leave out detail ;-)

Delete a collection from TFS

I want to use a free tfs account for a sample project. So i created a free account on visualstudio.com and created 2 collections. And i want delete one them but i cannot delete it.
There is no any members in the collection. It doesn't allow me to delete. As you see on the screenshot, delete button is disabled. Also Is there any way that if i've an admin account, is possible to change or delete collections from visual studio?
I'm not sure how/if it applies to free TFS versions, but the following link shows how to delete Team Project Collections in general. Looks like doing it via command line tool is the way to go.
https://rules.ssw.com.au/do-you-know-how-to-delete-a-team-project-collection
Here is the main part:
On TFS server, open Administrative Command Prompt and change to TFS Tools Directory.
%programfiles%\microsoft team foundation server[versionnumber]\tools
Type the command:
TFSConfig Collection /delete /collectionName:[COLLECTION NAME]
You're mixing collections and team projects. You cannot create a collection in Team Foundation Service as of now. That may or may not change in the future. When you sign up, there is one collection created for you and that one will contain your team projects and you will need to live with that one. If you have a need to have another collection then you can sign up under another account. You can however delete team projects but not from the web UI. You will need to use the command line tool DaveShaw gave a link for. You can also check out the blog post below:
How to delete a team project from Team Foundation Service (tfs.visualstudio.com)
You look like you are trying to deleted a "Team" from a "Team Project"? You have to have at least one "Team" in a "Team Project", and that will have the same name as the "Team Project".
If you are wanting to delete the entire "Team Project" (containing all the Work Items, Source, Builds, etc), you can do it using the tfsdeleteproject command line tool.
Even we had similar issue. Unfortunately we had deleted a Collection DB without Stopping and Detaching the collection from TFS admin console in TFS 2018. Later we tried to detach the collection, but no luck. Initially we had ignored this issue since it was test TFS collection and that too in QA server. Later during up-gradation to Azure DevOps 2019 server we faced issue with Existing Deployment option. we couldn't complete the upgradation. we followed below steps to fix the issue:
**1. Restored the VM/QA TFS server with VM snapshot backup created before upgradation.
Run below command to remove the deleted collection from TFS Config DB.
"TFSConfig Collection /delete /collectionName:[COLLECTION NAME]"
Stop TFS services and done upgradation to Azure DevOps Server 2019 successfully.**

Steps for changing process template for an existing project in TFS 2010

I have an TFS server installation that through time has gone through upgrades from TFS 2005 to TFS 2008 and then to TFS 2010.
During the lifetime of the installation a lot of projects have been created and different project templates have been used. MSF Agile 4.0, 4.1, 4.2 and 5.0. and a few MSF CMMI ones.
What I would like to do is "replace" the project template used for all these projects to use a new one common one: Microsoft Visual Studio Scrum 1.0.
I am aware that TFS project templates are used as templates for creating new projects and cannot modify the tfs projects definitions after creation.
Uptil now only the version control and build server part of TFS have been used and there are no existing work item types.
Additionally all projects and build scripts are depending on the source code paths stay the same.
As I see it I have the following options:
Create new TFS projects using the correct project template and then move/branch the source code to the new project.
All code is moved to a temporary team project.
The old project is deleted
New project with the original name and correct process template is created
Code is moved to the new team project
Temporary team project is deleted
All the build definitions needs to be to recreated which is not an option.
The source code move/branch will "mess up" the versioning history
By messing up the versioning history I mean that when you move source code it will behind the scenes do a delete + source rename on the original location and the history will still be located in the old project. This will make searching in the history difficult and if I actually delete the old project I will loose all the history before the source code move.
This is really not an option for me since there is years of code change history that is needed to for supporting the different applications being built.
Use the TFS migration tools to migrate to another TFS project
This has the same downsides as the first solution
Replace/import work item types, install new reports, create new SharePoint sites
For each tfs project
Delete existing work item definitions using "witadmin deletewitd"
Import each work item definition from the new process template using "witadmin importwitd"
Import work item categories using "witadmin importcategories"
Delete old reports in project folder in report server
Upload the report definitions from the new process template
Modify data sources used for the reports using the report manager to point to the correct shared data sources (TfsReportDS and TfsOlapReportsDS)
Modify the report parameter ExplicitProject default value to "" (empty string) and disable prompt user option.
Export the documents in the old SharePoint site using stsadm
Delete the old SharePoint site
Recreate the sharepoint site using the TFS2010 Agile Dashboard site template
Activate site feature "Team Foundation Server Scrum dashboard"
In TFS Project Settings -> Project Portal Settings: Enable "team project portal" and ensure the url is correct. Enable "reports and dashboards refer to data for this team project"
And finally..
Process the Warehouse
Process the Analysis Database
Even though that this involves a lot of small steps this looks more appealing because
this option will not force me to move the source code and my existing build definitions will be intact.
My question:
Are there other ways to achieve the replacement of work item types that I haven't mentioned?
And/or am I missing any steps in last solution?
Given that you aren't using any existing work item types, your final proposal looks like the best option.
After deleting the old reports and exporting the SharePoint documents (you could also use Windows Explorer instead of stsadm), there are actually two commands in 'tfpt' that will help you. This will reduce it from 14 steps down to 5 or 6 steps.
tfpt addprojectreports Add or overwrite reports for an existing team project
tfpt addprojectportal Add or move portal for an existing team project
tfpt addprojectreports /collection:http://yourtfs:8080/tfs/YourCollection /teamproject:"Your Team Project" /processtemplate:"Microsoft Visual Studio Scrum 1.0" /verbose
tfpt addprojectreports /collection:http://yourtfs:8080/tfs/YourCollection /teamproject:"Your Team Project" /processtemplate:"Microsoft Visual Studio Scrum 1.0" /verbose
Your first option is IMHO your best shot.
You can branch the sources from the old team project to the new team project. With TFS 2010 you can see the history also from the branched location. So you don't loose functionality in here.
The Build is just an msbuild file which is stored in source control. The only thing you have to do is actually copy the build definitions. You can do that either manually, or you can create a little app that does that for you.

Resources