Добавление подмодуля в не пустой путь с помощью JGit - PullRequest
0 голосов
/ 18 февраля 2020

Я пытаюсь добавить субмодуль в непустую папку, используя класс API J Git SubmoduleAddCommand, и это мой код:

SubmoduleAddCommand submoduleAddCommand = new SubmoduleAddCommand(repository);
submoduleAddCommand.setPath(path);
submoduleAddCommand.setName(name);
submoduleAddCommand.setURI(uri);
submoduleAddCommand.call().close();
repository.close();

Папка назначения содержит: Folder1 , Folder2, ... и т. Д., И ни одна из предыдущих папок не является субмодулем, однако их нельзя удалять. Моя цель - добавить субмодуль и клонировать его в папку Destination рядом с папками, не относящимися к субмодулям. В результате возникает исключение:

org.eclipse.j git .api.errors.JGitInternalException: целевой путь "Target_Submodule" уже существует и не является пустым каталогом

и подмодуль не добавляется в файл .gitmodules и не клонируется в папку Destination .

Есть ли способ добавить этот подмодуль в непустой Папка назначения и файл .gitmodules?

1 Ответ

0 голосов
/ 19 февраля 2020

Git не позволяет добавить подмодуль в непустой каталог.

SubmoduleAddCommand клонирует и извлекает указанный репозиторий в путь назначения. А для клонирования репозитория требуется, чтобы путь назначения был пустым.

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

...