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

It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

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

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.

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
Community showcase
Published in Sourcetree

Tip from the team: configure your repos for hosting goodness!

Supported Platforms macOS Windows We recently introduced support for additional hosting services such as GitHub Enterprise, GitLab (Cloud, Community Edition, Enterprise Edition), and...

5,797 views 4 12
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you