Класс: GitRepository Приватный
- Наследует:
- Object
- Object
- GitRepository
- Определён в:
- git_repository.rb
Обзор
Этот класс является частью приватного API. Этот класс можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого класса, поскольку он может быть удалён или изменён без предупреждения.
Получив Pathname, предоставляет методы для получения информации о репозитории 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. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
14 15 16 | # File 'git_repository.rb', line 14 def initialize(pathname) @pathname = pathname end |
Подробное описание атрибутов экземпляра
#pathname ⇒ Pathname (только для чтения)
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
11 12 13 | # File 'git_repository.rb', line 11 def pathname @pathname end |
Подробное описание методов экземпляра
#branch_name(safe: false) ⇒ String?
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
Возвращает имя текущей извлечённой ветки или HEAD, если репозиторий находится в состоянии отсоединённого HEAD.
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, если коммит не указан.
110 111 112 | # File 'git_repository.rb', line 110 def (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 по умолчанию.
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. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
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.
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.
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 час назад»
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 по умолчанию.
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
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.
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. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
Этот метод возвращает неопределённое значение.
Изменяет имя локальной ветки
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-ветку для отслеживания
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.
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