It seems everytime I check out the forums someone has posted a new custom SmartApp or device handler. Trying to stay on top of bug fixes etc is very time consuming considering many simply post the code with no link to the origin git repo.
A potential solution to this problem would be to store community smartapps and device handlers in a central git repo that’s managed like any other project. This would allow users to get the latest bug fixes etc by syncing the repo on graph.api.smartthings.com with confidence that the code isn’t going to break anything.
I don’t have enough free time to manage such a project long term but would be interested in helping anyone who’s interested in starting such a project.
I think people are posting new code to their own git repos more often now. I’d rather do this myself. We will see what others think. I think the key is for people to stop posting WIP code to their master branch…
This sure can be frustrating!
My experience managing small software engineering teams is that for ‘n’ developers you have ‘n’ people that know the “best way” to manage a repository! Fortunately – or not, if you’re a Perforce user or a CVS user or a (choke!) even an AccuRev user – using ‘git’ lets you do pretty much whatever!
That being said, I’m the kind of guy that likes what the OP suggests
Check this out… I know this is not exactly what you are looking for but a BIG step in the right right direction:
The idea wouldn’t be to have everyone submitting code to a central repository. Developers would continue posting to their respective repos.
The idea is that a whomever manages the central repo would pull updates and new device handlers etc from the origin repo to the central repo. Assuming the code doesn’t contain any obvious issues it would be included in the central repo. The original author wouldn’t have to do anything other than consent to having their code included.
Many people posting code aren’t developers to begin with. They take a bit of code and through trial and error build a device handler. While it may “work”, the code may contain bugs and other inconsistencies. By pulling updates into the central repo, the code could be given a once over before going “production”.