| ofs | hex dump | ascii |
|---|
| 0000 | 64 69 72 65 64 2d 72 73 79 6e 63 2d 32 30 32 33 30 38 32 32 2e 31 33 35 30 2f 00 00 00 00 00 00 | dired-rsync-20230822.1350/...... |
| 0020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0060 | 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000755.0000000.0000000.0000 |
| 0080 | 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 32 32 37 00 20 35 00 00 00 | 0000000.00000000000.013227..5... |
| 00a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 00c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 00e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0100 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... |
| 0120 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... |
| 0140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 01a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 01c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 01e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0200 | 64 69 72 65 64 2d 72 73 79 6e 63 2d 32 30 32 33 30 38 32 32 2e 31 33 35 30 2f 64 69 72 65 64 2d | dired-rsync-20230822.1350/dired- |
| 0220 | 72 73 79 6e 63 2d 70 6b 67 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | rsync-pkg.el.................... |
| 0240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0260 | 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000644.0000000.0000000.0000 |
| 0280 | 30 30 30 30 37 30 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 35 35 31 00 20 30 00 00 00 | 0000701.00000000000.016551..0... |
| 02a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 02c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 02e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0300 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... |
| 0320 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... |
| 0340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 03a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 03c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 03e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0400 | 28 64 65 66 69 6e 65 2d 70 61 63 6b 61 67 65 20 22 64 69 72 65 64 2d 72 73 79 6e 63 22 20 22 32 | (define-package."dired-rsync"."2 |
| 0420 | 30 32 33 30 38 32 32 2e 31 33 35 30 22 20 22 41 6c 6c 6f 77 20 72 73 79 6e 63 20 66 72 6f 6d 20 | 0230822.1350"."Allow.rsync.from. |
| 0440 | 64 69 72 65 64 20 62 75 66 66 65 72 73 22 0a 20 20 27 28 28 73 20 22 31 2e 31 32 2e 30 22 29 0a | dired.buffers"...'((s."1.12.0"). |
| 0460 | 20 20 20 20 28 64 61 73 68 20 22 32 2e 30 2e 30 22 29 0a 20 20 20 20 28 65 6d 61 63 73 20 22 32 | ....(dash."2.0.0").....(emacs."2 |
| 0480 | 35 2e 31 22 29 29 0a 20 20 3a 63 6f 6d 6d 69 74 20 22 35 62 63 62 38 35 31 66 33 62 66 39 63 34 | 5.1"))...:commit."5bcb851f3bf9c4 |
| 04a0 | 66 37 63 30 37 32 39 39 66 63 63 32 35 62 65 37 63 34 30 38 61 36 38 63 64 61 22 20 3a 61 75 74 | f7c07299fcc25be7c408a68cda".:aut |
| 04c0 | 68 6f 72 73 0a 20 20 27 28 28 22 41 6c 65 78 20 42 65 6e 6e c3 a9 65 22 20 2e 20 22 61 6c 65 78 | hors...'(("Alex.Benn..e"..."alex |
| 04e0 | 40 62 65 6e 6e 65 65 2e 63 6f 6d 22 29 29 0a 20 20 3a 6d 61 69 6e 74 61 69 6e 65 72 73 0a 20 20 | @bennee.com"))...:maintainers... |
| 0500 | 27 28 28 22 41 6c 65 78 20 42 65 6e 6e c3 a9 65 22 20 2e 20 22 61 6c 65 78 40 62 65 6e 6e 65 65 | '(("Alex.Benn..e"..."alex@bennee |
| 0520 | 2e 63 6f 6d 22 29 29 0a 20 20 3a 6d 61 69 6e 74 61 69 6e 65 72 0a 20 20 27 28 22 41 6c 65 78 20 | .com"))...:maintainer...'("Alex. |
| 0540 | 42 65 6e 6e c3 a9 65 22 20 2e 20 22 61 6c 65 78 40 62 65 6e 6e 65 65 2e 63 6f 6d 22 29 0a 20 20 | Benn..e"..."alex@bennee.com")... |
| 0560 | 3a 75 72 6c 20 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 73 74 73 71 75 61 64 | :url."https://github.com/stsquad |
| 0580 | 2f 64 69 72 65 64 2d 72 73 79 6e 63 22 29 0a 3b 3b 20 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 | /dired-rsync").;;.Local.Variable |
| 05a0 | 73 3a 0a 3b 3b 20 6e 6f 2d 62 79 74 65 2d 63 6f 6d 70 69 6c 65 3a 20 74 0a 3b 3b 20 45 6e 64 3a | s:.;;.no-byte-compile:.t.;;.End: |
| 05c0 | 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 05e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0600 | 64 69 72 65 64 2d 72 73 79 6e 63 2d 32 30 32 33 30 38 32 32 2e 31 33 35 30 2f 64 69 72 65 64 2d | dired-rsync-20230822.1350/dired- |
| 0620 | 72 73 79 6e 63 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | rsync.el........................ |
| 0640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0660 | 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000644.0000000.0000000.0000 |
| 0680 | 30 30 33 34 31 37 33 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 30 30 34 00 20 30 00 00 00 | 0034173.00000000000.016004..0... |
| 06a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 06c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 06e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0700 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... |
| 0720 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... |
| 0740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 07a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 07c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 07e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0800 | 3b 3b 3b 20 64 69 72 65 64 2d 72 73 79 6e 63 2e 65 6c 20 2d 2d 2d 20 41 6c 6c 6f 77 20 72 73 79 | ;;;.dired-rsync.el.---.Allow.rsy |
| 0820 | 6e 63 20 66 72 6f 6d 20 64 69 72 65 64 20 62 75 66 66 65 72 73 20 2d 2a 2d 20 6c 65 78 69 63 61 | nc.from.dired.buffers.-*-.lexica |
| 0840 | 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 20 2d 2a 2d 0a 3b 3b 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 | l-binding:.t.-*-.;;.;;.Copyright |
| 0860 | 20 28 43 29 20 32 30 31 38 2c 20 32 30 31 39 2c 20 32 30 32 30 20 41 6c 65 78 20 42 65 6e 6e c3 | .(C).2018,.2019,.2020.Alex.Benn. |
| 0880 | a9 65 0a 3b 3b 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 41 6c 65 78 20 42 65 6e 6e c3 a9 65 20 3c 61 | .e.;;.;;.Author:.Alex.Benn..e.<a |
| 08a0 | 6c 65 78 40 62 65 6e 6e 65 65 2e 63 6f 6d 3e 0a 3b 3b 20 4d 61 69 6e 74 61 69 6e 65 72 3a 20 41 | lex@bennee.com>.;;.Maintainer:.A |
| 08c0 | 6c 65 78 20 42 65 6e 6e c3 a9 65 20 3c 61 6c 65 78 40 62 65 6e 6e 65 65 2e 63 6f 6d 3e 0a 3b 3b | lex.Benn..e.<alex@bennee.com>.;; |
| 08e0 | 20 56 65 72 73 69 6f 6e 3a 20 30 2e 36 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 71 75 69 72 65 | .Version:.0.6.;;.Package-Require |
| 0900 | 73 3a 20 28 28 73 20 22 31 2e 31 32 2e 30 22 29 20 28 64 61 73 68 20 22 32 2e 30 2e 30 22 29 20 | s:.((s."1.12.0").(dash."2.0.0"). |
| 0920 | 28 65 6d 61 63 73 20 22 32 35 2e 31 22 29 29 0a 3b 3b 20 48 6f 6d 65 70 61 67 65 3a 20 68 74 74 | (emacs."25.1")).;;.Homepage:.htt |
| 0940 | 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 73 74 73 71 75 61 64 2f 64 69 72 65 64 2d 72 73 | ps://github.com/stsquad/dired-rs |
| 0960 | 79 6e 63 0a 3b 3b 0a 3b 3b 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 6e 6f 74 20 70 61 72 74 20 | ync.;;.;;.This.file.is.not.part. |
| 0980 | 6f 66 20 47 4e 55 20 45 6d 61 63 73 2e 0a 3b 3b 0a 3b 3b 20 54 68 69 73 20 66 69 6c 65 20 69 73 | of.GNU.Emacs..;;.;;.This.file.is |
| 09a0 | 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 | .free.software;.you.can.redistri |
| 09c0 | 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 20 75 6e 64 65 | bute.it.and/or.modify.;;.it.unde |
| 09e0 | 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 | r.the.terms.of.the.GNU.General.P |
| 0a00 | 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 3b 3b | ublic.License.as.published.by.;; |
| 0a20 | 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 | .the.Free.Software.Foundation;.e |
| 0a40 | 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 2c 20 6f 72 20 28 61 74 20 79 6f 75 72 20 6f 70 74 | ither.version.3,.or.(at.your.opt |
| 0a60 | 69 6f 6e 29 0a 3b 3b 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 3b 3b 0a 3b 3b | ion).;;.any.later.version..;;.;; |
| 0a80 | 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 | .This.file.is.distributed.in.the |
| 0aa0 | 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 3b 3b | .hope.that.it.will.be.useful,.;; |
| 0ac0 | 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f | .but.WITHOUT.ANY.WARRANTY;.witho |
| 0ae0 | 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a | ut.even.the.implied.warranty.of. |
| 0b00 | 3b 3b 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f | ;;.MERCHANTABILITY.or.FITNESS.FO |
| 0b20 | 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 | R.A.PARTICULAR.PURPOSE...See.the |
| 0b40 | 0a 3b 3b 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 | .;;.GNU.General.Public.License.f |
| 0b60 | 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 3b 3b 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c | or.more.details..;;.;;.You.shoul |
| 0b80 | 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e | d.have.received.a.copy.of.the.GN |
| 0ba0 | 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e | U.General.Public.License.;;.alon |
| 0bc0 | 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 | g.with.this.program...If.not,.se |
| 0be0 | 65 20 3c 68 74 74 70 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e | e.<http://www.gnu.org/licenses/> |
| 0c00 | 2e 0a 3b 3b 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 3b 3b 0a 3b 3b 20 64 69 72 65 64 | ..;;.;;;.Commentary:.;;.;;.dired |
| 0c20 | 2d 72 73 79 6e 63 20 69 73 20 61 20 63 6f 6d 6d 61 6e 64 20 74 68 61 74 20 63 61 6e 20 62 65 20 | -rsync.is.a.command.that.can.be. |
| 0c40 | 72 75 6e 20 66 72 6f 6d 20 61 20 64 69 72 65 64 20 62 75 66 66 65 72 20 74 6f 0a 3b 3b 20 63 6f | run.from.a.dired.buffer.to.;;.co |
| 0c60 | 70 79 20 66 69 6c 65 73 20 75 73 69 6e 67 20 72 73 79 6e 63 20 72 61 74 68 65 72 20 74 68 61 6e | py.files.using.rsync.rather.than |
| 0c80 | 20 74 72 61 6d 70 73 20 69 6e 2d 62 75 69 6c 74 20 6d 65 63 68 61 6e 69 73 6d 2e 0a 3b 3b 20 54 | .tramps.in-built.mechanism..;;.T |
| 0ca0 | 68 69 73 20 69 73 20 65 73 70 65 63 69 61 6c 6c 79 20 75 73 65 66 75 6c 20 66 6f 72 20 63 6f 70 | his.is.especially.useful.for.cop |
| 0cc0 | 79 69 6e 67 20 6c 61 72 67 65 20 66 69 6c 65 73 20 74 6f 2f 66 72 6f 6d 20 72 65 6d 6f 74 65 0a | ying.large.files.to/from.remote. |
| 0ce0 | 3b 3b 20 6c 6f 63 61 74 69 6f 6e 73 20 77 69 74 68 6f 75 74 20 6c 6f 63 6b 69 6e 67 20 75 70 20 | ;;.locations.without.locking.up. |
| 0d00 | 74 72 61 6d 70 2e 0a 3b 3b 0a 3b 3b 20 54 6f 20 75 73 65 20 73 69 6d 70 6c 79 20 6f 70 65 6e 20 | tramp..;;.;;.To.use.simply.open. |
| 0d20 | 61 20 64 69 72 65 64 20 62 75 66 66 65 72 2c 20 6d 61 72 6b 20 73 6f 6d 65 20 66 69 6c 65 73 20 | a.dired.buffer,.mark.some.files. |
| 0d40 | 61 6e 64 20 69 6e 76 6f 6b 65 0a 3b 3b 20 64 69 72 65 64 2d 72 73 79 6e 63 2e 20 20 41 66 74 65 | and.invoke.;;.dired-rsync...Afte |
| 0d60 | 72 20 62 65 69 6e 67 20 70 72 6f 6d 70 74 65 64 20 66 6f 72 20 61 20 6c 6f 63 61 74 69 6f 6e 20 | r.being.prompted.for.a.location. |
| 0d80 | 74 6f 20 63 6f 70 79 20 74 6f 20 61 6e 0a 3b 3b 20 69 6e 66 65 72 69 6f 72 20 72 73 79 6e 63 20 | to.copy.to.an.;;.inferior.rsync. |
| 0da0 | 70 72 6f 63 65 73 73 20 77 69 6c 6c 20 62 65 20 73 70 61 77 6e 65 64 2e 0a 3b 3b 0a 3b 3b 20 57 | process.will.be.spawned..;;.;;.W |
| 0dc0 | 68 65 72 65 76 65 72 20 74 68 65 20 66 69 6c 65 73 20 61 72 65 20 73 65 6c 65 63 74 65 64 20 66 | herever.the.files.are.selected.f |
| 0de0 | 72 6f 6d 20 74 68 65 20 72 73 79 6e 63 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 72 75 6e 20 66 72 | rom.the.rsync.will.always.run.fr |
| 0e00 | 6f 6d 0a 3b 3b 20 79 6f 75 72 20 6c 6f 63 61 6c 20 6d 61 63 68 69 6e 65 2e 0a 3b 3b 0a 0a 28 72 | om.;;.your.local.machine..;;..(r |
| 0e20 | 65 71 75 69 72 65 20 27 74 72 61 6d 70 29 20 3b 20 66 6f 72 20 74 72 61 6d 70 2d 74 72 61 6d 70 | equire.'tramp).;.for.tramp-tramp |
| 0e40 | 2d 66 69 6c 65 2d 70 0a 28 72 65 71 75 69 72 65 20 27 64 69 72 65 64 2d 61 75 78 29 20 3b 20 66 | -file-p.(require.'dired-aux).;.f |
| 0e60 | 6f 72 20 64 69 72 65 64 2d 64 77 69 6d 2d 74 61 72 67 65 74 2d 64 69 72 65 63 74 6f 72 79 0a 28 | or.dired-dwim-target-directory.( |
| 0e80 | 72 65 71 75 69 72 65 20 27 64 61 73 68 29 0a 28 72 65 71 75 69 72 65 20 27 73 29 0a 28 72 65 71 | require.'dash).(require.'s).(req |
| 0ea0 | 75 69 72 65 20 27 72 78 29 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 3b 3b 20 43 75 73 74 6f 6d 69 | uire.'rx)..;;;.Code:..;;.Customi |
| 0ec0 | 73 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 64 69 72 65 64 | sation.options..(defcustom.dired |
| 0ee0 | 2d 72 73 79 6e 63 2d 63 6f 6d 6d 61 6e 64 20 22 72 73 79 6e 63 22 0a 20 20 22 54 68 65 20 72 73 | -rsync-command."rsync"..."The.rs |
| 0f00 | 79 6e 63 20 62 69 6e 61 72 79 20 74 68 61 74 20 77 65 20 61 72 65 20 67 6f 69 6e 67 20 74 6f 20 | ync.binary.that.we.are.going.to. |
| 0f20 | 75 73 65 2e 22 0a 20 20 3a 74 79 70 65 20 27 73 74 72 69 6e 67 0a 20 20 3a 67 72 6f 75 70 20 27 | use."...:type.'string...:group.' |
| 0f40 | 64 69 72 65 64 2d 72 73 79 6e 63 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 64 69 72 65 64 2d 72 | dired-rsync)..(defcustom.dired-r |
| 0f60 | 73 79 6e 63 2d 6f 70 74 69 6f 6e 73 20 22 2d 61 7a 20 2d 2d 69 6e 66 6f 3d 70 72 6f 67 72 65 73 | sync-options."-az.--info=progres |
| 0f80 | 73 32 22 0a 20 20 22 54 68 65 20 64 65 66 61 75 6c 74 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 74 | s2"..."The.default.options.for.t |
| 0fa0 | 68 65 20 72 73 79 6e 63 20 63 6f 6d 6d 61 6e 64 2e 22 0a 20 20 3a 74 79 70 65 20 27 73 74 72 69 | he.rsync.command."...:type.'stri |
| 0fc0 | 6e 67 0a 20 20 3a 67 72 6f 75 70 20 27 64 69 72 65 64 2d 72 73 79 6e 63 29 0a 0a 28 64 65 66 63 | ng...:group.'dired-rsync)..(defc |
| 0fe0 | 75 73 74 6f 6d 20 64 69 72 65 64 2d 72 73 79 6e 63 2d 75 6e 6d 61 72 6b 2d 6f 6e 2d 63 6f 6d 70 | ustom.dired-rsync-unmark-on-comp |
| 1000 | 6c 65 74 69 6f 6e 20 74 0a 20 20 22 43 6f 6e 74 72 6f 6c 20 69 66 20 64 69 72 65 64 2d 72 73 79 | letion.t..."Control.if.dired-rsy |
| 1020 | 6e 63 20 73 68 6f 75 6c 64 20 75 6e 6d 61 72 6b 20 77 68 65 6e 20 63 6f 6d 70 6c 65 74 65 2e 22 | nc.should.unmark.when.complete." |
| 1040 | 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 0a 20 20 3a 67 72 6f 75 70 20 27 64 69 72 65 | ...:type.'boolean...:group.'dire |
| 1060 | 64 2d 72 73 79 6e 63 29 0a 0a 28 64 65 66 75 6e 20 64 69 72 65 64 2d 72 73 79 6e 63 2d 2d 64 65 | d-rsync)..(defun.dired-rsync--de |
| 1080 | 66 61 75 6c 74 2d 66 65 74 63 68 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 20 28 29 0a 20 20 22 44 | fault-fetch-marked-files.()..."D |
| 10a0 | 65 66 61 75 6c 74 20 66 65 74 63 68 65 72 20 6f 66 20 6d 61 72 6b 65 64 20 66 69 6c 65 73 2e 22 | efault.fetcher.of.marked.files." |
| 10c0 | 0a 20 20 28 64 69 72 65 64 2d 67 65 74 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 20 6e 69 6c 20 63 | ...(dired-get-marked-files.nil.c |
| 10e0 | 75 72 72 65 6e 74 2d 70 72 65 66 69 78 2d 61 72 67 29 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 | urrent-prefix-arg))..(defcustom. |
| 1100 | 64 69 72 65 64 2d 72 73 79 6e 63 2d 73 6f 75 72 63 65 2d 66 69 6c 65 73 20 27 64 69 72 65 64 2d | dired-rsync-source-files.'dired- |
| 1120 | 72 73 79 6e 63 2d 2d 64 65 66 61 75 6c 74 2d 66 65 74 63 68 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 | rsync--default-fetch-marked-file |
| 1140 | 73 0a 20 20 22 46 75 6e 63 74 69 6f 6e 20 74 6f 20 63 6f 6c 6c 65 63 74 20 74 68 65 20 6c 69 73 | s..."Function.to.collect.the.lis |
| 1160 | 74 20 6f 66 20 73 6f 75 72 63 65 20 66 69 6c 65 73 20 66 72 6f 6d 20 64 69 72 65 64 2e 22 0a 20 | t.of.source.files.from.dired.".. |
| 1180 | 20 3a 74 79 70 65 20 27 66 75 6e 63 74 69 6f 6e 0a 20 20 3a 67 72 6f 75 70 20 27 64 69 72 65 64 | .:type.'function...:group.'dired |
| 11a0 | 2d 73 79 6e 63 29 0a 0a 28 64 65 66 75 6e 20 64 69 72 65 64 2d 72 73 79 6e 63 2d 2d 64 65 66 61 | -sync)..(defun.dired-rsync--defa |
| 11c0 | 75 6c 74 2d 72 73 79 6e 63 2d 66 61 69 6c 65 64 20 28 29 0a 20 20 22 52 65 70 6f 72 74 20 72 73 | ult-rsync-failed.()..."Report.rs |
| 11e0 | 79 6e 63 20 66 61 69 6c 75 72 65 20 74 6f 20 63 6f 6e 73 6f 6c 65 2e 22 0a 20 20 28 6d 65 73 73 | ync.failure.to.console."...(mess |
| 1200 | 61 67 65 20 22 64 69 72 65 64 2d 72 73 79 6e 63 3a 20 66 61 69 6c 65 64 20 28 73 65 65 20 25 73 | age."dired-rsync:.failed.(see.%s |
| 1220 | 20 66 6f 72 20 64 65 74 61 69 6c 73 29 22 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 75 72 72 65 | .for.details)"............(curre |
| 1240 | 6e 74 2d 62 75 66 66 65 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 69 72 65 64 2d 72 73 79 6e 63 | nt-buffer)))..(defun.dired-rsync |
| 1260 | 2d 2d 70 6f 70 2d 74 6f 2d 72 73 79 6e 63 2d 66 61 69 6c 65 64 2d 62 75 66 20 28 29 0a 20 20 22 | --pop-to-rsync-failed-buf.()..." |
| 1280 | 4a 75 6d 70 20 74 6f 20 61 20 72 65 63 65 6e 74 6c 79 20 66 61 69 6c 65 64 20 62 75 66 66 65 72 | Jump.to.a.recently.failed.buffer |
| 12a0 | 2e 22 0a 20 20 28 70 6f 70 2d 74 6f 2d 62 75 66 66 65 72 2d 73 61 6d 65 2d 77 69 6e 64 6f 77 20 | ."...(pop-to-buffer-same-window. |
| 12c0 | 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 64 | (current-buffer)))..(defcustom.d |
| 12e0 | 69 72 65 64 2d 72 73 79 6e 63 2d 66 61 69 6c 65 64 2d 68 6f 6f 6b 20 27 28 64 69 72 65 64 2d 72 | ired-rsync-failed-hook.'(dired-r |
| 1300 | 73 79 6e 63 2d 2d 64 65 66 61 75 6c 74 2d 72 73 79 6e 63 2d 66 61 69 6c 65 64 29 0a 20 20 22 48 | sync--default-rsync-failed)..."H |
| 1320 | 6f 6f 6b 20 72 75 6e 20 77 68 65 6e 20 72 73 79 6e 63 20 66 61 69 6c 73 2e 0a 49 74 20 69 73 20 | ook.run.when.rsync.fails..It.is. |
| 1340 | 72 75 6e 20 69 6e 20 74 68 65 20 63 6f 6e 74 65 78 74 20 6f 66 20 74 68 65 20 66 61 69 6c 65 64 | run.in.the.context.of.the.failed |
| 1360 | 20 70 72 6f 63 65 73 73 20 62 75 66 66 65 72 2e 22 0a 20 20 3a 74 79 70 65 20 27 68 6f 6f 6b 0a | .process.buffer."...:type.'hook. |
| 1380 | 20 20 3a 67 72 6f 75 70 20 27 64 69 72 65 64 2d 72 73 79 6e 63 29 0a 0a 28 64 65 66 63 75 73 74 | ..:group.'dired-rsync)..(defcust |
| 13a0 | 6f 6d 20 64 69 72 65 64 2d 72 73 79 6e 63 2d 73 75 63 63 65 73 73 2d 68 6f 6f 6b 20 6e 69 6c 0a | om.dired-rsync-success-hook.nil. |
| 13c0 | 20 20 22 48 6f 6f 6b 20 72 75 6e 20 77 68 65 6e 20 72 73 79 6e 63 20 73 75 63 63 65 73 73 2e 22 | .."Hook.run.when.rsync.success." |
| 13e0 | 0a 20 20 3a 74 79 70 65 20 27 68 6f 6f 6b 0a 20 20 3a 67 72 6f 75 70 20 27 64 69 72 65 64 2d 72 | ...:type.'hook...:group.'dired-r |
| 1400 | 73 79 6e 63 29 0a 0a 3b 3b 20 49 6e 74 65 72 6e 61 6c 20 76 61 72 69 61 62 6c 65 73 0a 28 64 65 | sync)..;;.Internal.variables.(de |
| 1420 | 66 76 61 72 20 64 69 72 65 64 2d 72 73 79 6e 63 2d 70 72 6f 63 2d 62 75 66 66 65 72 2d 70 72 65 | fvar.dired-rsync-proc-buffer-pre |
| 1440 | 66 69 78 20 22 2a 72 73 79 6e 63 22 0a 20 20 22 50 72 65 66 69 78 20 66 6f 72 20 70 72 6f 63 65 | fix."*rsync"..."Prefix.for.proce |
| 1460 | 73 73 20 62 75 66 66 65 72 73 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 64 69 72 65 64 2d 72 73 79 | ss.buffers.")..(defvar.dired-rsy |
| 1480 | 6e 63 2d 6d 6f 64 65 6c 69 6e 65 2d 73 74 61 74 75 73 0a 20 20 22 22 0a 20 20 22 41 20 73 74 72 | nc-modeline-status...""..."A.str |
| 14a0 | 69 6e 67 20 64 65 66 69 6e 69 6e 67 20 63 75 72 72 65 6e 74 20 60 64 69 72 65 64 2d 72 73 79 6e | ing.defining.current.`dired-rsyn |
| 14c0 | 63 27 20 73 74 61 74 75 73 2c 20 75 73 65 66 75 6c 20 66 6f 72 20 6d 6f 64 65 6c 69 6e 65 73 2e | c'.status,.useful.for.modelines. |
| 14e0 | 22 29 0a 0a 28 64 65 66 76 61 72 20 64 69 72 65 64 2d 72 73 79 6e 63 2d 70 61 73 73 70 68 72 61 | ")..(defvar.dired-rsync-passphra |
| 1500 | 73 65 2d 73 74 61 6c 6c 2d 72 65 67 65 78 0a 20 20 28 72 78 20 22 45 6e 74 65 72 20 70 61 73 73 | se-stall-regex...(rx."Enter.pass |
| 1520 | 70 68 72 61 73 65 20 66 6f 72 20 6b 65 79 22 29 0a 20 20 22 41 20 72 65 67 65 78 20 74 6f 20 64 | phrase.for.key")..."A.regex.to.d |
| 1540 | 65 74 65 63 74 20 70 61 73 73 70 68 72 61 73 65 20 70 72 6f 6d 70 74 73 2e 22 29 0a 0a 28 64 65 | etect.passphrase.prompts.")..(de |
| 1560 | 66 76 61 72 20 64 69 72 65 64 2d 72 73 79 6e 63 2d 70 65 72 63 65 6e 74 2d 63 6f 6d 70 6c 65 74 | fvar.dired-rsync-percent-complet |
| 1580 | 65 2d 72 65 67 65 78 0a 20 20 28 72 78 20 28 2a 2a 20 31 20 33 20 64 69 67 69 74 29 20 22 25 22 | e-regex...(rx.(**.1.3.digit)."%" |
| 15a0 | 29 0a 20 20 22 41 20 72 65 67 65 78 20 74 6f 20 65 78 74 72 61 63 74 20 74 68 65 20 25 20 63 6f | )..."A.regex.to.extract.the.%.co |
| 15c0 | 6d 70 6c 65 74 65 20 66 72 6f 6d 20 61 20 66 69 6c 65 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 64 | mplete.from.a.file.")..(defvar.d |
| 15e0 | 69 72 65 64 2d 72 73 79 6e 63 2d 72 65 6d 6f 74 65 2d 70 6f 72 74 66 77 64 0a 20 20 22 73 73 68 | ired-rsync-remote-portfwd..."ssh |
| 1600 | 20 2d 70 20 25 64 20 2d 6f 20 53 74 72 69 63 74 48 6f 73 74 4b 65 79 43 68 65 63 6b 69 6e 67 3d | .-p.%d.-o.StrictHostKeyChecking= |
| 1620 | 6e 6f 20 2d 6f 20 55 73 65 72 4b 6e 6f 77 6e 48 6f 73 74 73 46 69 6c 65 3d 2f 64 65 76 2f 6e 75 | no.-o.UserKnownHostsFile=/dev/nu |
| 1640 | 6c 6c 22 0a 20 20 22 41 6e 20 65 78 70 6c 69 63 69 74 20 73 73 68 20 63 6f 6d 6d 61 6e 64 20 66 | ll"..."An.explicit.ssh.command.f |
| 1660 | 6f 72 20 72 73 79 6e 63 20 74 6f 20 75 73 65 20 70 6f 72 74 20 66 6f 72 77 61 72 64 65 64 20 70 | or.rsync.to.use.port.forwarded.p |
| 1680 | 72 6f 78 79 2e 0a 54 68 65 20 73 74 72 69 6e 67 20 69 73 20 74 72 65 61 74 65 64 20 61 73 20 61 | roxy..The.string.is.treated.as.a |
| 16a0 | 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 20 77 68 65 72 65 20 25 64 20 69 73 20 72 65 70 6c 61 | .format.string.where.%d.is.repla |
| 16c0 | 63 65 64 20 77 69 74 68 20 74 68 65 0a 72 65 73 75 6c 74 73 20 6f 66 20 60 64 69 72 65 64 2d 72 | ced.with.the.results.of.`dired-r |
| 16e0 | 73 79 6e 63 2d 2d 67 65 74 2d 72 65 6d 6f 74 65 2d 70 6f 72 74 27 2e 22 29 0a 0a 3b 3b 20 48 65 | sync--get-remote-port'.")..;;.He |
| 1700 | 6c 70 65 72 73 0a 28 64 65 66 75 6e 20 64 69 72 65 64 2d 72 73 79 6e 63 2d 2d 67 65 74 2d 72 65 | lpers.(defun.dired-rsync--get-re |
| 1720 | 6d 6f 74 65 2d 70 6f 72 74 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 72 65 6d 6f 74 | mote-port.()..."Return.the.remot |
| 1740 | 65 20 70 6f 72 74 20 77 65 20 73 68 61 6c 6c 20 75 73 65 20 66 6f 72 20 74 68 65 20 72 65 76 65 | e.port.we.shall.use.for.the.reve |
| 1760 | 72 73 65 20 70 6f 72 74 2d 66 6f 72 77 61 72 64 2e 22 0a 20 20 28 2b 20 35 30 30 30 30 20 28 6c | rse.port-forward."...(+.50000.(l |
| 1780 | 65 6e 67 74 68 20 28 64 69 72 65 64 2d 72 73 79 6e 63 2d 2d 67 65 74 2d 61 63 74 69 76 65 2d 62 | ength.(dired-rsync--get-active-b |
| 17a0 | 75 66 66 65 72 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 69 72 65 64 2d 72 73 79 6e 63 2d 2d | uffers))))..(defun.dired-rsync-- |
| 17c0 | 67 65 74 2d 72 65 6d 6f 74 65 2d 70 6f 72 74 66 77 64 20 28 29 0a 20 20 28 66 6f 72 6d 61 74 20 | get-remote-portfwd.()...(format. |
| 17e0 | 64 69 72 65 64 2d 72 73 79 6e 63 2d 72 65 6d 6f 74 65 2d 70 6f 72 74 66 77 64 20 28 64 69 72 65 | dired-rsync-remote-portfwd.(dire |
| 1800 | 64 2d 72 73 79 6e 63 2d 2d 67 65 74 2d 72 65 6d 6f 74 65 2d 70 6f 72 74 29 29 29 0a 0a 28 64 65 | d-rsync--get-remote-port)))..(de |
| 1820 | 66 75 6e 20 64 69 72 65 64 2d 72 73 79 6e 63 2d 2d 71 75 6f 74 65 2d 61 6e 64 2d 6d 61 79 62 65 | fun.dired-rsync--quote-and-maybe |
| 1840 | 2d 63 6f 6e 76 65 72 74 2d 66 72 6f 6d 2d 74 72 61 6d 70 20 28 66 69 6c 65 2d 6f 72 2d 70 61 74 | -convert-from-tramp.(file-or-pat |
| 1860 | 68 29 0a 20 20 22 52 65 66 6f 72 6d 61 74 20 61 20 74 72 61 6d 70 20 46 49 4c 45 2d 4f 52 2d 50 | h)..."Reformat.a.tramp.FILE-OR-P |
| 1880 | 41 54 48 20 74 6f 20 6f 6e 65 20 75 73 61 62 6c 65 20 66 6f 72 20 72 73 79 6e 63 2e 22 0a 20 20 | ATH.to.one.usable.for.rsync."... |
| 18a0 | 28 69 66 20 28 74 72 61 6d 70 2d 74 72 61 6d 70 2d 66 69 6c 65 2d 70 20 66 69 6c 65 2d 6f 72 2d | (if.(tramp-tramp-file-p.file-or- |
| 18c0 | 70 61 74 68 29 0a 20 20 20 20 20 20 28 77 69 74 68 2d 70 61 72 73 65 64 2d 74 72 61 6d 70 2d 66 | path).......(with-parsed-tramp-f |
| 18e0 | 69 6c 65 2d 6e 61 6d 65 20 66 69 6c 65 2d 6f 72 2d 70 61 74 68 20 74 66 6f 70 0a 20 20 20 20 20 | ile-name.file-or-path.tfop...... |
| 1900 | 20 20 20 28 66 6f 72 6d 61 74 20 22 25 73 25 73 3a 25 73 22 20 28 69 66 20 74 66 6f 70 2d 75 73 | ...(format."%s%s:%s".(if.tfop-us |
| 1920 | 65 72 20 28 66 6f 72 6d 61 74 20 22 25 73 40 22 20 74 66 6f 70 2d 75 73 65 72 29 20 22 22 29 20 | er.(format."%s@".tfop-user).""). |
| 1940 | 74 66 6f 70 2d 68 6f 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 68 65 6c 6c | tfop-host.................(shell |
| 1960 | 2d 71 75 6f 74 65 2d 61 72 67 75 6d 65 6e 74 20 74 66 6f 70 2d 6c 6f 63 61 6c 6e 61 6d 65 29 29 | -quote-argument.tfop-localname)) |
| 1980 | 29 0a 20 20 20 20 28 73 68 65 6c 6c 2d 71 75 6f 74 65 2d 61 72 67 75 6d 65 6e 74 20 66 69 6c 65 | ).....(shell-quote-argument.file |
| 19a0 | 2d 6f 72 2d 70 61 74 68 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 69 72 65 64 2d 72 73 79 6e 63 2d | -or-path)))..(defun.dired-rsync- |
| 19c0 | 2d 65 78 74 72 61 63 74 2d 68 6f 73 74 2d 66 72 6f 6d 2d 74 72 61 6d 70 20 28 66 69 6c 65 2d 6f | -extract-host-from-tramp.(file-o |
| 19e0 | 72 2d 70 61 74 68 20 26 6f 70 74 69 6f 6e 61 6c 20 73 70 6c 69 74 2d 75 73 65 72 29 0a 20 20 22 | r-path.&optional.split-user)..." |
| 1a00 | 45 78 74 72 61 63 74 20 74 68 65 20 74 72 61 6d 70 20 68 6f 73 74 20 70 61 72 74 20 6f 66 20 46 | Extract.the.tramp.host.part.of.F |
| 1a20 | 49 4c 45 2d 4f 52 2d 50 41 54 48 2e 0a 0a 49 74 20 53 50 4c 49 54 2d 55 53 45 52 20 69 73 20 73 | ILE-OR-PATH...It.SPLIT-USER.is.s |
| 1a40 | 65 74 20 77 65 20 72 65 6d 6f 76 65 20 74 68 65 20 75 73 65 72 40 20 70 61 72 74 20 61 73 20 77 | et.we.remove.the.user@.part.as.w |
| 1a60 | 65 6c 6c 2e 20 20 57 65 20 61 73 73 75 6d 65 0a 68 6f 73 74 73 20 64 6f 6e 27 74 20 6e 65 65 64 | ell...We.assume.hosts.don't.need |
| 1a80 | 20 71 75 6f 74 69 6e 67 2e 22 0a 20 20 28 77 69 74 68 2d 70 61 72 73 65 64 2d 74 72 61 6d 70 2d | .quoting."...(with-parsed-tramp- |
| 1aa0 | 66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c 65 2d 6f 72 2d 70 61 74 68 20 74 66 6f 70 0a 20 20 20 20 | file-name.file-or-path.tfop..... |
| 1ac0 | 28 69 66 20 28 6f 72 20 73 70 6c 69 74 2d 75 73 65 72 20 28 6e 6f 74 20 74 66 6f 70 2d 75 73 65 | (if.(or.split-user.(not.tfop-use |
| 1ae0 | 72 29 29 0a 20 20 20 20 20 20 20 20 74 66 6f 70 2d 68 6f 73 74 0a 20 20 20 20 20 20 28 66 6f 72 | r)).........tfop-host.......(for |
| 1b00 | 6d 61 74 20 22 25 73 40 25 73 22 20 74 66 6f 70 2d 75 73 65 72 20 74 66 6f 70 2d 68 6f 73 74 29 | mat."%s@%s".tfop-user.tfop-host) |
| 1b20 | 29 29 29 0a 0a 3b 3b 20 54 68 69 73 20 69 73 20 74 72 69 63 6b 79 20 66 6f 72 20 72 65 6d 6f 74 | )))..;;.This.is.tricky.for.remot |
| 1b40 | 65 2d 74 6f 2d 72 65 6d 6f 74 65 20 62 65 63 61 75 73 65 20 77 65 20 6d 61 79 20 68 61 76 65 20 | e-to-remote.because.we.may.have. |
| 1b60 | 61 6e 20 69 6d 70 6c 69 65 64 0a 3b 3b 20 75 73 65 72 20 66 72 6f 6d 20 74 68 65 20 6c 6f 63 61 | an.implied.;;.user.from.the.loca |
| 1b80 | 6c 20 63 6f 6e 66 69 67 20 77 68 69 63 68 20 69 73 6e 27 74 20 61 76 61 69 6c 61 62 6c 65 20 6f | l.config.which.isn't.available.o |
| 1ba0 | 6e 20 74 68 65 20 72 65 6d 6f 74 65 0a 3b 3b 20 2e 73 73 68 2f 63 6f 6e 66 69 67 0a 28 64 65 66 | n.the.remote.;;..ssh/config.(def |
| 1bc0 | 75 6e 20 64 69 72 65 64 2d 72 73 79 6e 63 2d 2d 65 78 74 72 61 63 74 2d 75 73 65 72 2d 66 72 6f | un.dired-rsync--extract-user-fro |
| 1be0 | 6d 2d 74 72 61 6d 70 20 28 66 69 6c 65 2d 6f 72 2d 70 61 74 68 29 0a 20 20 22 45 78 74 72 61 63 | m-tramp.(file-or-path)..."Extrac |
| 1c00 | 74 20 74 68 65 20 75 73 65 72 6e 61 6d 65 20 70 61 72 74 20 6f 66 20 61 20 74 72 61 6d 70 20 46 | t.the.username.part.of.a.tramp.F |
| 1c20 | 49 4c 45 2d 4f 52 2d 50 41 54 48 2e 22 0a 20 20 28 77 69 74 68 2d 70 61 72 73 65 64 2d 74 72 61 | ILE-OR-PATH."...(with-parsed-tra |
| 1c40 | 6d 70 2d 66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c 65 2d 6f 72 2d 70 61 74 68 20 74 66 6f 70 0a 20 | mp-file-name.file-or-path.tfop.. |
| 1c60 | 20 20 20 28 6f 72 20 74 66 6f 70 2d 75 73 65 72 0a 20 20 20 20 20 20 20 20 3b 20 73 6f 6d 65 68 | ...(or.tfop-user.........;.someh |
| 1c80 | 6f 77 20 65 78 74 72 61 63 74 20 2e 73 73 68 2f 63 6f 6e 66 69 67 20 75 73 65 72 20 66 6f 72 20 | ow.extract..ssh/config.user.for. |
| 1ca0 | 74 66 6f 70 2d 68 6f 73 74 0a 20 20 20 20 20 20 20 20 28 67 65 74 65 6e 76 20 22 55 53 45 52 22 | tfop-host.........(getenv."USER" |
| 1cc0 | 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 69 72 65 64 2d 72 73 79 6e 63 2d 2d 65 78 74 72 61 63 | ))))..(defun.dired-rsync--extrac |
| 1ce0 | 74 2d 70 6f 72 74 2d 66 72 6f 6d 2d 74 72 61 6d 70 20 28 66 69 6c 65 2d 6f 72 2d 70 61 74 68 29 | t-port-from-tramp.(file-or-path) |
| 1d00 | 0a 20 20 22 45 78 74 72 61 63 74 20 74 68 65 20 70 6f 72 74 20 70 61 72 74 20 6f 66 20 61 20 74 | ..."Extract.the.port.part.of.a.t |
| 1d20 | 72 61 6d 70 20 46 49 4c 45 2d 4f 52 2d 50 41 54 48 2e 22 0a 20 20 28 77 68 65 6e 20 28 74 72 61 | ramp.FILE-OR-PATH."...(when.(tra |
| 1d40 | 6d 70 2d 74 72 61 6d 70 2d 66 69 6c 65 2d 70 20 66 69 6c 65 2d 6f 72 2d 70 61 74 68 29 0a 20 20 | mp-tramp-file-p.file-or-path)... |
| 1d60 | 20 20 28 77 69 74 68 2d 70 61 72 73 65 64 2d 74 72 61 6d 70 2d 66 69 6c 65 2d 6e 61 6d 65 20 66 | ..(with-parsed-tramp-file-name.f |
| 1d80 | 69 6c 65 2d 6f 72 2d 70 61 74 68 20 74 66 6f 70 0a 20 20 20 20 20 20 74 66 6f 70 2d 70 6f 72 74 | ile-or-path.tfop.......tfop-port |
| 1da0 | 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 69 72 65 64 2d 72 73 79 6e 63 2d 2d 65 78 74 72 61 63 74 | )))..(defun.dired-rsync--extract |
| 1dc0 | 2d 70 61 74 68 73 2d 66 72 6f 6d 2d 74 72 61 6d 70 20 28 66 69 6c 65 73 29 0a 20 20 22 45 78 74 | -paths-from-tramp.(files)..."Ext |
| 1de0 | 72 61 63 74 20 74 68 65 20 70 61 74 68 20 70 61 72 74 20 6f 66 20 61 20 74 72 61 6d 70 20 46 49 | ract.the.path.part.of.a.tramp.FI |
| 1e00 | 4c 45 53 20 61 6e 64 20 71 75 6f 74 65 20 69 74 2e 22 0a 20 20 28 2d 2d 6d 61 70 0a 20 20 20 28 | LES.and.quote.it."...(--map....( |
| 1e20 | 77 69 74 68 2d 70 61 72 73 65 64 2d 74 72 61 6d 70 2d 66 69 6c 65 2d 6e 61 6d 65 20 69 74 20 74 | with-parsed-tramp-file-name.it.t |
| 1e40 | 66 6f 70 0a 20 20 20 20 20 28 73 68 65 6c 6c 2d 71 75 6f 74 65 2d 61 72 67 75 6d 65 6e 74 20 74 | fop......(shell-quote-argument.t |
| 1e60 | 66 6f 70 2d 6c 6f 63 61 6c 6e 61 6d 65 29 29 0a 20 20 20 66 69 6c 65 73 29 29 0a 0a 0a 3b 3b 20 | fop-localname))....files))...;;. |
| 1e80 | 43 6f 75 6e 74 20 61 63 74 69 76 65 20 62 75 66 66 65 72 73 0a 28 64 65 66 75 6e 20 64 69 72 65 | Count.active.buffers.(defun.dire |
| 1ea0 | 64 2d 72 73 79 6e 63 2d 2d 67 65 74 2d 70 72 6f 63 2d 62 75 66 66 65 72 73 20 28 29 0a 20 20 22 | d-rsync--get-proc-buffers.()..." |
| 1ec0 | 52 65 74 75 72 6e 20 61 6c 6c 20 64 69 72 65 64 2d 72 73 79 6e 63 20 70 72 6f 63 65 73 73 20 62 | Return.all.dired-rsync.process.b |
| 1ee0 | 75 66 66 65 72 73 2e 22 0a 20 20 28 2d 2d 66 69 6c 74 65 72 0a 20 20 20 28 61 6e 64 20 28 73 2d | uffers."...(--filter....(and.(s- |
| 1f00 | 73 74 61 72 74 73 2d 77 69 74 68 3f 20 64 69 72 65 64 2d 72 73 79 6e 63 2d 70 72 6f 63 2d 62 75 | starts-with?.dired-rsync-proc-bu |
| 1f20 | 66 66 65 72 2d 70 72 65 66 69 78 20 28 62 75 66 66 65 72 2d 6e 61 6d 65 20 69 74 29 29 0a 20 20 | ffer-prefix.(buffer-name.it))... |
| 1f40 | 20 20 20 20 20 20 28 67 65 74 2d 62 75 66 66 65 72 2d 70 72 6f 63 65 73 73 20 69 74 29 29 0a 20 | ......(get-buffer-process.it)).. |
| 1f60 | 20 20 28 62 75 66 66 65 72 2d 6c 69 73 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 69 72 65 64 2d | ..(buffer-list)))..(defun.dired- |
| 1f80 | 72 73 79 6e 63 2d 2d 67 65 74 2d 61 63 74 69 76 65 2d 62 75 66 66 65 72 73 20 28 29 0a 20 20 22 | rsync--get-active-buffers.()..." |
| 1fa0 | 52 65 74 75 72 6e 20 61 6c 6c 20 63 75 72 72 65 6e 74 6c 79 20 61 63 74 69 76 65 20 70 72 6f 63 | Return.all.currently.active.proc |
| 1fc0 | 65 73 73 20 62 75 66 66 65 72 73 22 0a 20 20 28 2d 2d 66 69 6c 74 65 72 0a 20 20 20 28 70 72 6f | ess.buffers"...(--filter....(pro |
| 1fe0 | 63 65 73 73 2d 6c 69 76 65 2d 70 20 28 67 65 74 2d 62 75 66 66 65 72 2d 70 72 6f 63 65 73 73 20 | cess-live-p.(get-buffer-process. |
| 2000 | 69 74 29 29 0a 20 20 20 28 64 69 72 65 64 2d 72 73 79 6e 63 2d 2d 67 65 74 2d 70 72 6f 63 2d 62 | it))....(dired-rsync--get-proc-b |
| 2020 | 75 66 66 65 72 73 29 29 29 0a 0a 0a 3b 3b 20 55 70 64 61 74 65 20 73 74 61 74 75 73 20 77 69 74 | uffers)))...;;.Update.status.wit |
| 2040 | 68 20 63 6f 75 6e 74 2f 73 70 65 65 64 0a 28 64 65 66 75 6e 20 64 69 72 65 64 2d 72 73 79 6e 63 | h.count/speed.(defun.dired-rsync |
| 2060 | 2d 2d 75 70 64 61 74 65 2d 6d 6f 64 65 6c 69 6e 65 20 28 26 6f 70 74 69 6f 6e 61 6c 20 65 72 72 | --update-modeline.(&optional.err |
| 2080 | 20 69 6e 64 29 0a 20 20 22 55 70 64 61 74 65 20 74 68 65 20 6d 6f 64 65 6c 69 6e 65 2c 20 6f 70 | .ind)..."Update.the.modeline,.op |
| 20a0 | 74 69 6f 6e 61 6c 6c 79 20 77 69 74 68 20 60 45 52 52 27 20 6f 72 20 60 49 4e 44 27 2e 0a 0a 60 | tionally.with.`ERR'.or.`IND'...` |
| 20c0 | 45 52 52 27 20 69 73 20 73 65 74 20 74 68 69 73 20 69 6e 64 69 63 61 74 65 73 20 61 20 70 72 6f | ERR'.is.set.this.indicates.a.pro |
| 20e0 | 62 6c 65 6d 2c 20 6f 74 68 65 72 77 69 73 65 20 60 49 4e 44 27 20 69 73 20 61 6e 0a 61 6c 74 65 | blem,.otherwise.`IND'.is.an.alte |
| 2100 | 72 6e 61 74 69 76 65 20 69 6e 64 69 63 61 74 69 6f 6e 20 28 73 75 63 68 20 61 73 20 61 20 70 65 | rnative.indication.(such.as.a.pe |
| 2120 | 72 63 65 6e 74 61 67 65 20 63 6f 6d 70 6c 65 74 69 6f 6e 29 2e 20 20 49 66 0a 6e 65 69 74 68 65 | rcentage.completion)...If.neithe |
| 2140 | 72 20 69 73 20 73 65 74 20 77 65 20 73 69 6d 70 6c 79 20 64 69 73 70 6c 61 79 20 74 68 65 20 63 | r.is.set.we.simply.display.the.c |
| 2160 | 75 72 72 65 6e 74 20 6e 75 6d 62 65 72 20 6f 66 20 6a 6f 62 73 2e 22 0a 20 20 28 66 6f 72 63 65 | urrent.number.of.jobs."...(force |
| 2180 | 2d 6d 6f 64 65 2d 6c 69 6e 65 2d 75 70 64 61 74 65 29 0a 20 20 28 6c 65 74 20 28 28 6a 6f 62 2d | -mode-line-update)...(let.((job- |
| 21a0 | 63 6f 75 6e 74 20 28 6c 65 6e 67 74 68 20 28 64 69 72 65 64 2d 72 73 79 6e 63 2d 2d 67 65 74 2d | count.(length.(dired-rsync--get- |
| 21c0 | 61 63 74 69 76 65 2d 62 75 66 66 65 72 73 29 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 64 69 72 | active-buffers)))).....(setq.dir |
| 21e0 | 65 64 2d 72 73 79 6e 63 2d 6d 6f 64 65 6c 69 6e 65 2d 73 74 61 74 75 73 0a 20 20 20 20 20 20 20 | ed-rsync-modeline-status........ |
| 2200 | 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 65 72 72 6f 72 20 68 61 73 | ...(cond............;;.error.has |
| 2220 | 20 6f 63 63 75 72 72 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 28 65 72 72 20 28 70 72 6f 70 65 | .occurred............(err.(prope |
| 2240 | 72 74 69 7a 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 | rtize..................(format." |
| 2260 | 20 52 3a 25 64 20 25 73 21 21 22 20 6a 6f 62 2d 63 6f 75 6e 74 20 65 72 72 29 0a 20 20 20 20 20 | .R:%d.%s!!".job-count.err)...... |
| 2280 | 20 20 20 20 20 20 20 20 20 20 20 20 27 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 61 63 65 20 27 28 3a 66 | ............'font-lock-face.'(:f |
| 22a0 | 6f 72 65 67 72 6f 75 6e 64 20 22 72 65 64 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b | oreground."red")))............;; |
| 22c0 | 20 77 65 20 73 74 69 6c 6c 20 68 61 76 65 20 6a 6f 62 73 20 62 75 74 20 6e 6f 20 65 72 72 6f 72 | .we.still.have.jobs.but.no.error |
| 22e0 | 0a 20 20 20 20 20 20 20 20 20 20 20 28 28 3e 20 6a 6f 62 2d 63 6f 75 6e 74 20 31 29 0a 20 20 20 | ............((>.job-count.1).... |
| 2300 | 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 20 52 3a 25 64 22 20 6a 6f 62 2d 63 6f 75 | .........(format.".R:%d".job-cou |
| 2320 | 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 28 3e 20 6a 6f 62 2d 63 6f 75 6e 74 20 30 29 | nt))............((>.job-count.0) |
| 2340 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 20 52 3a 25 73 22 20 28 6f 72 | .............(format.".R:%s".(or |
| 2360 | 20 69 6e 64 20 6a 6f 62 2d 63 6f 75 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 | .ind.job-count)))............;;. |
| 2380 | 41 6e 79 20 73 74 61 6c 65 3f 0a 20 20 20 20 20 20 20 20 20 20 20 28 28 64 69 72 65 64 2d 72 73 | Any.stale?............((dired-rs |
| 23a0 | 79 6e 63 2d 2d 67 65 74 2d 70 72 6f 63 2d 62 75 66 66 65 72 73 29 0a 20 20 20 20 20 20 20 20 20 | ync--get-proc-buffers).......... |
| 23c0 | 20 20 20 28 70 72 6f 70 65 72 74 69 7a 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ...(propertize.................. |
| 23e0 | 22 20 52 3a 68 75 6e 67 20 3a 2d 28 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 | ".R:hung.:-("..................' |
| 2400 | 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 61 63 65 20 27 28 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 72 65 | font-lock-face.'(:foreground."re |
| 2420 | 64 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6e 6f 74 68 69 6e 67 20 67 6f 69 6e | d")))............;;.nothing.goin |
| 2440 | 67 20 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 28 74 20 6e 69 6c 29 29 29 29 29 0a 0a 3b 3b 0a | g.on............(t.nil)))))..;;. |
| 2460 | 3b 3b 20 52 75 6e 6e 69 6e 67 20 72 73 79 6e 63 3a 20 57 65 20 6e 65 65 64 20 74 6f 20 74 61 6b | ;;.Running.rsync:.We.need.to.tak |
| 2480 | 65 20 63 61 72 65 20 6f 66 20 61 20 63 6f 75 70 6c 65 20 6f 66 20 74 68 69 6e 67 73 20 68 65 72 | e.care.of.a.couple.of.things.her |
| 24a0 | 65 2e 20 57 65 0a 3b 3b 20 6e 65 65 64 20 74 6f 20 65 6e 73 75 72 65 20 77 65 20 72 75 6e 20 66 | e..We.;;.need.to.ensure.we.run.f |
| 24c0 | 72 6f 6d 20 74 68 65 20 6c 6f 63 61 6c 20 68 6f 73 74 20 61 73 20 79 6f 75 20 73 68 6f 75 6c 64 | rom.the.local.host.as.you.should |
| 24e0 | 6e 27 74 20 65 78 70 65 63 74 0a 3b 3b 20 74 68 65 20 72 65 6d 6f 74 65 20 74 61 72 67 65 74 20 | n't.expect.;;.the.remote.target. |
| 2500 | 74 6f 20 62 65 20 61 73 20 61 77 61 72 65 20 6f 66 20 74 68 65 20 73 73 68 20 73 68 6f 72 74 63 | to.be.as.aware.of.the.ssh.shortc |
| 2520 | 75 74 73 20 68 6f 6d 65 20 61 73 20 66 72 6f 6d 0a 3b 3b 20 74 68 65 20 6c 6f 63 61 6c 20 73 79 | uts.home.as.from.;;.the.local.sy |
| 2540 | 73 74 65 6d 20 6f 75 74 20 28 2e 73 73 68 2f 63 6f 6e 66 69 67 29 2e 20 57 65 20 61 6c 73 6f 20 | stem.out.(.ssh/config)..We.also. |
| 2560 | 77 61 6e 74 20 74 6f 20 74 72 61 63 6b 20 77 68 65 6e 20 69 74 0a 3b 3b 20 69 73 20 66 69 6e 69 | want.to.track.when.it.;;.is.fini |
| 2580 | 73 68 65 64 20 73 6f 20 77 65 20 63 61 6e 20 69 6e 66 6f 72 6d 20 74 68 65 20 75 73 65 72 20 74 | shed.so.we.can.inform.the.user.t |
| 25a0 | 68 65 20 63 6f 70 79 20 69 73 20 63 6f 6d 70 6c 65 74 65 2e 0a 3b 3b 0a 0a 28 64 65 66 75 6e 20 | he.copy.is.complete..;;..(defun. |
| 25c0 | 64 69 72 65 64 2d 72 73 79 6e 63 2d 2d 73 65 6e 74 69 6e 65 6c 28 70 72 6f 63 20 64 65 73 63 20 | dired-rsync--sentinel(proc.desc. |
| 25e0 | 64 65 74 61 69 6c 73 29 0a 20 20 22 50 72 6f 63 65 73 73 20 73 65 6e 74 69 6e 65 6c 20 66 6f 72 | details)..."Process.sentinel.for |
| 2600 | 20 72 73 79 6e 63 20 70 72 6f 63 65 73 73 65 73 2e 0a 54 68 69 73 20 67 65 74 73 20 63 61 6c 6c | .rsync.processes..This.gets.call |
| 2620 | 65 64 20 77 68 65 6e 65 76 65 72 20 74 68 65 20 69 6e 66 65 72 69 6f 72 20 60 50 52 4f 43 27 20 | ed.whenever.the.inferior.`PROC'. |
| 2640 | 63 68 61 6e 67 65 73 20 73 74 61 74 65 20 61 73 0a 20 20 64 65 73 63 72 69 62 65 64 20 62 79 20 | changes.state.as...described.by. |
| 2660 | 60 44 45 53 43 27 2e 20 20 60 44 45 54 41 49 4c 53 27 20 70 72 6f 76 69 64 65 73 20 61 63 63 65 | `DESC'...`DETAILS'.provides.acce |
| 2680 | 73 73 20 74 6f 20 61 64 64 69 74 69 6f 6e 61 6c 0a 20 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 73 | ss.to.additional...information.s |
| 26a0 | 75 63 68 20 61 73 20 74 68 65 20 6c 6f 63 61 74 65 20 6f 66 20 74 68 65 20 64 69 72 65 64 2d 62 | uch.as.the.locate.of.the.dired-b |
| 26c0 | 75 66 66 65 72 2e 22 0a 20 20 28 6c 65 74 20 28 28 70 72 6f 63 2d 62 75 66 20 28 70 72 6f 63 65 | uffer."...(let.((proc-buf.(proce |
| 26e0 | 73 73 2d 62 75 66 66 65 72 20 70 72 6f 63 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 73 2d 73 | ss-buffer.proc))).....(when.(s-s |
| 2700 | 74 61 72 74 73 2d 77 69 74 68 2d 70 20 22 66 69 6e 69 73 68 65 64 22 20 64 65 73 63 29 0a 20 20 | tarts-with-p."finished".desc)... |
| 2720 | 20 20 20 20 3b 3b 20 63 6c 65 61 6e 2d 75 70 20 66 69 6e 69 73 68 65 64 20 74 61 73 6b 73 0a 20 | ....;;.clean-up.finished.tasks.. |
| 2740 | 20 20 20 20 20 28 6c 65 74 20 28 28 64 69 72 65 64 2d 62 75 66 20 28 70 6c 69 73 74 2d 67 65 74 | .....(let.((dired-buf.(plist-get |
| 2760 | 20 64 65 74 61 69 6c 73 20 27 3a 64 69 72 65 64 2d 62 75 66 66 65 72 29 29 29 0a 20 20 20 20 20 | .details.':dired-buffer)))...... |
| 2780 | 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 64 69 72 65 64 2d 72 73 79 6e 63 2d 75 6e 6d 61 72 6b | ...(when.(and.dired-rsync-unmark |
| 27a0 | 2d 6f 6e 2d 63 6f 6d 70 6c 65 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -on-completion.................. |
| 27c0 | 20 20 28 62 75 66 66 65 72 2d 6c 69 76 65 2d 70 20 64 69 72 65 64 2d 62 75 66 29 29 0a 20 20 20 | ..(buffer-live-p.dired-buf)).... |
| 27e0 | 20 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 64 69 72 65 | .......(with-current-buffer.dire |
| 2800 | 64 2d 62 75 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 64 69 72 65 64 2d 75 6e 6d 61 72 6b 2d | d-buf.............(dired-unmark- |
| 2820 | 61 6c 6c 2d 6d 61 72 6b 73 29 29 29 0a 20 20 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 | all-marks))).........(kill-buffe |
| 2840 | 72 20 70 72 6f 63 2d 62 75 66 29 29 0a 20 20 20 20 20 20 28 72 75 6e 2d 68 6f 6f 6b 73 20 27 64 | r.proc-buf)).......(run-hooks.'d |
| 2860 | 69 72 65 64 2d 72 73 79 6e 63 2d 73 75 63 63 65 73 73 2d 68 6f 6f 6b 29 29 0a 20 20 20 20 28 64 | ired-rsync-success-hook)).....(d |
| 2880 | 69 72 65 64 2d 72 73 79 6e 63 2d 2d 75 70 64 61 74 65 2d 6d 6f 64 65 6c 69 6e 65 29 0a 20 20 20 | ired-rsync--update-modeline).... |
| 28a0 | 20 3b 3b 20 49 66 20 77 65 20 73 74 69 6c 6c 20 68 61 76 65 20 61 20 70 72 6f 63 65 73 73 20 62 | .;;.If.we.still.have.a.process.b |
| 28c0 | 75 66 66 65 72 20 74 68 69 6e 67 73 20 64 69 64 6e 27 74 20 65 6e 64 20 77 65 6c 6c 0a 20 20 20 | uffer.things.didn't.end.well.... |
| 28e0 | 20 28 77 68 65 6e 20 28 61 6e 64 20 28 6e 6f 74 20 28 70 72 6f 63 65 73 73 2d 6c 69 76 65 2d 70 | .(when.(and.(not.(process-live-p |
| 2900 | 20 70 72 6f 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 6e | .proc))................(buffer-n |
| 2920 | 61 6d 65 20 70 72 6f 63 2d 62 75 66 29 29 0a 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 | ame.proc-buf)).......(with-curre |
| 2940 | 6e 74 2d 62 75 66 66 65 72 20 70 72 6f 63 2d 62 75 66 0a 20 20 20 20 20 20 20 20 28 72 75 6e 2d | nt-buffer.proc-buf.........(run- |
| 2960 | 68 6f 6f 6b 73 20 27 64 69 72 65 64 2d 72 73 79 6e 63 2d 66 61 69 6c 65 64 2d 68 6f 6f 6b 29 29 | hooks.'dired-rsync-failed-hook)) |
| 2980 | 29 29 29 0a 0a 0a 28 64 65 66 75 6e 20 64 69 72 65 64 2d 72 73 79 6e 63 2d 2d 66 69 6c 74 65 72 | )))...(defun.dired-rsync--filter |
| 29a0 | 20 28 70 72 6f 63 20 73 74 72 69 6e 67 29 0a 20 20 22 60 50 52 4f 43 27 20 72 73 79 6e 63 20 70 | .(proc.string)..."`PROC'.rsync.p |
| 29c0 | 72 6f 63 65 73 73 20 66 69 6c 74 65 72 2c 20 69 6e 73 65 72 74 20 60 53 54 52 49 4e 47 27 20 69 | rocess.filter,.insert.`STRING'.i |
| 29e0 | 6e 74 6f 20 62 75 66 66 65 72 2e 0a 0a 54 68 69 73 20 67 65 74 73 20 63 61 6c 6c 65 64 20 77 69 | nto.buffer...This.gets.called.wi |
| 2a00 | 74 68 20 73 74 72 69 6e 67 20 77 68 65 6e 65 76 65 72 20 74 68 65 72 65 20 69 73 20 6e 65 77 20 | th.string.whenever.there.is.new. |
| 2a20 | 64 61 74 61 20 74 6f 0a 64 69 73 70 6c 61 79 20 69 6e 20 74 68 65 20 70 72 6f 63 65 73 73 20 62 | data.to.display.in.the.process.b |
| 2a40 | 75 66 66 65 72 2e 20 20 57 65 20 73 63 61 6e 20 74 68 65 20 73 74 72 69 6e 67 20 74 6f 20 65 78 | uffer...We.scan.the.string.to.ex |
| 2a60 | 74 72 61 63 74 20 75 73 65 66 75 6c 0a 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 6e 64 20 75 70 64 | tract.useful.information.and.upd |
| 2a80 | 61 74 65 20 74 68 65 20 64 69 72 65 64 2d 72 73 79 6e 63 2d 6d 6f 64 65 6c 69 6e 65 2d 73 74 61 | ate.the.dired-rsync-modeline-sta |
| 2aa0 | 74 75 73 2e 22 0a 0a 20 20 3b 3b 20 73 63 61 6e 20 74 68 65 20 6e 65 77 20 73 74 72 69 6e 67 0a | tus."....;;.scan.the.new.string. |
| 2ac0 | 20 20 28 6c 65 74 20 28 28 65 72 72 20 6e 69 6c 29 20 28 69 6e 64 69 63 61 74 6f 72 20 6e 69 6c | ..(let.((err.nil).(indicator.nil |
| 2ae0 | 29 29 0a 20 20 20 20 3b 3b 20 47 72 61 62 20 25 20 63 6f 6d 70 6c 65 74 65 20 73 74 72 69 6e 67 | )).....;;.Grab.%.complete.string |
| 2b00 | 0a 20 20 20 20 28 77 68 65 6e 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 64 69 72 65 64 2d 72 | .....(when.(string-match.dired-r |
| 2b20 | 73 79 6e 63 2d 70 65 72 63 65 6e 74 2d 63 6f 6d 70 6c 65 74 65 2d 72 65 67 65 78 20 73 74 72 69 | sync-percent-complete-regex.stri |
| 2b40 | 6e 67 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 69 6e 64 69 63 61 74 6f 72 20 28 6d 61 74 63 68 | ng).......(setq.indicator.(match |
| 2b60 | 2d 73 74 72 69 6e 67 20 30 20 73 74 72 69 6e 67 29 29 29 0a 20 20 20 20 3b 3b 20 63 68 65 63 6b | -string.0.string))).....;;.check |
| 2b80 | 20 66 6f 72 20 70 72 6f 6d 70 74 0a 20 20 20 20 28 77 68 65 6e 20 28 73 74 72 69 6e 67 2d 6d 61 | .for.prompt.....(when.(string-ma |
| 2ba0 | 74 63 68 20 64 69 72 65 64 2d 72 73 79 6e 63 2d 70 61 73 73 70 68 72 61 73 65 2d 73 74 61 6c 6c | tch.dired-rsync-passphrase-stall |
| 2bc0 | 2d 72 65 67 65 78 20 73 74 72 69 6e 67 29 0a 20 20 20 20 20 20 28 70 72 6f 63 65 73 73 2d 73 65 | -regex.string).......(process-se |
| 2be0 | 6e 64 2d 73 74 72 69 6e 67 20 70 72 6f 63 20 28 63 6f 6e 63 61 74 20 28 72 65 61 64 2d 70 61 73 | nd-string.proc.(concat.(read-pas |
| 2c00 | 73 77 64 20 73 74 72 69 6e 67 29 20 22 5c 6e 22 29 29 29 0a 20 20 20 20 3b 3b 20 75 70 64 61 74 | swd.string)."\n"))).....;;.updat |
| 2c20 | 65 20 69 66 20 61 6e 79 74 68 69 6e 67 20 74 6f 20 72 65 70 6f 72 74 0a 20 20 20 20 28 77 68 65 | e.if.anything.to.report.....(whe |
| 2c40 | 6e 20 28 6f 72 20 65 72 72 20 69 6e 64 69 63 61 74 6f 72 29 0a 20 20 20 20 20 20 28 64 69 72 65 | n.(or.err.indicator).......(dire |
| 2c60 | 64 2d 72 73 79 6e 63 2d 2d 75 70 64 61 74 65 2d 6d 6f 64 65 6c 69 6e 65 20 65 72 72 20 69 6e 64 | d-rsync--update-modeline.err.ind |
| 2c80 | 69 63 61 74 6f 72 29 29 29 0a 0a 20 20 3b 3b 20 75 70 64 61 74 65 20 74 68 65 20 70 72 6f 63 65 | icator)))....;;.update.the.proce |
| 2ca0 | 73 73 20 62 75 66 66 65 72 20 28 77 65 20 63 6f 75 6c 64 20 6a 75 73 74 20 64 72 6f 70 3f 29 0a | ss.buffer.(we.could.just.drop?). |
| 2cc0 | 20 20 28 6c 65 74 20 28 28 6f 6c 64 2d 70 72 6f 63 65 73 73 2d 6d 61 72 6b 20 28 70 72 6f 63 65 | ..(let.((old-process-mark.(proce |
| 2ce0 | 73 73 2d 6d 61 72 6b 20 70 72 6f 63 29 29 29 0a 20 20 20 20 3b 3b 20 64 6f 20 74 68 65 20 6e 6f | ss-mark.proc))).....;;.do.the.no |
| 2d00 | 72 6d 61 6c 20 62 75 66 66 65 72 20 74 65 78 74 20 69 6e 73 65 72 74 69 6f 6e 0a 20 20 20 20 28 | rmal.buffer.text.insertion.....( |
| 2d20 | 77 68 65 6e 20 28 62 75 66 66 65 72 2d 6c 69 76 65 2d 70 20 28 70 72 6f 63 65 73 73 2d 62 75 66 | when.(buffer-live-p.(process-buf |
| 2d40 | 66 65 72 20 70 72 6f 63 29 29 0a 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 | fer.proc)).......(with-current-b |
| 2d60 | 75 66 66 65 72 20 28 70 72 6f 63 65 73 73 2d 62 75 66 66 65 72 20 70 72 6f 63 29 0a 20 20 20 20 | uffer.(process-buffer.proc)..... |
| 2d80 | 20 20 20 20 28 6c 65 74 20 28 28 6d 6f 76 69 6e 67 20 28 3d 20 28 70 6f 69 6e 74 29 20 6f 6c 64 | ....(let.((moving.(=.(point).old |
| 2da0 | 2d 70 72 6f 63 65 73 73 2d 6d 61 72 6b 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 61 76 65 | -process-mark)))...........(save |
| 2dc0 | 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 49 6e 73 65 72 74 | -excursion.............;;.Insert |
| 2de0 | 20 74 68 65 20 74 65 78 74 2c 20 61 64 76 61 6e 63 69 6e 67 20 74 68 65 20 70 72 6f 63 65 73 73 | .the.text,.advancing.the.process |
| 2e00 | 20 6d 61 72 6b 65 72 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 | .marker..............(goto-char. |
| 2e20 | 6f 6c 64 2d 70 72 6f 63 65 73 73 2d 6d 61 72 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 | old-process-mark).............(i |
| 2e40 | 6e 73 65 72 74 20 73 74 72 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 2d 6d | nsert.string).............(set-m |
| 2e60 | 61 72 6b 65 72 20 28 70 72 6f 63 65 73 73 2d 6d 61 72 6b 20 70 72 6f 63 29 20 28 70 6f 69 6e 74 | arker.(process-mark.proc).(point |
| 2e80 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 44 65 6c 65 74 65 20 6f 6c 64 20 74 65 78 | )).............;;.Delete.old.tex |
| 2ea0 | 74 20 75 70 74 6f 20 74 68 65 20 6e 65 77 6c 69 6e 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 | t.upto.the.newline.............( |
| 2ec0 | 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 20 | goto-char.(point-max)).......... |
| 2ee0 | 20 20 20 28 77 68 65 6e 20 28 73 65 61 72 63 68 2d 62 61 63 6b 77 61 72 64 20 22 5c 72 22 20 6e | ...(when.(search-backward."\r".n |
| 2f00 | 69 6c 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 72 65 67 69 | il.t)...............(delete-regi |
| 2f20 | 6f 6e 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 2b 20 31 20 28 6d 61 74 63 68 2d 62 65 67 69 6e | on.(point-min).(+.1.(match-begin |
| 2f40 | 6e 69 6e 67 20 30 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 6d 6f 76 69 6e 67 | ning.0)))))...........(if.moving |
| 2f60 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 72 6f 63 65 | ...............(goto-char.(proce |
| 2f80 | 73 73 2d 6d 61 72 6b 20 70 72 6f 63 29 29 29 29 29 29 29 29 0a 0a 0a 28 64 65 66 75 6e 20 64 69 | ss-mark.proc))))))))...(defun.di |
| 2fa0 | 72 65 64 2d 72 73 79 6e 63 2d 2d 64 6f 2d 72 75 6e 20 28 63 6f 6d 6d 61 6e 64 20 64 65 74 61 69 | red-rsync--do-run.(command.detai |
| 2fc0 | 6c 73 29 0a 20 20 22 52 75 6e 20 72 73 79 6e 63 20 43 4f 4d 4d 41 4e 44 20 69 6e 20 61 20 75 6e | ls)..."Run.rsync.COMMAND.in.a.un |
| 2fe0 | 69 71 75 65 20 62 75 66 66 65 72 2c 20 70 61 73 73 69 6e 67 20 44 45 54 41 49 4c 53 20 74 6f 20 | ique.buffer,.passing.DETAILS.to. |
| 3000 | 73 65 6e 74 69 6e 65 6c 2e 22 0a 20 20 28 61 70 70 6c 79 20 23 27 6d 61 6b 65 2d 70 72 6f 63 65 | sentinel."...(apply.#'make-proce |
| 3020 | 73 73 0a 09 20 28 61 70 70 65 6e 64 20 28 6c 69 73 74 20 3a 6e 61 6d 65 20 22 2a 72 73 79 6e 63 | ss...(append.(list.:name."*rsync |
| 3040 | 2a 22 0a 09 09 20 20 20 20 20 20 20 3a 62 75 66 66 65 72 20 28 66 6f 72 6d 61 74 20 22 25 73 20 | *"..........:buffer.(format."%s. |
| 3060 | 40 20 25 73 22 0a 09 09 09 09 20 20 20 20 20 20 20 64 69 72 65 64 2d 72 73 79 6e 63 2d 70 72 6f | @.%s"............dired-rsync-pro |
| 3080 | 63 2d 62 75 66 66 65 72 2d 70 72 65 66 69 78 0a 09 09 09 09 20 20 20 20 20 20 20 28 63 75 72 72 | c-buffer-prefix............(curr |
| 30a0 | 65 6e 74 2d 74 69 6d 65 2d 73 74 72 69 6e 67 29 29 0a 09 09 20 20 20 20 20 20 20 3a 63 6f 6d 6d | ent-time-string))..........:comm |
| 30c0 | 61 6e 64 20 28 6c 69 73 74 20 73 68 65 6c 6c 2d 66 69 6c 65 2d 6e 61 6d 65 0a 09 09 09 09 20 20 | and.(list.shell-file-name....... |
| 30e0 | 20 20 20 20 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 73 77 69 74 63 68 0a 09 09 09 09 20 20 20 | ....shell-command-switch........ |
| 3100 | 20 20 20 63 6f 6d 6d 61 6e 64 29 0a 09 09 20 20 20 20 20 20 20 3a 73 65 6e 74 69 6e 65 6c 20 28 | ...command)..........:sentinel.( |
| 3120 | 6c 61 6d 62 64 61 20 28 70 72 6f 63 20 64 65 73 63 29 0a 09 09 09 09 20 20 20 28 64 69 72 65 64 | lambda.(proc.desc)........(dired |
| 3140 | 2d 72 73 79 6e 63 2d 2d 73 65 6e 74 69 6e 65 6c 20 70 72 6f 63 20 64 65 73 63 20 64 65 74 61 69 | -rsync--sentinel.proc.desc.detai |
| 3160 | 6c 73 29 29 0a 09 09 20 20 20 20 20 20 20 3a 66 69 6c 74 65 72 20 28 6c 61 6d 62 64 61 20 28 70 | ls))..........:filter.(lambda.(p |
| 3180 | 72 6f 63 20 73 74 72 69 6e 67 29 0a 09 09 09 09 20 28 64 69 72 65 64 2d 72 73 79 6e 63 2d 2d 66 | roc.string)......(dired-rsync--f |
| 31a0 | 69 6c 74 65 72 20 70 72 6f 63 20 73 74 72 69 6e 67 29 29 29 29 29 0a 20 20 28 64 69 72 65 64 2d | ilter.proc.string)))))...(dired- |
| 31c0 | 72 73 79 6e 63 2d 2d 75 70 64 61 74 65 2d 6d 6f 64 65 6c 69 6e 65 29 29 0a 0a 28 64 65 66 75 6e | rsync--update-modeline))..(defun |
| 31e0 | 20 64 69 72 65 64 2d 72 73 79 6e 63 2d 2d 72 65 6d 6f 74 65 2d 74 6f 2d 66 72 6f 6d 2d 6c 6f 63 | .dired-rsync--remote-to-from-loc |
| 3200 | 61 6c 2d 63 6d 64 20 28 73 66 69 6c 65 73 20 64 65 73 74 29 0a 20 20 22 43 6f 6e 73 74 72 75 63 | al-cmd.(sfiles.dest)..."Construc |
| 3220 | 74 20 61 20 72 73 79 6e 63 20 63 6f 6d 6d 61 6e 64 20 66 6f 72 20 53 46 49 4c 45 53 20 74 6f 20 | t.a.rsync.command.for.SFILES.to. |
| 3240 | 44 45 53 54 20 63 6f 70 79 2e 0a 0a 54 68 69 73 20 68 61 6e 64 6c 65 73 20 62 6f 74 68 20 72 65 | DEST.copy...This.handles.both.re |
| 3260 | 6d 6f 74 65 20 74 6f 20 6c 6f 63 61 6c 20 6f 72 20 6c 6f 63 61 6c 20 74 6f 20 72 65 6d 6f 74 65 | mote.to.local.or.local.to.remote |
| 3280 | 20 63 6f 70 79 2e 0a 46 6f 72 74 75 6e 61 74 65 6c 79 20 62 6f 74 68 20 66 6f 72 6d 73 20 61 72 | .copy..Fortunately.both.forms.ar |
| 32a0 | 65 20 62 72 6f 61 64 6c 79 20 74 68 65 20 73 61 6d 65 2e 22 0a 20 20 28 6c 65 74 20 28 28 73 72 | e.broadly.the.same."...(let.((sr |
| 32c0 | 63 2d 66 69 6c 65 73 0a 20 20 20 20 20 20 20 20 20 28 2d 6d 61 70 20 27 64 69 72 65 64 2d 72 73 | c-files..........(-map.'dired-rs |
| 32e0 | 79 6e 63 2d 2d 71 75 6f 74 65 2d 61 6e 64 2d 6d 61 79 62 65 2d 63 6f 6e 76 65 72 74 2d 66 72 6f | ync--quote-and-maybe-convert-fro |
| 3300 | 6d 2d 74 72 61 6d 70 20 73 66 69 6c 65 73 29 29 0a 20 20 20 20 20 20 20 20 28 66 69 6e 61 6c 2d | m-tramp.sfiles)).........(final- |
| 3320 | 64 65 73 74 20 28 64 69 72 65 64 2d 72 73 79 6e 63 2d 2d 71 75 6f 74 65 2d 61 6e 64 2d 6d 61 79 | dest.(dired-rsync--quote-and-may |
| 3340 | 62 65 2d 63 6f 6e 76 65 72 74 2d 66 72 6f 6d 2d 74 72 61 6d 70 20 64 65 73 74 29 29 0a 20 20 20 | be-convert-from-tramp.dest)).... |
| 3360 | 20 20 20 20 20 28 73 73 68 2d 70 6f 72 74 20 28 2d 73 6f 6d 65 20 23 27 64 69 72 65 64 2d 72 73 | .....(ssh-port.(-some.#'dired-rs |
| 3380 | 79 6e 63 2d 2d 65 78 74 72 61 63 74 2d 70 6f 72 74 2d 66 72 6f 6d 2d 74 72 61 6d 70 0a 20 20 20 | ync--extract-port-from-tramp.... |
| 33a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 65 6e 64 20 28 6c | ......................(append.(l |
| 33c0 | 69 73 74 20 64 65 73 74 29 20 73 66 69 6c 65 73 29 29 29 29 0a 20 20 20 20 28 73 2d 6a 6f 69 6e | ist.dest).sfiles)))).....(s-join |
| 33e0 | 20 22 20 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 66 6c 61 74 74 65 6e 0a 20 20 20 20 20 | .".".............(-flatten...... |
| 3400 | 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 64 69 72 65 64 2d 72 73 79 6e 63 2d 63 6f 6d 6d 61 6e | ........(list.dired-rsync-comman |
| 3420 | 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 69 72 65 64 2d 72 73 79 6e 63 | d....................dired-rsync |
| 3440 | 2d 6f 70 74 69 6f 6e 73 0a 09 09 20 20 20 28 77 68 65 6e 20 73 73 68 2d 70 6f 72 74 20 28 66 6f | -options......(when.ssh-port.(fo |
| 3460 | 72 6d 61 74 20 22 2d 65 20 27 73 73 68 20 2d 70 20 25 73 27 22 20 73 73 68 2d 70 6f 72 74 29 29 | rmat."-e.'ssh.-p.%s'".ssh-port)) |
| 3480 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 2d 22 0a 20 20 20 20 20 20 20 | ...................."--"........ |
| 34a0 | 20 20 20 20 20 20 20 20 20 20 20 20 73 72 63 2d 66 69 6c 65 73 0a 20 20 20 20 20 20 20 20 20 20 | ............src-files........... |
| 34c0 | 20 20 20 20 20 20 20 20 20 66 69 6e 61 6c 2d 64 65 73 74 29 29 29 29 29 0a 0a 3b 3b 20 72 65 66 | .........final-dest)))))..;;.ref |
| 34e0 | 3a 20 68 74 74 70 73 3a 2f 2f 75 6e 69 78 2e 73 74 61 63 6b 65 78 63 68 61 6e 67 65 2e 63 6f 6d | :.https://unix.stackexchange.com |
| 3500 | 2f 71 75 65 73 74 69 6f 6e 73 2f 31 38 33 35 30 34 2f 68 6f 77 2d 74 6f 2d 72 73 79 6e 63 2d 66 | /questions/183504/how-to-rsync-f |
| 3520 | 69 6c 65 73 2d 62 65 74 77 65 65 6e 2d 74 77 6f 2d 72 65 6d 6f 74 65 73 0a 28 64 65 66 75 6e 20 | iles-between-two-remotes.(defun. |
| 3540 | 64 69 72 65 64 2d 72 73 79 6e 63 2d 2d 72 65 6d 6f 74 65 2d 74 6f 2d 72 65 6d 6f 74 65 2d 63 6d | dired-rsync--remote-to-remote-cm |
| 3560 | 64 20 28 73 68 6f 73 74 20 73 70 6f 72 74 20 73 66 69 6c 65 73 20 64 75 73 65 72 20 64 68 6f 73 | d.(shost.sport.sfiles.duser.dhos |
| 3580 | 74 20 64 70 6f 72 74 20 64 70 61 74 68 29 0a 20 20 22 43 6f 6e 73 74 72 75 63 74 20 61 6e 64 20 | t.dport.dpath)..."Construct.and. |
| 35a0 | 74 72 69 67 67 65 72 20 61 6e 20 72 73 79 6e 63 20 72 75 6e 20 66 6f 72 20 72 65 6d 6f 74 65 20 | trigger.an.rsync.run.for.remote. |
| 35c0 | 63 6f 70 79 2e 0a 54 68 65 20 73 6f 75 72 63 65 20 53 48 4f 53 54 20 61 6e 64 20 53 46 49 4c 45 | copy..The.source.SHOST.and.SFILE |
| 35e0 | 53 20 74 6f 20 72 65 6d 6f 74 65 20 44 55 53 45 52 20 40 20 44 48 4f 53 54 20 74 6f 20 44 50 41 | S.to.remote.DUSER.@.DHOST.to.DPA |
| 3600 | 54 48 2e 0a 0a 72 73 79 6e 63 20 64 6f 65 73 6e 27 74 20 73 75 70 70 6f 72 74 20 74 68 69 73 20 | TH...rsync.doesn't.support.this. |
| 3620 | 6d 6f 64 65 20 6f 66 20 6f 70 65 72 61 74 69 6f 6e 20 62 75 74 20 77 65 20 63 61 6e 20 66 61 6b | mode.of.operation.but.we.can.fak |
| 3640 | 65 20 69 74 20 62 79 0a 70 72 6f 76 69 64 69 6e 67 20 61 20 70 6f 72 74 20 66 6f 72 77 61 72 64 | e.it.by.providing.a.port.forward |
| 3660 | 20 66 72 6f 6d 20 74 68 65 20 73 6f 75 72 63 65 20 68 6f 73 74 20 77 68 69 63 68 20 77 65 20 70 | .from.the.source.host.which.we.p |
| 3680 | 61 73 73 20 6f 6e 74 6f 20 74 68 65 0a 64 65 73 74 69 6e 61 74 69 6f 6e 2e 20 20 54 68 69 73 20 | ass.onto.the.destination...This. |
| 36a0 | 72 65 71 75 69 72 65 73 20 73 73 68 27 69 6e 67 20 74 6f 20 74 68 65 20 73 6f 75 72 63 65 20 61 | requires.ssh'ing.to.the.source.a |
| 36c0 | 6e 64 20 72 75 6e 6e 69 6e 67 20 74 68 65 20 72 73 79 6e 63 0a 74 68 65 72 65 2e 22 0a 20 20 28 | nd.running.the.rsync.there."...( |
| 36e0 | 73 2d 6a 6f 69 6e 20 22 20 22 20 28 2d 66 6c 61 74 74 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 | s-join.".".(-flatten............ |
| 3700 | 20 20 20 20 28 6c 69 73 74 20 22 73 73 68 22 20 22 2d 41 22 20 28 77 68 65 6e 20 73 70 6f 72 74 | ....(list."ssh"."-A".(when.sport |
| 3720 | 20 28 66 6f 72 6d 61 74 20 22 2d 70 20 25 73 22 20 73 70 6f 72 74 29 29 0a 20 20 20 20 20 20 20 | .(format."-p.%s".sport))........ |
| 3740 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 52 22 20 28 66 6f 72 6d 61 74 20 22 6c 6f 63 61 | .............."-R".(format."loca |
| 3760 | 6c 68 6f 73 74 3a 25 64 3a 25 73 3a 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | lhost:%d:%s:%s"................. |
| 3780 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 69 72 65 64 2d 72 73 79 6e 63 2d 2d | ..................(dired-rsync-- |
| 37a0 | 67 65 74 2d 72 65 6d 6f 74 65 2d 70 6f 72 74 29 20 64 68 6f 73 74 0a 20 20 20 20 20 20 20 20 20 | get-remote-port).dhost.......... |
| 37c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 64 70 6f | .........................(or.dpo |
| 37e0 | 72 74 20 22 32 32 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 | rt."22"))......................s |
| 3800 | 68 6f 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 | host......................(forma |
| 3820 | 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5c 22 25 73 20 25 73 | t......................."\"%s.%s |
| 3840 | 20 2d 65 20 5c 5c 5c 22 25 73 5c 5c 5c 22 20 2d 2d 20 25 73 20 25 73 40 6c 6f 63 61 6c 68 6f 73 | .-e.\\\"%s\\\".--.%s.%s@localhos |
| 3860 | 74 3a 25 73 5c 22 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 69 | t:%s\"".......................di |
| 3880 | 72 65 64 2d 72 73 79 6e 63 2d 63 6f 6d 6d 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | red-rsync-command............... |
| 38a0 | 20 20 20 20 20 20 20 20 64 69 72 65 64 2d 72 73 79 6e 63 2d 6f 70 74 69 6f 6e 73 0a 20 20 20 20 | ........dired-rsync-options..... |
| 38c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 69 72 65 64 2d 72 73 79 6e 63 2d 2d | ..................(dired-rsync-- |
| 38e0 | 67 65 74 2d 72 65 6d 6f 74 65 2d 70 6f 72 74 66 77 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | get-remote-portfwd)............. |
| 3900 | 20 20 20 20 20 20 20 20 20 20 28 73 2d 6a 6f 69 6e 20 22 20 22 20 73 66 69 6c 65 73 29 0a 20 20 | ..........(s-join.".".sfiles)... |
| 3920 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 75 73 65 72 0a 20 20 20 20 20 20 | ....................duser....... |
| 3940 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 70 61 74 68 29 29 29 29 29 0a 0a 28 64 65 66 | ................dpath)))))..(def |
| 3960 | 75 6e 20 64 69 72 65 64 2d 72 73 79 6e 63 2d 2d 62 75 69 6c 64 2d 63 6d 64 20 28 73 66 69 6c 65 | un.dired-rsync--build-cmd.(sfile |
| 3980 | 73 20 64 65 73 74 29 0a 20 20 22 43 6f 6e 73 74 72 75 63 74 20 61 20 72 73 79 6e 63 20 63 6f 6d | s.dest)..."Construct.a.rsync.com |
| 39a0 | 6d 61 6e 64 20 66 6f 72 20 53 46 49 4c 45 53 20 74 6f 20 44 45 53 54 20 63 6f 70 79 2e 22 0a 20 | mand.for.SFILES.to.DEST.copy.".. |
| 39c0 | 20 28 69 66 20 28 61 6e 64 20 28 74 72 61 6d 70 2d 74 72 61 6d 70 2d 66 69 6c 65 2d 70 20 64 65 | .(if.(and.(tramp-tramp-file-p.de |
| 39e0 | 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 74 72 61 6d 70 2d 74 72 61 6d 70 2d 66 69 6c 65 | st)............(tramp-tramp-file |
| 3a00 | 2d 70 20 28 2d 66 69 72 73 74 2d 69 74 65 6d 20 73 66 69 6c 65 73 29 29 29 0a 20 20 20 20 20 20 | -p.(-first-item.sfiles)))....... |
| 3a20 | 28 6c 65 74 20 28 28 73 68 6f 73 74 20 28 64 69 72 65 64 2d 72 73 79 6e 63 2d 2d 65 78 74 72 61 | (let.((shost.(dired-rsync--extra |
| 3a40 | 63 74 2d 68 6f 73 74 2d 66 72 6f 6d 2d 74 72 61 6d 70 20 28 2d 66 69 72 73 74 2d 69 74 65 6d 20 | ct-host-from-tramp.(-first-item. |
| 3a60 | 73 66 69 6c 65 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 70 6f 72 74 20 28 64 69 | sfiles))).............(sport.(di |
| 3a80 | 72 65 64 2d 72 73 79 6e 63 2d 2d 65 78 74 72 61 63 74 2d 70 6f 72 74 2d 66 72 6f 6d 2d 74 72 61 | red-rsync--extract-port-from-tra |
| 3aa0 | 6d 70 20 28 2d 66 69 72 73 74 2d 69 74 65 6d 20 73 66 69 6c 65 73 29 29 29 0a 20 20 20 20 20 20 | mp.(-first-item.sfiles)))....... |
| 3ac0 | 20 20 20 20 20 20 28 73 72 63 2d 66 69 6c 65 73 20 28 64 69 72 65 64 2d 72 73 79 6e 63 2d 2d 65 | ......(src-files.(dired-rsync--e |
| 3ae0 | 78 74 72 61 63 74 2d 70 61 74 68 73 2d 66 72 6f 6d 2d 74 72 61 6d 70 20 73 66 69 6c 65 73 29 29 | xtract-paths-from-tramp.sfiles)) |
| 3b00 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 64 68 6f 73 74 20 28 64 69 72 65 64 2d 72 73 79 6e 63 | .............(dhost.(dired-rsync |
| 3b20 | 2d 2d 65 78 74 72 61 63 74 2d 68 6f 73 74 2d 66 72 6f 6d 2d 74 72 61 6d 70 20 64 65 73 74 20 74 | --extract-host-from-tramp.dest.t |
| 3b40 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 64 70 6f 72 74 20 28 64 69 72 65 64 2d 72 73 79 | )).............(dport.(dired-rsy |
| 3b60 | 6e 63 2d 2d 65 78 74 72 61 63 74 2d 70 6f 72 74 2d 66 72 6f 6d 2d 74 72 61 6d 70 20 64 65 73 74 | nc--extract-port-from-tramp.dest |
| 3b80 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 64 75 73 65 72 20 28 64 69 72 65 64 2d 72 73 79 | )).............(duser.(dired-rsy |
| 3ba0 | 6e 63 2d 2d 65 78 74 72 61 63 74 2d 75 73 65 72 2d 66 72 6f 6d 2d 74 72 61 6d 70 20 64 65 73 74 | nc--extract-user-from-tramp.dest |
| 3bc0 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 64 70 61 74 68 20 28 2d 66 69 72 73 74 2d 69 74 | )).............(dpath.(-first-it |
| 3be0 | 65 6d 20 28 64 69 72 65 64 2d 72 73 79 6e 63 2d 2d 65 78 74 72 61 63 74 2d 70 61 74 68 73 2d 66 | em.(dired-rsync--extract-paths-f |
| 3c00 | 72 6f 6d 2d 74 72 61 6d 70 20 28 6c 69 73 74 20 64 65 73 74 29 29 29 29 29 0a 20 20 20 20 20 20 | rom-tramp.(list.dest)))))....... |
| 3c20 | 20 20 28 64 69 72 65 64 2d 72 73 79 6e 63 2d 2d 72 65 6d 6f 74 65 2d 74 6f 2d 72 65 6d 6f 74 65 | ..(dired-rsync--remote-to-remote |
| 3c40 | 2d 63 6d 64 20 73 68 6f 73 74 20 73 70 6f 72 74 20 73 72 63 2d 66 69 6c 65 73 0a 20 20 20 20 20 | -cmd.shost.sport.src-files...... |
| 3c60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 3c80 | 20 20 20 20 20 20 64 75 73 65 72 20 64 68 6f 73 74 20 64 70 6f 72 74 20 64 70 61 74 68 29 29 0a | ......duser.dhost.dport.dpath)). |
| 3ca0 | 20 20 20 20 28 64 69 72 65 64 2d 72 73 79 6e 63 2d 2d 72 65 6d 6f 74 65 2d 74 6f 2d 66 72 6f 6d | ....(dired-rsync--remote-to-from |
| 3cc0 | 2d 6c 6f 63 61 6c 2d 63 6d 64 20 73 66 69 6c 65 73 20 64 65 73 74 29 29 29 0a 0a 3b 3b 3b 23 23 | -local-cmd.sfiles.dest)))..;;;## |
| 3ce0 | 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 69 72 65 64 2d 72 73 79 6e 63 20 28 64 65 | #autoload.(defun.dired-rsync.(de |
| 3d00 | 73 74 29 0a 20 20 22 41 73 79 6e 63 68 72 6f 6e 6f 75 73 6c 79 20 63 6f 70 79 20 66 69 6c 65 73 | st)..."Asynchronously.copy.files |
| 3d20 | 20 69 6e 20 64 69 72 65 64 20 74 6f 20 60 44 45 53 54 27 20 75 73 69 6e 67 20 72 73 79 6e 63 2e | .in.dired.to.`DEST'.using.rsync. |
| 3d40 | 0a 0a 60 44 45 53 54 27 20 63 61 6e 20 62 65 20 61 20 72 65 6c 61 74 69 76 65 20 66 69 6c 65 6e | ..`DEST'.can.be.a.relative.filen |
| 3d60 | 61 6d 65 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 70 72 6f 63 65 73 73 65 64 20 62 79 0a 60 65 78 | ame.and.will.be.processed.by.`ex |
| 3d80 | 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 27 20 62 65 66 6f 72 65 20 62 65 69 6e 67 20 70 61 73 | pand-file-name'.before.being.pas |
| 3da0 | 73 65 64 20 74 6f 20 74 68 65 20 72 73 79 6e 63 20 63 6f 6d 6d 61 6e 64 2e 0a 0a 54 68 69 73 20 | sed.to.the.rsync.command...This. |
| 3dc0 | 66 75 6e 63 74 69 6f 6e 20 72 75 6e 73 20 74 68 65 20 63 6f 70 79 20 61 73 79 6e 63 68 72 6f 6e | function.runs.the.copy.asynchron |
| 3de0 | 6f 75 73 6c 79 20 73 6f 20 45 6d 61 63 73 20 77 6f 6e 27 74 20 62 6c 6f 63 6b 20 77 68 69 6c 73 | ously.so.Emacs.won't.block.whils |
| 3e00 | 74 0a 74 68 65 20 63 6f 70 79 20 69 73 20 72 75 6e 6e 69 6e 67 2e 20 20 49 74 20 61 6c 73 6f 20 | t.the.copy.is.running...It.also. |
| 3e20 | 68 61 6e 64 6c 65 73 20 62 6f 74 68 20 73 6f 75 72 63 65 20 61 6e 64 20 64 65 73 74 69 6e 61 74 | handles.both.source.and.destinat |
| 3e40 | 69 6f 6e 73 20 6f 6e 0a 73 73 68 2f 73 63 70 20 74 72 61 6d 70 20 63 6f 6e 6e 65 63 74 69 6f 6e | ions.on.ssh/scp.tramp.connection |
| 3e60 | 73 2e 22 0a 20 20 3b 3b 20 49 6e 74 65 72 61 63 74 69 76 65 6c 79 20 67 72 61 62 20 64 65 73 74 | s."...;;.Interactively.grab.dest |
| 3e80 | 20 69 66 20 6e 6f 74 20 63 61 6c 6c 65 64 20 77 69 74 68 0a 20 20 28 69 6e 74 65 72 61 63 74 69 | .if.not.called.with...(interacti |
| 3ea0 | 76 65 0a 20 20 20 28 6c 69 73 74 20 28 72 65 61 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 22 72 73 79 | ve....(list.(read-file-name."rsy |
| 3ec0 | 6e 63 20 74 6f 3a 20 22 20 28 64 69 72 65 64 2d 64 77 69 6d 2d 74 61 72 67 65 74 2d 64 69 72 65 | nc.to:.".(dired-dwim-target-dire |
| 3ee0 | 63 74 6f 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ctory).......................... |
| 3f00 | 6e 69 6c 20 6e 69 6c 20 6e 69 6c 20 27 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 2d 70 29 29 29 | nil.nil.nil.'file-directory-p))) |
| 3f20 | 0a 0a 20 20 28 73 65 74 71 20 64 65 73 74 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 | ....(setq.dest.(expand-file-name |
| 3f40 | 20 64 65 73 74 29 29 0a 0a 20 20 28 6c 65 74 2a 20 28 28 73 66 69 6c 65 73 20 28 66 75 6e 63 61 | .dest))....(let*.((sfiles.(funca |
| 3f60 | 6c 6c 20 64 69 72 65 64 2d 72 73 79 6e 63 2d 73 6f 75 72 63 65 2d 66 69 6c 65 73 29 29 0a 20 20 | ll.dired-rsync-source-files))... |
| 3f80 | 20 20 20 20 20 20 20 28 63 6d 64 20 28 64 69 72 65 64 2d 72 73 79 6e 63 2d 2d 62 75 69 6c 64 2d | .......(cmd.(dired-rsync--build- |
| 3fa0 | 63 6d 64 20 73 66 69 6c 65 73 20 64 65 73 74 29 29 29 0a 20 20 20 20 28 64 69 72 65 64 2d 72 73 | cmd.sfiles.dest))).....(dired-rs |
| 3fc0 | 79 6e 63 2d 2d 64 6f 2d 72 75 6e 20 63 6d 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ync--do-run.cmd................. |
| 3fe0 | 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 3a 6d 61 72 6b 65 64 2d 66 69 6c 65 73 20 73 66 69 | .........(list.:marked-files.sfi |
| 4000 | 6c 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | les............................. |
| 4020 | 20 20 20 3a 64 69 72 65 64 2d 62 75 66 66 65 72 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 | ...:dired-buffer.(current-buffer |
| 4040 | 29 29 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 64 69 72 65 64 2d 72 73 79 6e 63 29 0a 3b 3b | )))))..(provide.'dired-rsync).;; |
| 4060 | 3b 20 64 69 72 65 64 2d 72 73 79 6e 63 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 | ;.dired-rsync.el.ends.here...... |
| 4080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 40a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 40c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 40e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 41a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 41c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 41e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 42e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 43e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 44e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 45e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 46e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 47e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 48e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 49e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4c80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4d00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4d20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4e00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4e20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4e40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4e60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4e80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4ee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4f80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 4fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |