Question

Je me suis fou au volant au cours des derniers jours sur celui-ci. Nous venons de terminer la mise en place d'un serveur continu d'intégration Hudson. chaque Donc, il exécute un script de compilation et tous les commits pour valider la validation. La question est qu'il valide que tous les fichiers du repo ont à la fois les propriétés de svn:keywords = "Id" et svn:eol-style = "LF" définies sur tous les fichiers .php, qui normalement serait génial (La dernière fois que je l'ai fait, j'ai utilisé SVN Eclipse et la tortue, qui ont tous deux svn :: fonctionnalité add).

Mais le problème est que je suis devenu tout à fait habitué à Netbeans. Et Netbeans n'a pas de fonction de svn add que je peux trouver (il ajouter automatiquement les fichiers sur commit). Le problème est que je ne peux pas ajouter les propriétés jusqu'à ce que les fichiers sont ajoutés. Si je commets sans ajouter les propriétés, la construction échouera. Donc, je le vent en échec l'accumulation tous les commettras parce que je dois prendre 5 étapes (validation, propset récursive, commit, reconnaître build a échoué, supprimer build a échoué), de faire quelque chose qui normalement prendre 2 (propset, commit).

Je ne veux pas vraiment revenir à Eclipse à ce moment, mais quand il me prend 20 minutes pour engager parce que je dois faire tout 4 fois, il va vieillir rapidement ... Yat-il une solution de contournement qui Je suis absent (court d'enlever le contrôle de la propriété, qui vaincra le point, car je veux que ces propriétés définies de toute façon)? Ou suis-je juste SOL? ...

Était-ce utile?

La solution

Subversion a un fichier ~/.subversion/config qui vous permet de personnaliser un certain nombre de paramètres, parmi lesquels auto-accessoires , les propriétés qui sont automatiquement définies sur les fichiers en fonction de leur extension:

Ainsi, en supposant Netbeans respecte ce fichier, vous pouvez dire svn pour définir automatiquement ces propriétés en modifiant la section [auto-props] pour inclure *.php = svn:eol-style=LF;svn:keywords=Id

Par exemple:

[auto-props]
# here's yours
*.php = svn:eol-style=LF;svn:keywords=Id
# and one with multiple keywords
*.c = svn:eol-style=native;svn:keywords=Author Date Rev Id HeadURL
# and one with a mime-type
*.png = svn:mime-type=image/png

UPDATE :

Netbeans 6.9 apparaît à lire dans le fichier ~/.subversion/config sur démarrage et ne change pick-up sans redémarrage. Après avoir redémarré Netbeans, il récupère correctement mes sélectionnés accessoires auto- et les applique à chaque fichier nouvellement créé.

UPDATE 2 :

Netbeans semble lire à la fois les fichiers de configuration de subversion globale et personnelle (parmi beaucoup d'autres fichiers de subversion) lors de son démarrage. Voici une partie pertinente vu par strace:

stat("/home/kibab/.subversion/config", {st_mode=S_IFREG|0644, st_size=4576, ...}) = 0
open("/home/kibab/.subversion/config", O_RDONLY) = 28
open("/etc/subversion/config", O_RDONLY) = -1 ENOENT (No such file or directory)
stat("/home/kibab/.netbeans/6.9/config/svn/config/config", {st_mode=S_IFREG|0644, st_size=825, ...}) = 0
stat("/home/kibab/.netbeans/6.9/config/svn/config", {st_mode=S_IFDIR|0755, st_size=61, ...}) = 0
open("/home/kibab/.netbeans/6.9/config/svn/config/config", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 28

Un examen plus approfondi semble impliquer qu'une fois qu'il a lu dans les fichiers de configuration, il écrit ensuite une copie (en utilisant O_TRUNC) du fichier de configuration qu'il stocke à ~/.netbeans/6.9/config/svn/config/config (au moins sur Linux).

Sur cette base, je suppose que Netbeans tente d'être assez intelligent pour utiliser tous les paramètres subversion que vous avez défini dans vos fichiers de configuration,

à la fois globale et personnelle.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top