Adding diff to Gitorious push notification emails

One thing we were really missing in

Gitorious is lack of diff in email notifications. We were using this feature in SVN for “quick code review”. Before we moved to Gitorious, we were using Gitolite where it was possible to configure it with git .hooks. However in Gitorious you do not have easy access to your repository directory ( it’s hashed ). So I have started googling about the feature. I have found in Gitorious a misterious feature called webhooks. But what it does is sending HTTP requests with JSON objects about commits, but without diff body. After loosing few more hours on google, forums and different groups I decided to try to implement this feature on my own. Few more hours to understand this mysterious ( for me ) Ruby on Rails code of Gitorious and I have localized few files that I should change to make it working. After all I have to say it was quite simple. The core are two lines that create commit diff in lib/event_rendering/text.rb:   repo = Repository.find_by_name_in_project!(event.target.name, event.project) diff_content = repo.git.git.show({}, [start_sha, end_sha].join(“..”))   (If you would like to modify content of the commit diff you just have to modify this git.git call ). Rest of the code is just for putting diff_content value into email :). You can review the whole patch here. After applying the patch please remember to restart git-poller and subscribe in Gitorious to email notification.

You May Also Like

Devoxx 2012 review


I'm sitting in a train to Charleroi, looking through a window at the Denmark landscape, street lights flashing by, people comming home from work, getting out for a Friday night party, or having a family dinner. To my left, guys from SoftwareMill are playing cards.
I don't really see them. My mind is busy elsewhere, sorting out and processing last two days in Antwerp, where 3400 developers, from 41 different countries, listened to 200 different sessions at the Devoxx, AFAIK the biggest Java conference this year.

Agile BI

Sztampowe podejście do tematu Business Intelligence to zbudowanie hurtowni danych, stworzenie procesów ETL i wdrożenie narzędzia (interfejsu użytkownika) do raportów i analiz. Jednakże oparta na relacyjnym modelu hurtownia danych nie radzi sobie ze wszystkimi klasami problemów, z którymi powinien poradzić sobie system wspierający podejmowanie decyzji biznesowych. Przykładem mogą tu być (na prawdę) bardzo duże ilości danych Tradycyjne rozwiązanie wymaga uprzedniego ustalenia jakiego rodzaju fakty będą podlegać późniejszej analizie. A przecież pomysł na wykorzystanie do budowania przewagi konkurencyjnej posiadanych (w pewnym momencie) informacji może przyjść nam do głowy później. Czy gromadząc dane musimy jakąś część informacji tracić? Czy możemy zbierać i szybko analizować dane, które nie mieszczą się w naszej hurtowni?Sztampowe podejście do tematu Business Intelligence to zbudowanie hurtowni danych, stworzenie procesów ETL i wdrożenie narzędzia (interfejsu użytkownika) do raportów i analiz. Jednakże oparta na relacyjnym modelu hurtownia danych nie radzi sobie ze wszystkimi klasami problemów, z którymi powinien poradzić sobie system wspierający podejmowanie decyzji biznesowych. Przykładem mogą tu być (na prawdę) bardzo duże ilości danych Tradycyjne rozwiązanie wymaga uprzedniego ustalenia jakiego rodzaju fakty będą podlegać późniejszej analizie. A przecież pomysł na wykorzystanie do budowania przewagi konkurencyjnej posiadanych (w pewnym momencie) informacji może przyjść nam do głowy później. Czy gromadząc dane musimy jakąś część informacji tracić? Czy możemy zbierać i szybko analizować dane, które nie mieszczą się w naszej hurtowni?