Получить историю удаленных файлов из SVN с помощью SVNKit - PullRequest
0 голосов
/ 08 марта 2012

Я пытаюсь получить доступ к истории изменений файла, который был удален с помощью SVNKit.

Вот что я делаю для достижения этой цели.

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());
                                            }
                                        });

Здесь, selectedRevision => Версия SVN, в которой был удален файл.

Когда этот код выполняется, я продолжаю получать следующие исключения:

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

Я что-то здесь не так делаю? Есть ли другой способ получить историю удаленного файла, используя SVNKit

Ответы [ 2 ]

1 голос
/ 02 октября 2013

Хотя этот вопрос задавался более года назад, но все же подумал о том, чтобы ответить на него, если это могло бы быть помощью других.

Я не пытался получить историю удаленного файла, но я мог извлечь историюудаленная ветвь с использованием -

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

Это похоже на звонок, который вы делаете, но вам необходимо указать правильные значения для pegRevision, startRevision и endRevision.Использование UNDEFINED может не дать правильного результата, вместо этого используйте ревизию, в которой файл был удален как pegRevision, и startRevision как 0, и это должно работать.

0 голосов
/ 13 мая 2012

Вы должны указать ревизию, в которой файл существовал, как ревизию разметки.Очевидно это удалено Revision-1.И, возможно, (я не уверен здесь, просто попробуйте) файл должен существовать как в начальной, так и в конечной ревизиях.

...