Not able to clone/list TFS repo - visual-studio-2012

Reading this doc I got an impression that I should be able to use git-tfs to get the contents of a TFS repo in order to clone some branches: https://github.com/git-tfs/git-tfs/blob/master/doc/usecases/manage_tfs_branches.md
Tried these commands:
C:\Workspace.Git\Corp>git tfs list-remote-branches https:/scm.domain.com:8443/tfs
Given tfs name is not correct URI and not found as a registered TFS instance
C:\Workspace.Git\Corp>git tfs list-remote-branches https:/scm.domain.com:8443/tfs/DefaultCollection
Given tfs name is not correct URI and not found as a registered TFS instance
C:\Workspace.Git\Corp>git tfs list-remote-branches scm.domain.com
Given tfs name is not correct URI and not found as a registered TFS instance
where https:/scm.domain.com:8443/tfs is the server address which I use in Visual Studio 2012 to connect to TFS. It has DefaultCollection with several projects.
What is wrong with the server name I am supplying?

You are using the wrong url, lack of / and the collection name. Try this:
git tfs list-remote-branches https://scm.domain.com:8443/tfs/DefaultCollection
Will get the info like below screenshot

Related

How do you permanently delete a folder inside an Azure VSTS project?

I have folders within both Azures VSTS (a TFVC repository) and TFS that I needed to permanently delete. On TFS this was quite easily done using the tf destroy $/<MyProject>/<Folder_To_Delete> command in a command window on the server on which the TFS is running. The web page in learn.microsoft.com that describes the "tf destroy" command (Https:// learn.microsoft.com/en-us/vsts/tfvc/destroy-command-team-foundation-version-control) shows that this command is also available for VSTS however I have been unable to get the command to work within a Developer Command Prompt window running on my local box.
tf destroy $/<MyProject>/<Folder_To_Delete> /collection:https://<MyTeamService>.visualstudio.com/<MyProject> /login:<userid>,<password>
The error I receive back is
TF31002: Unable to connect to this Team Foundation Server:
Team Foundation Server Url:
Possible reasons for failure include:
- The name, port number, or protocol for the Team Foundation Server is incorrect.
- The Team Foundation Server is offline.
- The password has expired or is incorrect.
Technical information (for administrator):
The remote server returned an error: (404) Not Found.
However if I put the URL into a browser my VSTS instance shows up. So the 404 looks to me like azure is blocking outside efforts to permanently delete on VSTS. I have logged onto the Azure portal expecting to find something like the Advanced tools option you would find on Web App Services, But the Team Services / Team Projects has nothing like this. Can someone explain to me how to properly execute the "tf destroy" command on Azure Team Services? Or does Azures VSTS just lack the support to permanently delete individual folders and files?
The tf destroy command requires a collection URL. In VSTS, there is no concept of a collection, only team projects. All team projects are created under the Default Collection.
To use the tf destroy command with VSTS, your collection URL must be in the following format:
https://accountname.visualstudio.com/DefaultCollection
By putting a collection URL of https://accountname.visualstudio.com/Project Name, the command was looking for a collection called Project Name in the VSTS account, which does not exist.
This command works:
Open a Developer Command Prompt in administrator mode and issue the following command and supply your credentials.
tf destroy $/Project Name/Folder To Delete /collection:https://accountname.visualstudio.com/DefaultCollection
To Permanently destroy an item/folder in VSTS is also using Destroy Command (Team Foundation Version Control)
tf destroy [/keephistory] <itemspec1>[;<versionspec>][<itemspec2>...<itemspecN>]
[/stopat:<versionspec>] [/preview] [/startcleanup] [/noprompt] [/silent] [/login:username,[password]] [/collection:TeamProjectCollectionUrl]]
/collection which specifies the team project collection. However, in VSTS you only have one collection. There is no collection name like TFS in the url. And multiple collections under user voice:
Let us create multiple collections on Visual Studio Team Services
https://developercommunity.visualstudio.com/idea/365419/let-us-create-multiple-collections-on-visual-studi.html
So, when you specify /collection for VSTS in tf command line, you just need to enter https://xxx.visualstudio.com
Also pay attention to the /login:<userid>,<password>, you are using the wrong format, it should be /login:userid,[password], add a /preview for test first(When tf destroy runs in the preview mode, the files are not actually destroyed.)
Finally the result will be
When you remove the /preview and perform the really destroy, you will also get a prompt info:
Do you want to destroy $/Scrum/NugetTest/Capture1025.PNG and all of
its children? (Yes/No/All)
Select Yes to delete folder and files in it, All with all of its children.
https://<MyTeamService>.visualstudio.com/<MyProject> is the wrong URL. It should just be https://<MyTeamService>.visualstudio.com/.
The parameter is asking for a project collection, not a team project within the collection.

Visual Studio Team Services Build Failed - Database Project to Azure SQL

I have a build in Team Services (was Visual Studio Online), with one MSBuild step that is configured to build and deploy a DB project, using a publish profile. I can't seem to succeed in authenticating it. When I queued the Team Services build definition, I am able to build the DB Project and produce the .dacpac. However, come publish time and this error comes:
C:\a\1\s\Source\ShopDatabase\bin\Output\MyDatabase.publish.sql(0,0): Error Deploy72002: Unable to connect to master or target server 'mydb'. You must have a user with the same password in master or target server 'mydb'.
We're certain the user exists in the mydb and the master db in Azure.
Target: Azure SQL Database
DB project Target Platform: Microsoft Azure SQL Database
When I run the publish profile directly from Visual Studio, it works. But in Team Services build definition, it doesn't. I tried these as MSbuild arguments:
/t:Build;Publish /p:SqlPublishProfilePath="myproject.Dev.publish.xml" /p:Password="mypassword"
and this:
/t:Build;Publish /p:SqlPublishProfilePath="myproject.Dev.publish.xml" /p:TargetConnectionString="Data Source=myproject.database.windows.net;Persist Security Info=True;User ID=myuser;Password=mypassword;" /p:VisualStudioVersion=14.0 /p:Username="myuser" /p:Password="mypassword"
and this:
/t:Build;Publish /p:SqlPublishProfilePath="myproject.Dev.publish.xml" /p:TargetConnectionString="Data Source=myproject.database.windows.net;Persist Security Info=True;User ID=myuser;Password=mypassword;" /p:VisualStudioVersion=14.0 /p:TargetUserName="myuser" /p:TargetPassword="mypassword"
But won't work. Please help me T_T been searching the net for 6 hours already
This is a poor error message that likely disguises the real issue: you need to open up your firewall for deployment to Azure SQL DB. It's working from Visual Studio because you have your IP range enabled. The steps in this guide to building & deploying from VSO, specifically the post on deploying from VSO here, should help. it specifically covers how to open up the firewall as part of deployment.
An obvious answer (sometimes in hindsight!) but for future googlers the error You must have a user with the same password in master or target server
also happens if you are pointing your deploy to an instance that doesn't exist.
ie: Server was not found.
Fwiw, was generating a script from visual studio. Running as admin made it stop being a douche about this. What a waste of my life just now...
We recently had this issue and we resolved it by removing the #server-name from the end of the Server Admin Login value in the SQL DB Details section of the SQL Deploy VSTS Task. Some guides online say you need this but it appears something changed recently and it is no longer required.

TFS crashed, new server but workspace does still exist

Our TFS was crashed, and we setup a new TFS with the same name, but with another defaultcollection name.
After setting up the new tfs, i want to connect using the same mapping. Our workspaces are not local, but server side.
The strangest thing is that i keep getting the error:
The path d:\teamfs is already mapped in workspace [myname] [http://teamfs:8080/tfs/defaultcollection].
But this defaultcollection does not exist anymore, the new one is called 'dotnet'.
Locally there is no workspace with this name.
Using the tf.exe also does nothing:
tf.exe workspace /owner:*
does reply:
TF400324: Team Foundation services are not available from server teamfs\DefaultC
ollection.
Technical information (for administrator):
Page not found.
How to get rid of this workspace from my local machine? Because the teamfs\DefaultCollection does not exist.

After migrating TFS server to server projects not showing up in team explorer

Here is the setup:
We had a one server TFS solution previously. We split each part out so the DB, TFS and the Build Service each have their own server now.
I manually restored the TFS DBs to the new server. I installed the app tier on the app server and the Build Service on another server. As usual, everything works fine on my computer. However, about half of my team has an issue where the team explorer shows just one project. Most of the team doesn't even have permissions to view this project yet it is all they see.
I had each of them run the tf workspaces ... command to sync up their workspaces to the new server location. I verified permissions. I had one of the affected delete his workspace and create a new one. Same issue. Team explorer only shows one project... that he doesn't even have permission to view. Source control explorer seems to operate fine.
Also, this only seems to affect one project collection. I have not heard anyone on another project collection having this issue.
Suggestions?
Hmm, I'm wondering if you need to do a ChangeServerID.

Team Foundation Server: Multiple Identities Found

Up until yesterday, my connection to Team Foundation Service was working perfectly.
A separate requirement caused me yesterday to rename my computer. After that, there were some errors about the workspace which I was able to fix with the TF command, but I can't find anything about this new error, which arose after I renamed the workspace:
Please note that the blacked-out email addresses are all three identical.
I have no idea how to "specify one of the following workspace specs" from a MessageBox! Any ideas?
TFS for years has been among the worst user experiences I've ever seen.
For me it helped to just sign out from TFS via the "Configure Team Projects" window, and then log in again.
Connect to TFS DB and refer DefaultCollection db.
[dbo].[tbl_Workspace] this table is used to store workspace info
[tbl_WorkspaceMapping] this table is used to store mapping created above.
[dbo].[tbl_WorkingFolder] this table is used to store working folder mapping.
Exit your tfs client and perform below steps.
delete your workspaces causing issue from table [dbo].[tbl_Workspace] and [tbl_WorkspaceMapping] and start accessing your tfs client by configuring new workspace.
I had to guess at a "tf" command line argument set, but, I found that the workspace carried the same name as the computer, after renaming both. So I did this to myself.
After using "tf" to change the workspace name from "WIN8DEV" to "WIN8DEVWORKSPACE" this particular problem vanished.

Resources