Я тестирую фрагмент кода, который является
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
, чтобы это исключение больше не появлялось?
Пути в JGit всегда должны указываться относительно корневого каталога репозитория. Также разделитель пути - '/' на всех платформах.
Следовательно, ваш код должен выглядеть следующим образом.
String path = "path/to";
String fileName = "file.ext";
...
new PathEdit(path + "/" + fileName)
, чтобы получить такой путь: path/to/file.ext
Также обратите внимание, что большинству API JGit требуются относительные пути, то есть не должно быть ведущего '/'.
.