Commit Graph

866 Commits

Author SHA1 Message Date
Kovid Goyal
ec77d051df Replace another deprecated function 2023-08-04 23:02:55 +05:30
Kovid Goyal
341d845b9a Port calls to slices.Sort functions since they now need a cmp() function rather than a less() function
Also rename os.SEEK_* to io.Seek* as the former has been deprecated
2023-08-04 22:50:13 +05:30
Kovid Goyal
ffd997c338 Detect prompt lines in code blocks 2023-07-30 19:49:47 +05:30
Kovid Goyal
ce593dbb5f lp.Println() should act live fmt.Println()
also use a dedicated error type for signalining perm denied
2023-07-30 19:49:47 +05:30
Kovid Goyal
a55a918d4f Improve stack trace formatting 2023-07-30 19:49:47 +05:30
Kovid Goyal
2cae0ab695 Dont wait for cancel response when user denies permission 2023-07-30 19:49:46 +05:30
Kovid Goyal
ca485cc0f7 Make getting function name a utility function 2023-07-30 19:49:46 +05:30
Kovid Goyal
5881041fcd Ensure shortduration is no more than 8 chars 2023-07-30 19:49:46 +05:30
Kovid Goyal
b60d15fe75 Make short duration formatter re-useable 2023-07-30 19:49:46 +05:30
Kovid Goyal
4d686b2f47 Nicer string repr for operations 2023-07-30 19:49:46 +05:30
Kovid Goyal
d0490672e1 Fix block range coalescing not working in algorithm.c 2023-07-30 19:49:46 +05:30
Kovid Goyal
aff7f19580 DRYer 2023-07-30 19:49:46 +05:30
Kovid Goyal
b3819d3226 Ensure output.Write is not called outside of the stream decompressor function 2023-07-30 19:49:45 +05:30
Kovid Goyal
301f309444 ... 2023-07-30 19:49:45 +05:30
Kovid Goyal
42c9f30618 Change receive code to use new streaming decomp infra 2023-07-30 19:49:45 +05:30
Kovid Goyal
b4d8eaa0fe ... 2023-07-30 19:49:45 +05:30
Kovid Goyal
a210e0c977 Simplify stream decompressor 2023-07-30 19:49:45 +05:30
Kovid Goyal
c8f35019f0 Fix debugprintln to forwarded stdio implementation 2023-07-30 19:49:45 +05:30
Kovid Goyal
d46590c2e6 Fix fd leak in debugprintln 2023-07-30 19:49:45 +05:30
Kovid Goyal
6b5520f07a More work on porting the receive kitten 2023-07-30 19:49:45 +05:30
Kovid Goyal
3d5fdad029 More work on porting receive kitten 2023-07-30 19:49:44 +05:30
Kovid Goyal
73ee5b32c9 A better way to wrap go's zlib into a streaming decompressor 2023-07-30 19:49:44 +05:30
Kovid Goyal
59b47a3a8f A facility to easily have child programs print to kitty stdout
Works better than the kitty-print DCS escape code as that tends to get
interleaved with other writes to the tty since the loop infrastructure
writes in a separate I/O thread.
2023-07-30 19:49:44 +05:30
Kovid Goyal
063c39ea12 Wire up the rsync code in the send kitten 2023-07-30 19:49:43 +05:30
Kovid Goyal
edc1669ced Ported tests all pass 2023-07-30 19:49:43 +05:30
Kovid Goyal
b5498090df Finish the port of the rsync algorithm to C 2023-07-30 19:49:43 +05:30
Kovid Goyal
c84874ca8d Add tests for the xxhash based hashers 2023-07-30 19:49:42 +05:30
Kovid Goyal
08e3dbb8e7 Patcher signature generation implemented 2023-07-30 19:49:42 +05:30
Kovid Goyal
fabb6bd8cc Start work on porting Go rsync implementation to C 2023-07-30 19:49:42 +05:30
Kovid Goyal
85df15bfc3 Add a test that the last op is hash 2023-07-30 19:49:42 +05:30
Kovid Goyal
f64c4f34ac Also use io.Writer for signature iterator 2023-07-30 19:49:42 +05:30
Kovid Goyal
4b5216adcf Change delta creation API to use io.Writer
Simplifies logic and avoids an extra copy if the writer doesnt need to
make its own copy
2023-07-30 19:49:41 +05:30
Kovid Goyal
94b5bedfa5 Add overall file checksum verification to the rsync protocol 2023-07-30 19:49:41 +05:30
Kovid Goyal
e125f803b3 Work on adding overall checksum support 2023-07-30 19:49:41 +05:30
Kovid Goyal
039e17840a Allow users to customize buffer growth strategy 2023-07-30 19:49:41 +05:30
Kovid Goyal
c2ad662bed Use the append paradigm for the delta iterator as well 2023-07-30 19:49:41 +05:30
Kovid Goyal
579ab8551e Add some API docs 2023-07-30 19:49:41 +05:30
Kovid Goyal
77d5fe1be5 Change signature generation API to allow caller to provide storage and control iteration 2023-07-30 19:49:41 +05:30
Kovid Goyal
bbb6a4ae35 Micro-optimization: store strong hash as a uint64 instead of a byte slice 2023-07-30 19:49:41 +05:30
Kovid Goyal
55f9359e1b Make the rsync struct private 2023-07-30 19:49:41 +05:30
Kovid Goyal
6c10528cbd Make the hasher var private in the rsync API 2023-07-30 19:49:41 +05:30
Kovid Goyal
ca835cd80d ... 2023-07-30 19:49:41 +05:30
Kovid Goyal
7268513332 More tests 2023-07-30 19:49:41 +05:30
Kovid Goyal
71c7c4b285 Clean up delta generation algorithm implementation 2023-07-30 19:49:41 +05:30
Kovid Goyal
83d97c515c Use the iterator design for bytes based API as well 2023-07-30 19:49:41 +05:30
Kovid Goyal
e7d02b79d7 Make diff internals private 2023-07-30 19:49:41 +05:30
Kovid Goyal
6bc0fc7615 Make serializing data ops avoid a double copy 2023-07-30 19:49:40 +05:30
Kovid Goyal
f7723a65fa Removal original delta operation implementation
Mine is nicer and much more amenable to debugging
2023-07-30 19:49:40 +05:30
Kovid Goyal
35bfdbd926 ... 2023-07-30 19:49:40 +05:30
Kovid Goyal
3db2c4fe5d Make the test non-random 2023-07-30 19:49:40 +05:30