Как удалить файлы из SVN с помощью SVN Kit JAR

Мне нужно удалить файл в хранилище SVN с помощью SVN Kit JAR.

Я старался

SVNFileUtil.deleteFile(new File("URL"));

Это не выдает никакой ошибки. но я не могу удалить файл, который я дал в URL.

мой код:

       repository = SVNRepositoryFactory.create(SVNURL.parseURIDecoded(url));

       //create authentication data
        ISVNAuthenticationManager authManager =
           SVNWCUtil.createDefaultAuthenticationManager(
                   prop.getProperty("SVNusername"), 
                   prop.getProperty("SVNpassword"));
              repository.setAuthenticationManager(authManager);

        //need to identify latest revision
        long latestRevision = repository.getLatestRevision();
        System.out.println("Repository Latest Revision: " + latestRevision);

        //create client manager and set authentication
        SVNClientManager ourClientManager = SVNClientManager.newInstance();
        ourClientManager.setAuthenticationManager(authManager);
        //use SVNUpdateClient to do the export
        SVNCommitClient commitClient = ourClientManager.getCommitClient();
        commitClient.setIgnoreExternals(false);
   SVNFileUtil.deleteFile(new File(urln));
       SVNCommitClient client = new SVNCommitClient(authManager, null);

       SVNCommitInfo info;

2 ответа

@manuelcr прав, и в качестве альтернативы вы можете использовать код высокого уровня:

    final SvnOperationFactory svnOperationFactory = new SvnOperationFactory();
    try {
        final SvnRemoteDelete remoteDelete = svnOperationFactory.createRemoteDelete();
        remoteDelete.setSingleTarget(SvnTarget.fromURL(fileUrl));
        remoteDelete.setCommitMessage("Delete a file from the repository");
        final SVNCommitInfo commitInfo = remoteDelete.run();
        if (commitInfo != null) {
            final long newRevision = commitInfo.getNewRevision();
            System.out.println("Removed a file, revision " + newRevision + " created");
        }
    } finally {
        svnOperationFactory.dispose();
    }

Вы пытались использовать CommitEditor?

В этой ссылке у вас есть описание того, как получить его из вашего SVNRepository и использовать его для удаления записи.

Другие вопросы по тегам