mirror of
https://github.com/privatevoid-net/nix-super.git
synced 2024-11-10 00:08:07 +02:00
rename copy
-> copyFile
and remove old copyFile
the old `copyFile` was just a wrapper that was calling the `copy` function. This wrapper function is removed and the `copy` function is renamed to `copyFile`.
This commit is contained in:
parent
d3b7367c80
commit
ccf94545db
3 changed files with 11 additions and 11 deletions
|
@ -421,7 +421,9 @@ static void doBind(const Path & source, const Path & target, bool optional = fal
|
||||||
} else if (S_ISLNK(st.st_mode)) {
|
} else if (S_ISLNK(st.st_mode)) {
|
||||||
// Symlinks can (apparently) not be bind-mounted, so just copy it
|
// Symlinks can (apparently) not be bind-mounted, so just copy it
|
||||||
createDirs(dirOf(target));
|
createDirs(dirOf(target));
|
||||||
copyFile(source, target, /* andDelete */ false);
|
copyFile(
|
||||||
|
std::filesystem::directory_entry(std::filesystem::path(source)),
|
||||||
|
std::filesystem::path(target), false);
|
||||||
} else {
|
} else {
|
||||||
createDirs(dirOf(target));
|
createDirs(dirOf(target));
|
||||||
writeFile(target, "");
|
writeFile(target, "");
|
||||||
|
@ -2568,7 +2570,10 @@ SingleDrvOutputs LocalDerivationGoal::registerOutputs()
|
||||||
// Replace the output by a fresh copy of itself to make sure
|
// Replace the output by a fresh copy of itself to make sure
|
||||||
// that there's no stale file descriptor pointing to it
|
// that there's no stale file descriptor pointing to it
|
||||||
Path tmpOutput = actualPath + ".tmp";
|
Path tmpOutput = actualPath + ".tmp";
|
||||||
copyFile(actualPath, tmpOutput, true);
|
copyFile(
|
||||||
|
std::filesystem::directory_entry(std::filesystem::path(actualPath)),
|
||||||
|
std::filesystem::path(tmpOutput), true);
|
||||||
|
|
||||||
std::filesystem::rename(tmpOutput, actualPath);
|
std::filesystem::rename(tmpOutput, actualPath);
|
||||||
|
|
||||||
auto newInfo0 = newInfoFromCA(DerivationOutput::CAFloating {
|
auto newInfo0 = newInfoFromCA(DerivationOutput::CAFloating {
|
||||||
|
|
|
@ -605,7 +605,7 @@ static void setWriteTime(const fs::path & p, const struct stat & st)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void copy(const fs::directory_entry & from, const fs::path & to, bool andDelete)
|
void copyFile(const fs::directory_entry & from, const fs::path & to, bool andDelete)
|
||||||
{
|
{
|
||||||
#ifndef _WIN32
|
#ifndef _WIN32
|
||||||
// TODO: Rewrite the `is_*` to use `symlink_status()`
|
// TODO: Rewrite the `is_*` to use `symlink_status()`
|
||||||
|
@ -624,7 +624,7 @@ void copy(const fs::directory_entry & from, const fs::path & to, bool andDelete)
|
||||||
} else if (fs::is_directory(fromStatus)) {
|
} else if (fs::is_directory(fromStatus)) {
|
||||||
fs::create_directory(to);
|
fs::create_directory(to);
|
||||||
for (auto & entry : fs::directory_iterator(from.path())) {
|
for (auto & entry : fs::directory_iterator(from.path())) {
|
||||||
copy(entry, to / entry.path().filename(), andDelete);
|
copyFile(entry, to / entry.path().filename(), andDelete);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
throw Error("file '%s' has an unsupported type", from.path());
|
throw Error("file '%s' has an unsupported type", from.path());
|
||||||
|
@ -640,11 +640,6 @@ void copy(const fs::directory_entry & from, const fs::path & to, bool andDelete)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void copyFile(const Path & oldPath, const Path & newPath, bool andDelete)
|
|
||||||
{
|
|
||||||
return copy(fs::directory_entry(fs::path(oldPath)), fs::path(newPath), andDelete);
|
|
||||||
}
|
|
||||||
|
|
||||||
void moveFile(const Path & oldName, const Path & newName)
|
void moveFile(const Path & oldName, const Path & newName)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
|
@ -662,7 +657,7 @@ void moveFile(const Path & oldName, const Path & newName)
|
||||||
if (e.code().value() == EXDEV) {
|
if (e.code().value() == EXDEV) {
|
||||||
fs::remove(newPath);
|
fs::remove(newPath);
|
||||||
warn("Can’t rename %s as %s, copying instead", oldName, newName);
|
warn("Can’t rename %s as %s, copying instead", oldName, newName);
|
||||||
copy(fs::directory_entry(oldPath), tempCopyTarget, true);
|
copyFile(fs::directory_entry(oldPath), tempCopyTarget, true);
|
||||||
std::filesystem::rename(
|
std::filesystem::rename(
|
||||||
os_string_to_string(PathViewNG { tempCopyTarget }),
|
os_string_to_string(PathViewNG { tempCopyTarget }),
|
||||||
os_string_to_string(PathViewNG { newPath }));
|
os_string_to_string(PathViewNG { newPath }));
|
||||||
|
|
|
@ -190,7 +190,7 @@ void moveFile(const Path & src, const Path & dst);
|
||||||
* with the guaranty that the destination will be “fresh”, with no stale inode
|
* with the guaranty that the destination will be “fresh”, with no stale inode
|
||||||
* or file descriptor pointing to it).
|
* or file descriptor pointing to it).
|
||||||
*/
|
*/
|
||||||
void copyFile(const Path & oldPath, const Path & newPath, bool andDelete);
|
void copyFile(const std::filesystem::directory_entry & from, const std::filesystem::path & to, bool andDelete);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Automatic cleanup of resources.
|
* Automatic cleanup of resources.
|
||||||
|
|
Loading…
Reference in a new issue