Spec-Zone.ru › Homebrew

Класс: GitRepository Приватный

Наследует:
Object
  • Object
  • GitRepository
показать все
Определён в:
git_repository.rb

Обзор

Этот класс является частью приватного API. Этот класс можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого класса, поскольку он может быть удалён или изменён без предупреждения.

Получив Pathname, предоставляет методы для получения информации о репозитории Git.

См. также:

  • Utils::Git

Краткое описание атрибутов экземпляра свернуть

  • #pathname ⇒ Pathname только для чтения приватный

Краткое описание методов экземпляра свернуть

  • #branch_name(safe: false) ⇒ String? приватный

    Возвращает имя текущей извлечённой ветки или HEAD, если репозиторий находится в состоянии отсоединённого HEAD.

  • #commit_message(commit = "HEAD", safe: false) ⇒ String? приватный

    Возвращает полный текст указанного коммита или коммита HEAD, если коммит не указан.

  • #default_origin_branch? ⇒ Boolean? приватный

    Возвращает true, если текущая ветка репозитория совпадает с веткой origin по умолчанию.

  • #git_repository? ⇒ Boolean приватный
  • #head_ref(safe: false) ⇒ String? приватный

    Возвращает полный хеш коммита HEAD.

  • #initialize(pathname) ⇒ void конструктор приватный
  • #last_commit_date ⇒ String? приватный

    Возвращает дату последнего коммита в формате YYYY-MM-DD.

  • #last_committed ⇒ String? приватный

    Возвращает относительную дату последнего коммита, например:

  • #origin_branch_name ⇒ String? приватный

    Возвращает имя ветки HEAD origin по умолчанию.

  • #origin_has_branch?(branch) ⇒ Boolean приватный

    Возвращает true, если указанная ветка существует в origin.

  • #origin_url ⇒ String? приватный

    Возвращает URL удалённого репозитория origin в Git.

  • #rename_branch(old:, new:) ⇒ void приватный

    Изменяет имя локальной ветки.

  • #set_head_origin_auto ⇒ void приватный
  • #set_upstream_branch(local:, origin:) ⇒ void приватный

    Назначает локальной ветке upstream-ветку для отслеживания.

  • #short_head_ref(length: nil, safe: false) ⇒ String? приватный

    Возвращает короткий хеш коммита HEAD.

Подробное описание конструкторов

#initialize(pathname) ⇒ void

Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Параметры:

  • pathname (Pathname)


14
15
16
# File 'git_repository.rb', line 14

def initialize(pathname)
  @pathname = pathname
end

Подробное описание атрибутов экземпляра

#pathname ⇒ Pathname (только для чтения)

Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает:

  • (Pathname)


11
12
13
# File 'git_repository.rb', line 11

def pathname
  @pathname
end

Подробное описание методов экземпляра

#branch_name(safe: false) ⇒ String?

Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает имя текущей извлечённой ветки или HEAD, если репозиторий находится в состоянии отсоединённого HEAD.

Параметры:

  • safe (Boolean) (по умолчанию: false)

Возвращает:

  • (String, nil)


50
51
52
53
54
55
56
57
58
59
# File 'git_repository.rb', line 50

def branch_name(safe: false)
  ref = popen_git("rev-parse", "--symbolic-full-name", "HEAD", safe:)
  return if ref.blank?
  return "HEAD" if ref == "HEAD"

  refs_format = "refs/heads/"
  return ref.delete_prefix(refs_format) if ref.start_with?(refs_format)

  raise "Unexpected HEAD ref format: #{ref}"
end

#commit_message(commit = "HEAD", safe: false) ⇒ String?

Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает полный текст указанного коммита или коммита HEAD, если коммит не указан.

Параметры:

  • commit (String) (по умолчанию: "HEAD")
  • safe (Boolean) (по умолчанию: false)

Возвращает:

  • (String, nil)


110
111
112
# File 'git_repository.rb', line 110

def commit_message(commit = "HEAD", safe: false)
  popen_git("log", "-1", "--pretty=%B", commit, "--", safe:, err: :out)&.strip
end

#default_origin_branch? ⇒ Boolean?

Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает true, если текущая ветка репозитория совпадает с веткой origin по умолчанию.

Возвращает:

  • (Boolean, nil)


87
88
89
# File 'git_repository.rb', line 87

def default_origin_branch?
  origin_branch_name == branch_name
end

#git_repository? ⇒ Boolean

Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает:

  • (Boolean)


19
20
21
# File 'git_repository.rb', line 19

def git_repository?
  pathname.join(".git").exist?
end

#head_ref(safe: false) ⇒ String?

Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает полный хеш коммита HEAD.

Параметры:

  • safe (Boolean) (по умолчанию: false)

Возвращает:

  • (String, nil)


31
32
33
# File 'git_repository.rb', line 31

def head_ref(safe: false)
  popen_git("rev-parse", "--verify", "--quiet", "HEAD", safe:)
end

#last_commit_date ⇒ String?

Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает дату последнего коммита в формате YYYY-MM-DD.

Возвращает:

  • (String, nil)


93
94
95
# File 'git_repository.rb', line 93

def last_commit_date
  popen_git("show", "-s", "--format=%cd", "--date=short", "HEAD")
end

#last_committed ⇒ String?

Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает относительную дату последнего коммита, например «1 час назад»

Возвращает:

  • (String, nil)


44
45
46
# File 'git_repository.rb', line 44

def last_committed
  popen_git("show", "-s", "--format=%cr", "HEAD")
end

#origin_branch_name ⇒ String?

Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает имя ветки HEAD origin по умолчанию.

Возвращает:

  • (String, nil)


75
76
77
78
79
80
81
82
83
# File 'git_repository.rb', line 75

def origin_branch_name
  ref = popen_git("symbolic-ref", "-q", "refs/remotes/origin/HEAD")
  return if ref.blank?

  refs_format = "refs/remotes/origin/"
  return ref.delete_prefix(refs_format) if ref.start_with?(refs_format)

  raise "Unexpected origin/HEAD ref format: #{ref}"
end

#origin_has_branch?(branch) ⇒ Boolean

Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает true, если указанная ветка существует в origin

Параметры:

  • branch (String)

Возвращает:

  • (Boolean)


99
100
101
# File 'git_repository.rb', line 99

def origin_has_branch?(branch)
  popen_git("ls-remote", "--heads", "origin", branch).present?
end

#origin_url ⇒ String?

Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает URL удалённого репозитория origin в Git.

Возвращает:

  • (String, nil)


25
26
27
# File 'git_repository.rb', line 25

def origin_url
  popen_git("config", "--local", "--get", "remote.origin.url", no_global_config: true)
end

#rename_branch(old:, new:) ⇒ void

Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Этот метод возвращает неопределённое значение.

Изменяет имя локальной ветки

Параметры:

  • old (String)
  • new (String)


63
64
65
# File 'git_repository.rb', line 63

def rename_branch(old:, new:)
  popen_git("branch", "-m", old, new)
end

#set_head_origin_auto ⇒ void

Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Этот метод возвращает неопределённое значение.



104
105
106
# File 'git_repository.rb', line 104

def set_head_origin_auto
  popen_git("remote", "set-head", "origin", "--auto")
end

#set_upstream_branch(local:, origin:) ⇒ void

Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Этот метод возвращает неопределённое значение.

Назначает локальной ветке upstream-ветку для отслеживания

Параметры:

  • local (String)
  • origin (String)


69
70
71
# File 'git_repository.rb', line 69

def set_upstream_branch(local:, origin:)
  popen_git("branch", "-u", "origin/#{origin}", local)
end

#short_head_ref(length: nil, safe: false) ⇒ String?

Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает короткий хеш коммита HEAD.

Параметры:

  • length (Integer, nil) (по умолчанию: nil)
  • safe (Boolean) (по умолчанию: false)

Возвращает:

  • (String, nil)


37
38
39
40
# File 'git_repository.rb', line 37

def short_head_ref(length: nil, safe: false)
  short_arg = length.present? ? "--short=#{length}" : "--short"
  popen_git("rev-parse", short_arg, "--verify", "--quiet", "HEAD", safe:)
end

© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/GitRepository.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API