X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;ds=sidebyside;f=zpm-syncfs.c;h=f603fa78bca65a9744a709737f6c7dfaa3c93626;hb=f961fc7796670b908f59b09b17284f9caf47f8af;hp=8ed7c8341ea6ee595b84fc970fd762371ead4ddd;hpb=5b8d8e172ec79d54a03bf005f6151a583f450917;p=zpackage diff --git a/zpm-syncfs.c b/zpm-syncfs.c index 8ed7c83..f603fa7 100644 --- a/zpm-syncfs.c +++ b/zpm-syncfs.c @@ -1001,14 +1001,26 @@ static int install_files(void *f, int ncols, char **vals, char **cols) { } return 0; } + if (mdsame && hashsame && !(accept || overwrite)) { /* error */ return seterror(conf, "file exists: %s", nitem.dest); } + if (mdsame && !hashsame && overwrite) { /* install */ return install(conf, &nitem, eisdir ? 11 : 7); } + + if (nitem.configuration && accept) { + /* accept a changed config file */ + if (conf->dryrun || conf->verbose) { + fprintf(stderr, "accept %smodified config %s: %s\n", (!mdsame || !hashsame) ? "" : "un", + eisdir ? "directory" : "file", nitem.dest); + } + return 0; + } + if (mdsame && !hashsame && !overwrite) { /* accept doesn't matter, since it's * not an acceptable file */