aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/version/init.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2020-08-17 12:04:33 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2020-08-17 12:04:33 +0200
commit5521a0edd9a2ba8429f7d2e48f754c9d6f66cc3b (patch)
treeec1922b3c804fbd472b8cc977f332ad0f5a4355a /libbuild2/version/init.cxx
parent534ca7619a62a74bce8e4b30931aaf99f9c3beb6 (diff)
Add mvfile() filesystem utility function
Diffstat (limited to 'libbuild2/version/init.cxx')
-rw-r--r--libbuild2/version/init.cxx26
1 files changed, 7 insertions, 19 deletions
diff --git a/libbuild2/version/init.cxx b/libbuild2/version/init.cxx
index 7cb5a48..43b6b92 100644
--- a/libbuild2/version/init.cxx
+++ b/libbuild2/version/init.cxx
@@ -370,25 +370,13 @@ namespace build2
// The plan is simple: fixing up the version in a temporary file then
// move it to the original.
//
- try
- {
- auto_rmfile t (fixup_manifest (rs.ctx,
- f,
- path::temp_path ("manifest"),
- m.version));
-
- mvfile (t.path, f, (cpflags::overwrite_content |
- cpflags::overwrite_permissions));
- t.cancel ();
- }
- catch (const io_error& e)
- {
- fail << "unable to overwrite " << f << ": " << e;
- }
- catch (const system_error& e) // EACCES, etc.
- {
- fail << "unable to overwrite " << f << ": " << e;
- }
+ auto_rmfile t (fixup_manifest (rs.ctx,
+ f,
+ path::temp_path ("manifest"),
+ m.version));
+
+ mvfile (t.path, f, verb_never);
+ t.cancel ();
}
static const module_functions mod_functions[] =