Welcome to CRUX bug tracking.
FS#1391 - faster rsync driver
Attached to Project:
CRUX
Opened by Fun (fun) - Tuesday, 07 March 2017, 00:39 GMT
Last edited by Fredrik Rinnestam (frinnst) - Saturday, 17 June 2017, 16:49 GMT
Opened by Fun (fun) - Tuesday, 07 March 2017, 00:39 GMT
Last edited by Fredrik Rinnestam (frinnst) - Saturday, 17 June 2017, 16:49 GMT
|
DetailsI've attached a patch for the rsync driver, to synchronize ports in half the time.
The original driver does: 1) read the list of current files 2) 'download' the list of source files (~0.5MB for core,opt,xorg,compat-32,contrib) 3) synchronize 4) write the new list of files 5) remove the files/dirs not found in the new list The new driver: - removes (2); after synchronization it can build the list from the local files - optimize (4); use a single write to disk - optimize (5); it doesn't need to sort the list (maybe it doesn't worth this much) |
This task depends upon
Closed by Fredrik Rinnestam (frinnst)
Saturday, 17 June 2017, 16:49 GMT
Reason for closing: Won't implement
Saturday, 17 June 2017, 16:49 GMT
Reason for closing: Won't implement
Thanks
About the second patch:
- To fix the current situation (the old files/dirs not being deleted) adding "--delete" to rsync is enough.
- The "--exclude=.checkouts" option was to avoid annoying all the people about being deleted with every update (because it is recreated).
- The "del." to "Delete" replacement on output is just cosmetic, in line with the old way of showing removals.
- The last chunk removed by this patch was dead code. It removes files/dirs that was not removed. After the first patch no file will be seen as need to be removed, and with "--delete" it won't.
About the first patch:
The original driver "downloaded" the original file-list from the server, in order to "manually" remove files/dirs and not let rsync do that.
The first patch "optimized" the process by avoiding the "file-list download", but was incomplete without adding --delete to rsync.
The other two optimizations does much less than this.
Still, I've attached a stripped down patch.
My first thought was that you'll do a rollback, but I've completed the previous patch because I've felt I'm responsible.