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

SourceTree Repository browser: change multiple local paths simultaneously

Hello!

All my repositories used to be in /first/path/to/projects

Now they are in /second/path/to/projects

I cannot create a symlink from /first to /second, so please don't suggest this as a solution.

I need to be able to change all the paths in the Repository Browser window. I started doing it manually one by one, then I decided to ask this question:

Is there a way to do a global search and replace?

I tried editing ~/Library/Application Support/SourceTree/browser.plist but after I saved it, I got an empty Repository Browser as if I had deleted everything.

I vaguely remember something about macOS needing to "import" plist files after you edit them. If this is the case, I don't know how to do that.

Any help would be greatly appreciated!

1 answer

0 votes
bgannin Atlassian Team Jan 14, 2019

Hi Alain,

The plist is saved in the "binary plist file" format for performance. This is only properly editable by certain text or dedicated editors. If your editor handles it then you can search & replace for the exact replacements. That should, in theory, work.

If not there are two options:

1. open each broken bookmark - it'll ask for the new location

2. delete bookmarks, use the "scan directory for repositories" feature to re-add

Hope that helps a bit.

Brian Ganninger
Senior Mac Developer, Sourcetree

Thanks Brian for your prompt reply and suggestions!

I did try editing the binary plist file in a binary editor. I also tried editing using Xcode. Both resulted in a completely empty repository browser window, even if I just edited one path. Maybe the binary plist format also contains the string length somewhere?

I know about the scan directory feature. Unfortunately, it's more complicated than a simple scan. I name my bookmarks manually. Therefore, I need to keep the names and only change the path. The automatic scanning will choose names automatically based on the last child in the path tree, e.g. I had given /first/path/to/projects/supplier-1/proj-1 the name "Supplier-1/Proj-1" and /first/path/to/projects/supplier-2/proj-1 the name "Supplier-2/Proj-1". The automatic scan would name both "proj-1"

Suggest an answer

Log in or Sign up to answer
TAGS
Community showcase
Published in Sourcetree

Sourcetree for Windows - CVE-2019-11582 - Remote Code Execution vulnerability

A vulnerability has been published today in regards to Sourcetree for Windows.  The goal of this article is to give you a summary of information we have gathered from Atlassian Community as a st...

4,927 views 0 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