2009-12-16 9 views
2

Mon projet ne remarque pas quand la subversion est mise à jour. J'ai exactement la même configuration travaillant sur un autre serveur. C'est un serveur virtuel.CruiseControl.net et Subversion

Voici mon fichier journal après avoir effectué un commit. Il semble que ccnet puisse voir qu'il y a une mise à jour mais cela ne fait que terminer en disant qu'aucune modification n'a été détectée.

2009-12-17 10:34:47,000 [MyProjectName Continuous Integration:INFO] Project: 'MyProjectName Continuous Integration' is first in queue: 'MyProjectName Continuous Integration' and shall start integration. 
2009-12-17 10:34:47,000 [MyProjectName Continuous Integration:DEBUG] Checking if C:\Program Files\CruiseControl.NET\server\MyProjectName Continuous Integration\WorkingDirectory is a svn working folder 
2009-12-17 10:34:47,000 [MyProjectName Continuous Integration:DEBUG] Starting process [svn] in working directory [C:\Program Files\CruiseControl.NET\server\MyProjectName Continuous Integration\WorkingDirectory] with arguments [log svn://myserver.com/trunk -r "{2009-12-16T21:19:48Z}:{2009-12-17T17:34:47Z}" --verbose --xml --username myusername --password mypassword --non-interactive --no-auth-cache] 
2009-12-17 10:34:47,203 [444:DEBUG] [MyProjectName Continuous Integration svn] <?xml version="1.0"?> 
2009-12-17 10:34:47,203 [444:DEBUG] [MyProjectName Continuous Integration svn] <log> 
2009-12-17 10:34:47,203 [444:DEBUG] [MyProjectName Continuous Integration svn] <logentry 
2009-12-17 10:34:47,203 [444:DEBUG] [MyProjectName Continuous Integration svn] revision="1427"> 
2009-12-17 10:34:47,203 [444:DEBUG] [MyProjectName Continuous Integration svn] <author>myusername</author> 
2009-12-17 10:34:47,203 [444:DEBUG] [MyProjectName Continuous Integration svn] <date>2009-12-16T18:34:50.148524Z</date> 
2009-12-17 10:34:47,203 [444:DEBUG] [MyProjectName Continuous Integration svn] <paths> 
2009-12-17 10:34:47,203 [444:DEBUG] [MyProjectName Continuous Integration svn] <path 
2009-12-17 10:34:47,203 [444:DEBUG] [MyProjectName Continuous Integration svn] kind="" 
2009-12-17 10:34:47,203 [444:DEBUG] [MyProjectName Continuous Integration svn] action="M">/trunk/MyProject/MyFile.cs</path> 
2009-12-17 10:34:47,203 [444:DEBUG] [MyProjectName Continuous Integration svn] </paths> 
2009-12-17 10:34:47,203 [444:DEBUG] [MyProjectName Continuous Integration svn] <msg></msg> 
2009-12-17 10:34:47,203 [444:DEBUG] [MyProjectName Continuous Integration svn] </logentry> 
2009-12-17 10:34:47,203 [444:DEBUG] [MyProjectName Continuous Integration svn] </log> 
2009-12-17 10:34:47,312 [MyProjectName Continuous Integration:INFO] No modifications detected. 
+0

Le '-r" {2009-12-16T21: 19: 48Z}: {2009-12-17T17: 34: 47Z} "' semble suspect. –

+0

Je l'ai mis en place hier et il vérifie la subversion toutes les deux minutes. Les dates devraient-elles être plus proches? – zachary

Répondre

2

Vous n'avez aucune modification, vous pensez que oui. C'est un problème classique avec Subversion auquel de nombreux utilisateurs de CC.NET sont en proie. Si vous regardez attentivement le journal et vous verrez:

  • La commande SVN est en cours d'exécution à 2009-12-17 10:34:47 (probablement vous êtes dans un fuseau horaire GMT-7)
  • La plage de modifications en cours de vérification est du 2009-12-16 21:19:48 GMT au 2009-12-17 17:34:47 GMT - soit, au cours des 20 dernières heures, plus ou moins
  • Le seul La révision rapportée est à partir du 2009-12-16 18: 34: 50.148524 GMT - AVANT le début de la plage.

En bref, svn log mensonges, ou tout au moins fib un peu, en ce qu'il toujours rapports au moins un changement, même si elle est plus ancienne que la plage spécifiée. Voir SVN bug #1642 si vous voulez les détails. Les chances sont qu'il ne sera jamais fixé - le dernier commentaire est de 2004.

Ceci est couvert dans le CC.NET doc:

CruiseControl.NET ne voit pas mon change

L'interface Subversion dépend de les horloges des serveurs CruiseControl.Net et Subversion étant définies dans une petite différence. En raison d'un bug Subversion de longue date (Bugzilla # 1642) qui semble peu probable que jamais être fixé, CruiseControl.Net doit filtrer la liste des modifications renvoyées par Subversion, à la recherche de que ceux qui tombent dans un temps spécifique gamme. Lorsque les horloges des deux serveurs sont significativement différentes, le filtre peut ignorer les modifications qui ne doivent pas être ignorées. Pour éviter ce problème, gardez les horloges des deux serveurs ensemble aussi étroitement ensemble que possible.

0

Votre serveur virtuel est-il en cours d'exécution? Peut-être que vous devriez essayer une synchronisation de l'heure.

+0

J'ai essayé la synchronisation de l'heure et cela ne semble pas fonctionner. Si je mets le temps du serveur cruise control.net dans un passé lointain, cela permettra-t-il de voir le changement? – zachary

+0

J'ai déplacé la date 1 an dans le passé juste pour voir si elle ramasserait quelque chose ... rien – zachary

3

J'ai été en mesure de résoudre ce problème en mettant à jour le dernier ccnet. Ils utilisent des révisions au lieu de dates pour mettre à jour le déclencheur. après cela, tout a simplement fonctionné.

+0

dans plus de deux jours je vais accepter ma propre réponse lorsque le débordement de pile me permet – zachary