39 comments

[ 3.0 ms ] story [ 87.5 ms ] thread
Hey, developer here. Made this in my spare time to get reacquainted with django and to learn how to use celery and celery beat. I also love the idea of using data that people are already creating passively in a new way that breathes some more use into it (e.g. using github commits to give a daily status update).

Thanks for checking it out!

Cool idea.

I can't tell from the screenshots: does it show changes across all branches in the repository?

Checked it out and it seems like it only does the default branch.
It seems like you don't allow someone to get their organization's feed unless they are an admin for that organization. Is that correct? All I can get are my personal repos.
I'm able to access repos for organizations I'm not an admin for. That's very strange.

I'll have to look into it. Feel free to hit me up at hello@diffmatic.com with your account info and I'll see what I can do.

(comment deleted)
Hey, this looks cool but I don't want grant write permission to my public and private repos just to get a daily status update. Is it possible to ask for read-only perm?
+1 to this sentiment... I want to use this service, but it requires I give it way too many permissions. I actually couldn't click "authorize" when I looked at how much access it wanted (probably an oversight, and nothing nefarious).

Hopefully it gets fixed, because this is sweet. I'd happily pay $20-$50 a month for my team to get an overview of github activity for our organization.

Yea I wish it was possible. The read/write repo permission is the only way I've found to be able to list all of the private repositories in an org. There's a few other threads in these comments that cover the specifics a little bit better but the gist is that GitHub has pretty coarse grained permissions unfortunately.
+1 - I will never use this with these kinds of permissions.
Looks like this has been fixed. I've just signed up and it was only asking for read permissions.
If I revoke the application from github and sign up again I am asked for write permissions to private repos still :(
Nice. Could you add bitbucket support too?
Any chance we could get GitLab/generic Git (even just from commit author) support?
I'd love to support other providers (BitBucket) and have generic Git support. This is a quick first pass since GitHub comes built in to python-social-auth and their API is really well documented and has good python wrappers.

I think it'd be interesting to have a daemon sitting on devs' computers that could track unpushed commits or even in-progress code. It might be a little bit intrusive but I think that having more insight could be really neat.

Commit hooks (no daemon necessary) might work for unpushed commits?

inotify/fsevents watching of folders (for in-progress code) is pretty common nowadays for various things, is it not? I guess some devs might not like having their unfinished code made visible to others?

Time is diffmatic.
(comment deleted)
How come the application needs write permissions to repos (private and public)?
Yeah, I was super excited until I saw this - write perms to repos and personal info. Especially since I use github for work and admin a bunch of repos, I can't take the risk of allowing write access.
Unfortunately, as far as I can tell, there isn't any way to specifically ask for only read permissions for private repos. The commit statuses permission doesn't allow for listing of private repos either.

If I'm completely missing something than I'd be more than happy to get a change deployed.

Judging by the screenshots of the product, it seems like repo:status is the permission that you should be asking for instead of repo. It's still read/write, but only to commit statuses and not code.

Is there something that your product is doing that requires read access to the code?

I tried repo:status but from my testing I wasn't able to list private repos. So even though I might be able to get their commits I had no way of discovering all of the private repos for a person/org.

I'll reinvestigate this as soon as I'm off the caltrain and have decent internet :)

I wish GitHub would add more fine-grained permissions. Right now authorizing an app like this is giving away the keys to the kingdom and that's a little scary. For a similar reason we chose to run Hound (https://houndci.com/) locally instead of use the SaaS version.
> I wish GitHub would add more fine-grained permissions.

Yes, for both API and direct access. You can't allow somebody to triage bugs without giving them write access to the repository itself.

Could you ask for either public or private scope?
There doesn't seem to be such a thing in github, at least there wasn't last time I had to deal with this. If they've updated it since then that'd be awesome, but I think this is a long-standing issue.
Wait, isn't this the same information the github dashboard, repo commit log (on github.com), desktop client (on mac), and cli already tell you? Am I missing something?
Yes it is, but as mentioned it gives you daily digest of it in your email inbox..
It's repackaged according to person and repo and in your inbox every day. I'm also working on joining it with other data sources (trello, jira, sentry, etc.) to make it more holistic.
Looks Cool... Definitely going to signup..
It would be really cool if this could give some insight into how much weight each commit made carries. For example it could flag a commit that contains significantly more code changes than that team member typically submits. Or if a section of code has been stable and untouched for a while, if a change comes in that may be able to be classified as a bug fix. Similarly if a bunch of new files are added, that could be highlighted as a feature build.
I agree! There is a ton of awesome information just waiting to be uncovered. Diffmatic currently just sends out a really raw digest but getting smart about surfacing meaningful and important changes would be huge. I think that incorporating sources like sentry and other exception trackers and correlating them back to code changes in the digest would be very interesting and useful.
Throw in some git analysis. What I find useful is highlighting files with the most frequent and # of changes. "Hot files" like a controller that is constantly getting logic added and modified it's probably a good target for refactoring and future changes should be more closely peer reviewed.
Conversely, I'm also curious to find cold files or files that people are afraid to touch.
This is awesome - I've been wanting this exact tool for the last 5 years on various projects.

Over time, it would be good to have little bits of markup that allows you to highlight things like outstanding questions that need answering by a specific person, pull requests that need review, blocking issues etc

And then have them pulled out in the summary email.