microsoft / azure-devops-intellij

IntelliJ IDEA plug-in for Visual Studio Team Services and Team Foundation Server (TFS)
MIT License
151 stars 95 forks source link

Initial setup syncs everything in project. #454

Open fourofspades opened 3 years ago

fourofspades commented 3 years ago

Sadly someone decided it would be a great idea to have one project for literally everything. So the main project, lets call it TPA is the only project we have. Under that is hundreds of other "projects" in folders.

In Rider, I only seem to be able to sync the top level project, which checks out lots of stuff I have no interest in (it's been syncing for hours, and taking up over 50GB is far).

In Visual Studio, I can browse the project tree and just check out the thing I am interested in. (a 50kb file). What it's currently doing (and how it's been setup up for us), is total insanity.,

ForNeVeR commented 3 years ago

I think you should be able to check a "Configure project" (or was it "Configure mappings"?) checkbox when cloning the project, and set up the mappings then. It doesn't have a fancy UI, but should work at least. Have you tried it?

fourofspades commented 3 years ago

The only options I see are "Edit the workspace before getting sources" and "Create a server workspace during checkout".

There is no indication what either of these options actually do, and it's been written by someone that's overly familiar with TFS.

ForNeVeR commented 3 years ago

"Edit the workspace before getting sources" should be the one you're looking for.

fourofspades commented 3 years ago

Neither of these options appear to allow me to have anything but a full copy of the entire repository, which takes over 7 hours to check out :-(

The Edit Workspaces gives me an intermediate dialog box, but when I Save Workspace it, it then goes into the forever "syncing files".

image

fourofspades commented 3 years ago

Trying to put anything in here other than the root, gives me the error:

TF command returned non-zero exit code. Exit code = 100

ForNeVeR commented 3 years ago

Could you please check logs to determine the root cause?

fourofspades commented 3 years ago

Where would I find the logs? I looked in Windows Event Viewer application logs and didn't see anything. I had a rummage around on the disk for random logs, but it's unclear if this is a Rider plugin log, or a TFS CLC log I am trying to find.

I also looked for documentation here and the TFS Everywhere repo for information on where log files are stored, but came up empty.

ForNeVeR commented 3 years ago

Help → Diagnostic Tools → Show Log in Explorer

fourofspades commented 3 years ago

2021-08-23 17:59:17,097 | INFO | ToolRunnerCache | getRunningToolRunner: toolLocation=C:\Program Files (x86)\TFS CLC\tf.cmd 2021-08-23 17:59:17,097 | INFO | ToolRunnerCache | getRunningToolRunner: fast version - 14.135.0.202010141426 2021-08-23 17:59:17,097 | INFO | ToolRunnerCache | getRunningToolRunner: key=c:\program files (x86)\tfs clc\tf.cmd| 2021-08-23 17:59:17,097 | INFO | ToolRunner | sendArgsViaStandardInput: proceedWithArgs: get -noprompt -collection:http://tfs.myserver.net:8080/tfs/DefaultCollection **** C:\Users\myuser\TPA2 -recursive 2021-08-23 17:59:17,098 | INFO | ToolRunnerCache | updateCachedInstance: caching a new runner: key=c:\program files (x86)\tfs clc\tf.cmd| 2021-08-23 17:59:17,098 | INFO | ToolRunner | ToolRunner.start: toolLocation = C:\Program Files (x86)\TFS CLC\tf.cmd 2021-08-23 17:59:17,098 | INFO | ToolRunner | ToolRunner.start: workingDirectory = null 2021-08-23 17:59:17,098 | INFO | ToolRunner | arguments: @ 2021-08-23 17:59:58,952 | INFO | Command | ERROR: An error occurred: TF246017: Azure DevOps Server could not connect to the database. Verify that the instance is specified correctly, that the server that is hosting the database is operational, and that network problems are not blocking communication with the server. 2021-08-23 17:59:59,017 | WARN | Command | CMD: parsing output failed com.microsoft.alm.plugin.external.exceptions.ToolBadExitCodeException: KEY_TF_BAD_EXIT_CODE at com.microsoft.alm.plugin.external.tools.TfTool.throwBadExitCode(TfTool.java:119) at com.microsoft.alm.plugin.external.commands.Command$1.completed(Command.java:180) at com.microsoft.alm.plugin.external.ToolRunner$ListenerProxy.completed(ToolRunner.java:306) at com.microsoft.alm.plugin.external.ToolRunner$ProcessWaiter.run(ToolRunner.java:344) 2021-08-23 17:59:59,018 | WARN | Command | Error: com.microsoft.alm.plugin.external.exceptions.ToolBadExitCodeException: KEY_TF_BAD_EXIT_CODE Sync stack trace: java.base/java.lang.Thread.getStackTrace(Thread.java:1602) at com.microsoft.alm.plugin.external.commands.Command.runSynchronously(Command.java:243) at com.microsoft.alm.plugin.external.utils.CommandUtils.syncWorkspace(CommandUtils.java:383) at com.microsoft.alm.plugin.external.utils.CommandUtils.syncWorkspace(CommandUtils.java:377) at com.microsoft.alm.plugin.idea.tfvc.ui.workspace.WorkspaceModel.saveWorkspaceInternal(WorkspaceModel.java:331) at com.microsoft.alm.plugin.idea.tfvc.ui.workspace.WorkspaceModel$3.run(WorkspaceModel.java:308) at com.intellij.openapi.progress.impl.CoreProgressManager.startTask(CoreProgressManager.java:450) at com.intellij.openapi.progress.impl.ProgressManagerImpl.startTask(ProgressManagerImpl.java:117) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcessWithProgressAsync$5(CoreProgressManager.java:510) at com.intellij.codeWithMe.ClientId$Companion$decorateFunction$2.apply(ClientId.kt:209) at com.intellij.codeWithMe.ClientId$Companion$decorateFunction$2.apply(ClientId.kt:209) at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$3(ProgressRunner.java:243) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:183) at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:705) at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:647) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:63) at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:170) at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$4(ProgressRunner.java:243) at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665) at java.base/java.lang.Thread.run(Thread.java:829)

ForNeVeR commented 3 years ago

Well, it looks like a problem with the server you use.

fourofspades commented 3 years ago

It's Azure DevOps Server 2020 Patch 1. It's possible I don't have permission to access everything in the project, which I guess goes back to the original issue, it's trying to synchronize everything in the project, gigabytes of stuff I don't want, and potentially I don't have permission to access..

I did the extremely tedious task of mapping the root and excluding all the subfolders, but that also failed.

fourofspades commented 3 years ago

Had more success with this version: https://github.com/n-kovacevic/tfsIntegration/releases