Question

J'essaie d'accéder à l'historique des révisions d'un fichier qui a été supprimé à l'aide de SVNKit.

Voici ce que je fais pour y parvenir.

SVNClientManager manager = SVNClientManager.newInstance(); 
SVNLogClient logClient = manager.getLogClient(); 
logClient.doLog(svnURL, new String[] { fileName }, SVNRevision.create(deletedRevision),
                                            SVNRevision.UNDEFINED, SVNRevision.UNDEFINED, false, false, true, -1, null,
                                            new ISVNLogEntryHandler() {
                                                public void handleLogEntry(SVNLogEntry logEntry) throws SVNException {
                                                    log.debug(" ==== " + logEntry.getChangedPaths() + " === "
                                                            + logEntry.getRevision());
                                            }
                                        });

Ici, deleteRevision => La révision SVN dans laquelle le fichier a été supprimé.

Lorsque ce code est exécuté, je continue à recevoir les exceptions suivantes :

org.tmatesoft.svn.core.SVNException: svn: '<FilePath>' path not found: 404 Not Found (https://<RepositoryURL>
        at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:64)
        at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:51)
        at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.logImpl(DAVRepository.java:976)
        at org.tmatesoft.svn.core.io.SVNRepository.log(SVNRepository.java:1034)
        at org.tmatesoft.svn.core.wc.SVNLogClient.doLog(SVNLogClient.java:1024)
        at org.tmatesoft.svn.core.wc.SVNLogClient.doLog(SVNLogClient.java:891)
        at com.blueoptima.connectors.scr.SVN.getWorkingFileList(SVN.java:711)
        ... 4 more

Est-ce quelque chose que je fais de mal ici ?Existe-t-il un autre moyen d'obtenir l'historique d'un fichier supprimé à l'aide de SVNKit ?

Était-ce utile?

La solution

Bien que cette question ait été posée il y a plus d'un an, j'ai quand même pensé à y répondre si cela pouvait aider d'autres personnes.

Je n'ai pas essayé de récupérer l'historique d'un fichier supprimé mais j'ai pu récupérer l'historique d'une branche supprimée en utilisant -

SVNLogClient.doLog(SVNURL.parseURIEncoded(path), new String[] { "" }, pegRevision, SVNRevision.create(0),pegRevision, stopOnCopy, discoverChangedPaths, logsLimit, logHandler);

Ceci est similaire à l'appel que vous effectuez, mais vous devez fournir des valeurs appropriées pour pegRevision, startRevision et endRevision.Utilisation de UNDEFINED peut ne pas donner un résultat correct, utilisez plutôt la révision à laquelle le fichier a été supprimé comme pegRevision et startRevision comme 0 et cela devrait fonctionner.

Autres conseils

Vous devez spécifier une révision dans laquelle le fichier existait en tant que révision de PEG.Évidemment, c'est suppriméRevision-1.Et peut-être (je ne suis pas sûr ici, essayez juste) le fichier devrait exister dans les révisions de début et de fin.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top