Uso de P4Package (Java) desde la aplicación Java para validar el directorio Perforce

StackOverflow https://stackoverflow.com/questions/84983

  •  01-07-2019
  •  | 
  •  

Pregunta

En una aplicación web que estoy escribiendo, se supone que el usuario debe ingresar la ruta en el repositorio de Perforce para el nodo al que está ingresando.Se supone que la aplicación valida que el directorio ingresado existe en el repositorio.

Tengo la biblioteca P4Package (p4.jar) y la estoy configurando lo suficientemente correctamente como para que funcione para casi todo, EXCEPTO esta validación de directorio.Estoy creando un DirEntry (desde p4.jar) usando un Env configurado y una ruta, pero cuando llamo a DirEntry.sync(), emite un comando incorrecto.Donde quiero que emita el comando:

p4 [información de configuración] dirs directorio_argumento <-- usando el comando dirs para validar un directorio

En cambio, emite:

p4 [información de configuración] dirs directorio_argumento%1 <-- nota extraña %1

Lo cual siempre falla, ya que ninguno de los directorios tiene un %1 al final.

¿Alguna ayuda?¿Existe alguna forma diferente de comprobar que existe un directorio utilizando este paquete?

¿Fue útil?

Solución 3

Entonces, el código que estaba usando tenía un error que me obligaba a realizar un cambio y verificar el código en mi repositorio.

Sin embargo, desde entonces, Perforce ha creado su propio contenedor Java para el cliente P4 que funciona mucho mejor.Le daría una oportunidad a ese.

Otros consejos

Parece que el comando de sincronización tiene un error en relación con las entradas del directorio y el comando.Mi sugerencia sería simplemente ejecutar el comando usted mismo, usando la línea de comando forzada, ya que debe configurarse de todos modos para poder usar la biblioteca Java.

Process p = Runtime.getRuntime().exec("p4 dirs " + directory_argument);
BufferedReader stdOut = new BufferedReader(new InputReader(p.InputStream()));
//Read the output of the command and process appropriately after this

En su lugar, probaría con otra biblioteca, P4Java:

http://tek42.com/p4java

P4Java es mucho más nuevo y he descubierto que funciona mucho mejor que P4Package.Se usa en el proyecto Hudson y lo he visto en la fuente Fisheye, aunque no estoy seguro de si lo están usando o no.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top