summaryrefslogtreecommitdiff
path: root/match.c
Commit message (Collapse)AuthorAgeFilesLines
* If --backup was used with --inplace, we don't limit the basis-fileWayne Davison2004-09-071-3/+4
| | | | | matches (as we normally would) because the receiver is using the backup-file as the basis-file.
* We call map_ptr() with a data range than includes any unmatched dataWayne Davison2004-08-031-7/+14
| | | | | | (which we might need to reference again) in addition to the current rolling-checksum block (this prevents the unmatched data from being lost when we slide the buffer and read more data).
* My version of Mark Curtis's --inplace option.Wayne Davison2004-07-161-0/+33
|
* My modified version of Chris Shoemaker's improved batch-file handling.Wayne Davison2004-07-151-3/+0
|
* Use want_i instead of last_i+1.Wayne Davison2004-07-071-10/+10
|
* Changed a "for" loop into a "do ... while" loop.Wayne Davison2004-07-041-2/+2
|
* Optimized away a loop in hash_search().Wayne Davison2004-07-021-13/+6
|
* Changed sum_init() to take a seed value as an arg instead of alwaysWayne Davison2004-05-211-1/+2
| | | | | using checksum_init. This fixes an authentication problem in server mode (as pointed out by Craig Barratt).
* If we got a read-error on a file, make sure that the whole-fileWayne Davison2004-05-131-0/+3
| | | | | checksum we send to the receiver is wrong (so they won't save the bogus file).
* More variable-size cleanup.Wayne Davison2004-01-031-37/+43
|
* Made the types used in the sum_buf and sum_struct structures consistentWayne Davison2004-01-031-3/+4
| | | | with the variables in the code that manipulates these values.
* Got rid of /* dw */ comments.Wayne Davison2004-01-021-2/+2
|
* Merged in the security fixes from 2.5.7.Wayne Davison2003-12-061-2/+2
|
* Cast various s->blength references inside of MIN() macros to OFF_TWayne Davison2003-08-221-5/+3
| | | | so that compilers don't warn about signed/unsigned comparisons.
* Whitespace tweaks.Wayne Davison2003-08-221-59/+58
|
* Only call show_progress() and end_progress() if do_progress is set.Wayne Davison2003-07-081-1/+2
|
* Now support dynamic per-file checksum2 size.J.W. Schultz2003-04-101-13/+11
| | | | This pushes protocol version to 27
* Removing vestigial support for protocol versions prior to 15.J.W. Schultz2003-03-311-9/+5
|
* long int and signedness fix from Nelson BeebeMartin Pool2002-04-091-4/+7
|
* Doc match_sums.Martin Pool2002-04-081-0/+4
|
* Document the perversely-named matched() function, which is called evenMartin Pool2002-04-081-1/+23
| | | | if we have not matched!
* the signed/unsigned change seems to have caused a logic bug on someAndrew Tridgell2002-02-031-1/+2
| | | | | | systems (only those without large file support perhaps?) this fixes it
* More signedness fixes; should be harmless.Martin Pool2002-01-251-3/+3
|
* Merge across rsync+ patch; add a little documentation to the manpage. More ↵Martin Pool2001-08-141-0/+3
| | | | documentation would be better.
* fix segv bug in --progress handlingAndrew Tridgell2000-01-251-2/+3
|
* patch from David Murn to make sure the final 100% is always printedAndrew Tridgell2000-01-251-1/+1
| | | | when using --progress
* fix a problem with files > 2GBAndrew Tridgell2000-01-231-10/+9
| | | | (thanks to T.J.Adye@rl.ac.uk)
* moved the block length mismatch code to another part of the loop.Andrew Tridgell1999-01-051-3/+6
|
* don't try to match checksums of two blocks which are of unequalAndrew Tridgell1999-01-051-1/+1
| | | | | | | | size. This explains the high false_alarms rate that I saw for one of the sample data files used in my thesis. The bug was harmless as the strong checksum easily caught all the false matches but it's been bugging me as I couldn't explain it :)
* fixed a bug in the adjacent target optimisationAndrew Tridgell1999-01-051-1/+1
|
* an optimization that tries to make rsync choose adjacent matches ifAndrew Tridgell1999-01-051-1/+21
| | | | | multiple matching blocks are available. This make the run-length coding of the output more efficient.
* no longer use mmap() in rsync because of the risk of a SIGBUS whenAndrew Tridgell1998-12-301-1/+1
| | | | | | | another program (such as a mailer) truncates a file. To offset the speed loss I have rewritten the map_ptr() code to make much better use of read().
* fixed a bug handling files larger than 2GBAndrew Tridgell1998-11-161-1/+1
|
* - don't show "created directory" message unless verbose is selectedAndrew Tridgell1998-07-021-1/+2
| | | | - check for null buf in show_progress
* added --progress option which shows the progress of transfers. ThisAndrew Tridgell1998-07-021-0/+10
| | | | gives bored users something to watch.
* the tag table should be of type int* not tag*.Andrew Tridgell1998-06-031-3/+3
| | | | | | | | This bug resulted in rsync being much less efficient that it could be for files with more than 64k blocks. With the adaptive block size code giving a maximum block size of 16k this means that files larger than 1GB were handled very inefficiently. The transfer was still accurate, just slow.
* added --stats option for verbose stats on the file transferAndrew Tridgell1998-06-011-6/+9
|
* heaps of cleanup in the io code.Andrew Tridgell1998-05-271-3/+0
| | | | | | | | we no longer use non-blocking IO, instead it uses select a lot more, being careful to always allow for reading whenever a valid read fd is available and chcking timeouts. also split the file io calls into fileio.c
* removing an unused variableAndrew Tridgell1998-05-221-1/+0
|
* Update to use the new zlib-1.1.2 code.Paul Mackerras1998-05-221-15/+9
| | | | | The compressed token code now handles the null (-2) token from the match logic.
* this fixes two problems:Andrew Tridgell1998-05-221-2/+19
| | | | | | | | | | | 1) handle 64 bit file offsets in the token code. I wonder how large bit files worked up till now? 2) send a null token when we have passed over a large lump of data without finding a token match. This reduces the number of IOs considerably as it removes the need for seeks/reads on the checksum calculation and literal send code. This is not enabled yet for the compressed case as the deflate token code can't handle it yet.
* some large systematic changes to make socket conversion easier. TheAndrew Tridgell1998-05-071-11/+11
| | | | biggest one is the use of rprintf() instead of fprintf()
* Solaris 2.6 doesn't support "signed char". What a broken system!Andrew Tridgell1998-05-061-5/+5
|
* added support for 64 bit file offsets under Solaris 2.6. Not testedAndrew Tridgell1998-05-061-6/+6
| | | | yet.
* a few code cleanupsAndrew Tridgell1998-04-131-1/+1
|
* - added an internal io_error flag. Whenever an io error occurs (suchAndrew Tridgell1998-03-261-10/+10
| | | | | | | | | | | | | as not being able to open a directory) this flag is set and propogated to the other end. When this flag is set the --delete code is disabled. This prevents the problem that io or permission errors could cause files to be incorrectly deleted on the destination. - added a --timeout option. This allows you to set an IO timeout in seconds. If no io occurs in that time then rsync exits with a timeout error. - changed some FERROR fds to FINFO
* - on systems (such as intel linux) where off_t is 32 bits but "long long"Andrew Tridgell1998-03-251-1/+1
| | | | | | | is 64 bits use long long to get the totals right when transferring more than 2^32 bytes of data. - use inline on flist_up if the compiler supports it
* test for "long long" and %lld in configure.Andrew Tridgell1998-03-231-3/+5
|
* finished 64 bit file offset support. Hopefully rsync can now transferAndrew Tridgell1998-03-231-8/+8
| | | | | | | | | | | | | files up to 2^64 bytes in size. Now I just need to find enough disk space to test this :-) The 64 bit offset code only works if off_t is 64 bits (or bigger!) on both ends of the link. If one end tries to send a file greater than 2^31 in size and the other end doesn't support it then rsync will abort. This commit also cleans up some static declarations so they are in a unitinitialised segment to save load time.
* started to add some 64 bit file offset support - not complete yetAndrew Tridgell1998-03-231-7/+7
|