TFS/Git from Azure Devops

Is it possible to use Git or Team Foundation Version Control from Azure Devops in Toad for just "Team Coding" version control? We don't have the devops module, just interest in version control.
Thanks!

Hi Rob,

Yes, you should be able to use either Git or Team Foundation Version Control from within Toad. If you're using Git as your underlying version control provider, you would select the Git provider within Toad. You can then clone the remote repository, work in your local one, and then push your changes up to Azure as though you were working with any other Git remote repository (like GitHub).

If you're using Team Foundation Version Control, you'll probably want to use the "Visual Studio Team Services" provider within Toad. This should allow you to connect to your remote version control for Team Coding.

In either case, you may need to set up Personal Access Tokens or Alternate Credentials within Azure DevOps to connect.

Let us know if you have any questions, or if there's anything else we can do.

Thanks,

-John

Hi John,

I am on Toad 13.1, not able to register TFS 2019/Devops server 2019 with "Microsoft Team Foundation Server 2008-2017" or make use of the "Visual Studio Team Services" .

The VSTS Url defaults to "https://<>.visualstudio.com/DefaultCollection".

How do i go with integrating TFS with TOAD.

Hi Karthikeyan,

Are you using Git or TFVC as your underlying version control platform within your TFS/DevOps 2019 project? If memory serves, by default, DevOps 2019 will try to select Git as the version control provider for a new project. If that's the case, you'll want to use the "Git" provider within Toad and clone from your remote DevOps 2019 project. Note: Team Coding does not directly support branching and merging as that workflow model is not compatible with the way database manage database objects.

If, however, you're project is using TFVC as its version control provider, then you should be able to use DevOps Server 2019 with the "Microsoft Team Foundation Server" provider within Toad. However, Microsoft did change default virtual directory access within later versions of TFS. As a result, you may need to adjust your server settings accordingly within the TFS configuration window within Toad (i.e. remove the default "tfs" virtual directory setting).

-John

1 Like

Our organization also recently upgraded to Azure DevOpps I'm at a bit of a loss how to set thing up to use the new cloud based service. Is there a beginner guide anywhere?

Hi lwholmes,

There are a few guides that can help in setting up and using Team Coding in Toad. First, if you open up Team Coding's configuration window by selecting (Team Coding -> Configuration), you'll see "Team Coding - Getting Started Guide" button to the far right the toolbar. That will open a PDF file that can walk you through setting up Team Coding within your database.

Azure DevOps is Microsoft's new name for Team Foundation Server (on-premise server) and Visual Studio Team Services (VSTS) (cloud-based server). They allow you to set up projects using either Team Foundation Version Control (TFVC) or Git as your version control provider. If using TFVC, you would seelct the "Visual Studio Team Services" version control provider, go into its configuration setting, and enter your account name for your visual studio online account. You'll also need to enable the use of Personal Access tokens in your Visual Studio account in order to log in from Team Coding.

If using Git as your version control provider with Azure DevOps, you'll want to select "Git" as your version control provider and then simply clone from your Azure Devops repository. From there, you'd simply use Team Coding as you normally would with Git.

For more information about these options, and some limitations between the various providers, I'd suggest reading through some of the discussion in this Toad World forum:

I hope this information helps in what you're trying to do. If you have any other questions, please feel free to ask.

Thanks,

-John

Hi John,

We've got 14 now and are once again trying to access TFS on Azure. It was my understanding that it would be supported in version 14. If I understand correctly we should be using the "Microsoft Azure DevOps Services (TFVC)" to connect, not the "Microsoft Azure DevOps Services (TFS)" connector? We did have it working with Git, but the team did not like the lack of locking. We have been running a manual process while waiting for TOAD 14.

Thanks,
Lance

Hi Lance,

If you're using Azure DevOps Services (Microsoft's cloud-based service at visualstudio.com) for your version control platform, and your project there is configured to use Team Foundation Version Control as your Version Control platform (under the "Advanced" options when you configure your project, then you would use the "Azure DevOps Services (TFVC)" version control provider in Toad. For this provider, you'll need to make sure:

  1. Team Foundation Version Control is the version control for the product
  2. You've enabled the use of Personal Access Tokens for your user accounts that need to connect to the project in question.

If, however, you've configured the project to use Git as the version control platform, then you would clone the remote repository locally and use the "Git" version control provider within Toad.

As you noted, Git doesn't support locking; however, you should be aware that Microsoft's cloud-based solution of Azure DevOps Services also doesn't support locking. If locking is an important feature to you, you would probably be better off using either Azure DevOps Server (TFS) or Subversion (SVN).

I hope that helps provide some direction in what you're trying to accomplish. Please feel free to let me know if there's anything else I can do.

Thanks!

-John

Hi John,

We are using Git with Azure DevOps repositories and are looking to integrate Team Coding with Git as the VCS of choice in Toad for Oracle v14.

When attempting to do a pull from the remote repository we receive a permission denied error. When doing a git pull from git bash all is well.

Is there a guide or explanation as to what may be going on here? The documentation on using Git seems a little sparse. We have even used ssh-agent to prevent any local key authentication from holding things up.

Thanks much,
Luke

1 Like

Hi Luke,

Toad for Oracle will use the command-line Git client in Windows rather than the Git bash client. Git's command-line client typically uses the Git Credential Manager internally. If you can connect. pull and push to your Git remote from the Git command-line client in Windows, Toad should be able to execute those pulls and pushes as well. I'd recommend checking to make sure that you can push and pull using the command-line (non-bash) client.

Let us know what you find, or if there's anything else we can do.

Thanks,

-John

Hi John,

Apologies, this one was put on hold for a bit.

I was able to complete a pull using cmd.exe but I am still getting errors when trying to pull from "Team Coding" > "Pull from remote". I do have a passphrase for my ssh key.

I am able to "Logon to VCS" with no problem.

The output reads:

10:43:15 Info: Team Coding is disabled.
10:53:57 ==================================================================
10:53:57 Method Name: VCS Command
10:53:57 Request:
10:53:57 git.exe status
10:53:57 Response:
10:53:57 On branch master
10:53:57 Your branch is up to date with 'origin/master'.
10:53:57 nothing to commit, working tree clean
10:53:57 ==================================================================
10:53:57 ==================================================================
10:53:57 Method Name: VCS Command
10:53:57 Request:
10:53:57 git.exe ls-tree --name-only -d HEAD
10:53:57 ==================================================================
10:53:57 Method Name: VCS Command
10:53:57 Request:
10:53:57 git.exe config user.name "Lucas Schmidt"
10:53:57 Info: Logged into Git
10:53:57 ==================================================================
10:53:57 Method Name: VCS Command
10:53:57 Request:
10:53:57 git.exe pull
10:53:58 Response:
10:53:58 Permission denied, please try again.
10:53:58 Permission denied, please try again.
10:53:58 git@ssh.dev.azure.com: Permission denied (password,publickey).
10:53:58 fatal: Could not read from remote repository.
10:53:58 Please make sure you have the correct access rights
10:53:58 and the repository exists.
10:53:58 ==================================================================
10:53:58 Error: Failed to update local repository. Error: Permission denied, please try again. Permission denied, please try again. git@ssh.dev.azure.com: Permission denied (password,publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.
10:54:27 ==================================================================

Any thoughts as to what may be the issue on this one?

Thank you,
Lucas

Please disregard.

I was able to get this working using an HTTPS remote rather than SSH.

Thanks again for your time!
Luke

Hi Luke,

I'm glad you were able to get this working with HTTPS. Using this connection method with Git Credential Manager should work and be reliable going forward.

As for your SSH issue, I've been looking into a similar reported issue regarding Git and SSH, and recently discovered through trial and error and a good bit of online research that the version of OpenSSH that's currently shipped with Windows 10 is actually an older version (version 7.7p1, dated 04/2018). This version's ssh-agent returns private keys with a different (older) fingerprint than what a number of Git servers currently expect. As a result, authentication with those servers tends to fail, causing consistent prompts for passphrases. You can read more about this issue here:

I don't know if this issue is causing the permissions errors you're seeing, but it could be related. In my local tests, installing a newer version of OpenSSH and using that version's ssh-agent (instead of the version installed by Windows) allowed us to use SSH with both the Git command-line client and Toad's Team Coding. I also had to set the GIT_SSH environment variable to point to the newer SSH client so Git didn't try using the older SSH client from Windows.

I'm not sure if this is related to the issues you were seeing regarding SSH; but if you ultimately want to use SSH instead of HTTPS for your Git connections, this may be something to look into.

Let me know if this information helps in what you're trying to do.

Thanks,

-John