Vincent Massol compares two approaches for effective source code communication. One approach involves writing a script that sends emails containing the diffs between committed code and code in the repository. Another involves generating RSS feeds on resources using a tool such as Cenqua's FishEye. Detailed screenshots of the two approaches are provided.
Read Best Practice: Source Code Communication
-
Featured Article: Source Code Communication Best Practices (20 messages)
- Posted by: Nitin Bharti
- Posted on: July 16 2004 12:12 EDT
Threaded Messages (20)
- Featured Article: Source Code Communication Best Practices by Kishore Dandu on July 16 2004 12:51 EDT
- What is wrong with the second option? by Archimedes Trajano on July 16 2004 13:01 EDT
- why not just post a review of fisheye ? by ivar vasara on July 16 2004 13:01 EDT
- Not as good, but cheap by Archimedes Trajano on July 16 2004 01:03 EDT
-
why not just post a review of fisheye ? by Vincent Massol on July 16 2004 03:00 EDT
-
RSS output for maven:changelog by Archimedes Trajano on July 16 2004 03:09 EDT
- RSS output for maven:changelog by Vincent Massol on July 16 2004 04:37 EDT
-
RSS output for maven:changelog by Archimedes Trajano on July 16 2004 03:09 EDT
-
Look at Trac by Stig Kleppe-Jorgensen on July 16 2004 03:14 EDT
- Look at Trac by Ivan Bagrintsev on July 16 2004 03:36 EDT
- Featured Article: Source Code Communication Best Practices by Vincent Massol on July 16 2004 14:56 EDT
-
Featured Article: Source Code Communication Best Practices by Ryan Cromwell on July 16 2004 03:12 EDT
- Featured Article: Source Code Communication Best Practices by Vincent Massol on July 16 2004 04:39 EDT
- Featured Article: Source Code Communication Best Practices by Kishore Dandu on July 16 2004 04:49 EDT
-
Featured Article: Source Code Communication Best Practices by Michael Mahemoff on July 16 2004 08:34 EDT
- Featured Article: Source Code Communication Best Practices by Vincent Massol on July 17 2004 04:01 EDT
-
No silver bullet by Stephane Bailliez on July 18 2004 03:05 EDT
-
Why is the user a problem by Jeff Santini on July 19 2004 05:57 EDT
-
Absolutely by Stephane Bailliez on July 19 2004 02:49 EDT
- Absolutely by Vincent Massol on July 21 2004 04:26 EDT
-
Absolutely by Stephane Bailliez on July 19 2004 02:49 EDT
-
Why is the user a problem by Jeff Santini on July 19 2004 05:57 EDT
-
Featured Article: Source Code Communication Best Practices by Ryan Cromwell on July 16 2004 03:12 EDT
- Other solutions: Ant's <cvschangelog> task, CVSSpam by Sean Sullivan on July 16 2004 20:21 EDT
-
Featured Article: Source Code Communication Best Practices[ Go to top ]
- Posted by: Kishore Dandu
- Posted on: July 16 2004 12:51 EDT
- in response to Nitin Bharti
This is pretty basic stuff.
First option is something every SCM guru will know about and the second is not a option for advanced SCM system users.
Why Vincent is wasting his time on this kind of article!!!!!!!!!!! -
What is wrong with the second option?[ Go to top ]
- Posted by: Archimedes Trajano
- Posted on: July 16 2004 13:01 EDT
- in response to Kishore Dandu
What is wrong with the second option? I do like the idea of having an RSS feed, (you can set one up in Eclipse, but I won't use that one since Eclipse can be set to regularly monitor your CVS repository and flag any changes and you can quickly look at the change log of the file if you need to).
I would use option it for ridiculously large projects with tonnes of files since reading an RSS will not kill my IDE with constant scanning of a really large repository. -
why not just post a review of fisheye ?[ Go to top ]
- Posted by: ivar vasara
- Posted on: July 16 2004 13:01 EDT
- in response to Kishore Dandu
This is more of a press release for FishEye than an article. It would be more honest to label it as such.
That said, I have been investigating FishEye and it seems like a truly useful and innovative product.. I just wish they'd hurry up with the Subversion support. -
Not as good, but cheap[ Go to top ]
- Posted by: Archimedes Trajano
- Posted on: July 16 2004 13:03 EDT
- in response to ivar vasara
I think just having maven run through some source code and change log analysis would be good enough for the most part. Though its going to be a slow and heavy on the system. At least its free. -
why not just post a review of fisheye ?[ Go to top ]
- Posted by: Vincent Massol
- Posted on: July 16 2004 15:00 EDT
- in response to ivar vasara
This is more of a press release for FishEye than an article. It would be more honest to label it as such.
This is simply a blog post on my blog... It's not an article and it's not a press release. I happen to like FishEye and it happens that it's the nicest tool I've seen for generating RSS feeds of CVS changes. I don't have any stock option in Cenqua (editor of FishEye) :-) -
RSS output for maven:changelog[ Go to top ]
- Posted by: Archimedes Trajano
- Posted on: July 16 2004 15:09 EDT
- in response to Vincent Massol
A cool idea would probably be putting in RSS output in maven:changelog. -
RSS output for maven:changelog[ Go to top ]
- Posted by: Vincent Massol
- Posted on: July 16 2004 16:37 EDT
- in response to Archimedes Trajano
A cool idea would probably be putting in RSS output in maven:changelog.
Yep. I have already added RSS feeds to the Maven Checkstyle plugin and the Maven Changes plugin. Next on my list are the Maven Dashboard plugin, the Maven Clover plugin and why not the Maven Changelog plugin... :-) -
Look at Trac[ Go to top ]
- Posted by: Stig Kleppe-Jorgensen
- Posted on: July 16 2004 15:14 EDT
- in response to ivar vasara
If you need something like FishEye for Subversion, you should look at Trac (http://trac.edgewall.com). Really it is more of a web based project management tool, like a combination of Confluence, Jira and FishEye. And it's GPL. Quite cool! -
Look at Trac[ Go to top ]
- Posted by: Ivan Bagrintsev
- Posted on: July 16 2004 15:36 EDT
- in response to Stig Kleppe-Jorgensen
Trac is based on Subversion (http://subversion.tigris.org/), which is nice version control system, but not so broad used as CVS. And CVSTrac (http://www.cvstrac.org/) for CVS repository is a similar but far simpler system. Is there is something else all-in-one? -
Featured Article: Source Code Communication Best Practices[ Go to top ]
- Posted by: Vincent Massol
- Posted on: July 16 2004 14:56 EDT
- in response to Kishore Dandu
Why Vincent is wasting his time on this kind of article!!!!!!!!!!!
Because I can! :-)
More seriously because I'm preparing some idea for a Personal Project Information Portal (PPIP) project. The main idea is to gather metrics from different sources (clover, fisheye, maven plugins, etc) and present them on a nice web portal with portlets and of course to make the RSS feeds available. kind of a project quality dashboard.
I know it's all easy stuff for you :-) but you wouldn't imagine how many people are still using email to push information. I strongly believe emails are for *actions* that you have to perform. Everything informational should be available through a different channel (like RSS feeds). Otherwise, what happens is that people set up email filter to dump the emails by default. Using user-chosen RSS feeds sounds like a better idea to me. -
Featured Article: Source Code Communication Best Practices[ Go to top ]
- Posted by: Ryan Cromwell
- Posted on: July 16 2004 15:12 EDT
- in response to Vincent Massol
Are you doing this in coordination with Cenqua or alone?Why Vincent is wasting his time on this kind of article!!!!!!!!!!!
Because I can! :-)More seriously because I'm preparing some idea for a Personal Project Information Portal (PPIP) project. -
Featured Article: Source Code Communication Best Practices[ Go to top ]
- Posted by: Vincent Massol
- Posted on: July 16 2004 16:39 EDT
- in response to Ryan Cromwell
Alone for the moment. It's just an idea ATM. I'm starting too many OSS projects right now so I don't know how much free time will remain for this one... ;-)
Are you doing this in coordination with Cenqua or alone?Why Vincent is wasting his time on this kind of article!!!!!!!!!!!
Because I can! :-)More seriously because I'm preparing some idea for a Personal Project Information Portal (PPIP) project. -
Featured Article: Source Code Communication Best Practices[ Go to top ]
- Posted by: Kishore Dandu
- Posted on: July 16 2004 16:49 EDT
- in response to Vincent Massol
The only problem I had is that the best option described in the article(Fisheye) does not support any best of the breed Version controllers(like clearcase). That is why I started my ranting.Why Vincent is wasting his time on this kind of article!!!!!!!!!!!
Because I can! :-)More seriously because I'm preparing some idea for a Personal Project Information Portal (PPIP) project. The main idea is to gather metrics from different sources (clover, fisheye, maven plugins, etc) and present them on a nice web portal with portlets and of course to make the RSS feeds available. kind of a project quality dashboard.I know it's all easy stuff for you :-) but you wouldn't imagine how many people are still using email to push information. I strongly believe emails are for *actions* that you have to perform. Everything informational should be available through a different channel (like RSS feeds). Otherwise, what happens is that people set up email filter to dump the emails by default. Using user-chosen RSS feeds sounds like a better idea to me. -
Featured Article: Source Code Communication Best Practices[ Go to top ]
- Posted by: Michael Mahemoff
- Posted on: July 16 2004 20:34 EDT
- in response to Vincent Massol
Vincent,Why Vincent is wasting his time on this kind of article!!!!!!!!!!!
Because I can! :-)More seriously because I'm preparing some idea for a Personal Project Information Portal (PPIP) project. The main idea is to gather metrics from different sources (clover, fisheye, maven plugins, etc) and present them on a nice web portal with portlets and of course to make the RSS feeds available. kind of a project quality dashboard.
Sounds like a great tool.
Slap it on a big flat-screen monitor, mount it on a wall, and it would make an excellent "war room environment" awareness display. Even better, endow each portlet with some high-level, ambient, representation of the project, e.g. maven goes red if build's broken, clover colour varies according to coverage level.
(Yes I'm serious) -
Featured Article: Source Code Communication Best Practices[ Go to top ]
- Posted by: Vincent Massol
- Posted on: July 17 2004 04:01 EDT
- in response to Michael Mahemoff
Even better, endow each portlet with some high-level, ambient, representation of the project, e.g. maven goes red if build's broken, clover colour varies according to coverage level.(Yes I'm serious)
Yep, that's something I have wanted to do for some time now (http://blogs.codehaus.org/people/vmassol/archives/think_tank.html#000597_enlightening_build) but I haven't found the perfect device yet. All the ones I've seen use some radio frequency to get their data. I'd like a simple Wifi or RJ45 interface so that the data can be sent from a simple PC. I know the Ambient Orb has a serial interface but I'd like something ready made. -
No silver bullet[ Go to top ]
- Posted by: Stephane Bailliez
- Posted on: July 18 2004 15:05 EDT
- in response to Vincent Massol
Otherwise, what happens is that people set up email filter to dump the emails by default
Or just put filter to redirect email in meaningful directories and/or have special actions.Using user-chosen RSS feeds sounds like a better idea to me.
The user needs to subscribe as well. And he may not do so on his own.
I love Fisheye but this is no silver bullet, the user is still the problem, so if your developper is dumping emails he will probably not subscribe to rss feeds or will also dump rss feeds. -
Why is the user a problem[ Go to top ]
- Posted by: Jeff Santini
- Posted on: July 19 2004 05:57 EDT
- in response to Stephane Bailliez
If a user wants to dump an email isn't he/she allowed to? Or not subscribe to an RSS feed.
I have a bit of an issue that the "article" did not make an argument that there is a need for this. If I am in a large project with 5 subteams, I won't spend much time looking through daily changes of others. How could I get anything done if I did?
If I am doing some GUI work at the moment, database schema changes don't affect me and if I can't trust my colleagues to do the right thing then I will have problems down the road.
Finally, if I don't get around to working on DB related stuff for a few months, todays changes my be buried in the anals of SCM archives by then. In that case I probably did not make the best use of my time
This may have turned into a bit of a rant. Communication is obviously a critical aspect of successful development, but I question the "best practiceness" of having each developer examine every set of source control changes on a daily basis. It could kill productivity. Maybe I missed the point somehow. -
Absolutely[ Go to top ]
- Posted by: Stephane Bailliez
- Posted on: July 19 2004 14:49 EDT
- in response to Jeff Santini
I second your point and it was somewhat buried in mine.
It is naive to believe that there is need to go through each other changelog when the scope reach different modules. This is overkilling. "But with RSS you can micro manage the information". Yeah right, do we really care ?
As you said, if you cannot trust your colleagues working on componentA while you are working on componentB, well you're obviouslly in a desperate situation.
The FishEye changelog is ok for people working in the same module as it is easier to look at the any CVSSpam mail or ViewCVS. -
Absolutely[ Go to top ]
- Posted by: Vincent Massol
- Posted on: July 21 2004 16:26 EDT
- in response to Stephane Bailliez
It is naive to believe that there is need to go through each other changelog when the scope reach different modules. This is overkilling.
I agree. But who said that?"But with RSS you can micro manage the information". Yeah right, do we really care ?
Again I agree. Who said that?As you said, if you cannot trust your colleagues working on componentA while you are working on componentB, well you're obviouslly in a desperate situation.
Sure. Who said that? :-)
Basically I believe I have not been successful at explaining the point clearly enough. The idea is that there qre some portions of code that you'd like to be aware of when they change. It has nothing to do with trusting anyone. Say for example that there is a change to the schema. If I don't know about it and I make a CVS checkout, it may break all my code and imagine I'm in the middle of something. It will be a pain to go back. Knowing what has changed in the schema will tell them whether updating now is a wise choice and it'll also tell me what the impact the change will have on my code. If it happens that it's a change that I know is not right for a reason only known by me then I can raise it now instead of waiting 2 days, 1 week or more. Same for things like the build process. Same for important documents that are updated, etc.
Of course my opinion may be biased by the fact that I have usually worked on "big" projects (minimum of 30 developers - The current one has roughly 100 developers), and the bigger the project the more there is a need for good and efficient communication. This helps but it doesn't replace verbal communications (by no means!). My second bias is that I'm using to working with distributed team who are physically in different locations.
Anyway YMMV. There is no hard and fast truth.
-Vincent -
Other solutions: Ant's <cvschangelog> task, CVSSpam[ Go to top ]
- Posted by: Sean Sullivan
- Posted on: July 16 2004 20:21 EDT
- in response to Nitin Bharti
Currently, we generate a "24 Hour Changelog report" at 4am every day.
It is easy to accomplish this using Ant's <cvschangelog> task and the <mail> task
http://ant.apache.org/manual/CoreTasks/changelog.html
http://ant.apache.org/manual/CoreTasks/mail.html
It works pretty well for us (we have a small team).
In the future, we might use CVSSpam or something similar.
http://freshmeat.net/projects/cvsspam/