Are you in the loop? Keep up with the latest by making sure you're subscribed to Community Announcements. Just click Watch and select Articles.

Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Earn badges and make progress

You're on your way to the next level! Join the Kudos program to earn points and save your progress.

Deleted user Avatar
Deleted user

Level 1: Seed

25 / 150 points

Next: Root


1 badge earned


Participate in fun challenges

Challenges come and go, but your rewards stay with you. Do more to earn more!


Gift kudos to your peers

What goes around comes around! Share the love by gifting kudos to your peers.


Rise up in the ranks

Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!


[Bug] macOS - Commit after merge - Incorrect parameter passed to Git Hook "prepare-commit-msg"


Minimum Steps to Reproduce

1) Add a "prepare-commit-msg" Git hook (see Git docs here) that contains a shell script that outputs the second parameter passed to the hook:


echo $2

2) In Sourcetree, perform a merge that has no conflicts WITHOUT the "Commit merge immediately (if no conflicts)" option checked.

3) In Sourcetree, commit the result and click "Show Full Output" in the resulting modal window.

4) Observe the output; specifically around the last line before "Completed successfully."


Expected Result

The "prepare-commit-msg" script should output the second parameter as: "merge".

This can be verified by performing a merge WITH the "Commit merge immediately (if no conflicts)" option checked (which will result in the correct value of "merge" being printed).

See attached screenshot "with_option_checked-CORRECT.png"



Actual Result

The "prepare-commit-msg" script outputs the second parameter as "message" (which is incorrect; it should be "merge").

See attached screenshot "without_option_checked-WRONG.png"



Real use case & Why this is an issue

The steps above are simply to demonstrate the issue.

The actual issue occurs when we perform a merge that has conflicts and then try to commit from Sourcetree. This results in the same scenario as seen in the steps above, where Sourcetree does not commit the merge immediately but does provide a commit message. After we resolve the conflicts we commit from Sourcetree and that is when we see the issue.

My team's "prepare-commnit-msg" hook relies on the second parameter to customize the commit message when a merge conflict exists. We rely on this commit message to know what files had conflicts so we know what files to review and re-test after a merge with conflicts.

Without the correct parameter, our hook cannot detect that a merge is occurring and therefore cannot customize the commit message.



Do not use Sourcetree; commit from the command line.

1 answer

1 accepted

0 votes
Answer accepted

I Filed a bug here:

(Originally, I wasn't logged in so I didn't see the "Create" button).

Arati Mohanty
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
Jul 24, 2023

Thank you @TJ Markham  for raising the bug in Jira. We will update our findings there. Kindly do watch the tickets for more updates.

Suggest an answer

Log in or Sign up to answer
AUG Leaders

Atlassian Community Events