Enregistrement dans un référentiel de sous-version à partir de Java
-
10-07-2019 - |
Question
Je souhaite enregistrer dans un référentiel de sous-version.
J'utilise la commande - svn commit -m \ " \ " ./cms_test/www
Ma classe est:
public int doBackup(){
int exitVal=-99;
try
{
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec("svn commit -m \"\" ./cms_test/www");
exitVal = proc.exitValue();
System.out.println("Process exitValue: " + exitVal);
} catch (Throwable t)
{
t.printStackTrace();
}
return exitVal;
}
Est-ce que cela devrait fonctionner ou y a-t-il autre chose à faire?
La solution
Pourquoi n'utilisez-vous pas quelque chose comme SVNKit ?
SVNKit est une boîte à outils Java pure. Il implémente toutes les fonctionnalités de Subversion et fournit des API permettant de travailler avec les copies de travail Subversion, d’accéder et de manipuler les référentiels Subversion - tout ce qui se trouve dans votre application Java.
Les avantages sont les suivants:
- Aucune dépendance vis-à-vis des fichiers binaires Subversion en cours d'installation;
- Les erreurs appropriées sont propagées au code Java au lieu de rechercher les codes de retour et d’analyser les résultats;
- Plus facile d'utiliser des cas d'utilisation plus avancés;
Tout cela et le facteur amusant d'apprendre une nouvelle API.
Autres conseils
Cela pourrait fonctionner, mais assurez-vous d'être déjà authentifié auprès de votre serveur svn et appelez une autre méthode pour mettre à jour votre révision avant d'appeler votre méthode doBackup ()
.