Du site de GCaldaemon :
15) Evolution loads 'calendar.ics' at startup. Then it caches this file after it is first compiled and does not poll for file changes until you restart the application. As a result, if GCALDaemon make changes in 'calendar.ics', you must restart Evolution before those changes take effect. To avoid data loss, do not modify your Google Calendar with Evolution and with Web-browser simultaneously.
D'après ce que j'ai vu et si je comprends bien, evolution charge 'calendar.ics' au démarrage, et il ne travaillera qu'avec ce calendrier en cache jusqu'a ce qu'il soit redémarré. Par contre à chaque modification dans evolution (ajout d'un rendez-vous, par exemple), evolution fait une écriture de 'calendar.ics' du cache vers le disque (j'ai vérifié l'heure de modif).
Imaginons le cas de figure suivant :
- on place un rdv1 sur google calendar
- la synchro se fait (sans rafraà®chir le cache de evolution, donc sans killev). Ce rdv1 est enregistré dans calendar.ics
- deux minutes plus tard, on place un rdv2 avec evolution qui recopie son cache dans calendar.ics et efface donc le rdv1 puisqu'il n'en avait pas connaissance
- lors de la synchro suivante, on répercute la suppression de rdv1 dans google calendar puisque la mise à jour de calendar.ics est plus récente...
Toujours si je comprends bien, pour éviter ce problème, on est obligé de forcer evolution à recharger calendar.ics dans son cache après chaque synchro. Et je n'ai pas trouvé mieux que killev...
Au fait il fait quoi le fichier killev ? il kill evolution? faut donc relancer evolution à chaque fois (? ?). Je vais chercher ça....
à‡a kill evolution qui se relance dans la foulée. Par contre ça supprime aussi l'interface graphique, et ça c'est moins cool. Mais je n'ai pas trouvé un autre moyen pour forcer evolution à rafraà®chir son cache, et ça me semble moins embêtant que de perdre un rdv...