Fossil

File History
Login

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

History of src/stash.c

2017-11-30
17:58
Refactor the symlink processing logic so that most of the file access routines take a new parameter indicating the conditions under which symlinks should and should not be followed. This should fix a few bugs related to symlink processing. Lots of testing required before merging to trunk. file: [8f0bc283] check-in: [e7767de2] user: drh branch: symlink-refactor, size: 22445
2017-08-24
14:20
Typo fixes thanks to rosscanning, ref http://www.mail-archive.com/fossil-users@lists.fossil-scm.org/msg25775.html file: [a6bb018a] check-in: [f98852a0] user: andygoth branch: trunk, size: 22720
2017-04-23
13:08
merge trunk. Use new Win10 flag: SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE. See: https://blogs.windows.com/buildingapps/2016/12/02/symlinks-windows-10/#Y9sMOye6Y8vVYmDx.97 for why this might make this branch work better. file: [5512ef25] check-in: [2999c7dc] user: jan.nijtmans branch: winsymlink, size: 22574
2017-03-06
12:48
For new Docker-generated repositories, use "auto" hash-policy as default: They might be synced with "sha1"-type repositories, this would render those repositories useless. file: [dc0263e1] check-in: [9a6256cf] user: jan.nijtmans branch: trunk, size: 22721
2017-03-03
14:31
Add gshow and gcat command to allow to use gdiff-command when diffing the stash against baseline. When using gdiff, call external tool directly with the file from the checkout, it's usefull when merging change manually using the external tool. file: [f79f603f] check-in: [06b16752] user: mgagnon branch: stash-gdiff-improvement, size: 22724
2016-11-06
06:39
Rename sfile x column to pathname to match vfile and to make room for new columns I plan to add file: [ac247e5b] check-in: [ec9480fc] user: andygoth branch: andygoth-changes, size: 22446
2016-10-20
16:53
Revert unintended change to stash usage summary file: [99687142] check-in: [63ac71e5] user: andygoth branch: trunk, size: 22432
16:13
"stash cat" worked the same as "stash diff", yet "stash cat -tk" worked the same as "stash show -tk". Make "stash cat" behave like "stash show" which matches the -tk case and also the documentation. Also add mention of DIFF-OPTIONS to the stash show|cat|diff|gdiff usage text. Remove unnecessary variable initialization in stash_get_id(), plus show the bad stash ID string rather than "0" if a non-numeric was used. file: [6b3a07e4] check-in: [48ecfe66] user: andygoth branch: trunk, size: 22432
2016-10-16
00:22
Merge updates from trunk. file: [69ef78c6] check-in: [5634375d] user: mistachkin branch: stash-fixes, size: 22492
2016-10-12
13:31
Tweak stash help text for internal consistency file: [eb408a32] check-in: [de4e4e2a] user: andygoth branch: trunk, size: 21820
2016-09-26
21:16
Fix some compilation issues, related to merging. file: [d5773164] check-in: [2f07c443] user: mistachkin branch: stash-fixes, size: 22500
2016-09-08
02:09
Merge in latest changes from trunk. file: [f42baa6f] check-in: [1912b2f8] user: andybradford branch: stash-fixes-openssl-1.1.0, size: 22519
2016-08-19
00:13
Use the new SQLITE_DBCONFIG_MAINDBNAME feature of SQLite to eliminate the need for the db_name() hack. file: [ced32aca] check-in: [d858f3da] user: drh branch: omit-db_name, size: 21828
2016-07-04
22:08
Detect old stashfile schema and recreate to allow file renames to be stashed in existing checkout databases. file: [319802c9] check-in: [a13217b8] user: andybradford branch: stash-fixes, size: 22575
2016-05-31
08:17
merge from trunk with a few tweaks for merge conflicts file: [bfa1e415] check-in: [598b58a5] user: sdr branch: winsymlink, size: 21737
2016-03-06
06:38
Merge updates from trunk. file: [0c4aba4b] check-in: [ccf01b24] user: mistachkin branch: stash-fixes, size: 22069
2016-03-02
02:10
Permit the TH1 hooks subsystem to check for the configuration without raising a 'fatal' error. file: [ccb0d942] check-in: [b06cd631] user: mistachkin branch: trunk, size: 21884
2016-02-17
04:49
Given that both origname and newname are always provided when stashing a file, allow both a rename and an add by changing the PRIMARY KEY for stashfile. This does mean the schema for stashfile has changed and to take advantage it will be necessary to close and open the repository again (or update manually with SQL). file: [7b5b1006] check-in: [ca574f81] user: andybradford branch: stash-fixes, size: 22066
2016-02-13
05:00
If a file has been renamed in a stash, restore this information also in the vfile table so it doesn't show up as MISSING. file: [5afbb7b7] check-in: [fea4d80e] user: andybradford branch: stash-fixes, size: 22067
2015-09-15
19:11
"cat" synonym for "stash show" file: [0d91aa42] check-in: [533f8b6a] user: bch branch: stash-cat, size: 21881
2015-09-03
23:15
Merged from trunk with a few tiny edits to make new functionality work on Windows file: [68173393] check-in: [8f33e49d] user: sdr branch: winsymlink, size: 21575
2015-07-15
20:15
Further enhancements to the 'undo' subsystem integration. file: [c8b20236] check-in: [a50be7b8] user: mistachkin branch: trunk, size: 21722
2015-06-26
18:48
Merge trunk. file: [10c84610] check-in: [f3daf393] user: andygoth branch: undo-clean, size: 21708
2015-05-26
21:46
Enhance file_tree_name() to be capable of producing absolute paths within the local tree. Fix --hard option to mv/rm to enable it to work properly with relative paths. file: [e12e4a6e] check-in: [c2df31da] user: mistachkin branch: mvRmHardFix, size: 21700
2014-10-21
15:25
merge trunk file: [083f9887] check-in: [44a160a3] user: jan.nijtmans branch: winsymlink, size: 21550
02:52
Add the codecheck1 program to the build tools. This program validates the format strings on printf-style internal interfaces, verifying that the correct number of arguments follow and that SQL is protected from injection attacks. file: [18214fe8] check-in: [49b0ff15] user: drh branch: trunk, size: 21697
2014-10-20
16:31
Reverse the output order for the "fossil stash list" command so that the most resent stashes are near the bottom, rather than scrolling off the top of the screen. file: [129fbd2e] check-in: [cf9eac39] user: drh branch: trunk, size: 21653
15:01
Add a custom static analysis program that verifies the arguments to printf-style varargs routines used in Fossil. Adjust the source code to be more robust for printf format errors and to fix a few minor problems found by the static checker. file: [8547808a] check-in: [0a7e326f] user: drh branch: compile-time-print-checking, size: 21702
2014-09-20
18:41
Changed name of checked_symlink_create to create_symlink_or_file as it is more accurate / descriptive. Also changed some parameter names, and fixed a couple spelling errors (accidentally typed blog instead of blob and never compiled; oops). file: [6b9d52be] check-in: [31b0a9d7] user: sdr branch: bad-winsymlink, size: 21511
18:32
Refactored symlink_create repeated block of code into a checked_symlink_create function. file: [4bb5b540] check-in: [2d3ff7bd] user: sdr branch: bad-winsymlink, size: 21511
18:11
Modified revert to always process symbolic links. Also added link_delete to complement file_delete, as windows needs special delete handling for symbolic links as they might be directory symlinks. file: [afe70680] check-in: [9e0ba121] user: sdr branch: bad-winsymlink, size: 21658
2014-07-23
21:37
When available, pass the original comment text as well as the (possibly prefixed) comment into comment_print(). Add COMMENT_PRINT_ORIG_BREAK flag to the new comment printing algorithm. Change the width argument for the test-comment-format command into an option. Add --origbreak option to the test-comment-format command. file: [4fcd2008] check-in: [0d0b80fd] user: mistachkin branch: trunk, size: 21658
2014-07-20
02:35
Add -comfmtflags command line option to set the comment printing flags, defaulting to the legacy comment printing algorithm. file: [5fdf0e70] check-in: [18a97b3a] user: mistachkin branch: experimental, size: 21655
2014-07-10
09:25
merge trunk file: [e08fb1ce] check-in: [a44b4aa5] user: jan.nijtmans branch: undo-clean, size: 21648
2014-06-20
03:56
Initial draft of the ability to break a multi-line comment on word boundaries using the new algorithm. file: [60a3a626] check-in: [10b47cc3] user: mistachkin branch: experimental, size: 21663
2014-06-16
20:28
Improvements to error handling and code formatting. file: [0b086a86] check-in: [9270ae24] user: mistachkin branch: autoadjust, size: 21640
09:05
Merge trunk. Make it work on Windows too. Variable width output on more commands. file: [c4f5eac8] check-in: [40710b7a] user: jan.nijtmans branch: autoadjust, size: 21638
2014-06-13
14:21
Auto-adjust the width of timeline (and various other output places) according to real terminal width. Suggested by Baptiste Daroussin. file: [6137a287] check-in: [c4891e24] user: jan.nijtmans branch: autoadjust, size: 21743
2014-05-09
09:34
stash gdiff now honors the "g" in gdiff. file: [f26f6562] check-in: [cd5a7e12] user: stephan branch: trunk, size: 21640
2014-04-23
14:14
Add option -W|--width to "fossil stash ls" and "fossil leaves" commands. file: [a57e9f1d] check-in: [fa6ece72] user: jan.nijtmans branch: trunk, size: 21613
2014-03-12
04:12
Accidentally removed a newline with vi's shift-j. No change in functionality. file: [28c6feb8] check-in: [ef27b005] user: andybradford branch: stash_add, size: 21343
04:08
Make stash_apply handle new files and put them in an ADDED state. file: [4fb41918] check-in: [c2d748ae] user: andybradford branch: stash_add, size: 21337
2014-02-20
10:03
Cherrypick [1c39f113d1], Fix [a56db55924]: Crash on STASH DIFF command file: [97d39961] check-in: [cba5a0b9] user: jan.nijtmans branch: branch-1.28, size: 21149
10:01
Fix [a56db55924]: Crash on STASH DIFF command file: [a6388394] check-in: [1c39f113] user: jan.nijtmans branch: trunk, size: 21125
09:42
Unnecessary blob_zero() calls: the following prompt_user() call already does a blob_zero() call internally. file: [1909646c] check-in: [14768c24] user: jan.nijtmans branch: trunk, size: 21112
2014-02-01
19:24
Remove malplaced period from the middle of a sentence. file: [43c6eece] check-in: [4c8a3fb2] user: andybradford branch: trunk, size: 21135
2013-09-06
22:18
On Cygwin, when editing with Notepad, make sure it starts with the UTF-8 BOM. file: [5f639f8c] check-in: [3e90ef61] user: jan.nijtmans branch: trunk, size: 21136
14:19
Fix "fossil stash diff --tk" file: [233a0ab9] check-in: [1b0a2593] user: jan.nijtmans branch: trunk, size: 21107
2013-07-17
12:04
merge trunk file: [4a258a46] check-in: [5d8551bf] user: jan.nijtmans branch: ui-no-utf8, size: 21510
2013-05-03
13:50
Prompt before cleaning files > 10M. Those file deletions are not undo-able. file: [dc54d4ce] check-in: [8e74f0fe] user: jan.nijtmans branch: undo-clean, size: 21046
2013-05-01
09:42
Add -v|--verbose as alternative to "-l|--detail" everywhere. And "v=" and "verbose=" as alternative to the "detail=" URL parameter. file: [6b83b48b] check-in: [5214a2a8] user: jan.nijtmans branch: trunk, size: 21038
2013-04-26
08:28
Rename --detail, --showfiles, --files to -v|--verbose (but keep original as deprecated) file: [05154f77] check-in: [34ed0afc] user: jan.nijtmans branch: verbose, size: 21021
2013-04-23
08:40
Add --limit as alias to --count in "fossil timeline" for consistancy with other commands. Add many short options, like "-a" for "--all" and "-c" for "--closed" (The JSON part already had those) file: [fc70e6d8] check-in: [8b17c236] user: jan.nijtmans branch: trunk, size: 20918
2013-04-08
10:42
Consistant use of DIFF_CANNOT_COMPUTE_??? messages file: [43f73e4a] check-in: [b18276cb] user: jan.nijtmans branch: ui-no-utf8, size: 21316
09:03
Implement LOOK_INVALID for utf-16, and use it to detect UTF-16 without BOM in network byte order file: [06e5d6c1] check-in: [2d14d82c] user: jan.nijtmans branch: ui-no-utf8, size: 20994
2013-03-19
10:06
merge trunk (still experimental) file: [1ff28597] check-in: [af4d7804] user: jan.nijtmans branch: use-blob_strip_bom, size: 20970
2013-02-27
11:26
merge trunk file: [db86f7df] check-in: [d085eb9a] user: jan.nijtmans branch: use-blob_strip_bom, size: 20974
2012-11-19
20:39
Allow the get_utf8_bom function to return the size as well. file: [14ea4bd4] check-in: [d857d20b] user: mistachkin branch: convert_before_commit_v2, size: 20844
04:39
Modularize byte-order-mark and blob UTF-8 conversion handling. file: [5920b943] check-in: [d29dd544] user: mistachkin branch: convert_before_commit_v2, size: 20813
2012-11-05
21:10
Do not run the graphical merging tool nor leave merge-droppings after a dry-run merge. Also improve the merge summary message at the end of a merge. file: [13e964f3] check-in: [cd2c0e4c] user: drh branch: trunk, size: 20827
13:56
merge trunk file: [1526d92b] check-in: [b0e05a90] user: jan.nijtmans branch: use-blob_strip_bom, size: 20954
2012-10-30
15:18
working utf-16 diff, still being tested file: [e111d5ba] check-in: [879d1e24] user: jan.nijtmans branch: use-blob_strip_bom, size: 20962
2012-10-28
21:38
- finally, do the ++j update in looks_like_text() right - More consistancy in prompt handling: accept Capitals everywhere, use '(' not '[', and abbreviate yes/no to y/N everywhere file: [a4330d63] check-in: [7c527165] user: jan.nijtmans branch: trunk, size: 20824
2012-10-26
12:28
src/stash.c: In function ‘stash_cmd’: src/stash.c:377:16: warning: ‘stashid’ may be used uninitialized in this function src/stash.c:472:7: note: ‘stashid’ was declared here file: [07a3bc6c] check-in: [10e0d0b2] user: jan.nijtmans branch: trunk, size: 20767
2012-10-25
13:59
Allow the deletion of multiple stash entries using "fossil stash rm" with multiple arguments. Multi-stash deletion is undoable. file: [a5f9f7e2] check-in: [f41308d7] user: drh branch: trunk, size: 20800
10:27
use utf8 in stash comment editor on Windows, just like the commit comment editor file: [af61ca82] check-in: [fb565614] user: jan.nijtmans branch: trunk, size: 20679
2012-10-11
19:45
Cherrypick changes [0c37874941c8972], [9ba8a393fcc569b], and [ae092ec605eed11] in order to backport the --setmtime option of "fossil update" and the --age and -t options of "fossil ls" to version 1.19. file: [638591b3] check-in: [773c6c5f] user: drh branch: branch-1.19, size: 15440
19:22
Add the --setmtime command-line option to "fossil update". When this option is used, the mtime of all unmodified managed files is set to the time when that file was originally checked in. file: [01021834] check-in: [ae092ec6] user: drh branch: trunk, size: 20544
2012-10-05
20:39
Add the "stash show" command. Simplifications to the diff code, and especially the looks_like_binary() function. file: [2e20506e] check-in: [4e0e69f6] user: drh branch: trunk, size: 20547
16:36
Fix a couple of C99-isms in the recent stash changes. file: [bb98ece4] check-in: [f378800a] user: drh branch: trunk, size: 20971
13:10
Update the "fossil stash" command so that it always prompts for a comment if the -m option is omitted. file: [fd839e73] check-in: [16371dcb] user: drh branch: trunk, size: 20940
12:38
Get the --tk option working for "fossil stash diff". file: [a3df2989] check-in: [2ed8cdc5] user: drh branch: trunk, size: 20406
2012-09-30
06:25
Add support for skipping binary files when using an external diff program. The existing 'binary-glob' setting and new 'diff-binary' boolean setting control this feature. file: [05790c62] check-in: [c50eb507] user: mistachkin branch: diffBinExternal, size: 19809
2012-09-07
21:12
On windows, make "gdiff" default to using WinDiff.exe. file: [f12cfed0] check-in: [cad57bf6] user: drh branch: trunk, size: 18277
2012-08-29
13:57
Allow UTF-8 characters in sources. translate.exe will translate it to ASCII file: [f1994479] check-in: [9f6abc59] user: jan.nijtmans branch: msvc-broken, size: 18278
2012-08-20
19:01
Expand the "diffFlags" variable to 64-bits in order to accommodate new options to the various "diff" commands. file: [64b6f748] check-in: [2b176750] user: drh branch: trunk, size: 18279
2012-07-03
21:10
Minor optimization in stash_create to bypass an unneeded blob_compare() when (isLink!=isNewLink). file: [81347a61] check-in: [75461b99] user: stephan branch: trunk, size: 18279
2012-06-29
15:59
Update to the latest SQLite4 that requires converting preprocessor macro prefixes from "SQLITE_" to "SQLITE4_". file: [8a4b4ba7] check-in: [0328d681] user: drh branch: sqlite4, size: 18285
2012-03-29
14:54
Add vim modline everywhere file: [eb08d85a] check-in: [a496d8e8] user: meeks branch: mgagnon_fix, size: 18321
2011-11-03
13:16
Improvements to the "stash" command: (1) Stash all files, not just those below the working directory. (2) Add the --detail option to "list". (3) Confirm before "drop --all". (4) Add the "help" subcommand. file: [29ea7983] check-in: [966ae9a9] user: drh branch: trunk, size: 18279
2011-10-21
23:44
Improved formatting for command-line side-by-side diff. Extend command-line side-by-side diff to all diff operations, including stash diffs. file: [3891017d] check-in: [ab47cc73] user: drh branch: trunk, size: 17147
2011-10-13
12:56
Fixing the usage() calls in stash.c, as it duplicated the word stash; it was giving messags like "Usage: fossil stash stash pop". file: [7b6b458d] check-in: [399c0dda] user: viriketo branch: trunk, size: 16976
2011-09-08
11:59
Introduce new file_wd_* functions that use stat() or lstat() depending on 'allow-symlinks' setting, and use them when dealing with files inside the working directory. Make file_* functions always use stat() as before merging symlink support.    Fix renaming of symlinks when merging (via new function symlink_copy()).    Rename create_symlink() to symlink_create(). file: [bcfdf031] check-in: [8a0c5469] user: dmitry branch: symlinks, size: 17012
2011-09-02
10:34
Print description of conflict when 'stash apply' cannot merge a symlink and a regular file. file: [08614580] check-in: [bca6924e] user: dmitry branch: symlinks, size: 16991
2011-09-01
23:55
Change a couple of unlink()'s to file_delete(). file: [d291e082] check-in: [61d49d92] user: dmitry branch: symlinks, size: 17003
2011-08-27
09:44
Fix reading delta from wrong column in stash. file: [169edd67] check-in: [0317a929] user: dmitry branch: symlinks, size: 16998
2011-08-26
14:59
Merge the latest trunk changes into the symlinks branch. file: [fa9bde94] check-in: [24c16584] user: drh branch: symlinks, size: 17055
2011-08-24
21:45
Fix code stylistic issues with the "stash rm" patch. Also document the new stash verb. file: [a2b7fa2b] check-in: [d2c4a242] user: drh branch: stash_rm, size: 15443
20:05
"rm" subcmd to stash, "drop"-alike functionality file: [b473f01d] check-in: [1f4e6cf1] user: bch branch: stash_rm, size: 15409
2011-08-22
22:20
Merge trunk. file: [dd6035eb] check-in: [c57830be] user: dmitry branch: symlinks, size: 16984
2011-07-13
21:15
Fix an assert() that fires if the "stash" command is used after having done an "rm". Ticket [3ce0ea97522581] file: [a5de7f84] check-in: [336e194c] user: drh branch: trunk, size: 15372
2011-05-02
13:31
Change calls to unlink() into file_delete(). The file_delete() routine converts filenames to MBCS from UTF if necessary. file: [4f9de156] check-in: [eea64490] user: drh branch: windows-i18n, size: 15345
2011-04-27
18:21
Attempt to get Fossil working on windows systems that do not use UTF8 in the shell. file: [78c431be] check-in: [e805fa8d] user: drh branch: windows-i18n, size: 15335
2011-03-16
02:28
Make "fossil stash" and "fossil stash save" work the same. Ticket [58290cd2975f5f2] file: [f5765c7b] check-in: [18575b14] user: drh branch: trunk, size: 15263
2011-03-14
12:18
Fix typos in comments and error messages. Ticket [d38c2c8795181] file: [5db67a3e] check-in: [c5f7ab04] user: drh branch: trunk, size: 15263
2011-02-28
03:26
Try to get the "stash" command using execute permission bits correctly. Continuing work on the "revert" command - but it is still not working quite right. Ticket [baf9b6b11e08c1d0b]. file: [601b766b] check-in: [ae3409bf] user: drh branch: exe-permission-fix, size: 15262
2011-02-21
14:21
Infrastructure changes toward adding graphical merging options. file: [92bb250c] check-in: [b9abb867] user: drh branch: trunk, size: 15135
2011-02-17
08:15
Enable a “stash make” subcommand as an alias for “stash snapshot” file: [c3a82406] check-in: [4e0274bb] user: BM branch: stash_mk, size: 15213
00:05
Merge in Brad Harder's "stash ls" command. file: [411ca6ee] check-in: [ae73c07b] user: drh branch: trunk, size: 15134
2011-02-15
05:19
"stash ls", in addition to "stash list" file: [c4efefaf] check-in: [9abf0543] user: bharder branch: bch, size: 15140
2011-02-12
13:38
This branch contains experimental changes attempting to address complaints that Fossil sometimes overwrites unmanaged files. In this checkin: Use file_delete() instead of unlink() everywhere. Add interfaces file_move() and file_dont_overwrite() but do not use those interfaces yet. file: [b534735e] check-in: [a1814d50] user: drh branch: file-safety, size: 15093
2011-01-28
19:04
Add symlink support for Unix. New settings flag "allow-symlinks" controls this (off by default). file: [13832766] check-in: [ed2ef7e9] user: dmitry branch: symlinks, size: 16630
2011-01-25
23:17
For the "stash save" command, take care to avoid reverting everything if no files were stashed. Ticket [fbfe43e153ee0e1d]. file: [7797f229] check-in: [2dd7b4b5] user: drh branch: trunk, size: 15083
2011-01-18
18:36
Call vfile_check_signature before creating a stash, to make sure that all changed files have been stashed. Ticket [bfef8e4f89cd4b161a584] file: [8423568c] check-in: [a435ae67] user: drh branch: trunk, size: 15054
2011-01-17
23:49
Fix an off-by-one error in stash_add_file_or_dir. Windows only. Ticket [d6132e4d66a7c994f9]. file: [3cfbb30d] check-in: [abdedb21] user: drh branch: trunk, size: 15018
2010-12-23
02:22
Add new function fossil_strcmp() that works like strcmp() except that it handles NULL arguments correctly. Use fossil_strcmp() in place of strcmp() in many places in the code. file: [aa4da54d] check-in: [31c52c7b] user: drh branch: trunk, size: 15018
2010-12-21
16:30
Corrected help message for the stash command file: [de681977] check-in: [fbddb089] user: BM branch: trunk, size: 15004
2010-12-18
22:25
Get the "stash save" command working for the case when a directory is specified as an argument. file: [6a6e3afe] check-in: [fc6aea52] user: drh branch: trunk, size: 14998
21:22
Add the "stash diff" and "stash gdiff" commands. file: [db091f15] check-in: [987e0ff7] user: drh branch: experimental, size: 14187
20:54
Fix a couple of out-of-order variable declarations. file: [e9bdcede] check-in: [4a8b4210] user: drh branch: experimental, size: 12237
20:39
Many bug fixes while testing stash: Fix "revert" so that it updates the file status correctly. Fix several cases of "//" being used as a file separator instead of just "/". Fix undo on stash apply. Make "stash drop" undoable. Update documentation for undo and stash. file: [51b883b5] check-in: [8a6aa0a1] user: drh branch: experimental, size: 12237
18:56
The "stash" functionality is now in place. Need to test more prior to merging into trunk. file: [45ab33f6] check-in: [22aa74dc] user: drh branch: experimental, size: 11709
17:24
Begin adding code to implement the "stash" command. The code compiles and runs but is currently incomplete. This is an incremental check-in to preserve state. (Ironically, if "stash" were working, I'd have probably just done a "stash snapshot" to capture this state, rather than an experimental branch.) file: [01c6fc85] check-in: [b3dadcc4] user: drh branch: experimental, size: 8318 Added