Macro Repository Suite: Backup and Version Control for Keyboard Maestro

This is fabulous! Thank you for creating and sharing it.

1 Like

Uploaded Version 1.1.0, which is hopefully the final version unless someone finds a bug.

Final clean-up, and added an option for saving sources as JSON files.

Completely re-did the documentation. Put a short(er) description in the first post in this topic, and put the long documentation on GitHub (link in the top post).

Many thanks @DanThomas !! An outstanding macro suite. And thank you @JMichaelTX for all the testing.
Just an idea: backing up to Dropbox may obviate the need for file versioning, unless you think that putting the Repository in a Dropbox folder is not a good idea

1 Like

From personal experience Dropbox versioning is a double edged sword. You get all changes ever recorded without names or comments. So you will never lose change and never know why they happened. GIT/SVN etc require you to name your changes and can display pretty diff files.

Is it madness to consider tying the updater to a timebased (weekly?) trigger and autoupdate? This is easy to do, I just wonder if there are script elements that change without my intervention and therefore would make the diffs messy.

  • Mark

I don't see any reason that wouldn't work. Personally, I use git to store changes, and backup everything with Time Machine. Using git, along with something like SourceTree, makes it easy to compare changes.

@DanThomas I think we're on the same page. My brain has a small fear that gnaws away in the background. What if I forget to run the export change script after making a change :-).

At least when I'm coding in an IDE the version control is usually builtin. Back in pre-historic times, before IDEs spoke to version control systems, I could finish one change and forgot to checkin before starting another.

1 Like

You and I must have had similar coding experiences, because you described it perfectly. I really need the software to do the thinking for me, when it comes to version control and backups. :grinning_face_with_smiling_eyes:

1 Like

I just discovered this excellent addition to KM, despite being a KM user for many years. It took all of two minutes to get it set up and in git. Now I'm going to be forced to clean up years of cruft :).

Thanks for the great tool set, Dan!

-rob.

1 Like

Hey Rob,

You might want to peruse this page to see more of @DanThomas' impressive body of work.

Best Macro List

Pay particular attention to KMFAM if you haven't seen it already.

-Chris

2 Likes

@DanThomas, thanks for sharing this amazing tool. I'm late the party, but better late than never. :slight_smile:

I have two macs with KM and until very recently the libraries were synchronized using the native KM feature. After a few minor changes on one mac, I want to resume synchronization, but beforehand I planned to use Macro Repository Updater on each mac to a common iCloud Drive folder.

On my old mac mini running running Mojave and KM 9.2, the update worked perfectly. On my new Intel MBPro running Big Sur and KM 9.2, the update generates and error dialog soon after starting: Could not convert string to plist. Error: The data couldn't be read because it isn't in the correct format.

The log window has one entry: Getting all macros.

This "Big Sur" error surprised me because the "Mojave" update worked so well and the two macro libraries are nearly identical.

Dan, do you have any suggestions for troubleshooting? Thanks!

No, I don't have any idea, and that scares me. I'll have to think about it.

1 Like

@DanThomas, thanks for the quick reply. I'd be glad to provide any additional information you might need as you think through this.

For anyone following along, Jim and I worked offline on this issue. He discovered that he no longer needed the macros that caused the issue, so we decided to just leave it alone.

If anyone else has this problem, let me know.

2 Likes

How can I suppress the final "Finished" dialog.
I'd like to automate the BU to happen in the early AM without having to address the "finished" dialog window.
Thank you

In the "Macro Repository Updater" macro, copy the Close the "Please Wait" dialog action as shown below, and disable the Have the "Please Wait" dialog indicate we're done action.

2022-04-11_15-48-12

2 Likes

2 posts were split to a new topic: Updating Macros for Teams

a great macro!. thanks very much @DanThomas
I was wondering if favorites (as in favorite actions) are saved in the repository. If not, would it be possible to add them ?
thank you

Thanks! No and no. :slight_smile: But you could always add your own actions to do that.

1 Like

OK. Thank you Dan