Coder Social home page Coder Social logo

team-explorer-everywhere's Introduction

This project is no longer maintained. To make changes, you may fork this repository and build your own version of Team Explorer Everywhere using instructions below.


Team Explorer Everywhere Plug-in for Eclipse and Cross-platform Command-line Client for Team Foundation Server

This project contains:

  • Team Explorer Everywhere Plug-in for Eclipse
  • Cross-platform Command-line Client for Team Foundation Server and Team Services
  • Team Foundation Server/Team Services SDK for Java

What is Team Explorer Everywhere?

Team Explorer Everywhere is the official TFS plug-in for Eclipse from Microsoft. It works on the operating system of your choice with your favorite Eclipse-based IDE and helps you collaborate across development teams using Team Foundation Server or Visual Studio Team Services.

Supported on Linux, Mac OS X, and Windows. Compatible with IDEs that are based on Eclipse 4.2 to 4.6.

Where Can I Get This Eclipse Plug-in?

Manually download and install the plug-in from the Releases section of this GitHub repository. Then install it in Eclipse from where its zip/archive file is saved on disk. Detailed instructions for installing zip/archive plugins into Eclipse are found here.

What is the Command-line Client for TFS?

The CLC for TFS allows you run version control commands from a console/terminal window against a TFS server on any operating system. This tool is for use with Team Foundation Version Control (TFVC), a centralized version control system. If you prefer to use Git, you can use any Git client with TFS or Team Services as well.

Where Can I Get The Command-line Client?

Download the TEE-CLC-*.zip file in the Releases area of this repo.

Building with Ant

Install Java 6

  1. We use JavaSE-1.6 as the minimal supported Java execution environment.
  2. Download and install the JDK for JavaSE-1.6.
  3. Set the JAVA_HOME environment variable to point to the install, e.g.
  • (Windows) SET JAVA_HOME=C:\dev\java\jdk1.6.0_45
  • (Linux) JAVA_HOME=~/dev/java/jdk1.6.0_45
  • (Mac) JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home
  1. Add JAVA_HOME bin directory to the path
  • (Windows) SET PATH=%JAVA_HOME%\bin;%PATH%
  • (Linux) PATH=$JAVA_HOME/bin:$PATH
  • (Mac) PATH=$JAVA_HOME/bin:$PATH

Install Ant

  1. If you do not already have it, download and install Apache Ant(TM) version 1.9.6 from Ant Binary Distributions.
  2. Add the full path of the Ant bin directory to the PATH system environment variable. You can find more Ant installation details here.
  • (Windows) SET PATH=C:\dev\apache-ant-1.9.6\bin;%PATH%
  • (Linux) PATH=~/dev/apache-ant-1.9.6/bin:$PATH
  • (Mac) PATH=~/dev/apache-ant-1.9.6/bin:$PATH

Install the Eclipse Target Environment

Historically, we use Eclipse 3.5.2 as the base target Eclipse version.

  1. Download and install Eclipse Classic from Eclipse 3.5.2. On Windows, you may want to use a third party ZIP tool to unzip the Eclipse archive.
  2. Install the EGit 2.1.0 plug-in into that Eclipse instance.

Clone the Repository

Use the Git tool of your choice to clone the repository into a local path. For example, you could use git.exe from a Windows console window:

mkdir c:\repos
pushd c:\repos
git clone https://github.com/Microsoft/team-explorer-everywhere

Build

Note: The Eclipse target installation location is needed as a parameter for the Ant build variable dir.machine.build-runtime. For the samples below, we will assume that the target Eclipse version was installed into '\dev\eclipseTargets\352'.

  1. From a terminal/console window, change to the build subfolder of the root folder of the team-explorer-everywhere repository
  2. Run ant -Ddir.machine.build-runtime=<pathToEclipseTarget>, for example,
(Windows) ant -Ddir.machine.build-runtime=c:\Users\<userId>\dev\eclipseTargets\352\
(Linux) ant -Ddir.machine.build-runtime=/home/<userId>/dev/eclipseTargets/352/
(Mac) ant -Ddir.machine.build-runtime=/Applications/eclipse-classic/
  1. Build results can be found in build\output

Contributing

We welcome pull requests. Please fork this repo and send us your contributions. See Contributing for details.

Localization / Translation

Your language, your words, your plug-in for you!

Along with open-sourced Team Explorer Everywhere (TEE) source code, we are making it possible for anyone to contribute translations in your native language. With these changes, you can now improve existing translated resources, translate updated resources, or even provide new language support TEE did not have before. Your contribution will be part of the TEE Plug-in in your language for everyone to use. We highly appreciate your efforts, and we welcome your feedback and suggestions on the TEE community localization process. Your contribution could be in next release!

Please click Localization for details on how to contribute in TEE community translation effort. Feel free to contact us if you have any questions.

Happy contributing!

Frequently Asked Questions (FAQ)

Q: Is there a beginner's guide for TEE?

A: Absolutely. You can find it on MSDN at Team Foundation Server Plug-in for Eclipse - Beginner's Guide.

Q: Is there a way to view local repos in TEE 2015 in Eclipse (Mars) or is it assumed one would use the other Git tooling for Eclipse?

A: It is expected that one would use the standard EGit tooling in Eclipse to view local repos, but TEE does have a "Repositories" view in which you can see which repos are available on the server.

Q: Also, is there an easy way (using TEE) to “import” a local Git repo and push it up to Team Services? Or is the Git command-line the way to do it?

A: There’s documentation on how to do it in TEE at Sharing Eclipse Projects in Team Foundation Server. That article specifically shows TFVC but when you go to Share the project, you’ll be prompted to choose a repository type (Git or TFVC).

Q: Where can I get more help?

A: Log an issue or check the Team Explorer Everywhere forum

Q: Where can I learn more about the Azure Toolkit for Eclipse?

A: Check the Azure Toolkit for Eclipse web page

Q: The TEE Command Line Client has removed the "tf profile" command. How can I connect to TFS without having to repeatedly type my credentials?

A: You can use Kerberos for authentication to a TFS server. More information can be found here. This article mentions the "tf profile" command because it still existed at that time this article was written but that step can be skipped now all together.

Q: How can I fix the "Authentication not supported" error when using Eclipse to perform Git operations with TFS?

A: Eclipse’s EGit is built on JGit, and unfortunately, recent versions of JGit actively reject NTLM authentication, resulting in “Authentication not supported” when connecting to on-premises installations of TFS that require NTLM. We’re working to improve this situation in the next version of TEE, but until then, you can do one of the following:

  • Use Cntlm, a locally-installed proxy that adds NTLM authentication on-the-fly
  • Use an older version of Eclipse/EGit/JGit
  • Enable basic authentication with SSL in IIS on your TFS server
  • Enable Kerberos authentication in IIS on your TFS server (the default for the next version of TFS after TFS 2015):
    1. In IIS manager, click on the TFS site on the left under Connections and open up the "Authentication" section under IIS. Set “ASP.NET Impersonation” to Enabled and “Windows Authentication” to Enabled.
    2. Under "Windows Authentication" right click and select "Providers." Add/enable the "Negotiate" and "NTLM" providers.
    3. Under "Windows Authentication" right click and select "Advanced Settings." Uncheck "Enable Kernel-mode" because it is incompatible with Kerberos.

team-explorer-everywhere's People

Contributors

aldonetti avatar alexrukhlin avatar andygonusa avatar brandonjacob avatar buckh avatar carstenk-msft avatar davidstaheli avatar eric-milles avatar ermeckle avatar jpricket avatar jrbriggs avatar kaylangan avatar kgliang avatar leantk avatar microsoft-github-policy-service[bot] avatar msftgits avatar olivierdagenais avatar praveeg avatar rcjsuen avatar steved0x avatar yacaovsnc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

team-explorer-everywhere's Issues

Error "The specified prefix was null." When using IBM jvm in Eclipse

Hello,

Running Eclipse Neon.2 Release (4.6.2) with 2 Plugin-ins:

WebSphere® Application Server Developer Tools for Eclipse
Version: 16.0.0.4
Build id: 20161213_2112
Team Explorer Everywhere
Version 14.111.1

When I try to expand "All repostories" inside the perspective "Team Explorer" I receive an error
"Exception creating 'All repositories': The specified prefix was null."

I have tracked down that this problem has started occurring since I changed the jvm used to run eclipse.
My eclipse.ini contains:
-vm C:\IBM\WebSphere\AppServer\java\jre\bin\javaw.exe
The above is needed to be able to control IBM Websphere Server from inside eclipse. If I comment it out, Team Explorer Everywhere works fine again.

The eclipse log shows this stack

!ENTRY com.microsoft.tfs.client.common 2 0 2017-03-09 16:48:50.654 !MESSAGE !STACK 0 java.lang.IllegalArgumentException: The specified prefix was null. at com.ibm.xml.xlxp.api.stax.msg.StAXMessageProvider.throwIllegalArgumentException(StAXMessageProvider.java:42) at com.ibm.xml.xlxp.api.stax.XMLStreamWriterBase.beginStartElement(XMLStreamWriterBase.java:170) at com.ibm.xml.xlxp.api.stax.XMLStreamWriterBase.writeStartElement(XMLStreamWriterBase.java:373) at com.ibm.xml.xlxp.api.stax.XMLOutputFactoryImpl$XMLStreamWriterProxy.writeStartElement(XMLOutputFactoryImpl.java:123) at com.microsoft.tfs.core.ws.runtime.stax.StaxUtils.copyCurrentElement(StaxUtils.java:107) at com.microsoft.tfs.core.ws.runtime.types.StaxAnyContentType.readFromElement(StaxAnyContentType.java:215) at ms.tfs.workitemtracking.clientservices._03._ClientService5Soap_GetMetadataEx2Response.readFromElement(_ClientService5Soap_GetMetadataEx2Response.java:141) at ms.tfs.workitemtracking.clientservices._03._ClientService5Soap12Service$34.readSOAPResponse(_ClientService5Soap12Service.java:874) at com.microsoft.tfs.core.ws.runtime.client.SOAPService.executeSOAPRequestInternal(SOAPService.java:614) at com.microsoft.tfs.core.ws.runtime.client.SOAPService.executeSOAPRequest(SOAPService.java:444) at ms.tfs.workitemtracking.clientservices._03._ClientService5Soap12Service.getMetadataEx2(_ClientService5Soap12Service.java:864) at com.microsoft.tfs.core.clients.workitem.internal.metadata.Metadata.update(Metadata.java:479) at com.microsoft.tfs.core.clients.workitem.internal.metadata.Metadata.update(Metadata.java:458) at com.microsoft.tfs.core.clients.workitem.internal.WITContext.<init>(WITContext.java:101) at com.microsoft.tfs.core.clients.workitem.WorkItemClient.getContext(WorkItemClient.java:394) at com.microsoft.tfs.core.clients.workitem.WorkItemClient.getProjects(WorkItemClient.java:337) at com.microsoft.tfs.client.common.ui.teamexplorer.TeamExplorerContext.getCurrentProject(TeamExplorerContext.java:103) at com.microsoft.tfs.client.eclipse.ui.egit.teamexplorer.TeamExplorerGitRepositoriesSection.initialize(TeamExplorerGitRepositoriesSection.java:95) at com.microsoft.tfs.client.eclipse.ui.egit.teamexplorer.TeamExplorerGitRepositoriesSection.initialize(TeamExplorerGitRepositoriesSection.java:105) at com.microsoft.tfs.client.common.ui.controls.teamexplorer.TeamExplorerBaseControl$SectionLoadJob.run(TeamExplorerBaseControl.java:481) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

java -version shows the following:

C:\IBM\WebSphere\AppServer\java\jre\bin>java.exe -version java version "1.8.0" Java(TM) SE Runtime Environment (build pwa6480sr3fp20ifix-20161110_01(SR3 FP20+I V90630+IV90578)) IBM J9 VM (build 2.8, JRE 1.8.0 Windows 7 amd64-64 Compressed References 2016101 3_322271 (JIT enabled, AOT enabled) J9VM - R28_Java8_SR3_20161013_1635_B322271 JIT - tr.r14.java.green_20161011_125790 GC - R28_Java8_SR3_20161013_1635_B322271_CMPRSS J9CL - 20161013_322271) JCL - 20161018_01 based on Oracle jdk8u111-b14

Any clue?
I need to have IBM jvm and Team Explorer Everywhere running in the same eclipse

Thanks!

Update Homebrew on Release

It would be great to see Homebrew get auto updated on release. It's currently several versions behind. It looks like the command line argument to update the package would be:

brew bump-formula-pr --strict tee-clc --url="[URL OF THE RELEASE]" --sha256="[SHA OF THE PACKAGE]"

I've got a PR that I'm working through to understand why it failed. I couldn't use the command line update because it failed on the description that was there previously.

Assignment to Variable without Use

Hi!

Please look this code fragment:

        layout.marginWidth = getHorizontalMargin();
        layout.marginWidth = getVerticalMargin();

Probably it should be:

        layout.marginWidth = getHorizontalMargin();
        layout.marginHeight = getVerticalMargin();

This possible defect found by AppChecker

TEE 14.0.4+: PAT should have minimum authorized scopes

@yacaovsnc , @AlexRukhlin , as we discussed via email (during course of Issue #85 ), if you're still going to automatically create a Personal Access Token (PAT) for TEE 14.0.4+, then please set the default authorized scopes to the minimum possible. In TEE 14.0.4 private build, the auto-created PAT has all scopes authorized. In TEE 14.0.3, the auto-created PAT only has the following scopes authorized: 'Code (read, write, manage)'; 'Code (read and write)'; and 'Code (read)'.

In the spirit of least privilege, auto-created PATs should have the minimum set of authorized scopes, especially since PATs are currently so long-lived by default.

Web-Service Generator Source Code

I was browsing some of the generated source files in the com.microsoft.tfs.code.ws library, and noticed that the file headers state that they were created by com.microsoft.tfs.core.ws.generator.Generator. This code is not, and as far as I know never has been, released. Is there any reason why? I am not as interested in the generator itself as the source files used as input to the generator, as I want to create a TFS client library for a Mac app I am working on, and need to generate code in Swift. Thanks!

VersionControlException: java.lang.IllegalArgumentException: renaming: target file already exists

TFS Java SDK throws the following error while Workspace.get() when file name exceeds 260 symbols, TFS .NET SDK properly handles such cases:

com.microsoft.tfs.core.clients.versioncontrol.exceptions.VersionControlException: java.lang.IllegalArgumentException: renaming: target file already exists
	at com.microsoft.tfs.core.clients.versioncontrol.soapextensions.Workspace.get(Workspace.java:2470)
	at com.microsoft.tfs.core.clients.versioncontrol.soapextensions.Workspace.get(Workspace.java:2341)
	at com.microsoft.tfs.core.clients.versioncontrol.soapextensions.Workspace.get(Workspace.java:2331)
	at com.microsoft.tfs.core.clients.versioncontrol.soapextensions.Workspace.get(Workspace.java:2308)

Related issues:

.tfignore !/target is not effective

While cleaning up code base on TFS server using latest TEE Eclipse plugin...

I have .tfignore at upper level that ignores target (Maven output folder)

Then in current project I add .tfignore with !/target line to make it possible to delete that folder content from sources repositories. But that does not take effect, and target folder is still shown as [Ignored] in Package/Project Explorer. So I cant remove target folder from TFS server.

tfs-ignore

TEE: java.lang.NullPointerException

I am experiencing a java.lang.NullPointerException when getting a last version of a directory in TFS (see the stack trace below).

  • TEE plug-in version: 14.114.0.201703081735
  • Eclipse version: 4.5.2 (Mars 2) - 32-bit
  • It is strange that when I localize the file on which the NullPointerException is thrown, I can download it manually, but in another attempt to get the remaining files from the top level, the NullPointerException occurs again on a different file etc. All those files are plain-text XML.
  • Workaround: I can get the content of the TFS directory by getting it "subdirectory by subdirectory", but this is far from ideal.
  • Stack trace:

2017-04-21 14:02:44,659 ERROR [ModalContext] (com.microsoft.tfs.client.common.framework.resources.command.WorkspaceCommand) Workspace command error
com.microsoft.tfs.core.clients.versioncontrol.exceptions.VersionControlException: java.lang.NullPointerException
at com.microsoft.tfs.core.clients.versioncontrol.engines.internal.GetEngine.throwIfFatalError(GetEngine.java:2958)
at com.microsoft.tfs.core.clients.versioncontrol.engines.internal.GetEngine.processOperationsInternal(GetEngine.java:1142)
at com.microsoft.tfs.core.clients.versioncontrol.engines.internal.GetEngine.processOperations(GetEngine.java:957)
at com.microsoft.tfs.core.clients.versioncontrol.engines.internal.GetEngine.processGetOperations(GetEngine.java:808)
at com.microsoft.tfs.core.clients.versioncontrol.soapextensions.Workspace.get(Workspace.java:2463)
at com.microsoft.tfs.core.clients.versioncontrol.soapextensions.Workspace.get(Workspace.java:2345)
at com.microsoft.tfs.client.common.commands.vc.GetCommand.doRun(GetCommand.java:96)
at com.microsoft.tfs.client.common.framework.command.Command.run(Command.java:92)
at com.microsoft.tfs.client.common.framework.resources.command.WorkspaceRunnableCommandAdapter.run(WorkspaceRunnableCommandAdapter.java:69)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2241)
at com.microsoft.tfs.client.common.framework.resources.command.WorkspaceCommand.run(WorkspaceCommand.java:204)
at com.microsoft.tfs.client.common.framework.resources.command.ResourceChangingCommand.run(ResourceChangingCommand.java:37)
at com.microsoft.tfs.client.common.ui.framework.command.RunnableWithProgressCommandAdapter.run(RunnableWithProgressCommandAdapter.java:65)
at com.microsoft.tfs.client.common.ui.framework.runnable.DeferredProgressMonitorDialogContext$RunnableWithProgressWrapper.run(DeferredProgressMonitorDialogContext.java:249)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:119)
Caused by: java.lang.NullPointerException
at com.microsoft.tfs.core.clients.versioncontrol.VersionControlClient.downloadFileToStreamsInternal(VersionControlClient.java:2633)
at com.microsoft.tfs.core.clients.versioncontrol.VersionControlClient.downloadFileToStreams(VersionControlClient.java:2490)
at com.microsoft.tfs.core.clients.versioncontrol.engines.internal.workers.GetDownloadWorker.downloadFile(GetDownloadWorker.java:306)
at com.microsoft.tfs.core.clients.versioncontrol.engines.internal.workers.GetDownloadWorker.call(GetDownloadWorker.java:157)
at com.microsoft.tfs.core.clients.versioncontrol.engines.internal.workers.GetDownloadWorker.call(GetDownloadWorker.java:72)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at com.microsoft.tfs.core.clients.versioncontrol.internal.concurrent.BoundedExecutor$1.run(BoundedExecutor.java:85)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
2017-04-21 14:02:47,295 ERROR [main] (com.microsoft.tfs.client.common.commands.vc.GetCommand) java.lang.NullPointerException (java.lang.NullPointerException)
com.microsoft.tfs.core.clients.versioncontrol.exceptions.VersionControlException: java.lang.NullPointerException
at com.microsoft.tfs.core.clients.versioncontrol.engines.internal.GetEngine.throwIfFatalError(GetEngine.java:2958)
at com.microsoft.tfs.core.clients.versioncontrol.engines.internal.GetEngine.processOperationsInternal(GetEngine.java:1142)
at com.microsoft.tfs.core.clients.versioncontrol.engines.internal.GetEngine.processOperations(GetEngine.java:957)
at com.microsoft.tfs.core.clients.versioncontrol.engines.internal.GetEngine.processGetOperations(GetEngine.java:808)
at com.microsoft.tfs.core.clients.versioncontrol.soapextensions.Workspace.get(Workspace.java:2463)
at com.microsoft.tfs.core.clients.versioncontrol.soapextensions.Workspace.get(Workspace.java:2345)
at com.microsoft.tfs.client.common.commands.vc.GetCommand.doRun(GetCommand.java:96)
at com.microsoft.tfs.client.common.framework.command.Command.run(Command.java:92)
at com.microsoft.tfs.client.common.framework.resources.command.WorkspaceRunnableCommandAdapter.run(WorkspaceRunnableCommandAdapter.java:69)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2241)
at com.microsoft.tfs.client.common.framework.resources.command.WorkspaceCommand.run(WorkspaceCommand.java:204)
at com.microsoft.tfs.client.common.framework.resources.command.ResourceChangingCommand.run(ResourceChangingCommand.java:37)
at com.microsoft.tfs.client.common.ui.framework.command.RunnableWithProgressCommandAdapter.run(RunnableWithProgressCommandAdapter.java:65)
at com.microsoft.tfs.client.common.ui.framework.runnable.DeferredProgressMonitorDialogContext$RunnableWithProgressWrapper.run(DeferredProgressMonitorDialogContext.java:249)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:119)
Caused by: java.lang.NullPointerException
at com.microsoft.tfs.core.clients.versioncontrol.VersionControlClient.downloadFileToStreamsInternal(VersionControlClient.java:2633)
at com.microsoft.tfs.core.clients.versioncontrol.VersionControlClient.downloadFileToStreams(VersionControlClient.java:2490)
at com.microsoft.tfs.core.clients.versioncontrol.engines.internal.workers.GetDownloadWorker.downloadFile(GetDownloadWorker.java:306)
at com.microsoft.tfs.core.clients.versioncontrol.engines.internal.workers.GetDownloadWorker.call(GetDownloadWorker.java:157)
at com.microsoft.tfs.core.clients.versioncontrol.engines.internal.workers.GetDownloadWorker.call(GetDownloadWorker.java:72)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at com.microsoft.tfs.core.clients.versioncontrol.internal.concurrent.BoundedExecutor$1.run(BoundedExecutor.java:85)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

404 Error When Trying to Add a TFS Server

Hello: When I try to add/map a new TFS Server, I get the error in the attached PNG file. If the attached file doesn't upload and display correctly, the Error I am receiving is:

The SOAP Endpoint http://MY_TFS_SERVER_HOST_NAME:8080/Services/v1.0/Registration.asmx could not be contacted. HTTP Status: 404.

My TFS Server is on-prem and on the 2017 Update 1 version. The TFS Server is running on a Server with an OS of Windows Server 2012 R2. The machine I am trying this from is on the same network as the TFS Server. The version of Eclipse I am using is the latest version (Neon). I installed the TEE Plugin via the Eclipse Dropins Folder (C:\Users\USER ID\eclipse\java-neon\eclipse\dropins). Eclipse picks up the TEE Plugin just fine and shows everything I would expect to see in the Eclipse Installation Details section for this Plugin. I can open the Team Explorer View in Eclipse just fine, and start the process to add my TFS Server just fine.

From this machine (the one with the Eclipse IDE and TEE Plugin) I can connect to the same TFS environment with VS/Team Explorer. I can also successfully connect and run commands with the Command Line Client. However, no matter what I try I can't get this to work with the TEE Eclipse Plugin. I have tried this using several different versions of the Plugin....all with the same result. The TEE Plugin versions I have tried are: 14.0.2, 14.118.0 & 14.119.2. No matter what I try I am getting the same result. I have tried to include the collection name in the URL and leave it out. Still the same thing. In the latest TEE version I made sure I had my credentials entered. Still didn't matter. I have deleted the Plugin's cache folder (C:\Users\USER ID\AppData\Local\Microsoft\Team Foundation\4.0) before starting Eclipse each time....still doesn't make a difference.

For whatever it is worth, I am also the TFS Admin and been administering and using TFS since it first hit the market over a decade ago. At this point I have to think there is something I may need to do administratively from the TFS end of things to get this to work, but I am at a loss. The URL being displayed in the Plugin's Error Dialog does not seem to match up with the structure that I see in IIS on the TFS Server. I have also attached the log (txt) file from the Plugin. It is interesting because it also looks like there are 404 Errors being returned on a service named LocationService.asmx as well. In that log file I replaced any occurrences of the actual server name & user name with placeholder values.

I've got to think this works or else others would be reporting the same thing and the fact that I am getting this consistent result across all of the various Plugin versions that I have tried makes me think this is not a Plugin issue per se....but it is still interesting the CLC works fine and the Plugin does not.

At this point, I don't know what I need to do and can't find anything in documentation or on the Internet otherwise that would steer me in the direction I need to go to get this resolved. If anyone could please help me get going in the right direction I would be appreciative. I have burned about 3 days trying everything I can think of and still got nowhere.

Thanks in advance!
CJ

tee_addtfsserver_errordialog

teamexplorer-plugin-2017.06.22-17.56.35.txt

TEE 14.0.4: Update the first or second version digit to reflect the major auth changes

@yacaovsnc , @AlexRukhlin , as we discussed via email (during course of Issue #85 ), given all the major, mandatory authentication changes in TEE 14.0.3+ (with more planned for TEE 14.0.4), for clearer communication to users of their significance, I suggest making the next TEE version much more than a minor version increment over TEE 14.0.3. That is, do not use "TEE 14.0.4". If at all possible, change the first version digit -- say to TEE 15.0.x -- or the second version digit -- say to TEE 14.5.x, or at least to TEE 14.1.x.

The authentication changes alone are just way too significant and have too many subtle consequences to have the appearance of a minor servicing release that only includes bug fixes and/or improved stability and compatibility. This is why I did not hesitate before upgrading from TEE 14.0.1 / TEE 14.0.2 to TEE 14.0.3 -- I just did not expect TEE 14.0.3 to drop support for my VSTS alternate credentials and cause me so much trouble (= Issue #85).

Connection endpoint not found

I'm using the cli version (java) to connect to the team explorer but I'm getting this error:

An error occurred: The SOAP endpoint could not be contacted. 404

What can I do?

TEE 14.0.4+: Auto-revoke previously active PATs before auto-creating a new one

@yacaovsnc , @AlexRukhlin , as we discussed via email (during course of Issue #85 ), if you're still going to automatically create a Personal Access Token (PAT) for TEE 14.0.4+, then, ideally, TEE would auto-revoke any previously active PATs before auto-creating a new one. Thus, a user would never have to manually revoke any orphaned, unexpired ones.

Because a PAT cannot be retrieved from the server after creation, the PAT name (or some other kind of metadata) would have to be sufficient to make the determination of which PATs can be safely auto-revoked. If the PAT name is the only piece of metadata available, then a reliable naming convention must be chosen as part of Issue #92.

Of course, this assumes that there's never a valid use case for multiple unexpired PATs for TEE. One potential important test case to think through: running multiple instances of Eclipse simultaneously from the same machine against the same VSTS account with the same Microsoft account. The Eclipse / TFS workspaces might be the only difference.

TEE 14.0.4+: PAT expiration should be much shorter than 1 year by default

@yacaovsnc , @AlexRukhlin , as we discussed via email (during course of Issue #85 ), if you're still going to automatically create a Personal Access Token (PAT) for TEE 14.0.4+, then please set the default expiration to a much shorter value. Currently, the default expiration is 1 year, which is basically infinite. VSTS seems to currently allow three values: 90 days, 180 days, and 1 year. If the server truly cannot support something shorter than 90 days (like say 14-30 days max), then please choose 90 days. Super-convenient-minded users that want to log in as infrequently as possible can always increase their PAT expiration, but the default should be much shorter = more secure.

Yes, in TEE 14.0.3, users can manually reduce the expiration from 1 year to 90 days, but a user has to understand that a PAT has been created and that its expiration is very long by default and that a PAT expiration can be reduced and how to reduce it in the VSTS portal. Given the PAT is automatically created, most users will likely never realize there is one, especially if there's no UI indicator informing them that it was created.

eclipse plugin error when TFS team favorit build is set

Hi
There is a bad cast in TeamExplorerBuildsFavoritesSection.java on line 264. In Eclipse TFS plugin it causes an error if TFS Team Favorits build is set.

https://github.com/Microsoft/team-explorer-everywhere/tree/master/source/com.microsoft.tfs.client.common.ui.teambuild/src/com/microsoft/tfs/client/common/ui/teambuild/teamexplorer/sections/TeamExplorerBuildsFavoritesSection.java#L264

Issue already here https://developercommunity.visualstudio.com/content/problem/22021/tee-141111-move-build-definition-to-team-favorites.html

Here is the eclipse stack trace

!ENTRY org.eclipse.jface 4 2 2017-03-02 10:26:33.542
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jface".
!STACK 0
java.lang.ClassCastException: com.microsoft.alm.teamfoundation.build.webapi.BuildDefinitionReference cannot be cast to com.microsoft.alm.teamfoundation.build.webapi.BuildDefinition
at com.microsoft.tfs.client.common.ui.teambuild.teamexplorer.sections.TeamExplorerBuildsFavoritesSection$MyLabelProvider.getColumnImage(TeamExplorerBuildsFavoritesSection.java:264)
at org.eclipse.jface.viewers.TableColumnViewerLabelProvider.update(TableColumnViewerLabelProvider.java:67)
at org.eclipse.jface.viewers.ViewerColumn.refresh(ViewerColumn.java:141)
at org.eclipse.jface.viewers.AbstractTableViewer.doUpdateItem(AbstractTableViewer.java:382)
at org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRunnable.run(StructuredViewer.java:474)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:50)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:173)
at org.eclipse.jface.viewers.StructuredViewer.updateItem(StructuredViewer.java:2170)
at org.eclipse.jface.viewers.AbstractTableViewer.createItem(AbstractTableViewer.java:273)
at org.eclipse.jface.viewers.AbstractTableViewer.internalRefreshAll(AbstractTableViewer.java:715)
at org.eclipse.jface.viewers.AbstractTableViewer.internalRefresh(AbstractTableViewer.java:607)
at org.eclipse.jface.viewers.AbstractTableViewer.internalRefresh(AbstractTableViewer.java:599)
at org.eclipse.jface.viewers.AbstractTableViewer.lambda$0(AbstractTableViewer.java:561)
at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1458)
at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1419)
at org.eclipse.jface.viewers.AbstractTableViewer.inputChanged(AbstractTableViewer.java:561)
at org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:286)
at org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.java:1696)
at com.microsoft.tfs.client.common.ui.teambuild.teamexplorer.sections.TeamExplorerBuildsFavoritesSection.getSectionContent(TeamExplorerBuildsFavoritesSection.java:137)
at com.microsoft.tfs.client.common.ui.controls.teamexplorer.TeamExplorerBaseControl$SectionLoadJobChangeListener$1.run(TeamExplorerBaseControl.java:530)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:182)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4211)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3827)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1121)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1022)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:150)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:693)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:610)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:138)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:673)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:610)
at org.eclipse.equinox.launcher.Main.run(Main.java:1519)

Peter

SQLException: Table not found: SYSTEM_TABLES in statement

It's a sporadic issue in TFS Java SDK when after some time (few hours or days) it starts to throw following exception:

 java.sql.SQLException: Table not found: SYSTEM_TABLES in statement [select count(*) from INFORMATION_SCHEMA.SYSTEM_TABLES where TABLE_NAME = ?] sql [select count(*) from INFORMATION_SCHEMA.SYSTEM_TABLES where TABLE_NAME = ?] 

I suppose that it was caused by housekeeping in work items Metadata because HSQLOperations.tableExists used in the following piece of code and this problem may start after the following:

[2016-06-07 10:43:31,743]  DEBUG - iThreadedHttpConnectionManager - Freeing connection, hostConfig=HostConfiguration[host=http://0.0.0.0:8080] 
[2016-06-07 10:43:31,743]  DEBUG - ent.util.IdleConnectionHandler - Adding connection 1 at: 1465285411743 
[2016-06-07 10:43:31,743]  DEBUG - iThreadedHttpConnectionManager - Notifying no-one, there are no waiting threads 
[2016-06-07 10:43:31,759]   INFO - nal.db.ConnectionConfiguration - locked [C:\ProgramData\JetBrains\TeamCity\system\caches\tfs\tee\Cache\TEE-WorkItemTracking\4.0A-96f99303-4919-41a3-bedb-d0232e95feac\data] 
[2016-06-07 10:43:32,651]   INFO - tem.internal.metadata.Metadata - unable to find housekeeping table - will reset 
[2016-06-07 10:43:32,653]   WARN - tem.internal.metadata.Metadata - drop metadata tables: java.sql.SQLException: Table not found: WORKITEMTYPEUSAGES in statement [drop table WorkItemTypeUsages] sql [drop table WorkItemTypeUsages] 
[2016-06-07 10:43:32,653]   WARN - tem.internal.metadata.Metadata - drop metadata tables: java.sql.SQLException: Table not found: WORKITEMTYPECATEGORIES in statement [drop table WorkItemTypeCategories] sql [drop table WorkItemTypeCategories] 
[2016-06-07 10:43:32,653]   WARN - tem.internal.metadata.Metadata - drop metadata tables: java.sql.SQLException: Table not found: WORKITEMTYPECATEGORYMEMBERS in statement [drop table WorkItemTypeCategoryMembers] sql [drop table WorkItemTypeCategoryMembers] 
[2016-06-07 10:43:32,653]   WARN - tem.internal.metadata.Metadata - drop metadata tables: java.sql.SQLException: Table not found: WORKITEMTYPES in statement [drop table WorkItemTypes] sql [drop table WorkItemTypes] 
[2016-06-07 10:43:32,653]   WARN - tem.internal.metadata.Metadata - drop metadata tables: java.sql.SQLException: Table not found: ACTIONS in statement [drop table Actions] sql [drop table Actions] 
[2016-06-07 10:43:32,653]   WARN - tem.internal.metadata.Metadata - drop metadata tables: java.sql.SQLException: Table not found: FIELDUSAGES in statement [drop table FieldUsages] sql [drop table FieldUsages] 
[2016-06-07 10:43:32,654]   WARN - tem.internal.metadata.Metadata - drop metadata tables: java.sql.SQLException: Table not found: CONSTANTS in statement [drop table Constants] sql [drop table Constants] 
[2016-06-07 10:43:32,654]   WARN - tem.internal.metadata.Metadata - drop metadata tables: java.sql.SQLException: Table not found: RULES in statement [drop table Rules] sql [drop table Rules] 
[2016-06-07 10:43:32,654]   WARN - tem.internal.metadata.Metadata - drop metadata tables: java.sql.SQLException: Table not found: CONSTANTSETS in statement [drop table ConstantSets] sql [drop table ConstantSets] 
[2016-06-07 10:43:32,654]   WARN - tem.internal.metadata.Metadata - drop metadata tables: java.sql.SQLException: Table not found: HIERARCHY in statement [drop table Hierarchy] sql [drop table Hierarchy] 
[2016-06-07 10:43:32,654]   WARN - tem.internal.metadata.Metadata - drop metadata tables: java.sql.SQLException: Table not found: FIELDS in statement [drop table Fields] sql [drop table Fields] 
[2016-06-07 10:43:32,654]   WARN - tem.internal.metadata.Metadata - drop metadata tables: java.sql.SQLException: Table not found: LINKTYPES in statement [drop table LinkTypes] sql [drop table LinkTypes] 
[2016-06-07 10:43:32,654]   WARN - tem.internal.metadata.Metadata - drop metadata tables: java.sql.SQLException: Table not found: HIERARCHYPROPERTIES in statement [drop table HierarchyProperties] sql [drop table HierarchyProperties] 
[2016-06-07 10:43:32,654]   WARN - tem.internal.metadata.Metadata - drop maxcount table: java.sql.SQLException: Table not found: WITMAXCOUNT in statement [drop table WITMaxCount] sql [drop table WITMaxCount] 
[2016-06-07 10:43:32,668]  DEBUG - iThreadedHttpConnectionManager - HttpConnectionManager.getConnection:  config = HostConfiguration[host=http://0.0.0.0:8080], timeout = 0 
[2016-06-07 10:43:32,668]  DEBUG - iThreadedHttpConnectionManager - Getting free connection, hostConfig=HostConfiguration[host=http://0.0.0.0:8080] 

Related issues:

TEE 14.0.4+: PAT name should be descriptive for easy identification / management

@yacaovsnc , @AlexRukhlin , as we discussed via email (during course of Issue #85 ), if you're still going to automatically create a Personal Access Token (PAT) for TEE 14.0.4+, then please ensure the name is descriptive enough for easy identification / management. With TEE 14.0.3, the auto-created PAT name seems to have the following format: "Team Explorer Everywhere Eclipse Plugin: from: <HOSTNAME/WORKSPACE> on: YYYY-MM-DDTHH:MM:SS". However, with TEE 14.0.4 private build, the auto-created PAT name seems to have the following format: "TEE: https://.visualstudio.com/ on: ".

Because of the loss of the issued date and time in the PAT name with TEE 14.0.4 private build, and the fact that the PATs summary view in the VSTS Portal only shows DD/MM/YYYY in the Expiration column, it's very cumbersome to clean-up from multiple PATs created on the same day. The expiration day will be the same, so you cannot easily distinguish. Only the PAT with the latest expiration time should be active, but in order to see the HH:MM:SS of the expiration, you have to click each PAT. Unfortunately, the PAT detailed view does not have the 'Revoke' option on it; thus, you have to exit the detailed view and go back to the summary view in order to revoke. If you have even just a handful of PATs with the same creation / expiration day, you can easily lose track of which one you're trying to revoke when you go back to the summary view. If you accidentally revoke the active one, you have to go re-create it via TEE, making the problem even worse. Just a poor experience all around.

Ideally, the VSTS Portal should show the full date and time (with HH:MM:SS) in the Expiration column -- or at least as a tooltip when you hover over it. Additionally, the PAT detailed view should have the 'Revoke' option on it. If the VSTS Portal cannot change, TEE should ensure the auto-created PAT names should be unique enough and the active one obvious enough (e.g., restore the issued date and time or some other monotonically increasing unique ID) that any/all orphaned PATs can be easily revoked.

Tee CLC Add with tfignore not working correctly under linux

We use tee clc 14.0.3 under redhat linux 7.3 in combination with a TFS Server 2015 U2.1. Due to the size of your workspace we have to use a server workspace. We want to use the tf add command in combination with .tfignore files to filter out unwanted content. Under windows this is working like a charm, but under linux is does not.

We setup folder structure like this:
BaseFold
-- .tfignore
--/src
---- multiple levels of subfolders
---- new Content files

Some of the content files are filtered out by .tfignore. We call "tf add ./src/*" from baseFold and would think that only non ignored files are added to the workspace. But all files will get added.
After adding the line
echo "Parameters: $@"
right before the exec in the tf script we can see in the log file, that the $@ variable already contains the expanded file names and not the passed wildcard pattern. As tf add is not using tfignore on non-wildcard paths, this is kind of to be expected, but tf script is a little bad in handling.

After that I set the pattern into single quotes, so the $@ now really shows a pattern, but now the command simply does nothing. The command ends without message and no files are added.

To investigate the problem further, I had a real hard time to configure the logger to bring more info, but finally I found out that there is a nullpointerexception in FileSystemWalker.java at line 503 when calling "tf add './src/*'".

The source code of FileSystemWalker inspired me to try the command like this "tf add -recursive ./src/" and bang that worked correctly, besides the fact that folders with only ignored files (empty for TFS) are also added to source control. With our big workspaces and a lot of folders hitting that condition, this is also a bad solution.

So now I am stuck with a bunch of errors and faulty behavior:

  1. "tf add ./src/*" is not using the wildcard path in tf because wildcard is already resolved by Linux
  2. "tf add './src/*'" throws a null pointer exception
  3. "tf add -recursive ./src/" is adding empty folders to tfs

Is there any chance to get my use case running?

Best regards,
Klaus

Team Explorer Everywhere - Import Repository simply DOES NOT WORK

Trying to import an existing an existing VSTS project by using Import Repository function simply fails with "Unauthorized". Is it supposed to prompt for credentials after already connected to VSTS online? It does though.
PAT created perfectly works when using directly with git clone command from console.

Alternate credentials doesn't work either

I am assuming it should NOT prompt for credentials again when already connected.

Operating System: Mac OSX 10.12
Eclipse Version: Neon.1 v4.6.1
Edition: Eclipse for Java Developers

Thanks
Bhuvan

Publish TFS SDK in the maven central repository

Right now it's fairly difficult to consume the TFS SDK as part of an automatic build that uses maven or ivy for dependency management. Especially now that the SDK is open source, it would be fantastic if it was as easy as <dependency org="com.microsoft" name="com.microsoft.tfs.sdk" rev="14.0.3" />

Team Services plug-in attempts to write to MS registry

Environment:
Windows 7 Service Pack 1
Eclipse Neon .2
Team Explorer Everywhere 14.0.3

I installed TEE 14.0.3. Now when I launch Eclipse, I am prompted by Windows UAC with a request to write to the Windows Registry. UAC information displayed is as follows:
Program name: Registry Editor
Verified Publisher: Microsoft Windows
Program location: C:\Windows\regedit.exe /s C:\Users{WINDOWS USER ID}\AppData\Local\Temp...

I refuse the request to allow writing to the Registry. However, everytime I start Eclipse, the UAC prompt is displayed. Once I uninstall the TEE plug-in from Eclipse and restart, the UAC prompt is no longer displayed.

Please can we have a permalink to the latest version of the installers?

I am writing automation scripts to install the TF client on multiple hosts across our server estate. But navigating to the "latest" page at

https://github.com/Microsoft/team-explorer-everywhere/releases/latest

then requires a human being to navigate to the installers, which have different names depending on the release. Could you please create an alias or other permalink such that for example

https://github.com/Microsoft/team-explorer-everywhere/releases/latest/TEE-CLC-latest.zip

always points to the latest (stable?) version?

Thanks

Relate Work Item using Pending Changes window (Git project)

Currently the only way to relate Work Items with changes on Git projects is by adding the Work Item ID ('#123') on the Commit Message. Can we expect an update to TEE so the developers can see the Pending Changes window like it happens on a TFVC project?

TEE Plug-in for Eclipse (14.0.3): Missing libwebkitgtk dependency causes com.microsoft.vss.client.core.model.VssResourceNotFoundException: API resource location ada996bc-8c18-4193-b20c-cd41b13f5b4d is not registered on https://app.vssps.visualstudio.com/. Not Found

I am running Eclipse from the Spring Tool Suite 3.7.3 (Eclipse Luna SR2 (4.4.2) platform) on Ubuntu 14.04.

Since upgrading the TEE Plug-in for Eclipse to the 14.0.3 (14.0.3.201603291051) released version, I cannot seem to get past the below exception when clicking 'Finish' in the connection wizard after selecting the single TFVC project from the list in my VSTS account. It's able to connect and query the list of available projects just fine.

I have had both this VSTS account and TFVC project for several years (circa 2012) -- since Visual Studio Online was still in Beta.

I have tried multiple troubleshooting steps: uninstalling / re-installing the plug-in, clearing out the ~/.microsoft folder, etc.

I have not seen this exception when using the command-line client (CLC) from 14.0.3 (14.0.3.201603291047), but perhaps I am simply not executing the same functionality as the connection wizard from within Eclipse.

For now, I have had to downgrade back to TEE 2013 (12.0.2.201409181809) in order for things to work.

I was not able to find and try any of the older versions of TEE 2015 (14.0.0, 14.0.1, 14.0.2) to determine when exactly the issue was introduced.

Here's the stack trace from the .metadata/.log file (looking at the code, the GUID ada996bc-8c18-4193-b20c-cd41b13f5b4d seems to be hard-coded in the method createSessionToken of DelegatedAuthorizationHttpClientBase):

com.microsoft.vss.client.core.model.VssResourceNotFoundException: API resource location ada996bc-8c18-4193-b20c-cd41b13f5b4d is not registered on https://app.vssps.visualstudio.com/. Not Found
at com.microsoft.vss.client.core.VssHttpClientBase.createTarget(VssHttpClientBase.java:205)
at com.microsoft.vss.client.core.VssHttpClientBase.createRequest(VssHttpClientBase.java:510)
at com.microsoft.visualstudio.services.delegatedauthorization.DelegatedAuthorizationHttpClientBase.createSessionToken(DelegatedAuthorizationHttpClientBase.java:67)
at com.microsoft.visualstudio.services.delegatedauthorization.DelegatedAuthorizationHttpClient.createAccountCodeAccessToken(DelegatedAuthorizationHttpClient.java:27)
at com.microsoft.tfs.client.common.credentials.CredentialsHelper.createAccountCodeAccessToken(CredentialsHelper.java:62)
at com.microsoft.tfs.client.common.ui.wizard.connectwizard.ConnectWizard.finishConnection(ConnectWizard.java:256)
at com.microsoft.tfs.client.eclipse.ui.wizard.teamprojectwizard.EclipseTeamProjectWizard.doPerformFinish(EclipseTeamProjectWizard.java:172)
at com.microsoft.tfs.client.common.ui.framework.wizard.ExtendedWizard.performFinish(ExtendedWizard.java:506)
at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:853)
at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:438)
at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:619)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4454)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1388)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3799)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3409)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:832)
at org.eclipse.jface.window.Window.open(Window.java:808)
at com.microsoft.tfs.client.common.ui.teamexplorer.helpers.ConnectHelpers.connectToServer(ConnectHelpers.java:33)
at com.microsoft.tfs.client.common.ui.controls.teamexplorer.TeamExplorerControl$ConnectToServerAction.run(TeamExplorerControl.java:677)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:519)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:595)
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:511)
at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:420)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4454)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1388)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3799)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3409)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
at org.eclipse.equinox.launcher.Main.main(Main.java:1438)
Caused by: com.microsoft.tfs.core.httpclient.HttpException: Not Found
at com.microsoft.vss.client.core.VssHttpClientBase.loadLocations(VssHttpClientBase.java:187)
at com.microsoft.vss.client.core.VssHttpClientBase.getLocation(VssHttpClientBase.java:134)
at com.microsoft.vss.client.core.VssHttpClientBase.createTarget(VssHttpClientBase.java:203)

OAuth failing

I can't add or connect to my project from Eclipse when using "Add Team Foundation Server". After I typed my credentials in Oauth 2.0 it transfers me to my school account, then I type it again, after that it simply returns me back to previous window without any warning messages or adding any records to server list.
Not sure if it's a bug or what.

2016-12-31 02:41:39,639 INFO [main] (com.microsoft.alm.auth.pat.VstsPatAuthenticator) Retrieving PersonalAccessToken for uri:https://myname.visualstudio.com with name:TEE: https://myname.visualstudio.com on: , and with scope:, prompt behavior: AUTO
2016-12-31 02:41:39,640 INFO [main] (com.microsoft.alm.auth.oauth.OAuth2Authenticator) Using oauth2-useragent providers to retrieve AAD token.
2016-12-31 02:41:42,994 ERROR [main] (com.microsoft.alm.auth.oauth.OAuth2Authenticator) Failed to launch oauth2-useragent.
2016-12-31 02:41:42,995 WARN [main] (com.microsoft.alm.auth.oauth.OAuth2Authenticator) Failed to launch oauth2-useragent.
com.microsoft.alm.oauth2.useragent.AuthorizationException: Code: cancelled Description: The browser window was closed by the user.

[feature request] reference TFS work item as `#123` from commit comment

It would be much simpler to reference TFS work item as #123 from commit comment

instead of longer

  1. click to other tab
  2. select "BY ID"
  3. enter ID

Developers may feel reluctant to do extra click,
while on the other hand if it all in the same format #123 comment it is easy to check just from History view

That would make TFVC and Git to use the same style. http://stackoverflow.com/questions/40764756/how-to-reference-tfs-work-item-when-committing-from-eclipse-egit-or-from-git-com

Team Services SDK has connection problems with TFS 2017

We use the Team Services SDK for Java (which is part of team-explorer-everywhere) in our application. With prior versions of TFS (up to TFS 2015 Update 3) it works fine. Now we tested the new released TFS 2017 with the latest available TFS SDK (version 14.111.1) and we get the following connection error:
java.net.SocketException: Connection reset at java.net.SocketInputStream.read(SocketInputStream.java:209) at java.net.SocketInputStream.read(SocketInputStream.java:141) at sun.security.ssl.InputRecord.readFully(InputRecord.java:465) at sun.security.ssl.InputRecord.read(InputRecord.java:503) at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973) at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375) at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:747) at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:123) at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) at com.microsoft.tfs.core.httpclient.methods.EntityEnclosingMethod.writeRequestBody(EntityEnclosingMethod.java:541) at com.microsoft.tfs.core.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2260) at com.microsoft.tfs.core.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1202) at com.microsoft.tfs.core.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:432) at com.microsoft.tfs.core.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:182) at com.microsoft.tfs.core.httpclient.HttpClient.executeMethod(HttpClient.java:428) at com.microsoft.tfs.core.httpclient.HttpClient.executeMethod(HttpClient.java:343) at com.microsoft.tfs.core.ws.runtime.client.SOAPService.executeSOAPRequestInternal(SOAPService.java:545) at com.microsoft.tfs.core.ws.runtime.client.SOAPService.executeSOAPRequest(SOAPService.java:444) at ms.tfs.services.registration._03._RegistrationSoap12Service.getRegistrationEntries(_RegistrationSoap12Service.java:106) at com.microsoft.tfs.core.clients.registration.RegistrationData.newFromServer(RegistrationData.java:58) at com.microsoft.tfs.core.clients.registration.RegistrationClient.getRegistrationData(RegistrationClient.java:617) at com.microsoft.tfs.core.clients.registration.RegistrationClient.getRegistrationEntries(RegistrationClient.java:144) at com.microsoft.tfs.core.clients.registration.RegistrationClient.getRegistrationEntries(RegistrationClient.java:129) at com.microsoft.tfs.core.PreFrameworkServerDataProvider.findServiceLocation(PreFrameworkServerDataProvider.java:275) at com.microsoft.tfs.core.PreFrameworkServerDataProvider.locationForCurrentConnection(PreFrameworkServerDataProvider.java:251) at com.microsoft.tfs.core.TFSTeamProjectCollection.getServerDataProvider(TFSTeamProjectCollection.java:172) at com.microsoft.tfs.core.TFSConnection.getWebService(TFSConnection.java:896) at com.microsoft.tfs.core.config.client.DefaultClientFactory$7.newClient(DefaultClientFactory.java:208) at com.microsoft.tfs.core.config.client.DefaultClientFactory.newClient(DefaultClientFactory.java:86) at com.microsoft.tfs.core.TFSConnection.getClient(TFSConnection.java:1459) at com.microsoft.tfs.core.TFSTeamProjectCollection.getVersionControlClient(TFSTeamProjectCollection.java:376) at ConnectionAdvisorSample.main(ConnectionAdvisorSample.java:92)

We try it with our whole application, also with a simplified test program and even with one of the samples which are included (we use com.microsoft.tfs.sdk.samples.console.ConnectionAdvisorSample for our test and the prior stacktrace is from this sample). Always the same result: works with TFS 2015 update 3 but not with TFS2017.

Now the question: Should the version 14.111.1 generelly support TFS 2017 and the mentioned connection problem is possible a bug? If the mentioned version does not support TFS 2017, is there a other version available which does it or when will be such a version available?

Thanks,
Michael

An error occured:jave.lang.IllegalArgumentException:renameing:target file already exists

System: AIX
TFS CLC version: TEE-CLC-12.0.2
JDK: 1.5.0 (For some reason, We cannot upgrade the JDK version)
Problem:
TFS CLC throws the following error while running command "tf get":
An error occured:jave.lang.IllegalArgumentException:renameing:target file already exists

how to fix it? or Are there any other recommended version support 1.5.0 JDK that do not have this problem?

Plugin for netbeans

As from the name "Team explorer everywhere" it should work everywhere, like in IntelliJ and for me in Netbeans. Netbeans is one of the 3 big Java IDE's and with a lot of more features and has a big usage in the background. So it would be nice to see such plugin for netbeans too.

Regards

Chris

Eclipse - TFVC Plugin

We work with a version of Eclipse: Luna Service Release 2 (4.4.2) and the TFVC plugin. When you edit a file from the editor, that file is not displayed within pending changes in the TFVC view Pending changes. Open and close Eclipse and there you see the changes in the view. Is there another solution? We use TEE version 14.111.1.201612142019, Visual Studio Team Services and work with local workspace.

Vero

TEE 14.0.4+: Fully embrace OAuth2 for authentication instead of Personal Access Token (PAT)

@yacaovsnc , @AlexRukhlin , as we discussed via email (during course of Issue #85 ), there are numerous benefits to fully embracing OAuth2 for authentication in TEE 14.0.4+ instead of automatically creating and relying on a Personal Access Token (PAT):

  • Already doing one OAuth2 authentication against Azure Active Directory (AAD)
  • OAuth2 tokens, unlike PATs, can remain in memory only and do not have to be persisted to Eclipse Secure Storage and/or to Credentials.xml; this is ideal for security conscious users like myself who never saved VSTS alternate credentials with TEE 14.0.2 and earlier and prefer to never cache symmetric secrets
  • OAuth2 tokens can expire much sooner than the 90 days, 180 days, 1 year (default) of PATs
  • OAuth2 tokens support renewal that's very straight forward without leaving long-lived orphans around
  • OAuth2 is standards-based and has been embraced by other major Microsoft and non-Microsoft services alike
  • OAuth2 is popular enough that it's familiar to users and not too confusing to understand
  • OAuth2 does not impose a credential type, leaving an option to provide asymmetric / SSH-style auth down the road
  • OAuth2 has a well-understood threat model
  • Fewer authentication methods means a smaller attack surface, not to mention less code to maintain and a smaller service to operate; the smaller the code base/service, the easier to onboard new team members

Obviously, given you’re operating a service, you do have to consider backwards compatibility, but if you guys have some freedom to simplify / streamline authentication, I suggest doing so aggressively in the least esoteric, most future-embracing way possible.

File path longer 254 symbol

system:
SMP Debian 3.2.84-1 x86_64 GNU/Linux
TEE-CLC-14.114.0

tf get with long path give error:

Local path /var/opengrok/repository/TeamWork/../dbo.CONFLICT_RESOLUTION_RULES.sql is too long. The item will not be retrieved

Can be reset MAX_PATH from 254 ?

java.lang.NullPointerException with the Team Explorer plug-in.

I have already a account on Team Services with java code and i try to
install the Team Explorer Everywhere plug-in. on a new installed neon Eclipse version.
In the the Team Explorer plug-in. when i select my project and click 'finish' i get a null pointer exception.

I reaaly need you help !
Thanks
Gilles

Here the stack trace :

eclipse.buildId=4.6.2.M20161124-1400
java.version=1.8.0_121
java.vendor=Oracle Corporation
BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=fr_FR
Framework arguments: -product org.eclipse.epp.package.jee.product -keyring /Users/gillesB/.eclipse_keyring
Command-line arguments: -os macosx -ws cocoa -arch x86_64 -product org.eclipse.epp.package.jee.product -keyring /Users/gillesB/.eclipse_keyring

Message : Unhandled event loop exception

java.lang.NullPointerException
at com.microsoft.tfs.client.common.credentials.CredentialsHelper.refreshCredentialsForGit(CredentialsHelper.java:82)
at com.microsoft.tfs.client.common.ui.wizard.connectwizard.ConnectWizard.finishConnection(ConnectWizard.java:250)
at com.microsoft.tfs.client.eclipse.ui.wizard.teamprojectwizard.EclipseTeamProjectWizard.doPerformFinish(EclipseTeamProjectWizard.java:172)
at com.microsoft.tfs.client.common.ui.framework.wizard.ExtendedWizard.performFinish(ExtendedWizard.java:506)
at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:790)
at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:423)
at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:618)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:249)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4256)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1501)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1524)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1509)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1313)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4080)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3706)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:818)
at org.eclipse.jface.window.Window.open(Window.java:794)
at com.microsoft.tfs.client.common.ui.teamexplorer.helpers.ConnectHelpers.connectToServer(ConnectHelpers.java:33)
at com.microsoft.tfs.client.common.ui.teamexplorer.pages.TeamExplorerHomePage$4.linkActivated(TeamExplorerHomePage.java:157)
at org.eclipse.ui.forms.widgets.AbstractHyperlink.handleActivate(AbstractHyperlink.java:228)
at org.eclipse.ui.forms.widgets.AbstractHyperlink.handleMouseUp(AbstractHyperlink.java:322)
at org.eclipse.ui.forms.widgets.AbstractHyperlink.access$2(AbstractHyperlink.java:306)
at org.eclipse.ui.forms.widgets.AbstractHyperlink$4.handleEvent(AbstractHyperlink.java:129)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4256)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1501)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1524)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1509)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1313)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4080)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3706)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1121)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1022)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:150)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:693)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:610)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:138)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:673)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:610)
at org.eclipse.equinox.launcher.Main.run(Main.java:1519)

Message : Secure storage was unable to retrieve the master password from the OS keyring. Make sure that this application has access to the OS keyring. If the error persists, the password recovery feature could be used, or secure storage can be deleted and re-created.

java.lang.SecurityException: Could not obtain password. Result: -25300
at org.eclipse.equinox.internal.security.osx.OSXProvider.getPassword(Native Method)
at org.eclipse.equinox.internal.security.osx.OSXProvider.getPassword(OSXProvider.java:45)
at org.eclipse.equinox.internal.security.storage.PasswordProviderModuleExt.getPassword(PasswordProviderModuleExt.java:35)
at org.eclipse.equinox.internal.security.storage.SecurePreferencesRoot.getModulePassword(SecurePreferencesRoot.java:259)
at org.eclipse.equinox.internal.security.storage.SecurePreferencesRoot.getPassword(SecurePreferencesRoot.java:224)
at org.eclipse.equinox.internal.security.storage.SecurePreferences.put(SecurePreferences.java:224)
at org.eclipse.equinox.internal.security.storage.SecurePreferencesWrapper.put(SecurePreferencesWrapper.java:110)
at com.microsoft.tfs.client.common.credentials.internal.EclipseCredentialsManager.setCredentials(EclipseCredentialsManager.java:205)
at com.microsoft.tfs.client.common.credentials.CredentialsHelper.refreshCredentialsForGit(CredentialsHelper.java:79)
at com.microsoft.tfs.client.common.ui.wizard.connectwizard.ConnectWizard.finishConnection(ConnectWizard.java:250)
at com.microsoft.tfs.client.eclipse.ui.wizard.teamprojectwizard.EclipseTeamProjectWizard.doPerformFinish(EclipseTeamProjectWizard.java:172)
at com.microsoft.tfs.client.common.ui.framework.wizard.ExtendedWizard.performFinish(ExtendedWizard.java:506)
at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:790)
at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:423)
at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:618)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:249)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4256)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1501)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1524)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1509)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1313)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4080)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3706)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:818)
at org.eclipse.jface.window.Window.open(Window.java:794)
at com.microsoft.tfs.client.common.ui.teamexplorer.helpers.ConnectHelpers.connectToServer(ConnectHelpers.java:33)
at com.microsoft.tfs.client.common.ui.teamexplorer.pages.TeamExplorerHomePage$4.linkActivated(TeamExplorerHomePage.java:157)
at org.eclipse.ui.forms.widgets.AbstractHyperlink.handleActivate(AbstractHyperlink.java:228)
at org.eclipse.ui.forms.widgets.AbstractHyperlink.handleMouseUp(AbstractHyperlink.java:322)
at org.eclipse.ui.forms.widgets.AbstractHyperlink.access$2(AbstractHyperlink.java:306)
at org.eclipse.ui.forms.widgets.AbstractHyperlink$4.handleEvent(AbstractHyperlink.java:129)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4256)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1501)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1524)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1509)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1313)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4080)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3706)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1121)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1022)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:150)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:693)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:610)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:138)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:673)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:610)
at org.eclipse.equinox.launcher.Main.run(Main.java:1519)

===========
Connect to Team Services

eclipse.buildId=4.6.2.M20161124-1400
java.version=1.8.0_121
java.vendor=Oracle Corporation
BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=fr_FR
Framework arguments: -product org.eclipse.epp.package.jee.product -product org.eclipse.epp.package.jee.product
Command-line arguments: -os macosx -ws cocoa -arch x86_64 -product org.eclipse.epp.package.jee.product -data file:/Users/gillesB/Documents/WorkspaceNeon/ -product org.eclipse.epp.package.jee.product

org.eclipse.ui
Error
Wed Feb 22 20:59:05 CET 2017
Unhandled event loop exception

java.lang.NullPointerException
at com.microsoft.tfs.client.common.credentials.CredentialsHelper.refreshCredentialsForGit(CredentialsHelper.java:82)
at com.microsoft.tfs.client.common.ui.wizard.connectwizard.ConnectWizard.finishConnection(ConnectWizard.java:250)
at com.microsoft.tfs.client.eclipse.ui.wizard.teamprojectwizard.EclipseTeamProjectWizard.doPerformFinish(EclipseTeamProjectWizard.java:172)
at com.microsoft.tfs.client.common.ui.framework.wizard.ExtendedWizard.performFinish(ExtendedWizard.java:506)
at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:790)
at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:423)
at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:618)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:249)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4256)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1501)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1524)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1509)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1313)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4080)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3706)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:818)
at org.eclipse.jface.window.Window.open(Window.java:794)
at com.microsoft.tfs.client.common.ui.teamexplorer.helpers.ConnectHelpers.connectToServer(ConnectHelpers.java:33)
at com.microsoft.tfs.client.common.ui.views.TeamExplorerView$ConnectToServerAction.run(TeamExplorerView.java:277)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:473)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:565)
at org.eclipse.jface.action.ActionContributionItem.lambda$5(ActionContributionItem.java:436)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4256)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1501)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1524)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1509)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1313)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4080)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3706)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1121)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1022)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:150)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:693)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:610)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:138)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:673)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:610)
at org.eclipse.equinox.launcher.Main.run(Main.java:1519)

Importing Team Project Set fails

When trying to import a Team Project Set (psf file) from within Eclipse, that is created with the Team Project Set export functionality, we get the following error:

eclipse.buildId=M20130204-1200
java.version=1.8.0_77
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Command-line arguments:  -os win32 -ws win32 -arch x86_64

Error
Tue Apr 12 17:29:59 CEST 2016
An error occurred importing this project set.

org.eclipse.team.core.TeamException: The following errors occurred while importing projects. Some projects may not be loaded.
    at org.eclipse.team.internal.ui.ProjectSetImporter.importProjectSet(ProjectSetImporter.java:123)
    at org.eclipse.team.internal.ui.ProjectSetImporter.importProjectSet(ProjectSetImporter.java:67)
    at org.eclipse.team.internal.ui.actions.ImportProjectSetAction$1.execute(ImportProjectSetAction.java:48)
    at org.eclipse.ui.actions.WorkspaceModifyOperation$1.run(WorkspaceModifyOperation.java:106)
    at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)
    at org.eclipse.ui.actions.WorkspaceModifyOperation.run(WorkspaceModifyOperation.java:118)
    at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
Contains: Failed to load projects

Contents of psf file (obfuscated server name and project names etc.):

<?xml version="1.0" encoding="UTF-8"?>
<psf version="2.0">
<provider id="com.microsoft.tfs.client.eclipse.TFSRepositoryProvider">
<project reference="http://server:8080/tfs/DefaultCollection/;$/Project/level1/project"/>
</provider>
</psf>

It fails with any project I am trying to import this way. I am 100% sure that the specific project exists, as I have imported it using the File -> Import -> Projects from Team Foundation Server and afterwards, I used File -> Export -> Team Project Set to export the project and finally tried to import it using File -> Import -> Team Project Set and that fails. Right-clicking on the psf file and choosing Import Project Set gives the same results.

Version info:

Version of Eclipse: 4.2.2
Version of plugin:  14.0.3.201603291051

I hope someone can fix this, thanks alot in advance, the plugin works very well apart from this issue!

Can't import in Eclipse from TFS for Git

When I navigate to:

Import wizard > Projects from Git on Team Services or Team Foundation Server > Connect to a Team Foundation Server or Team Services Account > Select one of two Team Foundation Servers on my list > Next.

In VS2015, I have two Team Project Collections displaying in my list. But, I only have access to one of them. Eclipse prompts me "Authorization failure connecting to ... [the project collection that I do not have access to]." I want to access the other one though. So I hit cancel because my credentials won't work.

I get the attached error, but can't send the bug report unfortunately. The buttons don't work in the window.

Then, in the next window, there are no repositories I can choose. The next and finish buttons are disabled.

capture
capture2

TEE SDK does not support modern Visual Studio workspaces

I suspect this is more of a question than a bug, but I hope you can help me here.

Part of my application uses the TFS SDK that tries to determine the workspace from a current working directory. As far as I can tell, there's not a lot of difference between this and what the built-in CLC does.

final Workstation workstation = Workstation.getCurrent(DefaultPersistenceStoreProvider.INSTANCE);

if (workstation.isMapped(workdir)) {
    return workstation.getLocalWorkspaceInfo(workdir);
} else {
    throw new Exception("The working directory " + workdir + " is not mapped in any workspaces.");
}

One user is having trouble where isMapped is returning false, despite their CWD being a mapped directory. After some digging, I asked them about the contents of the cache directory, and they only have a "C:\Users<username>\AppData\Local\Microsoft\Team Foundation\6.0\Cache" directory, whereas the java SDK seems to be looking for 4.0\Cache (and the files therein don't quite match). Is there some way to use the java SDK and get the workspace info on a system that seems to have a newer version (probably coming from the visual studio tools?)?

It is impossible to remove missing added file from within Synchronize View.

I have updated maven version from command line with mvn version:set. That added pom.xml.versionsBackup in every module. Than I deleted them from command line mvn versions:commit
When I synch before check-in I see non existing file pom.xml.versionsBackup that now I cant delete.

While this example problem can be avoided with other mvn parameters, the problem appears in other scenarios, and it is impossible to remove missing added file from within Synchronize View.

impossible-to-remove

com.microsoft.tfs.core.ws.runtime bundle missing lib directory in distribution

https://github.com/Microsoft/team-explorer-everywhere/blob/master/source/com.microsoft.tfs.core.ws.runtime/META-INF/MANIFEST.MF

lists a lib/woodstox-asl-4.0.3 directory as being on the bundles classpath:

Bundle-ClassPath: com.microsoft.tfs.core.ws.runtime.jar,lib/woodstox-a
sl-4.0.3/stax-api-1.0.1.jar,lib/woodstox-asl-4.0.3/stax2-api-3.0.1.ja
r,lib/woodstox-asl-4.0.3/woodstox-core-asl-4.0.3.jar

It's included in the https://github.com/Microsoft/team-explorer-everywhere/blob/master/source/com.microsoft.tfs.core.ws.runtime/build.properties

But it isn't included in the bundle in any of the update sites currently available on the https://github.com/Microsoft/team-explorer-everywhere/releases

or from http://dl.microsoft.com/eclipse/

I tracked down an older release and it is there https://www.microsoft.com/en-us/download/details.aspx?id=25125

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.