Custom "Repository action" fails due to "could not read Password ... Device not configured"

I have set up a few Custom Actions in SourceTree, and they have all worked fine for me. For instance, I have some custom cherry-pick commands that I use from time to time:

  • Name: Cherry Pick (mainline=1)
    Script to run: /Applications/SourceTree.app/Contents/Resources/git_local/bin/git
    Parameters: cherry-pick $SHA -m 1
  • Name: Cherry Pick (mainline=2)
    Script to run: /Applications/SourceTree.app/Contents/Resources/git_local/bin/git
    Parameters: cherry-pick $SHA -m 2
  • Name: Cherry Pick (no commit)
    Script to run: /Applications/SourceTree.app/Contents/Resources/git_local/bin/git
    Parameters: cherry-pick -n $SHA

However, I just created a new Custom Action that operates on the repository in general (not on a specific commit) and I just can't get it to work. Here is its description:

  • Name: Push (force)
    Script to run: /Applications/SourceTree.app/Contents/Resources/git_local/bin/git
    Parameters: push --force

Each time I attempt to execute this Custom Action, I get this error:

git push --force
could not read Password for 'https://farmerpaul@github.com': Device not configured
Completed with errors, see above

Does anyone have any idea why there is this authentication error when I try to simply to do a "git push --force" via a Custom Action?

5 answers

This widget could not be displayed.

This might be a silly question, but can you do a git push --force outside of this custom action generally?

This widget could not be displayed.

Yup, that's working fine, but only if I use /usr/bin/git (which is the default). If I try to use /Applications/SourceTree.app/Contents/Resources/git_local/bin/git to do a push --force, it fails with a slightly different error:

fatal: Unable to find remote helper for 'https'

But it seems to fail with the former error in SourceTree, regardless of which git binary I choose for the Custom Action.

This widget could not be displayed.

Well, this is a known error, and the answer is to use SSH instead of HTTPS, but that's not satisfactory. I'll take a deeper look and see what's going on here.

This widget could not be displayed.

It's worth trying SSH (although requires a bit of setting up). We've got a guide here: https://confluence.atlassian.com/display/BITBUCKET/Using+the+SSH+protocol+with+Bitbucket

I'll still look into this HTTPS issue in the meantime, but I suspect using SSH in your case will resolve the issue.

This widget could not be displayed.

Thanks for checking into it. I don't really care which protocol I use, so long as it's easy enough to set up. You've made me such a sucker for GUIs since SourceTree; the less I have to set up via the command line, the better!

Suggest an answer

Log in or Sign up to answer
Community showcase
Published May 30, 2018 in Sourcetree

Tip from the team: configuring Git or Mercurial in Sourcetree

Supported Platforms macOS Windows To make using Sourcetree as simple yet powerful as possible we embed (bundle) dependencies such as Git, Git LFS, and Mercurial. We strive to keep these...

868 views 2 3
Read article

Atlassian User Groups

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

Find a group

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

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you