Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitdf3b07d

Browse files
committed
feat: make Git::Log support the git log --merges option
1 parenta832259 commitdf3b07d

File tree

4 files changed

+15
-3
lines changed

4 files changed

+15
-3
lines changed

‎lib/git/lib.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -294,6 +294,7 @@ def log_commits(opts = {})
294294
# * 'tree' [String] the tree sha
295295
# * 'author' [String] the author of the commit and timestamp of when the changes were created
296296
# * 'committer' [String] the committer of the commit and timestamp of when the commit was applied
297+
# * 'merges' [Boolean] if truthy, only include merge commits (aka commits with 2 or more parents)
297298
#
298299
# @raise [ArgumentError] if the revision range (specified with :between or :object) is a string starting with a hyphen
299300
#
@@ -305,6 +306,7 @@ def full_log_commits(opts = {})
305306

306307
arr_opts <<'--pretty=raw'
307308
arr_opts <<"--skip=#{opts[:skip]}"ifopts[:skip]
309+
arr_opts <<'--merges'ifopts[:merges]
308310

309311
arr_opts +=log_path_options(opts)
310312

‎lib/git/log.rb

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,11 +133,16 @@ def cherry
133133
returnself
134134
end
135135

136+
defmerges
137+
dirty_log
138+
@merges=true
139+
returnself
140+
end
141+
136142
defto_s
137143
self.map{ |c|c.to_s}.join("\n")
138144
end
139145

140-
141146
# forces git log to run
142147

143148
defsize
@@ -184,7 +189,7 @@ def run_log
184189
log=@base.lib.full_log_commits(
185190
count:@max_count,all:@all,object:@object,path_limiter:@path,since:@since,
186191
author:@author,grep:@grep,skip:@skip,until:@until,between:@between,
187-
cherry:@cherry
192+
cherry:@cherry,merges:@merges
188193
)
189194
@commits=log.map{ |c|Git::Object::Commit.new(@base,c['sha'],c)}
190195
end

‎tests/test_helper.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ def append_file(name, contents)
131131
#
132132
# @return [void]
133133
#
134-
defassert_command_line_eq(expected_command_line,method::command,mocked_output:nil,include_env:false)
134+
defassert_command_line_eq(expected_command_line,method::command,mocked_output:'',include_env:false)
135135
actual_command_line=nil
136136

137137
command_output=''

‎tests/units/test_log.rb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,4 +128,9 @@ def test_log_cherry
128128
l=@git.log.between('master','cherry').cherry
129129
assert_equal(1,l.size)
130130
end
131+
132+
deftest_log_merges
133+
expected_command_line=['log','--max-count=30','--no-color','--pretty=raw','--merges',{:chdir=>nil}]
134+
assert_command_line_eq(expected_command_line){ |git|git.log.merges.size}
135+
end
131136
end

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp