A project manager for git projects

I have made a monster, It's amisgitpm. It's a project manager, by that I mean that it can do this

  1. Install from an URL
  2. Know what has been installed
  3. Update installed projects
  4. Edit project setups
  5. Go back to the previous version
  6. Uninstall projects

It can't solve dependencies, and it can't do anything actually useful, except download git projects, and build them

For this purpose I have made one traits crate and several crates that implement those traits as generically as possible, so if anybody wanted to use some of my pieces, they could.

Finally i have glued all the generic implementations and created my own package manager.

The whole code is on github. It has been fmt'ed and clipped, so I hope it's not straight up unreadable.

I would love any feedback as I am rather new to the whole programming thing.