En effet ! Il faut pas considérer que les gens vont mettre à jour de la version N à la N+1 sans jamais en sauter une...
C'est pas très difficile de laisser le code de migration ad vitam eternam (et pas bloatware non plus, la condition est en général un simple if () et ce n'est fait qu'une fois.)
Dans Claws Mail on a ça vers le début du main():
if (!is_dir_exist(RC_DIR)) {
gboolean r = FALSE;
if (is_dir_exist(OLD_GTK2_RC_DIR))
r = migrate_old_config(OLD_GTK2_RC_DIR, RC_DIR, "Sylpheed-Claws 2.6.0");
else if (is_dir_exist(OLDER_GTK2_RC_DIR))
r = migrate_old_config(OLDER_GTK2_RC_DIR, RC_DIR, "Sylpheed-Claws 1.9.15");
else if (is_dir_exist(OLD_GTK1_RC_DIR))
r = migrate_old_config(OLD_GTK1_RC_DIR, RC_DIR, "Sylpheed-Claws 1.0.5");
if (r == FALSE && !is_dir_exist(RC_DIR) && make_dir(RC_DIR) < 0)
exit(1);
}
[^] # Re: Mouais...
Posté par Colin Leroy (site web personnel) . En réponse au journal Digikam ... de 0.6 à 0.8. Évalué à 4.
if (!is_dir_exist(RC_DIR)) { gboolean r = FALSE; if (is_dir_exist(OLD_GTK2_RC_DIR)) r = migrate_old_config(OLD_GTK2_RC_DIR, RC_DIR, "Sylpheed-Claws 2.6.0"); else if (is_dir_exist(OLDER_GTK2_RC_DIR)) r = migrate_old_config(OLDER_GTK2_RC_DIR, RC_DIR, "Sylpheed-Claws 1.9.15"); else if (is_dir_exist(OLD_GTK1_RC_DIR)) r = migrate_old_config(OLD_GTK1_RC_DIR, RC_DIR, "Sylpheed-Claws 1.0.5"); if (r == FALSE && !is_dir_exist(RC_DIR) && make_dir(RC_DIR) < 0) exit(1); }