Skip merge-utf-*.23 and merge-utf-*.32 test-cases, which currently fail. They are not crucial for the 1.28 release (in Fossil 1.26 and 1.27 they failed as well). Probably a problem in the test-case itself (some special character in test/utf.test?)
check-in: 4b3b89b5 user: jan.nijtmans tags: branch-1.28

Revert [77d37d910b], which restores the "fossil sqlite3" command as it was.
On trunk it doesn't work, but in branch 1.28 it works fine, because the source_id's always match (SQLite 3.8.2 is the only stable version supported. Just to be sure, disable the source_id check anyway: Fossil itself already has the necessary check.
check-in: 6fce6fc2 user: jan.nijtmans tags: branch-1.28

If a badly malformed change artifact corrupts the "mtime" field of the event
table, the date can end up being NULL for entries in the timeline. Make sure
this does not cause a NULL-pointer deference.
check-in: 8407bed7 user: drh tags: trunk

Use fossil_strnicmp() instead of memcmp() for date comparisons, to avoid
NULL-pointer deferences if something is wrong with the database and a NULL
date is returned from a query.
check-in: 29b2eeba user: drh tags: trunk

Add the "nofiles" query parameter to the /tree page, causing that page to
show only directories. Add a new "folders" link on the check-in information
page that jumps to "/tree?nofiles".
check-in: ff9e4e54 user: drh tags: trunk

Always supply an href= attribute on hyperlinks within the preview, even if
the hyperlink is never used. Make the hyperlinked paths of the finfo page
point to the tree-view rather than the flat-view. Provide links between
the tree-view and the file-ages page.
check-in: 4306ab81 user: drh tags: trunk

Do not wait until the entire tree-view page has loaded before collapsing
the tree, because that can cause flicker if the page is loaded incrementally
over a slow wire. Collapse the tree using style= attributes as the page
loads.
check-in: 13c71a97 user: drh tags: trunk

If fossil is configured with --disable-internal-sqlite, disable the "sqlite3" command:
It doesn't work anyway, and there is no reason to support it; Any system which has an sqlite dll/so should have the sqlite3 utility as well, which can do almost the same as "fossil sqlite3"
check-in: 77d37d91 user: jan.nijtmans tags: trunk

Improve the label of tree-view so that it shows the number of files and
the number of check-ins, if appropriate. Make tree-view the default for
the "files" link of /vinfo.
check-in: 9930c46e user: drh tags: trunk

Add a new TH1 "http" command, a new "th1-uri-regexp" setting and two new hook scripts "xfer-commit-script" and "xfer-ticket-script".
They can be used together to implement more advanced commit and ticket change notifications.
check-in: 1311841a user: jan.nijtmans tags: trunk

When selecting the "Branching" checkbox, select the "newbranch" field just the other text entry widgets do. Another one of Andy Bradford's brilliant ideas.
check-in: e4c9dd09 user: jan.nijtmans tags: trunk

If the name of a 'sym-<branchname>' tag sorts before the 'branch' tag, no option in the ci_edit page should be displayed to cancel the tag.
Bug-fix discovered and implemented by Andy Bradford.
check-in: 3529f2c4 user: jan.nijtmans tags: trunk

When branchname in ci_edit page changes, adapt remaining form to the name-change using some javascript.
Thanks to Andy Bradford for the idea (adapted/simplified from the "hidden-tag" branch)!
check-in: cf9293ad user: jan.nijtmans tags: trunk

Put back 'win32-longpath' VFS as default for Cygwin: Cygwin doesn't suffer from path limitations (at least, not until 4096 chars), so usage of the 'win32' VFS is not reasonable as default.
check-in: a7603981 user: jan.nijtmans tags: trunk

As it turns out that _wstati64() cannot handled the special "\\?\" prefix, work around that.
Otherwise the win32-longpath VFS is quite useless for fossil.
Maybe a better solution should be worked out, not using _wstati64() at all.
check-in: bb440899 user: jan.nijtmans tags: trunk

Make timeline and JSON timeline respect the "hidden" tag. Meant for a new feature developed in the "hidden-tag" branch. No added buttons or configuration options yet (still being discussed).
check-in: 45d69e82 user: jan.nijtmans tags: trunk

Make it impossible to remove the "branch" and the "sym-<branchname>" tag from a check-in through the ci_edit page.
Any check-in must have those two tags, the "Branching" section already contains a check-button suitable to change the branch.
check-in: 64c21ef6 user: jan.nijtmans tags: trunk

Merge in hide-diff-on-vdiff_page... Which now give possibility to hide or show full detailed diff on vdiff page.
(when clicking on 2 nodes on timeline) Just like the /info page.
check-in: 74a4db25 user: mgagnon tags: trunk

Make "fossil open" and "fossil rm" work on a repository which doesn't have any check-in.
(the latter only undoes the effect of a previous "fossil add" then).
check-in: aef638b6 user: jan.nijtmans tags: trunk

Now that checkout_cmd() can handle the situation that vid==0 ([b725c1cf26]), no longer assume that the initial commit has rid=1: If the initial commit is not empty that will not be true any more.
check-in: 6791ad11 user: jan.nijtmans tags: trunk

Restore the end-of-timeline marker only when no limit is active; otherwise, use a 'no more data' marker instead. Use -1 to indicate no limit in the SQL clause.
check-in: 465f8ecd user: mistachkin tags: trunk

Update the built-in SQLite to include the latest bug fixes, especially the
fix to count(*) on WITHOUT ROWID tables. Fix the "fossil all" command so
that it works on a WITHOUT ROWID global_config table.
check-in: c0700615 user: drh tags: trunk

Output "+++ end of timeline reached +++" when appropriate at the end of timeline output in stead of marker indicating that a limit is reached. After ML request. If n=0 no marker will be output.
check-in: 8e01c225 user: jan.nijtmans tags: trunk

Use fossil_getenv/fossil_fopen in stead of getenv/fopen in a few places,
so on Win32 non-ASCII characters in filenames and environment variable values are handled correctly.
For shell.c this must be handled by the makefiles, because this file comes from SQLite.
check-in: aab8ce2f user: jan.nijtmans tags: trunk

Make "fossil add", "fossil addremove", "fossil update" and "fossil co --latest" work when the repository doesn't contain any commit yet. This is not a fatal situation at all.
check-in: b725c1cf user: jan.nijtmans tags: trunk

Make option -n|--limit of "fossil timeline" now specify the number of entries, just like all other commands which have the -n|--limit option. Suggested by Martin Gagnon.
check-in: 6e4e16fb user: jan.nijtmans tags: trunk

Added fx_* to the glob of tables which are _not_ dropped by a rebuild, per ML discussion. The intention is to give 3rd-party extensions a safe place to put their data.
check-in: dbec6458 user: stephan tags: trunk

Don't set _USE_32BIT_TIME_T when using MSVC++ compiler: On <VS2005 this flag has no effect, and for >=VS2005 the executable links with msvcrt80.dll (or higher), so the fact that localtime64 is missing from msvcrt.dll is no issue there.
check-in: 6112b31d user: jan.nijtmans tags: trunk

cosmetic: ensure that /reports graph bars have a width of at least 1, to avoid that a positive event count has an empty graph bar during low-activity time periods (where active is under 1% of activity relative to the rest of the report).
check-in: 50c08819 user: stephan tags: trunk

Add the 'fossil all clean' and 'fossil all extra' sub-commands. Add -whatif option to the 'fossil clean' command that has the same effect as -dry-run, primarily for use with 'fossil all clean' since the all command itself uses the -dry-run option.
check-in: d30e5a48 user: mistachkin tags: trunk

Make sure that EVERY source file includes "config.h" before any other system includes.
This is the first step in making fossil compile for Win64 using MinGW.
check-in: c30cd93b user: jan.nijtmans tags: trunk

Fix the abbreviated project name escape mechanism for two less obvious dangers:
- spaces at the end of the filename should be stripped.
- control charaters are not allowed in filenames either.
check-in: e161527c user: jan.nijtmans tags: trunk

Merge the enhanced SSH transport changes into trunk. The ssh command
now runs a single instance of "fossil" directly on the remote side,
obviating the need for a remote shell.
check-in: dbb5e2d3 user: drh tags: trunk

Revise the character escaping logic for generated tarballs and zip archives.
Add a "For best results" comment to the configuration page where the project
name is set.
check-in: fe76ad55 user: drh tags: trunk

Add the undocumented --script FILENAME option to all diff operations that
make use of the --tk option. The --script FILENAME option is used for
testing and debugging only.
check-in: cee30a34 user: drh tags: trunk

Add the "fossil blame" command that shows the username without a line number.
The "fossil annotate" command continues to show the line number and omit
the username.
check-in: 6f686403 user: drh tags: trunk

Even better error message in case of "manifest file (12892) is malformed".
Detection of this situation is not 100% failproof yet, but if zParentUuid=0 we know for sure that an illegal manifest will be generated later, so better catch this early.
check-in: 27dc7a56 user: jan.nijtmans tags: trunk

Better error message in case of "manifest file (12892) is malformed".
It will now give an additional line: "line ???: wrong size UUID on P-card" (or whatever other parsing error happens),
and using the "-n" option it will print out the complete manifest as well.
This would have made it much easier to investigate Ron Aaron's commit problem (many thanks for reporting this!),
without adding special debugging code to fossil.
check-in: ec81aee9 user: jan.nijtmans tags: trunk

Fossil compiled with MinGW version 4.0 didn't work on Windows XP any more, because it uses the 64-bit time API.
This can be fixed by specifying -D_USE_32BIT_TIME_T. (It's the same in MSVC, but Microsoft does not support Windows XP in its development tools any more. Adding the same in Makefile.msc doesn't help anything on that, unfortunately)
check-in: a8214df3 user: jan.nijtmans tags: trunk

Add formal unloading support to the Tcl integration subsystem. This is necessary to prevent a deadlock while exiting the process when Tcl is loaded. Add runtime detection of the ability to directly invoke an objProc for a Tcl command. Support USE_TCL_STUBS define in the version information.
check-in: 6b58c67e user: mistachkin tags: trunk

Bug-fix in file_relative_name(): If filename is a super-directory of the current directory then the final slash is missing.
Test-case: "fossil test-relative-name /home/ --slash". Result "../../.." should be "../../../".
This bugfix is needed for my next commit.
check-in: add75245 user: jan.nijtmans tags: trunk

Use the new -DSQLITE_WIN32_NO_ANSI C-flag from SQLite 3.8.1. This eliminates all osIsNT() calls on Win32 and Cygwin in SQLite. (Fossil doesn't run on Win95/98/ME anyway)
check-in: c2fa0074 user: jan.nijtmans tags: trunk