Utilizzo di P4Package (Java) dall'app Java per convalidare la directory Perforce

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

  •  01-07-2019
  •  | 
  •  

Domanda

In un'app Web che sto scrivendo, l'utente dovrebbe inserire il percorso nel repository Perforce per il nodo che sta inserendo.L'applicazione dovrebbe verificare che la directory inserita esista nel repository.

Ho la libreria P4Package (p4.jar) e la sto configurando abbastanza correttamente da farla funzionare per quasi tutto, TRANNE questa convalida della directory.Sto creando un DirEntry (da p4.jar) utilizzando un Env configurato e un percorso, ma quando chiamo DirEntry.sync(), emette un comando errato.Dove voglio che emetta il comando:

p4 [informazioni sulla configurazione] dirs argomento_directory <-- utilizzando il comando dirs per convalidare una directory

Emette invece:

p4 [informazioni sulla configurazione] dirs argomento_directory%1 <-- nota %1 estranea

Il che fallisce sempre, poiché nessuna delle directory ha un %1 alla fine.

Qualsiasi aiuto?Esiste un modo diverso per verificare che esista una directory utilizzando questo pacchetto?

È stato utile?

Soluzione 3

Quindi, il codice che stavo utilizzando conteneva un bug che mi richiedeva di apportare una modifica e di controllare il codice nel mio repository.

Tuttavia, da allora, Perforce ha creato il proprio wrapper Java per il client P4 che funziona molto meglio.Ci proverei.

Altri suggerimenti

Sembra che il comando sync abbia un bug in relazione alle voci dir e al comando.Il mio suggerimento sarebbe semplicemente quello di eseguire tu stesso il comando, utilizzando la riga di comando di Perforce poiché deve essere impostata comunque per poter utilizzare la libreria 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

Vorrei invece provare un'altra libreria, P4Java:

http://tek42.com/p4java

P4Java è molto più recente e ho scoperto che funziona molto meglio del pacchetto P4.Viene utilizzato nel progetto Hudson e l'ho visto nel sorgente Fisheye, tuttavia, non sono sicuro se lo utilizzino o meno.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top