History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: IDEADEV-7445
Type: Bug Bug
Status: Resolved Resolved
Resolution: Problem
Priority: Critical Critical
Assignee: Dmitry Jemerov
Reporter: Maxim Shafirov
Votes: 23
Watchers: 7
Operations

If you were logged in you would be able to see more operations.
IDEA: Development

Perforce Integration ignoring P4CONFIG

Created: 07 Feb 05 20:21   Updated: 11 Oct 06 22:17
Component/s: Version Control Integration. Perforce
Fix Version/s: Demetra 6.0.2

Original Estimate: Unknown Remaining Estimate: Unknown Time Spent: Unknown
File Attachments: 1. Java Source File P4Info.java (5 kb)
2. Java Source File P4Info2.java (5 kb)



 Description  « Hide
http://www.intellij.net/tracker/idea/viewSCR?publicId=40854
I'm trying to use Perforce for VCS and I have "Use P4CONFIG or default connection" checked. I have P4CONFIG defined in my environment and the command line p4 client works fine.

IDEA continues to throw errors that it can't connect and to check my connection information.



 All   Comments   Work Log   Change History      Sort Order:
Kevin Bourrillion - 04 Aug 05 07:12
I'm curious why this hasn't been fixed. Why have the option in there if it doesn't work? Just wondering. Thanks.

Keith Lea - 08 Feb 06 23:53
I've looked at this and it's a problem with the working directory that p4 is executed in. IDEA executes p4 from its run folder, like /usr/local/idea-5.0/bin, so it misses .p4config files in the client tree itself. (I believe it only picks up .p4config files in ~ and whatever systemwide p4 config folder is set up.)

Keith Lea - 22 Jul 06 04:39
This is still a problem in Demetra #5383.

Dmitry Jemerov - 11 Sep 06 18:55
I wasn't able to reproduce any problems with this option. If you still have problems with the latest EAP build (http://www.intellij.net/eap/), could you please describe your configuration in more detail? What exactly is the value of the P4CONFIG variable? Where, relatively to the .iml files, are the P4CONFIG files stored? What variables do they contain? Do you have the "Use native connection" option enabled in the Perforce settings?

Keith Lea - 12 Sep 06 00:06
Dmitry, yes it still exists. P4CONFIG is ".p4config". The .p4config file is in the same folder as the .iml file, or one folder above it, depending on other circumstances. The .p4config file contains only P4CLIENT and P4PASSWD. We do not use native connection, we are on Linux.

Dmitry Jemerov - 12 Sep 06 21:27
Keith: And what problems happen, exactly?

Keith Lea - 13 Sep 06 01:29
Dmitry, p4 doesn't work at all. Everything is shown in brown, p4 edit doesn't work, etc. Nothing works.

Vladislav Kaznacheev - 18 Sep 06 20:40
Keith:

I have tried using P4CONFIG on Windows and on Linux - it works for me. Specifically:
1. Created .p4config file in project root directory
2. Set P4PORT, P4USER, P4CLIENT in this file
3. Set P4CONFIG environment variable to .p4config
4. Checked "Use P4CONFIG..." checkbox in settings
5. Reopened project
6. Performed Update, Show History, other actions: everything worked.

Do you do anything differently? BTW, where do you set P4PORT and P4CLIENT variables?


Keith Lea - 19 Sep 06 00:36
Vladislav, I don't know if I've ever tried reopening the project. Is that necessary?

We don't set P4PORT or P4USER in the .p4config file.

Also, we don't store the .p4config file in a project root, it's usually in the same folder as the .iml file, or in its parent, which we do not add as content root.


Vladislav Kaznacheev - 19 Sep 06 21:41
Keith,

I have tried placing .p4config file in different places, and Perforce integration works for me every time.

Though I have noticed that if I add .p4config AFTER the project opening, files names remain brown even though all other Perforce actions work (Diff, Update project, edit/submit etc). This is currently cured only by project reload.

May I ask you to check if anything changes after the project reload? After reopening IDEA?


Maxim Drobintsev - 22 Sep 06 21:45
Below is the p4.output I get when I use P4CONFIG option in IDEA. I have put "***" instead of strings I do not want to be public. The fact that p4 calls my client "miami" which is in fact my host name means that the current directory is wrong. I have .p4config in my root directory, this is why I do not get "incorrect password" errors. If I set the same options in IDEA as I have in my .p4config then Perforce integration works. p4 commands work from the project directory and any of its subdirectories.

Here is my configuration:
$ echo $P4CONFIG
.p4config
(my IDEA project files are in the current dir)
$ ls -l ../.p4config
rw------ 1 *** *** 77 Sep 22 09:26 ../.p4config
$ more ../.p4config
P4PASSWD=***
P4CLIENT=***
P4USER=***
P4PORT=***

And this is my p4.output:

infoErrCode=0
StdOut:------------
User name: ***
Client name: miami
Client host: miami.corp.***
Client unknown.
Current directory: ***
Client address: ***
Server address: ***
Server root: /p4/root
Server date: 2006/09/22 09:30:59 -0700 PDT
Server version: P4D/LINUX24X86/2005.2.PATCH/100601 (2006/05/26)
Server license: ***

StdErr:------------

End----------------
have ***/java/...ErrCode=1
StdOut:------------

StdErr:------------
Client 'miami' unknown - use 'client' command to create it.
-----------

End----------------
changes -i -l -s pending -u *** -c miamiErrCode=0
StdOut:------------

StdErr:------------

End----------------
change -oErrCode=1
StdOut:------------

StdErr:------------
Client 'miami' unknown - use 'client' command to create it.

When trying to reproduce this problem make sure you create a new client and you have only one .p4config file you are experimenting with. Perforce looks for this file in many places (including the user home dir) so make sure you have only one such file. Changing the name of the file to something funky (e.g. zebra) will also help eliminate the chance of pre-existing files makihng it work for you. By analyzing your p4.output you can verify what client name is used by IDEA. I hope this approach will help you reproduce this bug. Please also note that this problem happens on Linux.

Please let me know if you still can not reproduce this problem and I will create a standalone test case for you.

Thanks,
Maxim.


Dmitry Jemerov - 22 Sep 06 21:49
The build 5734 contains detailed logging of p4config operations. To enable the logging, add the following lines to bin\log.xml before the <root> item:
<category name="#org.jetbrains.idea.perforce.perforce.connections.PerforceConnectionManager">
    <priority value="DEBUG"/>
    <appender-ref ref="CONSOLE-ALL"/>
    <appender-ref ref="FILE"/>
  </category>

The log will let you see where IDEA is searching for the .p4config file.


Maxim Drobintsev - 22 Sep 06 23:49
Done. Please see the output below. I was initially using the configuration without P4CONFIG, then switched to P4CONFIG. Here is the output - hope it helps. From what I can tell IDEA has decided to use the file .p4config that is at the parent directory of my p4 client directory and that .p4config does not have the client name (because I have multiple p4 client directories under that parent directory). This is not correct bahavior - the correct behavior is to search for the .p4config file starting from the current directory and use the first file that is found.

Thanks,
Maxim.

[ 37806] DEBUG - ions.PerforceConnectionManager - getAllConnections(): not using p4config, returning singleton connections
[ 83585] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(mgenfiles) returning singleton
[ 83585] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(javatests) returning singleton
[ 83585] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(java) returning singleton
[ 111452] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(/usr/local/google/home/maximd/src-adschema/google3/java/com/google/ads/pebl/BUILD) returning singleton
[ 113038] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(/usr/local/google/home/maximd/src-adschema/google3/java/com/google/ads/pebl/BudgetSuggestion.java) returning singleton
[ 117129] DEBUG - ions.PerforceConnectionManager - getAllConnections(): not using p4config, returning singleton connections
[ 117267] DEBUG - ions.PerforceConnectionManager - getAllConnections(): not using p4config, returning singleton connections
[ 154520] DEBUG - ions.PerforceConnectionManager - getAllConnections(): not using p4config, returning singleton connections
[ 154586] DEBUG - ions.PerforceConnectionManager - getAllConnections(): not using p4config, returning singleton connections
[ 169513] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() initializing map
[ 169514] DEBUG - ions.PerforceConnectionManager - initRootConnections(): p4config filename=.p4config
[ 169521] DEBUG - ions.PerforceConnectionManager - createRootConnection() found p4config for module content entry src-adschema at src-adschema, name .p4config
[ 169522] DEBUG - ions.PerforceConnectionManager - createRootConnection() found p4config for module content entry src-adschema at src-adschema, name .p4config
[ 169523] DEBUG - ions.PerforceConnectionManager - createRootConnection() found p4config for module content entry src-adschema at src-adschema, name .p4config
[ 204948] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() initializing map
[ 204948] DEBUG - ions.PerforceConnectionManager - initRootConnections(): p4config filename=.p4config
[ 204948] DEBUG - ions.PerforceConnectionManager - createRootConnection() found p4config for module content entry src-adschema at src-adschema, name .p4config
[ 204948] DEBUG - ions.PerforceConnectionManager - createRootConnection() found p4config for module content entry src-adschema at src-adschema, name .p4config
[ 204949] DEBUG - ions.PerforceConnectionManager - createRootConnection() found p4config for module content entry src-adschema at src-adschema, name .p4config
[ 227359] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() initializing map
[ 227359] DEBUG - ions.PerforceConnectionManager - initRootConnections(): p4config filename=.p4config
[ 227359] DEBUG - ions.PerforceConnectionManager - createRootConnection() found p4config for module content entry src-adschema at src-adschema, name .p4config
[ 227359] DEBUG - ions.PerforceConnectionManager - createRootConnection() found p4config for module content entry src-adschema at src-adschema, name .p4config
[ 227359] DEBUG - ions.PerforceConnectionManager - createRootConnection() found p4config for module content entry src-adschema at src-adschema, name .p4config
[ 227361] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BudgetSuggestion.java): content root is java
[ 227361] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 227857] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 227857] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BudgetSuggestion.java): content root is java
[ 227857] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 230133] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 230134] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BudgetSuggestion.java): content root is java
[ 230134] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 230334] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 230335] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BudgetSuggestion.java): content root is java
[ 230335] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 230335] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 230336] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 230337] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BudgetSuggestion.java): content root is java
[ 230337] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 230337] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 230341] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 230341] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BudgetSuggestion.java): content root is java
[ 230342] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 230342] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 230344] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 230345] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BudgetSuggestion.java): content root is java
[ 230345] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 230345] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 230346] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 230347] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BudgetSuggestion.java): content root is java
[ 230347] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 230347] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 230359] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 230360] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BudgetSuggestion.java): content root is java
[ 230360] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 230360] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 230363] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 230363] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BudgetSuggestion.java): content root is java
[ 230363] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 230363] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 230364] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 230364] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BudgetSuggestion.java): content root is java
[ 230364] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 230364] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 230370] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 230370] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BudgetSuggestion.java): content root is java
[ 230370] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 230371] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 231507] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 231507] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BudgetSuggestion.java): content root is java
[ 231507] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 231688] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 231689] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BudgetSuggestion.java): content root is java
[ 231689] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 231689] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 231690] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 231690] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BudgetSuggestion.java): content root is java
[ 231690] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 231691] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 231695] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 231696] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BudgetSuggestion.java): content root is java
[ 231696] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 231696] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 231697] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 231697] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BudgetSuggestion.java): content root is java
[ 231697] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 231697] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 231701] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 231701] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BudgetSuggestion.java): content root is java
[ 231701] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 231701] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 231705] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 231705] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BudgetSuggestion.java): content root is java
[ 231705] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 231705] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 231706] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 231706] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BudgetSuggestion.java): content root is java
[ 231707] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 231707] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 231708] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 231708] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BudgetSuggestion.java): content root is java
[ 231709] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 231709] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 231711] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 231711] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BudgetSuggestion.java): content root is java
[ 231711] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 231714] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 232138] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 232138] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BudgetSuggestion.java): content root is java
[ 232139] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 232300] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 232301] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BudgetSuggestion.java): content root is java
[ 232301] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 232301] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 232302] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 232302] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BudgetSuggestion.java): content root is java
[ 232302] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 232302] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 232305] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 232305] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BudgetSuggestion.java): content root is java
[ 232305] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 232305] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 232306] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 232306] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BudgetSuggestion.java): content root is java
[ 232306] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 232306] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 232307] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 232308] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BudgetSuggestion.java): content root is java
[ 232308] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 232308] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 232313] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 232313] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BudgetSuggestion.java): content root is java
[ 232313] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 232313] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 232314] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 232314] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BudgetSuggestion.java): content root is java
[ 232314] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 232315] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 232315] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 232315] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BudgetSuggestion.java): content root is java
[ 232315] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 232315] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 232316] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 232316] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BudgetSuggestion.java): content root is java
[ 232317] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 232318] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 234166] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 234166] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BudgetSuggestion.java): content root is java
[ 234167] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 234167] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 234168] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 234168] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BudgetSuggestion.java): content root is java
[ 234168] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
com.intellij.openapi.vcs.VcsException: /usr/local/google/home/maximd/src-adschema/google3/java/com/google/ads/pebl/BudgetSuggestion.java - must create client 'miami' to access local files.

at org.jetbrains.idea.perforce.perforce.PerfCommands.checkError(PerfCommands.java:1619)
at org.jetbrains.idea.perforce.perforce.PerfCommands.p4getRevisions(PerfCommands.java:913)
at org.jetbrains.idea.perforce.application.PerforceVcsHistoryProvider.createSessionFor(PerforceVcsHistoryProvider.java:99)
at com.intellij.openapi.vcs.impl.AbstractVcsHelperImpl.showFileHistory(AbstractVcsHelperImpl.java:306)
at com.intellij.openapi.vcs.actions.TabbedShowHistoryAction.actionPerformed(TabbedShowHistoryAction.java:16)
at com.intellij.openapi.vcs.actions.AbstractVcsAction.actionPerformed(AbstractVcsAction.java:5)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.actionPerformed(ActionMenuItem.java:13)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.java:72)
at com.intellij.ui.plaf.beg.BegMenuItemUI.a(BegMenuItemUI.java:209)
at com.intellij.ui.plaf.beg.BegMenuItemUI.access$300(BegMenuItemUI.java:70)
at com.intellij.ui.plaf.beg.BegMenuItemUI$MyMouseInputHandler.mouseReleased(BegMenuItemUI.java:7)
at java.awt.Component.processMouseEvent(Component.java:5488)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
at java.awt.Component.processEvent(Component.java:5253)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3955)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Window.dispatchEventImpl(Window.java:1774)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:5)
at com.intellij.ide.IdeEventQueue.a(IdeEventQueue.java:160)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:10)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)


Maxim Drobintsev - 22 Sep 06 23:59
Correction: I have .p4config file in my home directory, not the roor directory of my p4 clients.

Update: I have tried to remove the .p4config file from my home directory, it made the situation worse as follows:

The Java files which were previously recognized as being in Perforce now show up as not in Perforce. Here is the log I get after re-starting the IDEA:

[ 29947] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() initializing map
[ 29949] DEBUG - ions.PerforceConnectionManager - initRootConnections(): p4config filename=.p4config
[ 29959] DEBUG - ions.PerforceConnectionManager - createRootConnection() found p4config for module content entry src-adschema at src-adschema, name .p4config
[ 29966] DEBUG - ions.PerforceConnectionManager - createRootConnection() found p4config for module content entry src-adschema at src-adschema, name .p4config
[ 29967] DEBUG - ions.PerforceConnectionManager - createRootConnection() found p4config for module content entry src-adschema at src-adschema, name .p4config
[ 70094] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 70096] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(mgenfiles): content root is mgenfiles
[ 70096] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 70096] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 70096] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(java): content root is java
[ 70097] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 70097] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 70097] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(javatests): content root is javatests
[ 70097] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 104151] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 104265] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 121199] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 121200] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BizCategorySuggestedKeywordGroup.java): content root is java
[ 121200] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 122055] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 122056] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BizCategorySuggestedKeywordGroup.java): content root is java
[ 122056] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 124035] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 124036] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BizCategorySuggestedKeywordGroup.java): content root is java
[ 124036] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 124537] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 124537] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BizCategorySuggestedKeywordGroup.java): content root is java
[ 124537] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 124538] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 124539] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 124539] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BizCategorySuggestedKeywordGroup.java): content root is java
[ 124539] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 124539] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 124546] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 124546] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BizCategorySuggestedKeywordGroup.java): content root is java
[ 124546] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 124546] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 124548] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 124548] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BizCategorySuggestedKeywordGroup.java): content root is java
[ 124549] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 124549] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 124550] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 124550] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BizCategorySuggestedKeywordGroup.java): content root is java
[ 124551] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 124551] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 124558] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 124559] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BizCategorySuggestedKeywordGroup.java): content root is java
[ 124559] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 124559] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 124561] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 124561] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BizCategorySuggestedKeywordGroup.java): content root is java
[ 124561] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 124561] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 124562] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 124562] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BizCategorySuggestedKeywordGroup.java): content root is java
[ 124562] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 124562] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 124563] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 124564] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BizCategorySuggestedKeywordGroup.java): content root is java
[ 124564] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 124567] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 128670] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 128671] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BizCategorySuggestedKeywordGroup.java): content root is java
[ 128671] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
[ 128671] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 128679] DEBUG - ions.PerforceConnectionManager - ensureRootConnections() returning cached map
[ 128680] DEBUG - ions.PerforceConnectionManager - getConnectionForFile(BizCategorySuggestedKeywordGroup.java): content root is java
[ 128680] DEBUG - ions.PerforceConnectionManager - found connection in map: org.jetbrains.idea.perforce.perforce.connections.P4ConfigFileBasedConnection@ee251ff9
com.intellij.openapi.vcs.VcsException: /usr/local/google/home/maximd/src-adschema/google3/java/com/google/ads/pebl/BizCategorySuggestedKeywordGroup.java - must create client 'miami' to access local files.

at org.jetbrains.idea.perforce.perforce.PerfCommands.checkError(PerfCommands.java:1619)
at org.jetbrains.idea.perforce.perforce.PerfCommands.p4getRevisions(PerfCommands.java:913)
at org.jetbrains.idea.perforce.application.PerforceVcsHistoryProvider.createSessionFor(PerforceVcsHistoryProvider.java:99)
at com.intellij.openapi.vcs.impl.AbstractVcsHelperImpl.showFileHistory(AbstractVcsHelperImpl.java:306)
at com.intellij.openapi.vcs.actions.TabbedShowHistoryAction.actionPerformed(TabbedShowHistoryAction.java:16)
at com.intellij.openapi.vcs.actions.AbstractVcsAction.actionPerformed(AbstractVcsAction.java:5)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.actionPerformed(ActionMenuItem.java:13)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.java:72)
at com.intellij.ui.plaf.beg.BegMenuItemUI.a(BegMenuItemUI.java:209)
at com.intellij.ui.plaf.beg.BegMenuItemUI.access$300(BegMenuItemUI.java:70)
at com.intellij.ui.plaf.beg.BegMenuItemUI$MyMouseInputHandler.mouseReleased(BegMenuItemUI.java:7)
at java.awt.Component.processMouseEvent(Component.java:5488)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)
at java.awt.Component.processEvent(Component.java:5253)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3955)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Window.dispatchEventImpl(Window.java:1774)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:5)
at com.intellij.ide.IdeEventQueue.a(IdeEventQueue.java:160)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:10)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)


Dmitry Jemerov - 25 Sep 06 16:49
Maxim: Do I understand correctly that:
  • "src-adschema" is the content root for the module
  • "src-adschema/google3/java" is a source root for the module
  • IDEA finds a .p4config at "src-adschema" but the correct .p4config to use is either at "src-adschema/google3" or at "src-adschema/google3/java"?

In this case the problem is clear: IDEA searches for p4config files only upward from the module content root. It's possible to change that, but likely not for 6.0.