Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
S
spring-boot
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
DEMO
spring-boot
Commits
7561123c
Commit
7561123c
authored
Jun 05, 2020
by
Phillip Webb
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch '2.2.x' into 2.3.x
Closes gh-21709
parents
ba53d100
10fdd650
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
71 additions
and
0 deletions
+71
-0
prepare-forward-merge
git/hooks/prepare-forward-merge
+71
-0
No files found.
git/hooks/prepare-forward-merge
0 → 100755
View file @
7561123c
#!/usr/bin/ruby
require
'json'
require
'net/http'
require
'yaml'
require
'logger'
$master_branch
=
"2.4.x"
$log
=
Logger
.
new
(
STDOUT
)
$log
.
level
=
Logger
::
WARN
def
get_fixed_issues
()
$log
.
debug
"Searching for for forward merge"
rev
=
`git rev-parse -q --verify MERGE_HEAD`
.
strip
$log
.
debug
"Found
#{
rev
}
from git rev-parse"
return
nil
unless
rev
fixed
=
[]
message
=
`git log -1 --pretty=%B
#{
rev
}
`
message
.
each_line
do
|
line
|
$log
.
debug
"Checking
#{
line
}
for message"
fixed
<<
line
.
strip
if
/^(?:Fixes|Closes) gh-(\d+)/
.
match
(
line
)
end
$log
.
debug
"Found fixed issues
#{
fixed
}
"
return
fixed
;
end
def
rewrite_message
(
message_file
,
fixed
)
current_branch
=
`git rev-parse --abbrev-ref HEAD`
if
current_branch
==
"master"
current_branch
=
$master_branch
end
rewritten_message
=
""
message
=
File
.
read
(
message_file
)
message
.
each_line
do
|
line
|
match
=
/^Merge.*branch\ '(.*)'(?:\ into\ (.*))$/
.
match
(
line
)
if
match
from_branch
=
match
[
1
]
if
from_branch
.
include?
"/"
from_branch
=
from_branch
.
partition
(
"/"
).
last
end
to_brach
=
match
[
2
]
$log
.
debug
"Rewriting merge message"
line
=
"Merge branch '
#{
from_branch
}
'"
+
(
to_brach
?
" into
#{
to_brach
}
\n
"
:
"
\n
"
)
end
if
fixed
and
line
.
start_with?
(
"#"
)
$log
.
debug
"Adding fixed"
rewritten_message
<<
"
\n
"
fixed
.
each
do
|
fixes
|
rewritten_message
<<
"
#{
fixes
}
in
#{
current_branch
}
\n
"
end
fixed
=
nil
end
rewritten_message
<<
line
end
return
rewritten_message
end
$log
.
debug
"Running prepare-forward-merge hook script"
message_file
=
ARGV
[
0
]
message_type
=
ARGV
[
1
]
if
message_type
!=
"merge"
$log
.
debug
"Not a merge commit"
exit
0
;
end
$log
.
debug
"Searching for for forward merge"
fixed
=
get_fixed_issues
()
rewritten_message
=
rewrite_message
(
message_file
,
fixed
)
File
.
write
(
message_file
,
rewritten_message
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment