mirror of https://gitee.com/bigwinds/arangodb
issue #1300: do not make arangodump fail if output directory exists but is empty
This commit is contained in:
parent
d7dc9ea169
commit
e507e4f9d9
|
@ -1287,8 +1287,17 @@ int main (int argc, char* argv[]) {
|
|||
// .............................................................................
|
||||
|
||||
bool isDirectory = false;
|
||||
bool isEmptyDirectory = false;
|
||||
|
||||
if (! OutputDirectory.empty()) {
|
||||
isDirectory = TRI_IsDirectory(OutputDirectory.c_str());
|
||||
|
||||
if (isDirectory) {
|
||||
TRI_vector_string_t files = TRI_FullTreeDirectory(OutputDirectory.c_str());
|
||||
// we don't care if the target directory is empty
|
||||
isEmptyDirectory = (files._length == 0);
|
||||
TRI_DestroyVectorString(&files);
|
||||
}
|
||||
}
|
||||
|
||||
if (OutputDirectory.empty() ||
|
||||
|
@ -1297,7 +1306,7 @@ int main (int argc, char* argv[]) {
|
|||
TRI_EXIT_FUNCTION(EXIT_FAILURE, nullptr);
|
||||
}
|
||||
|
||||
if (isDirectory && ! Overwrite) {
|
||||
if (isDirectory && ! isEmptyDirectory && ! Overwrite) {
|
||||
cerr << "output directory '" << OutputDirectory << "' already exists. use \"--overwrite true\" to overwrite data in it" << endl;
|
||||
TRI_EXIT_FUNCTION(EXIT_FAILURE, nullptr);
|
||||
}
|
||||
|
@ -1453,9 +1462,7 @@ int main (int argc, char* argv[]) {
|
|||
ret = EXIT_FAILURE;
|
||||
}
|
||||
|
||||
if (Client != nullptr) {
|
||||
delete Client;
|
||||
}
|
||||
|
||||
TRIAGENS_REST_SHUTDOWN;
|
||||
|
||||
|
|
Loading…
Reference in New Issue