git 1.19.1 → 5.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.yardopts +5 -1
- data/AI_POLICY.md +24 -0
- data/CHANGELOG.md +689 -0
- data/CODE_OF_CONDUCT.md +25 -0
- data/CONTRIBUTING.md +1175 -97
- data/GOVERNANCE.md +106 -0
- data/LICENSE +1 -1
- data/MAINTAINERS.md +17 -4
- data/README.md +476 -320
- data/UPGRADING.md +1138 -0
- data/git.gemspec +124 -36
- data/lib/git/author.rb +39 -7
- data/lib/git/author_info.rb +66 -0
- data/lib/git/branch.rb +615 -65
- data/lib/git/branch_delete_failure.rb +34 -0
- data/lib/git/branch_delete_result.rb +66 -0
- data/lib/git/branch_info.rb +237 -0
- data/lib/git/branches.rb +167 -44
- data/lib/git/command_line/base.rb +247 -0
- data/lib/git/command_line/capturing.rb +308 -0
- data/lib/git/command_line/result.rb +88 -0
- data/lib/git/command_line/streaming.rb +236 -0
- data/lib/git/command_line.rb +52 -0
- data/lib/git/commands/add.rb +139 -0
- data/lib/git/commands/am/abort.rb +43 -0
- data/lib/git/commands/am/apply.rb +263 -0
- data/lib/git/commands/am/continue.rb +43 -0
- data/lib/git/commands/am/quit.rb +43 -0
- data/lib/git/commands/am/retry.rb +49 -0
- data/lib/git/commands/am/show_current_patch.rb +64 -0
- data/lib/git/commands/am/skip.rb +42 -0
- data/lib/git/commands/am.rb +33 -0
- data/lib/git/commands/apply.rb +242 -0
- data/lib/git/commands/archive/list_formats.rb +46 -0
- data/lib/git/commands/archive.rb +145 -0
- data/lib/git/commands/arguments.rb +4521 -0
- data/lib/git/commands/base.rb +502 -0
- data/lib/git/commands/branch/copy.rb +102 -0
- data/lib/git/commands/branch/create.rb +177 -0
- data/lib/git/commands/branch/delete.rb +88 -0
- data/lib/git/commands/branch/list.rb +178 -0
- data/lib/git/commands/branch/move.rb +102 -0
- data/lib/git/commands/branch/set_upstream.rb +86 -0
- data/lib/git/commands/branch/show_current.rb +49 -0
- data/lib/git/commands/branch/unset_upstream.rb +53 -0
- data/lib/git/commands/branch.rb +34 -0
- data/lib/git/commands/cat_file/batch.rb +385 -0
- data/lib/git/commands/cat_file/filtered.rb +105 -0
- data/lib/git/commands/cat_file/raw.rb +271 -0
- data/lib/git/commands/cat_file.rb +49 -0
- data/lib/git/commands/checkout/branch.rb +153 -0
- data/lib/git/commands/checkout/files.rb +116 -0
- data/lib/git/commands/checkout.rb +38 -0
- data/lib/git/commands/checkout_index.rb +106 -0
- data/lib/git/commands/clean.rb +102 -0
- data/lib/git/commands/clone.rb +241 -0
- data/lib/git/commands/commit.rb +273 -0
- data/lib/git/commands/commit_tree.rb +101 -0
- data/lib/git/commands/config_option_syntax/add.rb +86 -0
- data/lib/git/commands/config_option_syntax/get.rb +121 -0
- data/lib/git/commands/config_option_syntax/get_all.rb +118 -0
- data/lib/git/commands/config_option_syntax/get_color.rb +95 -0
- data/lib/git/commands/config_option_syntax/get_color_bool.rb +96 -0
- data/lib/git/commands/config_option_syntax/get_regexp.rb +119 -0
- data/lib/git/commands/config_option_syntax/get_urlmatch.rb +111 -0
- data/lib/git/commands/config_option_syntax/list.rb +111 -0
- data/lib/git/commands/config_option_syntax/remove_section.rb +79 -0
- data/lib/git/commands/config_option_syntax/rename_section.rb +83 -0
- data/lib/git/commands/config_option_syntax/replace_all.rb +109 -0
- data/lib/git/commands/config_option_syntax/set.rb +119 -0
- data/lib/git/commands/config_option_syntax/unset.rb +92 -0
- data/lib/git/commands/config_option_syntax/unset_all.rb +94 -0
- data/lib/git/commands/config_option_syntax.rb +56 -0
- data/lib/git/commands/describe.rb +156 -0
- data/lib/git/commands/diff.rb +657 -0
- data/lib/git/commands/diff_files.rb +519 -0
- data/lib/git/commands/diff_index.rb +499 -0
- data/lib/git/commands/fetch.rb +354 -0
- data/lib/git/commands/fsck.rb +138 -0
- data/lib/git/commands/gc.rb +134 -0
- data/lib/git/commands/grep.rb +339 -0
- data/lib/git/commands/init.rb +101 -0
- data/lib/git/commands/log.rb +634 -0
- data/lib/git/commands/ls_files.rb +195 -0
- data/lib/git/commands/ls_remote.rb +161 -0
- data/lib/git/commands/ls_tree.rb +135 -0
- data/lib/git/commands/maintenance/register.rb +77 -0
- data/lib/git/commands/maintenance/run.rb +109 -0
- data/lib/git/commands/maintenance/start.rb +71 -0
- data/lib/git/commands/maintenance/stop.rb +60 -0
- data/lib/git/commands/maintenance/unregister.rb +84 -0
- data/lib/git/commands/maintenance.rb +31 -0
- data/lib/git/commands/merge/abort.rb +44 -0
- data/lib/git/commands/merge/continue.rb +44 -0
- data/lib/git/commands/merge/quit.rb +46 -0
- data/lib/git/commands/merge/start.rb +250 -0
- data/lib/git/commands/merge.rb +28 -0
- data/lib/git/commands/merge_base.rb +91 -0
- data/lib/git/commands/mv.rb +82 -0
- data/lib/git/commands/name_rev.rb +119 -0
- data/lib/git/commands/pull.rb +382 -0
- data/lib/git/commands/push.rb +251 -0
- data/lib/git/commands/read_tree.rb +154 -0
- data/lib/git/commands/remote/add.rb +96 -0
- data/lib/git/commands/remote/get_url.rb +68 -0
- data/lib/git/commands/remote/list.rb +56 -0
- data/lib/git/commands/remote/prune.rb +63 -0
- data/lib/git/commands/remote/remove.rb +52 -0
- data/lib/git/commands/remote/rename.rb +76 -0
- data/lib/git/commands/remote/set_branches.rb +70 -0
- data/lib/git/commands/remote/set_head.rb +89 -0
- data/lib/git/commands/remote/set_url.rb +78 -0
- data/lib/git/commands/remote/set_url_add.rb +70 -0
- data/lib/git/commands/remote/set_url_delete.rb +71 -0
- data/lib/git/commands/remote/show.rb +77 -0
- data/lib/git/commands/remote/update.rb +79 -0
- data/lib/git/commands/remote.rb +42 -0
- data/lib/git/commands/repack.rb +281 -0
- data/lib/git/commands/reset.rb +154 -0
- data/lib/git/commands/rev_parse.rb +304 -0
- data/lib/git/commands/revert/abort.rb +45 -0
- data/lib/git/commands/revert/continue.rb +62 -0
- data/lib/git/commands/revert/quit.rb +47 -0
- data/lib/git/commands/revert/skip.rb +44 -0
- data/lib/git/commands/revert/start.rb +158 -0
- data/lib/git/commands/revert.rb +29 -0
- data/lib/git/commands/rm.rb +113 -0
- data/lib/git/commands/show.rb +632 -0
- data/lib/git/commands/show_ref/exclude_existing.rb +119 -0
- data/lib/git/commands/show_ref/exists.rb +80 -0
- data/lib/git/commands/show_ref/list.rb +149 -0
- data/lib/git/commands/show_ref/verify.rb +122 -0
- data/lib/git/commands/show_ref.rb +42 -0
- data/lib/git/commands/stash/apply.rb +81 -0
- data/lib/git/commands/stash/branch.rb +67 -0
- data/lib/git/commands/stash/clear.rb +43 -0
- data/lib/git/commands/stash/create.rb +60 -0
- data/lib/git/commands/stash/drop.rb +73 -0
- data/lib/git/commands/stash/list.rb +43 -0
- data/lib/git/commands/stash/pop.rb +87 -0
- data/lib/git/commands/stash/push.rb +112 -0
- data/lib/git/commands/stash/show.rb +158 -0
- data/lib/git/commands/stash/store.rb +72 -0
- data/lib/git/commands/stash.rb +38 -0
- data/lib/git/commands/status.rb +174 -0
- data/lib/git/commands/symbolic_ref/delete.rb +72 -0
- data/lib/git/commands/symbolic_ref/read.rb +99 -0
- data/lib/git/commands/symbolic_ref/update.rb +79 -0
- data/lib/git/commands/symbolic_ref.rb +38 -0
- data/lib/git/commands/tag/create.rb +142 -0
- data/lib/git/commands/tag/delete.rb +57 -0
- data/lib/git/commands/tag/list.rb +146 -0
- data/lib/git/commands/tag/verify.rb +71 -0
- data/lib/git/commands/tag.rb +26 -0
- data/lib/git/commands/update_ref/batch.rb +145 -0
- data/lib/git/commands/update_ref/delete.rb +90 -0
- data/lib/git/commands/update_ref/update.rb +103 -0
- data/lib/git/commands/update_ref.rb +42 -0
- data/lib/git/commands/version.rb +60 -0
- data/lib/git/commands/worktree/add.rb +139 -0
- data/lib/git/commands/worktree/list.rb +64 -0
- data/lib/git/commands/worktree/lock.rb +58 -0
- data/lib/git/commands/worktree/management_base.rb +51 -0
- data/lib/git/commands/worktree/move.rb +66 -0
- data/lib/git/commands/worktree/prune.rb +67 -0
- data/lib/git/commands/worktree/remove.rb +63 -0
- data/lib/git/commands/worktree/repair.rb +76 -0
- data/lib/git/commands/worktree/unlock.rb +47 -0
- data/lib/git/commands/worktree.rb +43 -0
- data/lib/git/commands/write_tree.rb +68 -0
- data/lib/git/commands.rb +88 -0
- data/lib/git/config.rb +72 -5
- data/lib/git/config_entry_info.rb +106 -0
- data/lib/git/configuring.rb +795 -0
- data/lib/git/detached_head_info.rb +57 -0
- data/lib/git/diff.rb +437 -86
- data/lib/git/diff_file_numstat_info.rb +31 -0
- data/lib/git/diff_file_patch_info.rb +136 -0
- data/lib/git/diff_file_raw_info.rb +129 -0
- data/lib/git/diff_info.rb +162 -0
- data/lib/git/diff_path_status.rb +107 -0
- data/lib/git/diff_result.rb +34 -0
- data/lib/git/diff_stats.rb +111 -0
- data/lib/git/dirstat_info.rb +102 -0
- data/lib/git/encoding_utils.rb +32 -1
- data/lib/git/errors.rb +285 -0
- data/lib/git/escaped_path.rb +57 -5
- data/lib/git/execution_context/global.rb +31 -0
- data/lib/git/execution_context/repository.rb +151 -0
- data/lib/git/execution_context.rb +559 -0
- data/lib/git/factories.rb +813 -0
- data/lib/git/file_ref.rb +77 -0
- data/lib/git/fsck_object.rb +56 -0
- data/lib/git/fsck_result.rb +132 -0
- data/lib/git/log.rb +306 -90
- data/lib/git/object.rb +563 -141
- data/lib/git/parsers/branch.rb +240 -0
- data/lib/git/parsers/cat_file.rb +111 -0
- data/lib/git/parsers/config_entry.rb +110 -0
- data/lib/git/parsers/diff.rb +792 -0
- data/lib/git/parsers/fsck.rb +144 -0
- data/lib/git/parsers/grep.rb +42 -0
- data/lib/git/parsers/ls_remote.rb +79 -0
- data/lib/git/parsers/ls_tree.rb +58 -0
- data/lib/git/parsers/remote.rb +162 -0
- data/lib/git/parsers/stash.rb +292 -0
- data/lib/git/parsers/status.rb +251 -0
- data/lib/git/parsers/tag.rb +341 -0
- data/lib/git/parsers/worktree.rb +185 -0
- data/lib/git/path_resolver.rb +206 -0
- data/lib/git/remote.rb +165 -12
- data/lib/git/remote_info.rb +203 -0
- data/lib/git/repository/branching.rb +964 -0
- data/lib/git/repository/committing.rb +246 -0
- data/lib/git/repository/context_helpers.rb +293 -0
- data/lib/git/repository/diffing.rb +785 -0
- data/lib/git/repository/inspecting.rb +252 -0
- data/lib/git/repository/logging.rb +410 -0
- data/lib/git/repository/maintenance.rb +65 -0
- data/lib/git/repository/merging.rb +451 -0
- data/lib/git/repository/object_operations.rb +1551 -0
- data/lib/git/repository/remote_operations.rb +984 -0
- data/lib/git/repository/shared_private.rb +120 -0
- data/lib/git/repository/staging.rb +587 -0
- data/lib/git/repository/stashing.rb +623 -0
- data/lib/git/repository/status_operations.rb +249 -0
- data/lib/git/repository/worktree_operations.rb +339 -0
- data/lib/git/repository.rb +484 -2
- data/lib/git/stash.rb +109 -12
- data/lib/git/stash_info.rb +102 -0
- data/lib/git/stashes.rb +169 -26
- data/lib/git/status.rb +308 -122
- data/lib/git/status_file_info.rb +258 -0
- data/lib/git/status_info.rb +189 -0
- data/lib/git/tag_delete_failure.rb +34 -0
- data/lib/git/tag_delete_result.rb +66 -0
- data/lib/git/tag_info.rb +99 -0
- data/lib/git/url.rb +15 -8
- data/lib/git/version.rb +113 -2
- data/lib/git/version_constraint.rb +85 -0
- data/lib/git/worktree.rb +150 -8
- data/lib/git/worktree_info.rb +128 -0
- data/lib/git/worktrees.rb +118 -13
- data/lib/git.rb +632 -234
- metadata +369 -54
- data/.github/stale.yml +0 -25
- data/.github/workflows/continuous_integration.yml +0 -49
- data/.gitignore +0 -10
- data/Dockerfile.changelog-rs +0 -12
- data/Gemfile +0 -5
- data/ISSUE_TEMPLATE.md +0 -15
- data/PULL_REQUEST_TEMPLATE.md +0 -9
- data/RELEASING.md +0 -70
- data/Rakefile +0 -60
- data/lib/git/base/factory.rb +0 -99
- data/lib/git/base.rb +0 -711
- data/lib/git/command_line_result.rb +0 -86
- data/lib/git/failed_error.rb +0 -53
- data/lib/git/git_execute_error.rb +0 -7
- data/lib/git/index.rb +0 -5
- data/lib/git/lib.rb +0 -1328
- data/lib/git/path.rb +0 -31
- data/lib/git/signaled_error.rb +0 -50
- data/lib/git/working_directory.rb +0 -4
data/Dockerfile.changelog-rs
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
FROM rust
|
|
2
|
-
|
|
3
|
-
# Build the docker image (from this project's root directory):
|
|
4
|
-
# docker build --file Dockerfile.changelog-rs --tag changelog-rs .
|
|
5
|
-
#
|
|
6
|
-
# Use this image to output a changelog (from this project's root directory):
|
|
7
|
-
# docker run --rm --volume "$PWD:/worktree" changelog-rs v1.9.1 v1.10.0
|
|
8
|
-
|
|
9
|
-
RUN cargo install changelog-rs
|
|
10
|
-
WORKDIR /worktree
|
|
11
|
-
|
|
12
|
-
ENTRYPOINT ["/usr/local/cargo/bin/changelog-rs", "/worktree"]
|
data/Gemfile
DELETED
data/ISSUE_TEMPLATE.md
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
### Subject of the issue
|
|
2
|
-
Describe your issue here.
|
|
3
|
-
|
|
4
|
-
### Your environment
|
|
5
|
-
* version of git and ruby-git
|
|
6
|
-
* version of ruby
|
|
7
|
-
|
|
8
|
-
### Steps to reproduce
|
|
9
|
-
Tell us how to reproduce this issue.
|
|
10
|
-
|
|
11
|
-
### Expected behaviour
|
|
12
|
-
What did you expect to happen?
|
|
13
|
-
|
|
14
|
-
### Actual behaviour
|
|
15
|
-
What actually happened?
|
data/PULL_REQUEST_TEMPLATE.md
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
### Your checklist for this pull request
|
|
2
|
-
🚨Please review the [guidelines for contributing](https://github.com/ruby-git/ruby-git/blob/master/CONTRIBUTING.md) to this repository.
|
|
3
|
-
|
|
4
|
-
- [ ] Ensure all commits include DCO sign-off.
|
|
5
|
-
- [ ] Ensure that your contributions pass unit testing.
|
|
6
|
-
- [ ] Ensure that your contributions contain documentation if applicable.
|
|
7
|
-
|
|
8
|
-
### Description
|
|
9
|
-
Please describe your pull request.
|
data/RELEASING.md
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
# @markup markdown
|
|
3
|
-
# @title Releasing
|
|
4
|
-
-->
|
|
5
|
-
|
|
6
|
-
# How to release a new git.gem
|
|
7
|
-
|
|
8
|
-
Releasing a new version of the `git` gem requires these steps:
|
|
9
|
-
|
|
10
|
-
- [How to release a new git.gem](#how-to-release-a-new-gitgem)
|
|
11
|
-
- [Install Prerequisites](#install-prerequisites)
|
|
12
|
-
- [Prepare the Release](#prepare-the-release)
|
|
13
|
-
- [Review and Merge the Release](#review-and-merge-the-release)
|
|
14
|
-
- [Build and Release the Gem](#build-and-release-the-gem)
|
|
15
|
-
|
|
16
|
-
These instructions use an example where:
|
|
17
|
-
|
|
18
|
-
- The default branch is `master`
|
|
19
|
-
- The current release version is `1.5.0`
|
|
20
|
-
- You want to create a new *minor* release, `1.6.0`
|
|
21
|
-
|
|
22
|
-
## Install Prerequisites
|
|
23
|
-
|
|
24
|
-
The following tools need to be installed in order to create the release:
|
|
25
|
-
|
|
26
|
-
- [git](https://git-scm.com) is used to interact with the local and remote repositories
|
|
27
|
-
- [gh](https://cli.github.com) is used to create the release and PR in GitHub
|
|
28
|
-
- [Docker](https://www.docker.com) is used to run the script to create the release notes
|
|
29
|
-
|
|
30
|
-
On a Mac, these tools can be installed using [brew](https://brew.sh):
|
|
31
|
-
|
|
32
|
-
```shell
|
|
33
|
-
$ brew install git
|
|
34
|
-
...
|
|
35
|
-
$ brew install gh
|
|
36
|
-
...
|
|
37
|
-
$ brew install --cask docker
|
|
38
|
-
...
|
|
39
|
-
$
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
## Prepare the Release
|
|
43
|
-
|
|
44
|
-
Bump the version, create release notes, tag the release and create a GitHub release and PR which can be used to review the release.
|
|
45
|
-
|
|
46
|
-
Steps:
|
|
47
|
-
|
|
48
|
-
- Check out the code with `git clone https://github.com/ruby-git/ruby-git ruby-git-v1.6.0 && cd ruby-git-v1.6.0`
|
|
49
|
-
- Install development dependencies using bundle `bundle install`
|
|
50
|
-
- Based upon the nature of the changes, decide on the type of release: `major`, `minor`, or `patch` (in this example we will use `minor`)
|
|
51
|
-
- Run the release script `bundle exec create-github-release minor`
|
|
52
|
-
|
|
53
|
-
## Review and Merge the Release
|
|
54
|
-
|
|
55
|
-
Have the release PR approved and merge the changes into the `master` branch.
|
|
56
|
-
|
|
57
|
-
**IMPORTANT** DO NOT merge to the `master` branch using the GitHub UI. Instead use the instructions below.
|
|
58
|
-
|
|
59
|
-
Steps:
|
|
60
|
-
|
|
61
|
-
- Get the release PR reviewed and approved in GitHub
|
|
62
|
-
- Merge the changes with the command `git checkout master && git merge --ff-only v1.6.0 && git push`
|
|
63
|
-
|
|
64
|
-
## Build and Release the Gem
|
|
65
|
-
|
|
66
|
-
Build the gem and publish it to [rubygems.org](https://rubygems.org/gems/git)
|
|
67
|
-
|
|
68
|
-
Steps:
|
|
69
|
-
|
|
70
|
-
- Build and release the gem using rake `bundle exec rake release`
|
data/Rakefile
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
require 'bundler/gem_tasks'
|
|
2
|
-
require 'English'
|
|
3
|
-
|
|
4
|
-
require 'git/version'
|
|
5
|
-
|
|
6
|
-
default_tasks = []
|
|
7
|
-
|
|
8
|
-
desc 'Run Unit Tests'
|
|
9
|
-
task :test do
|
|
10
|
-
sh 'ruby bin/test'
|
|
11
|
-
|
|
12
|
-
# You can run individual test files (or multiple files) from the command
|
|
13
|
-
# line with:
|
|
14
|
-
#
|
|
15
|
-
# $ bin/test tests/units/test_archive.rb
|
|
16
|
-
#
|
|
17
|
-
# $ bin/test tests/units/test_archive.rb tests/units/test_object.rb
|
|
18
|
-
end
|
|
19
|
-
default_tasks << :test
|
|
20
|
-
|
|
21
|
-
unless RUBY_PLATFORM == 'java' || RUBY_ENGINE == 'truffleruby'
|
|
22
|
-
#
|
|
23
|
-
# YARD documentation for this project can NOT be built with JRuby.
|
|
24
|
-
# This project uses the redcarpet gem which can not be installed on JRuby.
|
|
25
|
-
#
|
|
26
|
-
require 'yard'
|
|
27
|
-
YARD::Rake::YardocTask.new
|
|
28
|
-
CLEAN << '.yardoc'
|
|
29
|
-
CLEAN << 'doc'
|
|
30
|
-
default_tasks << :yard
|
|
31
|
-
|
|
32
|
-
require 'yardstick/rake/verify'
|
|
33
|
-
Yardstick::Rake::Verify.new(:'yardstick:coverage') do |t|
|
|
34
|
-
t.threshold = 50
|
|
35
|
-
t.require_exact_threshold = false
|
|
36
|
-
end
|
|
37
|
-
default_tasks << :'yardstick:coverage'
|
|
38
|
-
|
|
39
|
-
desc 'Run yardstick to check yard docs'
|
|
40
|
-
task :yardstick do
|
|
41
|
-
sh "yardstick 'lib/**/*.rb'"
|
|
42
|
-
end
|
|
43
|
-
# Do not include yardstick as a default task for now since there are too many
|
|
44
|
-
# warnings. Will work to get the warnings down before re-enabling it.
|
|
45
|
-
#
|
|
46
|
-
# default_tasks << :yardstick
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
default_tasks << :build
|
|
50
|
-
|
|
51
|
-
task default: default_tasks
|
|
52
|
-
|
|
53
|
-
desc 'Build and install the git gem and run a sanity check'
|
|
54
|
-
task :'test:gem' => :install do
|
|
55
|
-
output = `ruby -e "require 'git'; g = Git.open('.'); puts g.log.size"`.chomp
|
|
56
|
-
raise 'Gem test failed' unless $CHILD_STATUS.success?
|
|
57
|
-
raise 'Expected gem test to return an integer' unless output =~ /^\d+$/
|
|
58
|
-
|
|
59
|
-
puts 'Gem Test Succeeded'
|
|
60
|
-
end
|
data/lib/git/base/factory.rb
DELETED
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
module Git
|
|
2
|
-
|
|
3
|
-
class Base
|
|
4
|
-
|
|
5
|
-
module Factory
|
|
6
|
-
# @return [Git::Branch] an object for branch_name
|
|
7
|
-
def branch(branch_name = self.current_branch)
|
|
8
|
-
Git::Branch.new(self, branch_name)
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
# @return [Git::Branches] a collection of all the branches in the repository.
|
|
12
|
-
# Each branch is represented as a {Git::Branch}.
|
|
13
|
-
def branches
|
|
14
|
-
Git::Branches.new(self)
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
# returns a Git::Worktree object for dir, commitish
|
|
18
|
-
def worktree(dir, commitish = nil)
|
|
19
|
-
Git::Worktree.new(self, dir, commitish)
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
# returns a Git::worktrees object of all the Git::Worktrees
|
|
23
|
-
# objects for this repo
|
|
24
|
-
def worktrees
|
|
25
|
-
Git::Worktrees.new(self)
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
# @return [Git::Object::Commit] a commit object
|
|
29
|
-
def commit_tree(tree = nil, opts = {})
|
|
30
|
-
Git::Object::Commit.new(self, self.lib.commit_tree(tree, opts))
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
# @return [Git::Diff] a Git::Diff object
|
|
34
|
-
def diff(objectish = 'HEAD', obj2 = nil)
|
|
35
|
-
Git::Diff.new(self, objectish, obj2)
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
# @return [Git::Object] a Git object
|
|
39
|
-
def gblob(objectish)
|
|
40
|
-
Git::Object.new(self, objectish, 'blob')
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
# @return [Git::Object] a Git object
|
|
44
|
-
def gcommit(objectish)
|
|
45
|
-
Git::Object.new(self, objectish, 'commit')
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
# @return [Git::Object] a Git object
|
|
49
|
-
def gtree(objectish)
|
|
50
|
-
Git::Object.new(self, objectish, 'tree')
|
|
51
|
-
end
|
|
52
|
-
|
|
53
|
-
# @return [Git::Log] a log with the specified number of commits
|
|
54
|
-
def log(count = 30)
|
|
55
|
-
Git::Log.new(self, count)
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
# returns a Git::Object of the appropriate type
|
|
59
|
-
# you can also call @git.gtree('tree'), but that's
|
|
60
|
-
# just for readability. If you call @git.gtree('HEAD') it will
|
|
61
|
-
# still return a Git::Object::Commit object.
|
|
62
|
-
#
|
|
63
|
-
# object calls a factory method that will run a rev-parse
|
|
64
|
-
# on the objectish and determine the type of the object and return
|
|
65
|
-
# an appropriate object for that type
|
|
66
|
-
#
|
|
67
|
-
# @return [Git::Object] an instance of the appropriate type of Git::Object
|
|
68
|
-
def object(objectish)
|
|
69
|
-
Git::Object.new(self, objectish)
|
|
70
|
-
end
|
|
71
|
-
|
|
72
|
-
# @return [Git::Remote] a remote of the specified name
|
|
73
|
-
def remote(remote_name = 'origin')
|
|
74
|
-
Git::Remote.new(self, remote_name)
|
|
75
|
-
end
|
|
76
|
-
|
|
77
|
-
# @return [Git::Status] a status object
|
|
78
|
-
def status
|
|
79
|
-
Git::Status.new(self)
|
|
80
|
-
end
|
|
81
|
-
|
|
82
|
-
# @return [Git::Object::Tag] a tag object
|
|
83
|
-
def tag(tag_name)
|
|
84
|
-
Git::Object.new(self, tag_name, 'tag', true)
|
|
85
|
-
end
|
|
86
|
-
|
|
87
|
-
# Find as good common ancestors as possible for a merge
|
|
88
|
-
# example: g.merge_base('master', 'some_branch', 'some_sha', octopus: true)
|
|
89
|
-
#
|
|
90
|
-
# @return [Array<Git::Object::Commit>] a collection of common ancestors
|
|
91
|
-
def merge_base(*args)
|
|
92
|
-
shas = self.lib.merge_base(*args)
|
|
93
|
-
shas.map { |sha| gcommit(sha) }
|
|
94
|
-
end
|
|
95
|
-
end
|
|
96
|
-
|
|
97
|
-
end
|
|
98
|
-
|
|
99
|
-
end
|