Как создавать и отправлять теги с помощью JGit - PullRequest
1 голос
/ 03 июля 2019

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

Я написал код с использованием JGit, который будет клонировать репозиторий, внести некоторые изменения в файл, затем зафиксировать изменение, создать новый тег и нажать коммит и тег.

Git git = Git.cloneRepository()
             .setURI("https://*****@stash.dts.*****.git")
             .setDirectory(outputFolder)
             .call();

// Some code to update the file
git.add().addFilepattern(".").call();

git.commit().setMessage("File Commit").call();

// Creating tag
git.tag().setName(version).setForceUpdate(true).call();

// Pushing the commit and tag
git.push().call();

После отправки я ожидаю, что в удаленном репозитории будут показаны мои изменения и новый тег, но изменение с commitId отображается в удаленном репозитории, но тег не отображается. Он показывает «Нет тегов».

1 Ответ

1 голос
/ 03 июля 2019

Чтобы отправить все теги, вам нужно включить это перед вызовом PushCommand.

Например:

List<PushResult> pushResult = git.push().setPushTags().call();

В качестве альтернативы вы можете использовать PushCommand::setRefSpecs, чтобы установить список refspecs , который вы хотите получить.

...