Login
History of src/fsl_diff.c of ee03f7343f44cea8
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

History of file src/fsl_diff.c at check-in ee03f7343f44cea8

2024-10-31
23:48
Pull in upstream [fossil:f214aba4f5c4846de0e1] to fix an obscure assert() triggered by diffs with hundreds of thousands of lines. However, this fix leads to the same offending diff now causing an apparently hang in libfossil (still waiting after four minutes, whereas fossil diff took only 2s). That's to be investigated Real Soon Now. file: [353dc9564f] check-in: [203439be88] user: stephan branch: trunk, size: 62074
2023-12-08
09:35
Upstream tweak [fossil:a45c7f0a560a90541967f790c4b5] to adjust diff output slightly. file: [65804ff8b1] check-in: [9313a01a00] user: stephan branch: trunk, size: 62043
2023-07-28
16:22
Apply upstream diff int overflow patch [fossil:5882e9e87861c7c0]. file: [7ff3f0a168] check-in: [ef095328f7] user: stephan branch: trunk, size: 62031
2023-04-19
02:26
Apply a set of missing f(void) and assigned-but-unused vars from Mark J. file: [c6dcb2ad36] check-in: [b96f5840ea] user: stephan branch: no-common-ancestor, size: 62013
2022-02-18
16:36
Back-ported [fossil:868d1608382a9bb1] for (cosmetic) diff alignment improvements. file: [6bc434ba0f] check-in: [57f6086d58] user: stephan branch: trunk, size: 62154
2022-01-24
03:44
Ported in upstream [fossil:8cd73dda3d10ff143740] diff generation tweaks. file: [eac0542d0f] check-in: [75349fc193] user: stephan branch: trunk, size: 60368
2022-01-23
18:58
Removed duplicate docs for fsl__diff_optimize(). file: [fc36a4eb18] check-in: [d8d1bc92a4] user: stephan branch: trunk, size: 58109
18:57
Now that the v1 diff code is gone, consolidated diff.c/diff2.c into diff.c and moved the dibu-specific code into the new dibu.c. That required exposing fsl__diff_optimize() via internal.h so that fnc.c can see it. (Edit: in hindsight, should have renamed diff2.c to dibu.c since most of diff2.c was dibu stuff. Oh, well.) file: [0debae9190] check-in: [2cca86d9a0] user: stephan branch: trunk, size: 59038
08:57
Ported in upstream diff changes [fossil:fbdbc09b402b19de] and [fossil:c311efef078c8733]. Diffing still seems to work. file: [3f279e5199] check-in: [93f03cf9ee] user: stephan branch: trunk, size: 13605
2022-01-20
08:54
Remove deprecated diff v1 code as per /chat discussion. This removes all exclusive diff v1 library routines and data types in preparation for importing this implementation into fnc as per chat with Stephan. It is on a branch pending review in case any bits were missed or incorrectly purged. file: [2560a46c43] check-in: [dbf0fb30dd] user: mark branch: rm-diff-v1, size: 13839
2022-01-02
00:32
Added FSL_OMIT_DEPRECATED #define to cause the deprecated APIs to be elided. Got core lib building that way. Removed FSL_EXPORT from functions declared in deprecated.h. file: [7dd54a8bce] check-in: [b7046bf39b] user: stephan branch: trunk, size: 63269
2021-12-21
08:28
Moved fossil-scm/fossil.h to ../libfossil.h so that client code can build from both the canonical tree and amalgamation using the same include name. file: [ebbfd18d5d] check-in: [76d6359435] user: stephan branch: trunk, size: 63490
2021-12-20
22:45
Ported in upstream diff fixes from [fossil:5bb01585bc8677ab15ef]. file: [23bd03e8ca] check-in: [0bee68c7c7] user: stephan branch: trunk, size: 63498
2021-12-03
04:49
Removed a large swath of assigned-but-unused code in the v1 HTML sbs diff generator, as detected by clang 13. Reported by Mark via /chat. file: [a8dd63025e] check-in: [5a433bf878] user: stephan branch: trunk, size: 63532
2021-11-02
23:52
Mass renaming of many internal APIs from fsl_X to fsl__X (two underscores) and several adjacent const cleanups. file: [114b893b93] check-in: [83917b7b45] user: stephan branch: trunk, size: 63954
2021-11-01
14:15
Replaced sprintf() with snprintf() and might (unsure) have squelched a warning regarding uninitialized array elements. file: [167a5486d0] check-in: [1dbcee9144] user: stephan branch: trunk, size: 63938
2021-10-11
07:05
Ported over the UTF-8 parts of fossil's "looks like" APIs. Whether or not we really need the UTF-16 counterparts remains to be seen. file: [bba32c009f] check-in: [496de4c153] user: stephan branch: trunk, size: 63934
2021-10-08
19:46
Fixed a NULL deref in the diff code when one version of a file being diffed does not exist (e.g. when diffing a new file against a non-existent prior version). This fixes a segfault when fnc is asked to diff a checkin which contains a new file. file: [3905f01a5b] check-in: [6aac145a22] user: stephan branch: trunk, size: 64186
2021-10-07
03:27
Resolved the mind-numbing diff problem, caused by having used an (unsigned int) where a uint64_t was needed for the fsl_dline::h member (hash value overflow led to mismatches between this impl and fossil's). Annotate, at least in its basic form, now works (testing with ignoring whitespace and such is pending). file: [080573489d] check-in: [e456c5ab39] user: stephan branch: port-annotate, size: 64266
02:02
Eliminated some extraneous diff-internal code. file: [5c300edc57] check-in: [32ba71065d] user: stephan branch: trunk, size: 64670
2021-10-06
23:21
Have narrowed down the source of the annotation difference (as it were) to the lower-level diff code, but _why_ libf is getting different results from fossil there (unless we force _both_ to do optimal matching on all diffs) is still a complete mystery. file: [955fe1eb6e] check-in: [0e55962dc9] user: stephan branch: port-annotate, size: 67762
2021-09-26
22:56
Seem to have gotten unified text diff _mostly_ working with the diff builder interface, though it required extending that interface a bit. We're still outputing more context than fossil does, for as-yet-unknown reasons, but the suspected off-by-one mentioned in the last commit was solved (it was not an off-by-one, but misuse of comparison routine results in fsl__diff_optimize()). file: [a936359f84] check-in: [103399cdf7] user: stephan branch: trunk, size: 68051
14:33
More work on the 2021-09 diff rendering bits. Fixed a couple deeply-internal diff bits which leave me wondering how diffs _ever_ worked here. file: [8762f96bdd] check-in: [af4d016879] user: stephan branch: trunk, size: 67271
2021-09-18
17:39
More work on the 2021 diff backend port. Still much to do. file: [34963633f4] check-in: [ed33831c3f] user: stephan branch: trunk, size: 66423
10:48
Tiny internal optimization in diff output. file: [dc6e8825ec] check-in: [5a1f0835b9] user: stephan branch: trunk, size: 68686
10:39
Changed semantics of fsl_appendf() to 0 on success, non-0 on error. Removed fsl_appendf_f() and replaced its uses with fsl_output_f(). Be on the lookout for subtle bugs, but the old printf()-style return semantics have never been relied upon so this should be side-effect-free. file: [f0b19d0b37] check-in: [b2e283edbf] user: stephan branch: trunk, size: 68672
2021-03-01
16:21
Arguably a typo fix in the new header. Thank goodness for stream editors. file: [8ada7266db] check-in: [386316db07] user: stephan branch: trunk, size: 68689
15:46
Replaced the overwhelming majority of license headers with the new project-standard one. Left a few as they were for files which were imported essentially unchanged from Fossil or, in the case of SHA1/SHA3/MD5 bits, other 3rd-party sources. file: [2b9a1e5fbd] check-in: [fa5fb24496] user: stephan branch: trunk, size: 68681
2021-02-28
17:10
Started porting in fossil's merge algorithm. It looks like the support algos are all in place, just the main merge is missing. First some sleep, though. file: [5aa968a4f2] check-in: [2cfc9d6ae9] user: stephan branch: trunk, size: 68933
2021-02-15
03:24
Renamed src/fsl_diff.c → src/diff.c. Renamed src/fsl_XYZ.c to src/XYZ.c. f-checkin vfile dump now includes renames. file: [38702cd852] check-in: [ed3183170a] user: stephan branch: trunk, size: 67745
2021-02-12
22:09
libfossil is now C99, rather than C89, per discussion at [https://fossil.wanderinghorse.net/r/libfossil-forum/forumpost/e02ff0e8d0]. fsl_int{16,32,64}_t have been replaced by the standard uint{16,32,64}_t, FSL_xxx_T_PFMT/SFMT replaced with PRIx32 and friends, and auto.def now checks for -std=c99 capability (but that check could probably be done differently/improved). fsl_int_t and fsl_uint_t are retained, as they're more about documentation/intent than fixed sizes. file: [38702cd852] check-in: [ee070353b9] user: stephan branch: trunk, size: 67745
2021-02-09
00:18
Updated license text in almost all C/H to claim copyright while attributing all of the files as heavily derived from DRH's work. file: [4a33752f8a] check-in: [631fb3f69a] user: stephan branch: trunk, size: 67773
2021-02-07
14:39
Back-ported diff numeric overflow fix from [https://fossil-scm.org/fossil/info/e2b7dca948da84b7]. file: [4ecef28e82] check-in: [f11bfb3bcf] user: stephan branch: trunk, size: 67732
14:31
Globally replaced http://... URLs with https://.... Most of them probably still work, too. file: [8d725a538f] check-in: [6af7b3b7c8] user: stephan branch: trunk, size: 67719
2014-04-28
11:22
Cherry-pick [http://fossil-scm.org/index.html/info/1274c97d700ed05fbb60d327fa758562824bc280|1274c97d70]: Fix function same_dline_ignore_allws(), for the case where one side of the diff was an empty line. Example where it went wrong: [http://fossil-scm.org/index.html/fdiff?v1=d5e0c2dc93&v2=7ee7dd0a42&sbs=1&w] file: [0030e714a9] check-in: [e54f14f83c] user: jan.nijtmans branch: trunk, size: 67717
2014-04-03
17:50
pulled in upstream fix from http://www.fossil-scm.org/index.html/info/c23190a61d7794b7935bbef1b00eee3377f80c85 file: [f1fe48b25e] check-in: [11edd969f0] user: stephan branch: trunk, size: 67695
2014-04-01
17:03
fixed resetting of ANSI colors when in HTML mode. file: [b6c5da7125] check-in: [a030960792] user: stephan branch: trunk, size: 67751
2014-03-28
21:33
All sorts of minor warning fixes revealed by compiling the amalgamation in Qt Creator. fsl_delta.c is not warning-free yet b/c my attempts to fix the signedness complaints have broken it. file: [95a9d0b829] check-in: [cb99e115a4] user: stephan branch: trunk, size: 67738
2014-03-27
16:23
Ported in the DContext::same_fn() bits from fossil(1). Have not tested them but no existing code was broken by them. file: [a538351a61] check-in: [dab9579623] user: stephan branch: trunk, size: 67726
2014-03-26
17:18
minor tinkering with the diff code. file: [8a8729263b] check-in: [304a5dc4d0] user: stephan branch: trunk, size: 66934
15:48
Fluff: started adding basic ANSI color support to text-mode diffs. Only context diffs for the time being. file: [6d4853054a] check-in: [41e6280df7] user: stephan branch: trunk, size: 66918
2014-03-17
14:40
Port [http://fossil-scm.org/index.html/info/597d1101b4|597d1101b4] bugfix. file: [9e3e4959b5] check-in: [e4bf163a5f] user: jan.nijtmans branch: trunk, size: 64254
2014-03-16
17:30
Pulled in upstream diff-generation tweaks. file: [39ca6d9bb9] check-in: [adb83cc610] user: stephan branch: trunk, size: 64389
2014-03-15
09:33
Pulled in upstream diff fix http://www.fossil-scm.org/index.html/info/e2e8531ba7. file: [c57036d302] check-in: [a5bda1ae61] user: stephan branch: trunk, size: 63919
2014-03-13
11:36
Make some files compile on MinGW. Ongoing. file: [e96a5ef59a] check-in: [7e5ca27c8c] user: jan.nijtmans branch: trunk, size: 63855
2014-03-12
11:37
Pulled i upstream fix (well, _change_) in diff algos. file: [7333b7649a] check-in: [f6586dfda9] user: stephan branch: trunk, size: 63806
2014-03-11
21:00
pulled in upstream diff-generation changes: http://www.fossil-scm.org/index.html/info/ac3fcebb19 file: [607fcb7f98] check-in: [d84b24de1e] user: stephan branch: trunk, size: 63806
2014-03-04
16:51
pulled in fixes from [http://fossil-scm.org/index.html/info/7a0f4af68e] and [http://fossil-scm.org/index.html/info/8f885df209]. file: [205bc933e8] check-in: [9d234667f6] user: stephan branch: trunk, size: 63437
2014-02-23
10:44
Added f-adiff (artifact diff) app. Renamed fsl_diff_text()-generated CSS class names for consistency and to unbrevitize them a bit. file: [f413295502] check-in: [d1487367a6] user: stephan branch: trunk, size: 63428
2014-02-14
09:05
Globally changes the API docs from fossil/sqlite-style '**' to Doxygen-friendly format because the extra stars hinder writability/changability and require an extra filter at the doxygen-processing level. file: [8d9f25e80c] check-in: [a2cbd2e343] user: stephan branch: trunk, size: 63314
2013-09-18
17:17
changed semantics of contextLines diff argument when==0. file: [5853309647] check-in: [85d6717c6c] user: stephan branch: trunk, size: 63314
2013-09-01
11:48
switched line number column from 6 back to 5 digits. Minor test code and doc tweaks. file: [8d947bd239] check-in: [1ea8b6c48a] user: stephan branch: trunk, size: 62724
11:37
doc updates. fixed an off-by-one in sbs display in inverted mode (caused by a formatting change i made earlier, not a bug in the original code). Added 'fsl-' prefix to all CSS class names. file: [958df5f0f4] check-in: [1a45779c91] user: stephan branch: trunk, size: 62724
11:15
FSL_DIFF_SIDEBYSIDE is now implicit if the sbsWidth argument is not 0. file: [287fe2a864] check-in: [c044f55804] user: stephan branch: trunk, size: 62743
10:50
removed dangling debug output. file: [eea5de078c] check-in: [91c7f44a58] user: stephan branch: trunk, size: 62645
10:48
Ported in sbs diffs. file: [50e5250bd8] check-in: [b9651d78bf] user: stephan branch: trunk, size: 62816
09:22
consolidated duplicate htmlize code. Re-added htmlize to diffs. file: [ef5ca6513f] check-in: [2e4b4226b9] user: stephan branch: trunk, size: 31923
08:37
Refactored diff generator to send its output to a fsl_output_f() instead of a buffer. file: [9876aa1e4f] check-in: [f156d46b10] user: stephan branch: trunk, size: 31924
2013-08-31
16:08
memleak fix in test code while testing for a leak in lib code. file: [aa54363ed0] check-in: [c0d1362cd6] user: stephan branch: trunk, size: 30513
15:58
Introducing fsl_diff_text(). file: [16a8bd1ad4] check-in: [881eabc5ba] user: stephan branch: trunk, size: 30549
14:21
Added: Started porting in the diff generation bits. Still much to do. file: [479937f9aa] check-in: [71111bb670] user: stephan branch: trunk, size: 7730