"Nicolas Pouillard" nicolas.pouillard@gmail.com writes:
On 7/10/06, Roland Levillain roland@lrde.epita.fr wrote:
"Nicolas Pouillard" nicolas.pouillard@gmail.com writes:
On 7/10/06, Roland Levillain roland@lrde.epita.fr wrote:
C'est peut-être une mise à jour de Ruby (dans Debian unstable) qui a cassé Vcs. C'est grave docteur ?
Oui, c'est assez grave en fin de compte :(
Un changement dans ruby, que je n'ai pas encore cerné à complètement détruit lazy loading.
Lazy loading est utilisé dans CoreEx (le paquet commun à tous nos projets vcs, uttk...) pour se passer des "require"s. Il utilise une technique assez compliqué qui ne marche pour l'instant plus dans ruby 1.8.5. En attendant que le problème soit résolu, j'ai contourné le problème en ajoutant un fil chier chargant tous les modules dans l'ordre manuellement.
Ici http://gallium.inria.fr/~pouillar/gems sont disponibles les nouveaux gems pour utiliser vcs. Cette version corrige entre autre le problème rencontré par Akim au sujet des destinataires multiples dans les mails.
Faites moi signe si il y a un problème.
Amicalement,
Hum... Ça ne marche pas chez moi (le message d'erreur est différent d'avant) :
brasilia ~ % vcs-svn help 18:24 #201 vcs: error: No Vcs instanciated vcs: error: undefined method `each' for false:FalseClass
Arg tu peux essayer :
$ VCS_SEVERITY=debug vcs-svn help
Ça donne ça :
brasilia ~ % VCS_SEVERITY=debug vcs-svn help Err 1 #202 vcs: debug: revision.rb vcs: debug: diff.rb vcs: debug: conflict.rb vcs: debug: message.rb vcs: debug: common_commit.rb vcs: debug: junk.rb vcs: debug: edit.rb vcs: debug: list.rb vcs: debug: mail.rb vcs: debug: add.rb vcs: debug: cvs.rb vcs: debug: form.rb vcs: debug: news.rb vcs: debug: delete.rb vcs: debug: svk.rb vcs: debug: url.rb vcs: debug: back.rb vcs: debug: environment.rb vcs: debug: status.rb vcs: debug: changelog.rb vcs: debug: last_changed_date.rb vcs: debug: script.rb vcs: debug: prcs.rb vcs: debug: diffstat.rb vcs: debug: ignore.rb vcs: error: No Vcs instanciated vcs: debug: Backtrace enabled: vcs: error: /usr/lib/ruby/gems/1.8/gems/vcs-0.5.2.5/lib/vcs/vcs.rb:708:in `merge_user_conf': undefined method `each' for false:FalseClass (NoMethodError) vcs: error: from /usr/lib/ruby/gems/1.8/gems/vcs-0.5.2.5/bin/../lib/vcs/app.rb:89:in `user_configuration_setup' vcs: error: from /usr/lib/ruby/gems/1.8/gems/vcs-0.5.2.5/bin/../lib/vcs/app.rb:88:in `user_configuration_setup' vcs: error: from /usr/lib/ruby/gems/1.8/gems/vcs-0.5.2.5/bin/../lib/vcs/app.rb:96:in `run' vcs: error: from /usr/lib/ruby/gems/1.8/gems/vcs-0.5.2.5/bin/vcs-svn:9 vcs: error: from /usr/bin/vcs-svn:18
et j'ai compris d'où venait le problème en regardant /usr/lib/ruby/gems/1.8/gems/vcs-0.5.2.5/lib/vcs/vcs.rb
[...]
def merge_user_conf ( conf ) conf = YAML.load(conf.read) if conf.is_a? Pathname conf.each do |k, v| v = v.to_sym if v.is_a? String user_conf.send("#{k}=", (v.is_a? Array)? ((user_conf.send(k) || []) + v) : v) end end
[...]
Cette méthode ne vérifie pas que `conf' est peut-être vide (= false:falseClass), ce qui était mon cas car j'avais désactivé toutes les options de mon fichier ~/.vcs.
En réactivant une option de ce fichier, vcs remarche (youpi !).