Only preserve timestamps when copying. Improved progress display.
This commit is contained in:
parent
67906a920a
commit
098d6d1c44
6
backly.c
6
backly.c
@ -259,7 +259,7 @@ void copyNew(char *src, int srcPrefix, char *dest, int destPrefix, int testMode)
|
|||||||
|
|
||||||
// Only copy file if it doesn't exist or has changed
|
// Only copy file if it doesn't exist or has changed
|
||||||
if (needToCopy == 1) {
|
if (needToCopy == 1) {
|
||||||
printf("+ %s ", itemSrc + srcPrefix);
|
printf("+ %s 100.00%", itemSrc + srcPrefix);
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
if (testMode == 0) {
|
if (testMode == 0) {
|
||||||
int pid = fork();
|
int pid = fork();
|
||||||
@ -267,11 +267,11 @@ void copyNew(char *src, int srcPrefix, char *dest, int destPrefix, int testMode)
|
|||||||
fprintf(stderr, "Could not fork: %s\n", strerror(errno));
|
fprintf(stderr, "Could not fork: %s\n", strerror(errno));
|
||||||
continue;
|
continue;
|
||||||
} else if (pid == 0) {
|
} else if (pid == 0) {
|
||||||
execlp("cp", "cp", "-fp", itemSrc, itemDest, (char *) NULL);
|
execlp("cp", "cp", "-f --preserve=timestamps", itemSrc, itemDest, (char *) NULL);
|
||||||
} else {
|
} else {
|
||||||
struct stat srcStat, destStat;
|
struct stat srcStat, destStat;
|
||||||
double pDone = 0;
|
double pDone = 0;
|
||||||
int numPrinted = 0;
|
int numPrinted = 7;
|
||||||
if (stat(itemSrc, &srcStat) != -1) {
|
if (stat(itemSrc, &srcStat) != -1) {
|
||||||
while (waitpid(pid, NULL, WNOHANG) == 0) {
|
while (waitpid(pid, NULL, WNOHANG) == 0) {
|
||||||
if (stat(itemDest, &destStat) == -1)
|
if (stat(itemDest, &destStat) == -1)
|
||||||
|
Loading…
Reference in New Issue
Block a user