Неверный путь исключения с DirCacheEditor в JGit

Я тестирую фрагмент кода, который является

  DirCache index = repository.lockDirCache();
  DirCacheEditor editor = index.editor();
  editor.add(new DirCacheEditor.PathEdit(path + File.separator + fileName) {
      @Override
      public void apply(DirCacheEntry entry) {
          entry.setFileMode(FileMode.REGULAR_FILE);
      }
  });
  editor.finish();

, где path - абсолютный путь к каталогу, где находится репозиторий, а fileName - файл, к которому я хочу добавить его. Однако этот код вызывает исключение с сообщением «Неверный путь».

Какое значение должно иметь path, чтобы это исключение больше не появлялось?

0
задан Rüdiger Herrmann 24 March 2019 в 08:55
поделиться

1 ответ

Пути в JGit всегда должны указываться относительно корневого каталога репозитория. Также разделитель пути - '/' на всех платформах.

Следовательно, ваш код должен выглядеть следующим образом.

String path = "path/to";
String fileName = "file.ext";
...
new PathEdit(path + "/" + fileName)

, чтобы получить такой путь: path/to/file.ext

Также обратите внимание, что большинству API JGit требуются относительные пути, то есть не должно быть ведущего '/'.

.
0
ответ дан Rüdiger Herrmann 24 March 2019 в 08:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: