Je crois que ca marche. Committe ton fichier puis fais un deuxième commit où tu le mets en ignore. En tout cas je sais que ca fout le bordel quand on veut pas du tout qu'il soit dans le svn.
Sinon regarde la propriété svn:needs-lock (svn help propset) et la commande lock (svn help lock). Comme en général quand on commit on ne lock jamais, ca évite de committer par inadvertance un fichier en needs-lock=true. Je crois l'avoir déjà utiliser parce que des collègues modifiaient systématiquement un fichier pour mettre des chemin de fichier sur leur machine.
Après pour la gestion des propriétés de déploiement, j'ai vu plusieurs solutions implémentées.
La première est d'avoir plusieurs répertoires conf (dev/conf, prod/conf, integration/conf, hudson/conf, etc....) dans lequel il y a des fichiers avec les propriétés de déploiement. Et suivant l'environement, un des répertoires est ajouté au classpath de build.
C'est assez simple, mais le war qui est buildé ne peut être déployé que dans un seul environement, et si tu veux changer une propriété de déploiement en prod, faut rebuilder le war...
Une deuxième solution que j'ai vu est de jouer avec l'override de web.xml:
http://docs.codehaus.org/display/JETTY/override+web.xml . Dans le web.xml sont définis toutes les propriétés de déploiements en tant que context-param avec des valeurs par défaut. Ensuite à chaque développeur de maintenir son override-web.xml et les admins à maintenir leur override-web.xml dans l'environement de prod.
Le problème est que les propriétés faut aller les chercher dans le webapp context, ce qui peut être chi***. Et faire du xml plus ou moins abscons pour juste mettre prop=value, on fait rarement plus compliqué.... Et tu peux faire ca dans autre chose qu'un jetty (a priori).
La solution que je préfère est de jouer avec le classpath au runtime plutot qu'à la compilation:
http://docs.codehaus.org/display/JETTY/Classloading#Classloading-UsingtheextraClasspath%28%29methodonWebAppContext Chaque développeur a un répertoire conf dans lequel il a son deploy.properties. En prod pareil, un répertoire conf où l'admin pose son deploy.properties.
Après si on déploie pas dans un jetty, un simple copy dans WEB-INF/classes fait l'affaire à chaque démarrage de l'appli web.
Autre truc aussi c'est d'avoir des valeurs par défaut. Les développeurs démarrent plusieurs fois par jour l'appli, donc les valeur par défaut sont faites pour eux.
Ca s'implemente très facilement avec un java.util.Properties, suffit de charger le defaut puis celui dans conf. Si tu utilises Spring, y'a le PropertyPlaceholderTrucChouette qui t'injecte ça dans ton context.
Et si tu mets un peu de commentaire dans celui par défaut, ca te fait direct la doc des propriétés de déploiement à refiler aux admins.