Penso che nessuna risposta ancora risolve veramente il problema, nel senso che se i cambiamenti in una parte di svn: gli esterni sono stati fatti, ovviamente dovrebbero essere visualizzati. Ciò non ha alcun senso per i repository esterni. Ma io uso svn: esternals per aggiungere una cartella generica di build dallo stesso repository ai progetti (perché non esiste una gerarchia generale dei moduli). E non voglio usare le opzioni --ignore-externals -q
perché ho perso le informazioni sui file non aggiunti e le modifiche nello script di generazione generale che ho fatto in questo progetto (che potrei voler commettere). La mia soluzione è stata quella di applicare patch alla sottoversione java command line instlemantation svnkit.
AbstractSVNCommand.registerCommand(new SVNStatusCommand());
final ByteArrayOutputStream bos = new ByteArrayOutputStream();
final PrintStream stream = new PrintStream(bos);
final SVNCommandLine commandLine = new SVNCommandLine();
commandLine.init(new String[] { "status", "PATH..." });
final SVNCommandEnvironment env = new SVNCommandEnvironment("mySvn", stream, stream, System.in);
env.init(commandLine);
env.initClientManager();
final SVNStatusCommand svnStatusCall = new SVNStatusCommand();
svnStatusCall.init(env);
svnStatusCall.run();
stream.flush();
String result = new String(bos.toByteArray());
StringBuffer buffer = new StringBuffer();
Scanner scanner = new Scanner(result);
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
if (line.startsWith("X") || line.startsWith("Performing status on external item at")) {
// ignore this output
} else if (line.trim().isEmpty() == false) {
buffer.append(line + "\n");
}
}
System.out.println(buffer.toString());
Questo risolve il problema perché variazioni esterni sono contrassegnati con 'M' di modifica ...
+1 hanno lo stesso problema, avrei preferito voluto --ignore-esterni siano il predefinito o configurabile per diventare predefinito. –
Giusto per essere chiari: -q (modalità silenziosa) rimuove la riga "X lib" e --ignore-esterni rimuove la riga "Esecuzione dello stato sull'elemento esterno su" lib "". Meglio per aggiornare la risposta sulla base di questo. –
Per quello che vale, http://subversion.tigris.org/issues/show_bug.cgi?id=1935 ha una lunga discussione, che non ho ancora finito di leggere. Finora, sembra che un ragionevole consenso sulla correzione di ciò sarebbe stato stabilito nel 2004 .../-: – tripleee