tags:

views:

137

answers:

4

I'm learning about Pylons and I've read a few tutorials, but none of them have addressed collaboration practices. Starting on a practice project. I'd like to keep my code in a revision-control system (Git, specifically) as if it were an open-source project with multiple developers, in order to practice that aspect of Pylons development as well.

I'm wondering what I should do with the development.ini file that was generated by Paster as part of my new application. On one hand, it contains lots of settings that other develpers wouldn't want to have to recreate by hand, so it seems like it ought to be stored in my Git repository so that other developers can access it. On the other hand, some of the settings, such as the database connection URL, are specific to one person's development environment and wouldn't make sense to share with others.

What do real-world Pylons applications do with this file?

A: 

The most important aspect of collaboration is communicating with your teammates. See if you can come to a quick consensus on how to handle the situation.

My suggestion though, would be to pass around your completed ini file for the other devs to modify for their own purposes. If there are a lot of hand tuned settings that they won't want (or need) to change, then they shouldn't have to do the work. At the end of the day though, they'll need to write the settings somehow.

Dana the Sane
Well, I don't actually have any teammates -- this is just a little beginner practice program. I'm treating it as a team project because I don't want to practice bad habits that'll hinder me later on a real team project.
Wyzard
+2  A: 

You could check it in as sample.ini for example so that everyone can copy to their own development.ini and modify as needed

gnibbler
+2  A: 

On a team development, we make an effort to ensure everyone has a common development environment, or we make adjustments to things (like database URLs) to allow people on different environments (we do Mac, Windows, and Linux) to share all files.

And our Pylons development.ini files are committed to subversion, just like everything else.

Peter Hansen
That works well for an office environment where everyone's on the same network and has access to the same resources. I'm curious how it'd be handled in an open-source project developed over the Internet, though.
Wyzard
Actually, we're usually in at least three different locations, connecting to a subversion server hosted (behind Apache) on a central server. If we didn't have a single server, we'd probably use Git but the basic idea is the same. We do not use a file-server as you may be imagining... everyone has a local working copy on their own hard drive.
Peter Hansen
A: 

You should check in development.ini. Most developers are smart enough to realize that if they want to run your application they need to make some tweaks. The development.ini will serve as a template. A file that has the database configured incorrectly is still useful since I can see that the system is trying to connect to the database and failing.

Later on you will be making files such as development.ini, staging.ini, and production.ini. This will help when you move environments.

Jeff T