Korrigieren Sie, dass die P4-Befehlszeile immer funktioniert

5153
Phrogz

Zusammenfassung: Die Perforce-Befehlszeile p4funktioniert nicht ordnungsgemäß, wenn ich die Shell nicht über P4V öffne. Wie und wo bearbeite ich Dinge, um meine Konfiguration zu korrigieren, damit sie immer funktioniert?

Einzelheiten

Wenn ich unter Windows 7x64 cmd.exedie Befehlszeile p4 starte und dann verwende, wird versucht, eine Verbindung zu einem alten Server herzustellen, der nicht mehr vorhanden ist:

C:\>p4 info Perforce client error: Connect to server failed; check $P4PORT. TCP connect to p4proxy-bdr:2006 failed. connect: p4proxy-bdr:2006: WSAETIMEDOUT  C:\>echo %P4PORT% %P4PORT% 

Wenn ich jedoch P4V (das die Verbindung zum richtigen Server herstellt) starte, mit der rechten Maustaste auf eine beliebige Datei in meinem Arbeitsbereich klicken und "Befehlsfenster hier öffnen" wählen, funktionieren die gleichen Befehle ordnungsgemäß:

C:\>p4 info User name: gkistner Client name: gkistner-dt2 Client host: gkistner-dt2 Client root: C:/p4/p4sw Current directory: c:\ Peer address: <redacted> Client address: <redacted> Server address: <redacted> Server root: <redacted> Server date: 2013/08/13 10:05:09 -0700 PDT Server uptime: 1512:04:23 Server version: <redacted> Server license: <redacted> Server license-ip: <redacted> Case Handling: sensitive  C:\>echo %P4PORT% p4sw:2006 

Woher erhält P4 die Konfiguration, wenn ich es von einer Vanille aus cmd.exestarte, und wie ändere ich diese so, dass sie mit der Einstellung von P4V identisch ist?

4
Verwandte Themen: http://stackoverflow.com/q/9885053/405017 Phrogz vor 10 Jahren 0

2 Antworten auf die Frage

6
Phrogz

Die Befehlszeileneinstellungen von P4 können mit dem p4 setBefehl festgelegt werden. Ohne Argumente werden unter der Arbeitsshell die aktuellen Werte aufgeführt:

C:\>p4 set P4CLIENT=gkistner-dt2 P4EDITOR=C:\Windows\SysWOW64\notepad.exe (set) P4PASSWD=<redacted> (set) P4PORT=p4sw:2006 P4USER=gkistner 

Gehen Sie dann zu der nicht funktionierenden Shell und kopieren / fügen Sie jede davon mit dem Präfix p4 set:

C:\>p4 set P4CLIENT=gkistner-dt2 C:\>p4 set P4EDITOR=C:\Windows\SysWOW64\notepad.exe C:\>p4 set P4PASSWD=<redacted> C:\>p4 set P4PORT=p4sw:2006 C:\>p4 set P4USER=gkistner 

Jetzt können Sie diese Shell schließen und eine neue öffnen, und P4 funktioniert.

0
Kiril Aleksandrov

The approach I use is as follows:

1 All global perforce settings I set through environmental variables:

P4EDITOR=C:\Program Files (x86)\Vim\vim74\gvim.exe 

2 Tell perforce that specific client's configuration is stored in .p4config file located in the root folder of the client's view. This is done through an environmental variable too:

P4CONFIG=.p4config 

3 Then in each client's root folder I create a .p4config file and set there the specific client's configurations as follows:

P4CLIENT=my_client_1 P4PORT=server:1234 P4USER=myusername