./devel/fossil, High-reliability, distributed software configuration management

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 1.32, Package name: fossil-1.32, Maintainer: pkgsrc-users

Fossil is a distributed software control system that includes a
whole palette of useful companion software: for example, bug
tracking and a wiki.

It allows autosyncing with an upstream before a commit. fossil is
a single standalone executable, using bandwidth efficient transfers
over HTTP. It includes its own HTTP server for providing the
repository, if needed.

The repository is kept in a sqlite database, only updated with
atomic commits, which can be checked by fossil itself for consistency.

Master sites:

SHA1: 8df1ea54d92a0b20cfe636bd54083d4c20502f61
RMD160: 20f206598d2267cadcdfd7727cab17b92f0ae251
Filesize: 3942.544 KB

Version history: (Expand)

CVS history: (Expand)

   2015-03-15 08:54:35 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
Update to 1.32 based on patch by Jan Danielsson in private email.

Changes for Version 1.32 (2015-03-14)

    When creating a new repository using fossil init, ensure that
    the new repository is fully compatible with historical versions
    of Fossil by having a valid manifest as RID 1.
    Anti-aliased rendering of arrowheads on timeline graphs.
    Added vi/less-style key bindings to the --tk diff GUI.
    Documentation updates to fix spellings and changes all "checkins"
    to "check-ins".
    Add the --repolist option to server commands such as fossil
    server or fossil http.
    Added the "Xekri" skin.
    Enhance the "ln=" query parameter on artifact displays to accept
    multiple ranges, separate by spaces (or "+" when URL-encoded).
    Added fossil forget as an alias for fossil rm.

Changes For Version 1.31 (2015-02-23)

    Change the auxiliary schema by adding columns MLINK.ISAUX and
    MLINK.PMID columns to the schema, to support better drawing of
    file change graphs. A fossil rebuild is recommended but is not
    required. so that the new graph drawing logic can work effectively.
    Added search over Check-in comments, Documents, Tickets and
    Wiki. Disabled by default. The search can be either a full-scan
    or it can use an index that is kept up-to-date automatically.
    The new /srchsetup web-page and the fts-config command were
    added to help configure the search capability. Expect further
    enhancements to the search capabilities in subsequent releases.
    Added form elements to some submenus (in particular the /timeline)
    for easier operation.
    Added the --ifneeded option to fossil rebuild.
    Added "override skins" using the "skin:" line of the CGI \ 
    or using the --skin LABEL option on the server, ui, or http
    Embedded html documents that begin with <doc class="fossil-doc">
    are displayed with standard headers and footers added.
    Allow <div style='...'> markup in wiki.
    Renamed "Events" to "Technical Notes", while updating the
    technote display and control pages. Add support for technotes
    as plain text or as Markdown.
    Added the /md_rules pages containing summary instructions on
    the Markdown format.
    Added the --repolist and --nojail options to the various server
    commands (ex: fossil server).
    Added the fossil all add subcommand to "fossil all".
    Improvements to the /login page. Some hyperlinks to pages that
    require "anonymous" privileges are displayed even if the current
    user is "nobody" but automatically redirect to /login.
    The /doc web-page will now try to deliver the file "404.md"
    from the top-level directory (if such a file exists) in place
    of its built-in 404 text.
    Download of Tarballs and ZIP Archives by user "nobody" is now
    enabled by default in new repositories.
    Enhancements to the table sorting controls. More display tables
    are now sortable.
    Add IPv6 support to fossil sync and fossil clone
    Add more skins such as "San Francisco Modern" and "Eagle".
    During shutdown, check to see if the check-out database
    (".fslckout") contains a lot of free space, and if it does,
    VACUUM it.
    Added the /mimetype_list page.
    Added the /hash-collisions page.
    Allow the user of Common Table Expressions in the SQL that
    defaults ticket reports.
    Break out the components (css, footer, and header) for the
    various built-in skins into separate files in the source tree.
   2015-01-22 21:51:37 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
Update to 1.30:

This is Version 1.30. Key changes in this release include:

    Added the fossil bundle command.
    Added the fossil purge command.
    Added the fossil publish command.
    Added the fossil unpublished command.
    Enhance the /tree webpage to show the age of each file with
    the option to sort by age.
    Enhance the /brlist webpage to show additional information
    about each branch and to be sortable by clicking on column
    Add support for Docker. Just install docker and type "sudo
    docker run -d -p 8080:8080 nijtmans/fossil" to get it running.
    Add the fossil fusefs DIRECTORY command that mounts a Fuse
    Filesystem at the given DIRECTORY and populates it with read-only
    copies of all historical check-ins. This only works on systems
    that support FuseFS.
    Add the administrative log that records all configuration.
    Added the /sitemap webpage.
    Added the /bloblist web page.
    Let fossil new no longer create an initial empty commit by
    default. The first commit after checking out an empty repository
    will become the initial commit.
    Added the fossil all dbstat and fossil all info commands.
    Update SQLite to version 3.8.8.
    Added the --verily option to the fossil clean command.
    Add the "autosync-tries" setting to control the number of
    autosync attempts before returning an error.
    Added a compile-time option (--with-miniz) to build using miniz
    instead of zlib. Disabled by default.
    Support customization of commands and webpages, including the
    ability to add new ones, via the "TH1 hooks" feature. Disabled
    by default. Enabled via a compile-time option.
    Add the [checkout], [render], [styleHeader], [styleFooter],
    [trace], [getParameter], [setParameter], [artifact], and
    [globalState] commands to TH1, primarily for use by TH1 hooks.
    Automatically adjust the width of command-line timeline output
    according to the detected width of the terminal.
    Prompt the user to optionally fix invalid UTF-8 at check-in.
    Added a line-number toggle option to the /info and /artifact
    Most commands now issue errors rather than silently ignoring
    unrecognized command-line options.
    Use full 40-character SHA1 hashes (instead of abbreviations)
    in most internal URLs.
    The "ssh:" sync method on windows now uses "plink.exe" \ 
    of "ssh" as the secure-shell client program.
    Prevent a partial clone when the connection is lost.
    Make the distinction between 301 and 302 redirects.
    Allow commits against a closed check-in as long as the commit
    goes onto a different branch.
    Improved cache control in the web interface reduces unnecessary
    requests for common resources like the page logo and CSS.
    Fix a rare and long-standing sync protocol bug that would
    silently prevent the sync from running to completion. Before
    this bug-fix it was sometimes necessary to do "fossil sync
    --verily" to get two repositories in sync.
    Add the files_of_checkin virtual table - useful for ad hoc
    queries in the fossil sql interface, and also used internally.
    Added the "$secureurl" TH1 variable for use in headers and
    (Internal:) Add the ability to include resources as separate
    files in the source tree that are converted into constant byte
    arrays in the compiled binary. Use this feature to store the
    Tk script that implements the --tk diff option in a separate
    file for easier editing.
    (Internal:) Implement a system of compile-time checks to help
    ensure the correctness of printf-style formatting strings.
    Fix CVE-2014-3566, also known as the POODLE SSL 3.0 vulnerability.
    Numerous documentation fixes and improvements.
    Other obscure and minor bug fixes - see the timeline for details.
   2014-02-14 12:55:53 by Roy Marples | Files touched by this commit (2) | Package updated
Log message:
Update to fossil 1.28. Changes include:

 * Enchanced /reports
 * If a username is passed during clone, that user is now the local admin
 * Tenfold performance increase in annotate and blame rendering
 * Fixed handling of passwords embedded in URL
 * Sends gzipped HTTP replies to supporting clients
   2014-02-13 00:18:57 by Matthias Scheler | Files touched by this commit (1568)
Log message:
Recursive PKGREVISION bump for OpenSSL API version bump.
   2013-11-03 13:46:26 by Ryo ONODERA | Files touched by this commit (2) | Package updated
Log message:
Update to 1.27

This is Version 1.27. Key changes in this release include:

    Enhance the fossil changes, fossil clean, fossil extras, fossil ls and \ 
fossil status commands to restrict operation to files and directories named on \ 
the command-line.
    New --integrate option to fossil merge, which automatically closes the \ 
merged branch when committing.
    Renamed /stats_report page to /reports. Graph width is now relative, not \ 
    Added yw=YYYY-WW (year-week) filter to timeline to limit the results to a \ 
specific year and calendar week number, e.g. /timeline?yw=2013-01.
    Updates to SQLite to prevent opening a repository file using file \ 
descriptors 1 or 2 on unix. This fixes a bug under which an assertion failure \ 
could overwrite part of a repository database file, corrupting it.
    Added support for unlimited line lengths in side-by-side diffs.
    New --close option to fossil commit, which immediately closes the branch \ 
being committed.
    Added chart option to fossil bisect.
    Improvements to the "human or bot?" determination.
    Reports errors about missing CGI-standard environment variables for HTTP \ 
servers which do not support them.
    Minor improvements to sync support on Windows.
    Added --scgi option to fossil server.
    Internal improvements to the sync process.
    The internals of the JSON API are now MIT-licensed, so downstream \ 
users/packagers are no longer affected by the "do no evil" license \ 
   2013-07-15 04:02:29 by Ryo ONODERA | Files touched by this commit (177)
Log message:
* .include "../../devel/readline/buildlink3.mk" with USE_GNU_READLINE=yes
  are replaced with .include "../../devel/readline/buildlink3.mk", and
  USE_GNU_READLINE are removed,

* .include "../../devel/readline/buildlink3.mk" without USE_GNU_READLINE
  are replaced with .include "../../mk/readline.buildlink3.mk".
   2013-06-30 08:04:39 by Ryo ONODERA | Files touched by this commit (2) | Package updated
Log message:
Update to 1.26

This is Version 1.26. Key changes in this release include:

    The argument to the --port option for the "fossil ui" and \ 
"fossil server" commands can take an IP address in addition to the \ 
port number, causing Fossil to bind to just that one IP address.
    After prompting for a password, also ask if that password should be remembered.
    Performance improvements to the diff engine.
    Fix the side-by-side diff engine to work better with multi-byte unicode text.
    Color-coding in the web-based annotation (blame) display. Fix the annotation \ 
engine so that it is no longer confused by time-warps.
    The markdown formatter is now available by default and can be used for \ 
tickets, wiki, and embedded documentation.
    Add subcommands "fossil bisect log" and "fossil bisect \ 
status" to the "fossil bisect" command, as well as other bisect \ 
    Enhanced defenses that prevent spiders from using excessive CPU and bandwidth.
    Consistent use of the -n or --dry-run command line options.
    Win32: Fossil now understands Cygwin paths containing one or more of the \ 
characters "*:<>?|. Those are normally forbidden in win32. This means \ 
that the win32 fossil.exe is better usable in a Cygwin environment.
    Cygwin: Fossil now understands win32 absolute paths starting with a drive \ 
letter everywhere. The default value of the "case-sensitive" setting \ 
is now FALSE, except when case-sensitivity is enabled in the Windows kernel.
    Enhancements to /timeline.rss, adding more flags for filtering results, \ 
including the ability to subscribe to changes made to individual tickets.
    Improved handling of the differences between case-sensitive and \ 
case-insensitive filesystems.
    JSON API: added the 'status' command to report local checkout status.
    Fixes to the --args support and documented this feature in the help.
    Added /stats_report page.
    Added ym=YYYY-MM filter to the "/timeline" url.
    Fixed: config reset now re-installs default ticket report format.
    ssh:// and file:// protocols now ignore proxy settings.
    Added /hash-color-test web page.
    Cherry-pick merges are recorded internally (though no yet displayed on the \ 
timeline graph.)
    Bring in the latest versions of SQLite, zlib, and autosetup from upstream.
   2013-04-10 13:31:58 by Thomas Klausner | Files touched by this commit (3) | Package updated
Log message:
Update to 1.25:

Version 1.25:

    Enhancements to ticket processing. There are now two tables:
    TICKET and TICKETCHNG. There is one row in TICKETCHNG for each
    ticket artifact. Fields from ticket artifacts go into either
    or both of TICKET and TICKETCHNG, whichever contain matching
    column names. Default ticket edit and viewing scripts are
    updated to use TICKETCHNG. The TH1 scripting language is enhanced
    to support this, including the new "query" command for doing
    SQL queries against the repository database. All changes should
    be backwards compatible.
    Add the ability to moderate ticket and wiki changes. Unmoderated
    changes do not sync and may be deleted by the moderator if
    found to contain spam or other objectionable content.
    Add javascript so that clicking on a node of the timeline graph
    selects that node. Then clicking on a second node shows a diff
    between the two nodes. Clicking on the selected node unselects
    Warn of unresolved merge conflicts in "fossil status" and
    disallow commits of unresolved conflicts unless the --allow-conflict
    option is used.
    Add javascript so that clicking on column headers in a ticket
    report sorts by the indicated column.
    Add the "fossil cat" command which is basically an alias for
    "fossil finfo -p".
    Hyperlinks with the class "button" are rendered as submenu
    buttons on embedded documentation.
    The check-in comment editor on windows now defaults to NotePad.exe.
    Correctly deal with BOMs in check-in comments. Also attempt to
    convert check-in comments to UTF8 from other encodings.
    Allow the deletion of multiple stash entries using multiple
    arguments to the "fossil stash rm" command.
    Enhance the "fossil server DIRECTORY" command to serve static
    content files contained in DIRECTORY. For security, only files
    with a recognized suffix (such as *.html, *.jpg, *.txt, etc)
    will be delivered as static content, and *.fossil files are
    not on the list of recognized suffixes. There are additional
    restrictions on the names of the files.
    Allow the "fossil ui" command to specify a directory as long
    as the the --notfound option is used.
    Add a configuration option that causes timeline messages to be
    rendered as text/x-fossil-plain (which is the same as text/plain
    except that hyperlinks inside of [...] are decorated.)
    Only decorate [...] in check-in comments and tickets if the
    contented text really is a valid hyperlink target.
    Improvements to the side-by-side diff algorithm, for a more
    human-friendly display in some complex cases.
    Added [utime] and [stime] commands to TH1. These commands can
    be used for things such as displaying the page rendering time
    in the footer.
    Add the ability to pass command-line options of "fossil rebuild"
    to "fossil all rebuild".
    Add the --deanalyze option to "fossil rebuild" (and "fossil
    all rebuild")
    Do not run the graphical merging tool nor leave merge-droppings
    after a dry-run merge. Display an improved merge-summary message
    at the end of the merge.
    Add options to "fossil commit" to override the various sanity
    checks. Options added: --allow-empty, --allow-fork, --allow-older,
    and --allow-conflict.
    Optionally require a CAPTCHA (controlled by a setting on the
    Admin/Access webpage) when a user who is not logged in tries
    to edit wiki, or a ticket, or an attachment.
    Improvements to the "ssh://" sync protocol, to help it move
    past noisey motd comments.
    Add the uf=FILE-SHA1-HASH query parameter to the timeline,
    causing the timeline to show only check-ins that contain the
    specific file identified by FILE-SHA1-HASH. ("uf" stands for
    "uses file".)
    Enhance the file change annotator so that it follows the file
    across name changes.
    Fix the server-side of the sync protocol so that it will not
    generate a delta loop when a file changes from its original
    state, through two or more intermediate states, and back to
    the original state, all within a single sync.
    Show much less output during a sync operation, unless the
    --verbose option is used.
    Set the action= attribute of <form> elements using javascript,
    as an addition defense against spam-bots.
    Disallow invalid UTF8 characters (such as characters in the
    surrogate pair range) in filenames.
    Judge the UserAgent strings issued by the NetSurf webbrowser
    to be coming from a human, not from a bot.
    Add the zlib sources to the Fossil source tree (under compat/zlib)
    and use those sources when compiling on (windows) systems that
    do not have a zlib library installed by default.
    Prompt the user with the option to convert non-UTF8 files into
    UTF8 when committing.
    Allow the characters *[]? in filenames.
    Allow the --context option on diff commands to have a value of
    Added the "dbstat" command.
    Enhanced "fossil merge" so that if the VERSION argument is
    omitted, Fossil tries to merge any forks of the current branch.
    Improved detection of forks in a commit race.
    Added the --analyze option to "fossil rebuild".

Version 1.24:

    Added support for WYSIWYG editing of wiki pages. WYSIWYG is
    turned off by default and can be turned on by setting a
    configuration option.
    Allow style= attribute to occur in HTML markup on wiki pages.
    Added the --tk option to the "fossi diff" and "fossil stash
    diff" commands, causing color-coded diff output to be displayed
    in a Tcl/Tk GUI window. This option only works if Tcl/Tk is
    installed on the host.
    On windows, make the "gdiff" command default to use WinDiff.exe.
    Update the "fossil stash" command so that it always prompts
    for a comment if the -m option is omitted.
    Enhance the timeline webpages so that a=, b=, c=, d=, p=, and
    dp= query parameters (and others) can all accept any valid
    checkin name (such as branch names or labels) instead of just
    SHA1 hashes.
    Added the "fossil stash show" command.
    Added the "fileage" webpage with links to this page from the
    check-in information page and from the file browser.
    Added --age and -t options to the "fossil ls" command.
    Added the --setmtime option to "fossil update". When used, the
    mtime of all mananged files is set to the time when the most
    recent version of the file was checked in.
    Changed the "vdiff" webpage to show the complete text of files
    that were added or removed (the equivelent of using the -N or
    --newfile options with the "fossil diff" command-line.)
    Added the --temp option to "fossil clean" and "fossil extra",
    causing those commands to only look at temporary files generated
    by Fossil, such as merge-conflict reports or aborted check-in
    Enhance the raw page download so that it can guess the mimetype
    of attachments based on the filename.
    Change the behavior of the from= and to= query parameters on
    the timeline page so that by default the path between the two
    specified check-ins avoids merges.
    Add the --baseurl option to "fossil server" and "fossil http"
    commands, so that those commands can be used with reverse
    If unable to determine the command-line user, do not guess.
    Instead issue an error message. This helps prevent check-ins
    from accidentally occurring under the wrong username.
    Include branch information in the output of file change listings
    (the "finfo" webpage).
    Make the simplified view of file history, rather than the full
    view, the default.
    In the "fossil configuration" command, allow the "css" option
    for synchronizing, importing, or exporting just the CSS file.
    This makes it easier to share CSS files across repositories by
    exporting from one and importing to another.
    Add the (unsupported) "fossil test-orphans" command.
    Add the --template option to the "fossil init" command, to
    facilitate creating new repositories based on a template
    Add the diff-binary setting, which if enabled causes binary
    files to be passed to the "gdiff" command for it to deal with,
    rather than simply printing a "cannot diff binary files" error.
    Add the --unified option to the "fossil diff" command to force
    a unified diff even if the --tk option (which normally implies
    a side-by-side diff) is used.
    Present a choice of nearby branches and versions to diff against
    on the check-in information page.
    Add the --force option to the "fossil merge" command that will
    force the merge to occur even if it would be a no-op. This is
    sometimes useful for documentation purposes.
    Add another built-in skin: "Enhanced Default". Other minor
    tweaks to the existing skins.
    Add the "urllist" webpage, showing a list of URLs by which a
    server instance of Fossil has been accessed. Requires
    "Administrator" privileges. A link is on the "Setup" \ 
main page.
    Enable dynamic loading of the Tcl runtime for installations
    that want to use Tcl as part of their configuration. This
    reduces the size of the Fossil binary and allows any version
    of Tcl 8.4 or later to be used.
    Merge the latest SQLite changes from upstream.
    Lots of minor bug fixes.