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!


Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
Community Members
Community Events
Community Groups

How do you force SourceTree to use the correct username?

This seems related:

I'm using SourceTree with a few of my projects, and so far I've really enjoyed it. However, one issue that seems to keep coming back up is that SourceTree seems to have its own rules when it comes to what username to pick as the author when creating commits. Specifically, in a Mercurial repostiroy, it should be using the repo-local `.hg/hgrc` to determine username. If not set there, then it should be using global settings as defined in `~/.hgrc` (in POSIX systems). Both these rules can be overridden directly in SourceTree (although why anyone would want to do that is beyond me).

It doesn't seem to be following these rules. I have a repository in which there is no username set, and I have SourceTree configured to use global settings, but the wrong username is still chosen. See here:

Redacted contents of my `~/.hgrc`:

Also, I do not allow SourceTree to modify any settings:

SourceTree *seems* to - absent any other guidance - want to use "Full Name <>" as the author rather than what's configured in my global `~/.hgrc`, and I don't get where that's coming from at all.

8 answers

Version 1.9.1 force the user to have non-empty email field in the commit dialog(because now it is separate inputfield). That's really annoying because now it is impossible to follow the rule, when commit message should store username only, like in openjdk project. Is it possible to relax this requirement?

You can fix it by


$ git config --global "John Doe" $ git config --global ""


Or  per repo:

$ git config "John Doe" $ git config ""




I'm afraid I don't fully understand this:  SourceTree is using a personal email address to do check ins even though I have checked the "Use global User Settings" and provided details.

I don't fully udnerstand where is it getting my other email from - where is this (I am using a GIT repo and a Mecurial repo and it does it in both.


UPDATE: I found the problem:  it was stored incorrectly in the .girconfig file in my Windows User Profiel

0 votes
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
Oct 09, 2013

Hi Ben,

The part of your config that you've blurred out in your first post seems too short to include your e-mail address. It should be in the format of:

username = Kieran Senior <>

See this web page:

If your config does indeed only include the username portion then SourceTree is behaving correctly because it's taking the config files in their rightful order. You've turned on the option for SourceTree to use the global config settings. To me it looks like the global setting doesn't have an e-mail specified.


I don't see any reason why username has to include an email address, despite the fact that the examples all use that format. I can see from the commit history that Sourcetree actually does respect my settings when it writes the commit (presumably because Sourcetree doesn't actually write the commit), but the value used to populate the Author text input is misleading and should match the value resolved from the configs.

I completely agree with this, there is no reason why the email should be enforced despite the global settings. I have actually had to stop using Source tree because of this. Each time I commit I have to setup a fake email and the use an alternative user and when I do this I need to remember the correct way to avoid it changing my global settings and local settings. This is easy to forget and I have made many commits using the wrong username because of this. It becomes quite frustrating to micro manage. Great program otherwise but unfortunately I cannot use it anymore.

Ok, I thought it was all right now, but I just noticed:

This is still not the correct behavior. The author field should be exactly what I have set in .hgrc and not try to be smart.

It looks like I had an old version as you say. I updated, and it seems that the more recent version (1.7.3) does not set the username in the embedded hgrc. It still won't patch my system hg, but I can get along without that now.

0 votes
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
Oct 06, 2013

As an asides, it looks like you're using a very old version there as you've got the old icon set. We don't publish to the Mac App Store any more. You can get it direct at If the problem exists in the latest version I can take a look into this issue.


I did finally figure it out. Sourcetree has an embedded mercurial that has it's *own hgrc* where extensions and certain ui elements are configured. However, the name and email I used to activate Sourcetree are also there. Sourcetree also fails to patch my system mercurial, so I am forced to edit the embedded hgrc. I consider this to be a major fail:

Suggest an answer

Log in or Sign up to answer
AUG Leaders

Atlassian Community Events