2017-01-18 9 views
2

Есть ли способ клонировать удаленный URL-адрес с помощью JGit API, в котором я могу где-то изменить начальное значение, которое оно принимает по умолчанию, и сделать его как origin2, так как на origin есть еще один удаленный конфигуратор ?Добавление удаленного URL-адреса с помощью API-интерфейса JGit

ответ

2

Вы можете использовать CloneCommand::setRemote() для изменения удаленного имени репозитория, который должен быть клонирован. По умолчанию он называется origin.

Вы также можете изменить имя удаленного после добавления непосредственно манипулируя конфигурации Git:

Repository repository = ...; 
String oldName = "origin"; 
String newName = "other-origin"; 
StoredConfig config = repository.getConfig(); 
Set<String> names = config.getNames(ConfigConstants.CONFIG_REMOTE_SECTION, oldName); 
for(String name : names) { 
    String value = config.getString(ConfigConstants.CONFIG_REMOTE_SECTION, oldName, name); 
    config.setString(ConfigConstants.CONFIG_REMOTE_SECTION, newName, name, value); 
} 
config.unsetSection(ConfigConstants.CONFIG_REMOTE_SECTION, oldName); 
config.save(); 

Для того, чтобы добавить новый пульт дистанционного управления, используйте RemoteAddCommand так:

git.remoteAdd().setName("new-remote").setUri(new URIish("...")).call();