Bug 100240

Summary: advanced (s)FTP operations: atom change, overwrite ask, overwrite backup
Product: [Applications] krusader Reporter: Rafal Maj Raf256 <kdebugs-34u2-ticket>
Component: generalAssignee: Krusader Bugs Distribution List <krusader-bugs-null>
Status: REPORTED ---    
Severity: wishlist CC: krusader-bugs-null
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Rafal Maj Raf256 2005-02-25 12:52:10 UTC
Version:           1.51 (using KDE KDE 3.3.2)
OS:                Linux

This futures would make Krusader a powerfull (s)FTP client IMHO,

Uploads:
- atomic: file a.php is uploaded into some a.php.partial, and after fully uploading it it is renamed to a.php, to avoid presence of partialy uploaded file on server

- atomic all: when copy several files and/or directories, there are all uploaded to temporary directory like _upload-1234.partial, and then all amost at once are renamed/moved on server

- backups
  [x] on server - before overwriting a.php, file a.php is moved into file named a.php.undo
  [x] local - before overloading a.php it is downloaded and save to given directory (or to local directory) with timestamp and some word appended to name, like  backup-a.php.deleteme.20050101_123000, both pre and post string schould be set in configuration

- lock
fast option to chmod top-directory (../) to 755 and chown it to self, 
and later change it back to 775. That way, if we have two webmasters AAA and BBB users, that way one can lock directory so that second webmaster will not "get in his way". Also same option for files. 
(or something like that)
Comment 1 Rafal Maj Raf256 2005-02-25 12:57:10 UTC
Oh, I forgot, asking confirmation for overwritting is annoying, but sometimes it is needed. 
IMHO there should be a key (like ctrl+F5, alt+F5 or something?) so that copy command will (this time) not ask for confirmation.

Also, program could ask for confirmation if he see that there is a file with same name - basing of last remote directory listing (yes, it could perhaps changed, but it should be better then waiting 1-5 seconds to re-check if there is overwrite problem, and then ask for confirmation).

if ( is same file listed in previous out-of-date ls of remote dir ) { 
  over = ask for overwrite confirmation ;
  if (!over) return;
}
reconnect to server etc...
if ( check if there is NOW same file ) {
  if (over) break ; // user confirmed already, so continue
  over = ask;
  if (!over) return;
}

;)