2014-06-16 15 views
9

Ho due spazi di lavoro Perforce sul mio computer, uno su c:\dev e il secondo su c:\code. Quando eseguo p4 status in c:\code ricevo un messaggio di errorep4 "Percorso non compreso nella radice del client"

Path 'c:\code\...' is not under client's root 'c:\dev' 

Lo stesso accade per la p4 reconcile. Come posso far funzionare i comandi? È ovvio che stia cercando di eseguire il comando contro il repository sbagliato.

+2

Questo dovrebbe essere utile. http://stackoverflow.com/questions/7633332/p4-change-workspace-for-client – James

risposta

13

Se non si imposta esplicitamente la variabile di ambiente P4CLIENT, Perforce utilizza l'area di lavoro predefinita. Come decide quale spazio di lavoro è l'impostazione predefinita, non lo so. Ad ogni modo, è impostato per default su quello la cui radice è stata mappata su C:\dev. È necessario passare all'area di lavoro code (o qualunque sia il suo nome effettivo). Nella riga di comando digitare il seguente comando per cambiare area di lavoro:

p4 set P4CLIENT=[client name]

Naturalmente, potrai sostituire "[nome del cliente]" con il nome dello spazio di lavoro la cui radice è stata mappata a C:\code.

+0

Perfetto! Questa è una soluzione pulita. – GuruC

+0

Si è verificato ancora lo stesso errore dopo aver impostato il client. Path '/ home/stevek/...' non è nella root del client '/ home/stevek/Perforce/steve_SIA_development'. Nessun file da riconciliare. Imposta il mio in bash_profile. – Winnemucca

4

Espansione un po 'sulla risposta del corvo. Per impostazione predefinita, se non si imposta P4CLIENT, Forza prende il nome della macchina come nome client predefinito. Quindi, se vuoi usare un altro client, devi usare lo p4 set P4CLIENT=[client name], che lo imposterà per ogni istanza di p4 che corri, indipendentemente dalla finestra di comando in cui ti trovi. Puoi anche fare un set P4CLIENT=[client name] sulla riga di comando, che sarà valido solo nella finestra di comando in esecuzione.

Inoltre, è possibile utilizzare p4 -c [client_name] <command> poiché -c è un'opzione globale, è possibile fornirla a tutti i comandi p4.

+0

possiamo impostare P4CLIENT nel nostro bash_profile corretto? Sto impostando il mio client lì, ma continuo a ricevere questo errore. – Winnemucca

Problemi correlati