2010-01-21 23 views
20

Por lo tanto, virtualmente no se puede utilizar la línea de comando forzosa para nada que no sea la sincronización. Mi raíz del espacio de trabajo se asigna a C: \ Aquí hay una línea de mi especificación del cliente: //claims1.0/main/... //cthiel/code/claims1.0/main/...Problemas usando la línea de comandos forzosa en cygwin

Cada vez que enciendo cygwin e intento trabajar con cualquier archivo en mi depósito (como p4 edit), aparece un error en la línea de: Ruta '/cygdrive/c/code/commonTest/main.p4ignore' no es en la raíz del cliente 'C: \'.

Las rutas no coinciden, porque el equivalente de C: \ para cygwyn es/cygdrive/c. Por lo tanto, nunca puede encontrar archivos con la línea de comando obligada.

¿Hay alguna manera de arreglar esto? Es muy molesto

Respuesta

11

Incluso Mo 'Betta':
Utilice el cliente p4 cygwin: http://filehost.perforce.com/perforce/r07.2/bin.cygwinx86/p4.exe

Sólo asegúrese de que está en su camino antes de que el Perforce/p4.exe. Et voila.

+0

esta versión de este enlace obviamente no es la última/mejor, pero las otras versiones también están disponibles en los directorios hermanos. –

+3

Puede obtener el último cliente desde aquí: http://www.perforce.com/downloads/complete_list Haga clic en "Otro" y luego "cygwin" – Philip

+1

El último cliente de cygwin forzado trabajó para mí, ¡gracias Phillip! Estaba teniendo problemas con P4CONFIG al ser "ignorado" bajo cygwin cuando usé el cliente NTX86 2008. El problema no ocurre con los clientes NTX86 p4.exe de 2010 y 2011. – Bogatyr

35

encontrado una solución:
Agregar a su .bashrc:

function p4() { 
export PWD=`cygpath -wa .` 
/cygdrive/c/Program\ Files/Perforce/p4.exe [email protected] 
} 

funciona como un encanto para mí.

+0

Encontré esto preferible para el cliente cygwin p4 por algún motivo. Probablemente mi propia falta de conocimiento: descubrí que el binario cygwin requería que estableciera una contraseña a través de la variable de entorno (siempre asqueroso para ver las variables env con datos confidenciales), y aun así obtuve el mismo error. Esto funcionó mágicamente. –

+0

Eres un salvavidas. PWD era el problema en mi script, porque había mapeado mi% TEMP% as/tmp :-) – anishsane

+3

Descubrí que * no * exportar PWD es mejor porque cambiar $ PWD puede arruinar emacs y también cambia el indicador bash al formato de Windows. Prefiero hacer esto: function p4() {PWD = 'cygpath -ma.'" 'cual p4'" $ @}. De esta forma, PWD solo cambia dentro del comando p4. – dividebyzero

1

Una versión de la función Bashrc modificado para evitar la sobrecarga y la búsqueda de cygpath ejecutable p4.exe en el PATH de forma automática:

function p4() { 
    PWD= `which p4` "[email protected]" 
} 
0

raíz Alt parece funcionar bien para mí. Sin embargo, no estoy usando cygwin. Mi código fuente reside en el servidor de Linux y tengo un cliente en la máquina de Windows. He correlacionado el espacio de trabajo del servidor en Windows usando la unidad de red.

4

Tenga en cuenta que Perforce CLI client for CygWin has been deprecated ya no será compatible después del 01/05/2013, según el sitio web de Perforce. Se debate sobre este tema en los foros de soporte de Perforce, incluido el a poll which attempts to gauge the level of interest en soporte continuo para el cliente CygWin. El soporte se suspende por razones financieras (tarifas de licencia a Redhat para la distribución comercial de Cygwin); por lo tanto, si se muestra suficiente interés, se puede reconsiderar la decisión .

Si utiliza el cliente de P4 Cygwin, alguna vez o tiene algún interés en el tema, le insto a que participe en la encuesta. Gracias.

Cuestiones relacionadas