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

SourceTree Repository browser: change multiple local paths simultaneously

simplytech January 14, 2019

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
Atlassian Team members are employees working across the company in a wide variety of roles.
January 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

simplytech January 15, 2019

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
AUG Leaders

Atlassian Community Events