Only run the merge tool on files with differences

If the backup file and the data file are equal, there is no need to run
the merge tool.

Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
This commit is contained in:
Lukas Fleischer
2014-07-17 11:47:00 +02:00
parent 7920e761c9
commit ae7d2d4c6b
3 changed files with 41 additions and 6 deletions

View File

@@ -290,13 +290,21 @@ static inline void key_generic_reload(void)
io_save_todo(path_todo_backup);
io_save_mutex_unlock();
const char *arg_apts[] = { conf.mergetool, path_apts,
path_apts_backup, NULL };
wins_launch_external(arg_apts);
if (!io_files_equal(path_apts, path_apts_backup)) {
const char *arg_apts[] = { conf.mergetool,
path_apts,
path_apts_backup,
NULL };
wins_launch_external(arg_apts);
}
const char *arg_todo[] = { conf.mergetool, path_todo,
path_todo_backup, NULL };
wins_launch_external(arg_todo);
if (!io_files_equal(path_todo, path_todo_backup)) {
const char *arg_todo[] = { conf.mergetool,
path_todo,
path_todo_backup,
NULL };
wins_launch_external(arg_todo);
}
xfree(path_apts_backup);
xfree(path_todo_backup);