grgit: добавление тега и отправка файлов в удаленную ветку в скрипте build.gradle - PullRequest
0 голосов
/ 29 марта 2019

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

//Task to push updated build.info to remote branch
task pushToOrigin {
  doLast {
    def grgit = Grgit.open(dir: ".")

    grgit.add(patterns: ['web/build.info'])

    grgit.tag.add(
          name: "Tag3",
          message: "Release of 3-${grgit.head()}",
          force: true
    )

    grgit.commit(message: "Updating build.info")

    //push to remote
    grgit.push(remote:"${branch}", tags: true)
    //grgit.push(remote:"${branch}")

    //cleanup
    grgit.close()
  }

  println "Completed task: pushToOrigin" 
}

Я заметил, что grgit.push(remote:"${branch}", tags: true) добавляет теги и отправляет тег на удаленный компьютер, но не передает мои изменения в подготовленном файле.

Однако grgit.push(remote:"${branch}") подталкивает внесенные изменения файла, но не выдвигает теги.

Я использую Gradle 5.3, версия grgit 2.3.0

Нужно ли что-то еще делать, чтобы оба работали?

Спасибо.

1 Ответ

0 голосов
/ 29 марта 2019

Я нашел решение вышеуказанной проблемы.Вот что я сделал:

task pushToOrigin {
  doLast {
        def grgit = Grgit.open(dir: ".")


        grgit.add(patterns: ['web/build.info'])


        grgit.commit(message: "Updating build.info")

        //Push to remote
        grgit.push(remote:"${branch}")

        //Tag
        tagName = "tag1"

        grgit.tag.add(
              name: tagName,
              message: "Release of ${tagName}"
        )

        //Push
        grgit.push(remote:"${branch}", refsOrSpecs: [tagName])

        //cleanup
        grgit.close()

    }
}
...