Who we are

We are the developers of Plastic SCM, a full version control stack (not a Git variant). We work on the strongest branching and merging you can find, and a core that doesn't cringe with huge binaries and repos. We also develop the GUIs, mergetools and everything needed to give you the full version control stack.

If you want to give it a try, download it from here.

We also code SemanticMerge, and the gmaster Git client.

plasticnotifier - a small tool to watch repos and show desktop notifications with new csets

Friday, August 19, 2016 Pablo Santos 0 Comments

Today we released plasticnotifier, a small utility to monitor Plastic SCM repositories and notify about new changesets on the Windows Desktop using “toast notifications”.

We published the code and binaries on GitHub so feel free to download it, use it and of course modify it for your own needs :-).

How to use it

Running plasticnotifier is straightforward. All you need is to get the binary (a single .exe file) and run it on your Windows 10 or Windows 8.x (required for the Toast Notifications).

A typical session will be as follows:

plasticnotifier.exe codice@diana.codicefactory.com:9095

Where “codice” is the name of the repo to monitor and “diana.codicefactory.com:9095” our internal server hosting the repo.

plasticnotifier will poll your server every 30 seconds looking for new changesets. As soon as it finds one, a new “banner” or Toast will be displayed in your desktop with the comment and branch of the new changeset.

In case you don’t feel like waiting for the next changeset to be checkedin, you can run plasticnotifier with the --since flag, so the first run will list all the changesets since that date:

plasticnotifier.exe codice@diana.codicefactory.com:9095 --since "8/18/2016 0:00:00"

How it is implemented

Remember you can check the source code here. The app is based on some code to display Toasts, and then the CmdRunner which is just some glue code around our command line tool “cm.exe” to help you running commands and getting results. CmdRunner is the code we actually use to run our internal “smoke test suite” which is a set of +700 automated tests running commands and servers. We use this suite to test Plastic on Windows, Linux and Mac, and a number of different specific OS flavors and database backends.

Contributions are welcome

plasticnotifier is far from complete:

  • It lacks support to track replicated changesets. Suppose it is now 10:30 am and plasticnotifier is running. Then a replica brings new changesets made yesterday on a different repo… plasticnotifier will NOT notify them. Fixing it is rather simple, just a matter of “cm find replicationlog where date >= ‘a given date’” and then looping the csets on each replica.
  • It doesn’t check a cset is notified twice. Fixing it wouldn’t be hard but… not yet there.
  • It can’t monitor multiple repos.

Just to mention a few.

So, give it a try and figure out if you need to add some specific feature :-)

About Toast Notifications

plasticnotifier is a command line application (a C# Console App) and it uses the code we shared yesterday to display Toast Notifications.

Pablo Santos
I'm the CTO and Founder at Códice.
I've been leading Plastic SCM since 2005. My passion is helping teams work better through version control.
I had the opportunity to see teams from many different industries at work while I helped them improving their version control practices.
I really enjoy teaching (I've been a University professor for 6+ years) and sharing my experience in talks and articles.
And I love simple code. You can reach me at @psluaces.

0 comentarios: