# event

type: ci
user: andybradford
comment:
  Don't send Basic Authorization except after prompting user.  This is done by
  detecting 401 Authorization Required.  It also allows the HTTP Authorization
  credentials to be different from the Fossil user which means the integrity 
  of the Fossil password can be maintained if so desired.


type: ci
user: jan.nijtmans
comment:
  If fossil on Cygwin is compiled with --disable-internal-sqlite, those Cygwin specific fossil modifications are no longer necessary.


type: ci
user: mistachkin
comment:
  Rename the makefile variable BROKEN_MINGW_CMDLINE (not the C define) to more accurately reflect its usage.


type: ci
user: drh
comment:
  Update the built-in SQLite to the version that includes the DELETE with
  ONEPASS optimization and the enhanced EXPLAIN indentation in the shell.


type: ci
user: jan.nijtmans
comment:
  Links from tag changes on timeline should always unhide. Otherwise click on branch changes to "mistake" gives a strange effect.


type: ci
user: drh
comment:
  Add the Abbreviated Name configuration option that is used for tarball
  and ZIP archive name construction.


type: t
user: jan.nijtmans
brief: Closed ticket [cadc9aa78f].
comment:
  Closed ticket [cadc9aa78f]: <i>convert comment between utf8 and big5 on windows</i> plus 3 other changes


type: ci
user: jan.nijtmans
comment:
  Use built-in Tcl for "diff --tk" implementation if possible. Fallback is to spawn an external "tclsh" as before.


type: ci
user: andybradford
comment:
  Handle --once preference and prevent sending HTTP Authorization when the URL is
  named on the command line.


type: ci
user: jan.nijtmans
comment:
  Use hostname in stead of proxy name in certificate handling. Attempt to fix the problem described here: [https://www.mail-archive.com/fossil-users@lists.fossil-scm.org/msg13898.html]


type: t
user: jan.nijtmans
brief: Ticket [974618fe5a]: 3 changes
comment:
  Ticket [974618fe5a] <i>fossil all rebuild does redundant rebuilds on windows</i> status still Open with 3 other changes


type: ci
user: stephan
comment:
  Potential fix for ticket [d752140c7a]. The reconstruct op appears to have been importing raw directory entries into the blob table.


type: ci
user: andybradford
comment:
  Only automatically provide Authorization if the URL is HTTPS.  User can
  express preference to use Authorization over unencrypted HTTP via the
  --httpauth command line option.


type: ci
user: jan.nijtmans
comment:
  Make sure that the close-button of tk's "diff" window ends the main-loop in all circumstances. 
  Remove unnecessary space.


type: t
user: jan.nijtmans
brief: Closed ticket [bbcd18aa11].
comment:
  Closed ticket [bbcd18aa11]: <i>fossil all rebuild rebuilds everything twice</i> plus 4 other changes


type: t
user: jan.nijtmans
brief: Closed ticket [93c266d3ee].
comment:
  Closed ticket [93c266d3ee]: <i>Difficulty to correctly add/list files/directories with accended characters in name/path and see them listed in &quot;Files&quot; menu.</i> plus 3 other changes


type: ci
user: andybradford
comment:
  Use the canonical URL as the key for storing the authorization.  Reset
  the authorization information on a redirect.


type: ci
user: jan.nijtmans
comment:
  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.


type: ci
user: jan.nijtmans
comment:
  Rename sqlite3_cmd() to cmd_sqlite3() and sqlite3_exec_readonly() to db_exec_readonly(): sqlite3_* symbols are reserved for SQLite, in order to prevent possible future symbol conflicts. 
  Eliminate use of deprecated "sqlite3_callback" typedef (which allows elimination of some type casts). 
  Missing "static" in content.c


type: g
user: jan.nijtmans
comment:
  Edit [76442af7e13267bd]: Move to branch [/timeline?r=branch-1.28&nd&dp=76442af7e13267bd&unhide | branch-1.28]...


type: ci
user: jan.nijtmans
comment:
  Remove unnecessary end-of-line spaces. (My editor does that automatically, but I don't want it to happen together with other functional changes in a single commit). 
  No change in code.


type: t
user: drh
brief: Fixed ticket [a757c4fca1].
comment:
  Fixed ticket [a757c4fca1]: <i>reports page is accessible to anyone (nobody)</i> plus 3 other changes


type: g
user: jan.nijtmans
comment:
  Edit [6758c2b0d5f1db01]: Move to branch [/timeline?r=cleanX&nd&dp=6758c2b0d5f1db01&unhide | cleanX]...


type: ci
user: jan.nijtmans
comment:
  (experimental) Allow not only --utc or --localtime to be specified, but any timezone (minutes from UTC = -999...999)


type: ci
user: jan.nijtmans
comment:
  When on a Fossil web-page without being logged-in, pressing "Login" and doing a successful login will bring you back to the same web-page again.


type: ci
user: andybradford
comment:
  Make HTTP authorization a command line option.  Choice will be stored in
  database until another URL change happens.  This could potentially break those
  who currently rely on the special # character in the password.


type: ci
user: drh
comment:
  Require "Read" permission (capability "u") in order to access the /reports
  page.  Fix for ticket [a757c4fca19d]


type: ci
user: jan.nijtmans
comment:
  No longer prohibit multiple "merge --integrate"'s without an intermediate commit. "commit --integrate" already allows it, so there is no way to stop people doing that. 
  Fossil versions earlier than [55cacfcace] cannot handle the manifest file produced by such a commit.


type: ci
user: jan.nijtmans
comment:
  Correctly determine whether the limit was really reached, this time without my mistake in [d54ada1cea] which didn't handle "-n 0" correctly.


type: ci
user: jan.nijtmans
comment:
  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?)


type: ci
user: jan.nijtmans
comment:
  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)


type: ci
user: mgagnon
ecomment:
  <strong>Fix some remaining corner cases when having a checkout on '/'..</strong>

  Update command:
    *  Was asserting when localroot is '/'

  file_cannonical_name():
    *  Return '/' instead of '.' when refering to '/'.
    *  Avoid the double '/' on beginning.
    *  Refactoring to avoid some duplicated code.

  file_relative_name():
    *  Handle properly relative path when working on '/'.

comment:
  Fix some remaining corner cases when having a checkout on '/'..

  - update was asserting when localroot is '/'

  - fix file_canonical_name() so it doesn't return '.' path must be '/' and avoid
    the double '/' on beginning in some case.

  - refactor file_canonical_name() function to avoid some duplicated code.

  - fix file_relative_name() so it handle properly relative path when working on
    '/'.


type: ci
user: mistachkin
comment:
  Cherrypick MSVC/TH1 related fixes [42316a14e2], [354288db9c], [9dc0877d91], [fb29094a8f], [e0f22dda7b], [1aeb2726b0], [95292a13fa], [5e368e911d], [dd8d317670], and [f61958b183] from trunk for review.


type: ci
user: mistachkin
comment:
  Cherrypick MSVC/TH1 related fixes [42316a14e2], [354288db9c], [9dc0877d91], [fb29094a8f], [e0f22dda7b], [1aeb2726b0], [95292a13fa], [5e368e911d], [dd8d317670], and [f61958b183] from trunk.


type: ci
user: stephan
comment:
  rss-cli: removed the short-form of -url URL arg because it is not working for reasons beyond my comprehension.


type: g
user: jan.nijtmans
comment:
  Edit [21426d01b464f276]: Move to branch [/timeline?r=tree-view-work&nd&dp=21426d01b464f276&unhide | tree-view-work]...


type: g
user: jan.nijtmans
comment:
  Edit [abf1b425fb92ef46]: Move to branch [/timeline?r=sqlite-min-to-3.7.17&nd&dp=abf1b425fb92ef46&unhide | sqlite-min-to-3.7.17]...


type: ci
user: stephan
ecomment:
  minor style fix (column width) and added notification of the glob which is in effect, analog to the regex notification.

comment:
  minor style fix (column width) and added notification of the blob which is in effect, analog to the regex notification.


type: g
user: jan.nijtmans
comment:
  Edit [02b607a07a5ed13f]: Move to branch [/timeline?r=tree-view-work&nd&dp=02b607a07a5ed13f&unhide | tree-view-work]...


type: ci
user: stephan
comment:
  Propagate glob=... via the various vdiff toggle buttons and add a button to clear the current glob if glob is provided.


type: ci
user: jan.nijtmans
comment:
  Backout [77d37d910b], which puts back the "fossil sqlite3" command when compiled with --disable-internal-sqlite. 
  Take over matching "shell.c" from SQLite, but relax SQLite version check, otherwise "fossil sqlite3" doesn't work (that was the reason for taking out "fossil sqlite3" in the first place, but at least OpenBSD wants to support it). See: [https://www.mail-archive.com/fossil-users@lists.fossil-scm.org/msg14185.html]


type: ci
user: stephan
comment:
  Added rss CLI command help text and removed the permissions checks (which are not valid in CLI mode).


type: ci
user: jan.nijtmans
comment:
  Update custom makefile as well. 
  If fossil is linked with external SQLite library, make sure it is used single-threaded.


type: ci
user: drh
comment:
  Fix several issues with the TH1 unset command, including a memory leak.
  Add more tests. Keep the original branch open in case further changes
  are needed.


type: ci
user: stephan
comment:
  integrated reports-by-type. Still missing some UI components, but the feature works if the user adds type=XYZ to the URL args.


type: ci
user: drh
comment:
  Update the built-in SQLite to the latest from upstream that includes the
  skip-scan optimization and the improved EXPLAIN display in the shell.


type: ci
user: jan.nijtmans
comment:
  Increase minimum SQLite requirement to 3.7.17, and make efficient use of the function sqlite3_strglob. This eliminates unnecessary strglob function in fossil


type: ci
user: stephan
comment:
  Fixed the table we search for the byweek report. Replaced 'y' param with 'type' because 'y' is already uses for YYYY (year).


type: ci
user: jan.nijtmans
comment:
  One advantage of modifying print_timeline() in stead of using LIMIT: 
  It's possible to put an indication at the end that output stopped because the limit was reached!


type: ci
user: mgagnon
ecomment:
  Fix db_open_local() fonction so it find the local checkout database on "/". It
  was working inconsistently depending what was the current directory.

  ** Even if fossil is not the right tool to version files on the root of the
  system, I found it very usefull to track what file change on my system

  Tested on Linux and MinGW (Windows 8.1)

comment:
  Fix db_open_local() fonction so it find the local checkout database on "/". It
  was working inconsistently depending what was the current directory.

  ** Even if fossil is not the right tool to version files on the root of the
  system, I found it very usefull to track what file change on my system

  Tested on Linux only for now..


type: ci
user: jan.nijtmans
comment:
  Cherrypick SQLite [http://www.sqlite.org/src/info/c43b59dac1|c43b59dac1]: Correct the VFS name as reported by the file control when explicitly using the 'win32-longpath' VFS


type: ci
user: jan.nijtmans
comment:
  Cherrypick [354288db9c]: Fix build with older MinGW. See: [http://www.mail-archive.com/fossil-users@lists.fossil-scm.org/msg14377.html]


type: ci
user: jan.nijtmans
comment:
  Cherrypick SQLite [http://www.sqlite.org/src/info/1e131094b5|1e131094b5]: For the Win32 VFS, defining winShmMutexHeld should be controlled by NDEBUG, not SQLITE_DEBUG


type: ci
user: drh
comment:
  Make a change to the test/utf16le.txt file as a test case to verify that
  the diff logic displays utf16 changes correctly.


type: g
user: drh
comment:
  Edit [cd554eb63cb2e0b1]: Move to branch [/timeline?r=tree-view-enhancements&nd&dp=cd554eb63cb2e0b1&unhide | tree-view-enhancements]...


type: g
user: drh
comment:
  Edit [21426d01b464f276]: Move to branch [/timeline?r=tree-view-ie8&nd&dp=21426d01b464f276&unhide | tree-view-ie8].. Edit check-in comment..


type: g
user: drh
comment:
  Edit [75b96a2912f6f34b]: Move to branch [/timeline?r=tree-view-work&nd&dp=75b96a2912f6f34b&unhide | tree-view-work].. Edit check-in comment..


type: g
user: jan.nijtmans
comment:
  Edit [050412b8329e4d31]: Move to branch [/timeline?r=mistake&nd&dp=050412b8329e4d31&unhide | mistake]. Add propagating "hidden".. Marked "Closed". Edit check-in comment..


type: ci
user: jan.nijtmans
comment:
  Fix use of window.getComputedStyle() function for IE8. Same fix as done in [5885241f52c6182e] for timeline.


type: ci
user: mistachkin
comment:
  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.


type: ci
user: jan.nijtmans
comment:
  The same, but then with modified SQLite (minimal patch to function winFullPathname this time). 
  This way, applications wanting to use the "win32-longpath" VFS don't have to do tricky extended-path modifications any more.


type: ci
user: jan.nijtmans
comment:
  Cherrypick SQLite [http://www.sqlite.org/src/info/ac15455abc|ac15455abc]: In the command-line shell, defend against a NULL-pointer dereference in the case where sqlite3_column_name() returns NULL (as might happen following an OOM error)


type: ci
user: jan.nijtmans
comment:
  Take over latest change in src/mem1.c (usage of _msize function) from SQLite trunk, and modify MinGW build to use it as well.


type: ci
user: jan.nijtmans
comment:
  Add a checkbox in the ci_edit page which allows to close multiple leaves (all successors of the current check-in) to be closed in a single action.


type: t
user: mgagnon
brief: Fixed ticket [ee97701f4c].
comment:
  Fixed ticket [ee97701f4c]: <i>&quot;fossil add&quot; broken for repos opened into &quot;/&quot;</i> plus 5 other changes


type: ci
user: jan.nijtmans
comment:
  Fix incorrect link. All bug-fixes from trunk are now merged into "branch-1.28" except (on purpose!) the harmless valgrind warning in the tarball generator


type: ci
user: drh
comment:
  Prevent buffer overruns when trying to do side-by-side diff alignment
  of lines that contain non-UTF8 characters and a prefix match.


type: ci
user: jan.nijtmans
comment:
  Don't replace sqlite3_strglob with sqlglob: It's wrong because the return value is different. 
  Since SQLite 3.8.2 is guaranteed to have sqlite3_strglob anyway, no need to worry.


type: ci
user: jan.nijtmans
comment:
  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.


type: ci
user: mistachkin
comment:
  The common script should be run even when no hook is set.  Improvements to consistency and style of hook integration.


type: ci
user: mistachkin
comment:
  Simplify vfile_dir_scan and make sure nested calls do not alter the path added to the dscan_temp table.


type: ci
user: stephan
comment:
  Initial draft of type event type argument for /reports. Seems to work but is missing labels and link integration (i.e. can only be used by explicitly passing y=TYPE for the time being).


type: ci
user: jan.nijtmans
comment:
  Merge trunk. 
  Valid extended paths must have >6 chars, e.g. "\\?\C:\" (+1 for closing '\0'), this way make sure that wUnicode always points to allocated memory.


type: ci
user: jan.nijtmans
comment:
  Make sure that shell.o and sqlite3.o are rebuilt whenever compilation options change. 
  This should prevent problems like [http://comments.gmane.org/gmane.comp.version-control.fossil-scm.user/14805|Problem with compilation under MINGW] once and for all.


type: ci
user: joel
comment:
  Actually check that the link being clicked is a descendant of .subdir instead of using a style-based check that could change with different CSS.


type: ci
user: drh
comment:
  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.


type: ci
user: drh
comment:
  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.


type: ci
user: drh
comment:
  Improved header text for the tree-view.  Make the tree-view the default
  for the "Files" menu on all default styles.


type: ci
user: drh
comment:
  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.


type: ci
user: joel
ecomment:
  Unflatten top line of directory nodes. Pros of old design (reduced screen space) aren't worth the cons (more confusing, more complicated CSS, and very few people are going to be using subdirectory pages).

comment:
  Unflatten top line of directory nodes. Pros (reduced screen space) aren't worth the cons (more confusing, more complicated CSS, and very few people are going to be using subdirectory pages).


type: ci
user: mgagnon
comment:
  Merge again checkout_on_root_fix. 

  Fix more cases when working from '/', should not affect when working normally.


type: g
user: drh
comment:
  Edit [1ab27288206bc8a7]: Move to branch [/timeline?r=broken-build&nd&dp=1ab27288206bc8a7&unhide | broken-build]...


type: g
user: mistachkin
comment:
  Edit [abf1b425fb92ef46]: Move to branch [/timeline?r=pending-review&nd&dp=abf1b425fb92ef46&unhide | pending-review]...


type: ci
user: drh
comment:
  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".


type: ci
user: mistachkin
comment:
  When using the --template option to the 'init' command, the short project name should be skipped as well.


type: ci
user: jan.nijtmans
comment:
  Increase minimum SQLite requirement to 3.7.17, and make efficient use of the function sqlite3_strglob. This eliminates unnecessand sqlite


type: g
user: jan.nijtmans
comment:
  Edit [04f4e699d41b7378]: Move to branch [/timeline?r=win32-longpath&nd&dp=04f4e699d41b7378&unhide | win32-longpath]...


type: ci
user: jan.nijtmans
comment:
  Some more link fixes, all of the form "/timeline" having an uuid in it's arguments which is possibly hidden.


type: g
user: jan.nijtmans
comment:
  Edit [fd0507e9498bdde8]: Move to branch [/timeline?r=hidden-tag&nd&dp=fd0507e9498bdde8&unhide | hidden-tag]...


type: ci
user: jan.nijtmans
comment:
  Eliminate the need to compile SQLite with -Dlocaltime=fossil_locatime. 
  This makes the timeline-utc setting work when fossil is configured with --disable-internal-sqlite.


type: g
user: jan.nijtmans
comment:
  Edit [9c9e77676b417505]: Move to branch [/timeline?r=mistake&nd&dp=9c9e77676b417505&unhide | mistake]. Add propagating "closed". Add propagating "hidden"...


type: ci
user: jan.nijtmans
comment:
  Add -DSQLITE_WINNT_MAX_PATH_CHARS=4096 for Cygwin, as Cygwin cannot handle paths of length 32767 anyway. Doesn't affect other platforms. 
  Re-generated Makefile.PellesCGMake, somehow not updated when makemake.tcl changed the last time.


type: ci
user: jan.nijtmans
comment:
  Fix end-marker handling in "fossil timeline", broken by previous commit [465f8ecd4a].
  (That's what the "n+1" in [14104fde04?ln=1818] was meant for, but -1 is always better)


type: t
brief: New ticket [2130ebe3b6].
comment:
  New ticket [2130ebe3b6] <i>Read fast-import files from files as well as stdin for windows users</i>.


type: ci
user: drh
comment:
  Add the /tree URI for showing a hierarchical file listing.  The URI works,
  but there are no hyperlinks to it yet.


type: ci
user: jan.nijtmans
comment:
  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"


type: ci
user: drh
comment:
  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.


type: ci
user: jan.nijtmans
comment:
  Fix /tree page and "timeline-utc" setting in combination with --disable-internal-sqlite configuration


type: ci
user: joel
comment:
  Add TH1 variables for style-related URLs (/style.css, /logo, /background) that
  contain the resources' mtimes. Maintains aggressive caching without requiring
  users to do a hard refresh or clear their cache when the resource is changed.


type: ci
user: mistachkin
comment:
  Better align the SQLite compilation options used by the makemake.tcl script with those listed on the makefile wiki page.


type: ci
user: andybradford
comment:
  Using javascript to disappear current text in input field might need additional
  feedback before implementing.


type: ci
user: andybradford
comment:
  Ignore TAG_USER from tagxref if the user has been cancelled so Edited User is
  not displayed in the Check-in Overview.


type: g
user: mistachkin
comment:
  Edit [04f4e699d41b7378]: Move to branch [/timeline?r=pending-review&nd&dp=04f4e699d41b7378&unhide | pending-review]...


type: ci
user: mistachkin
comment:
  If 'newbranch' field only contains spaces, consider it empty.  Add missing MSVC linker option to the makemake.tcl script.  Cherrypick of [5ceef9bcdd] and [c6f255607b].


type: ci
user: mistachkin
comment:
  Further robustness enhancements to the automated MSVC batch file.  Also, update build wiki page to refer to it.


type: ci
user: jan.nijtmans
comment:
  It appears that in [4f0413381d], Makefile.msc was edited without corresponding change in makemake.tcl.
  Correct that, so this change will not be accidently reverted again (as I did in the previous commit)


type: ci
user: jan.nijtmans
comment:
  Align recommended SQLite compilation options with actual options used when compiling SQLite. 
  (I don't think SQLITE_ENABLE_EXPLAIN_COMMENTS should be one of them, it never was in earlier releases)


type: ci
user: jan.nijtmans
comment:
  When selecting the "Branching" checkbox, select the "newbranch" field just the other text entry widgets do. Another one of Andy Bradford's brilliant ideas.


type: ci
user: jan.nijtmans
comment:
  If "fossil new" or "fossil open"'s argument has an extended path prefix like "\\?\C:\", don't process the '?' and ':' in it as special path characters, only do '/' -> '\' translation. 
  This makes extended paths usable in fossil everywhere (hopefully), for now <260.


type: ci
user: mistachkin
comment:
  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.


type: ci
user: mistachkin
comment:
  Add --emptydirs option to the 'clean' command to remove empty directories.  Corrections to style and comments.  Remove superfluous local variable zDir in vfile_scan.


type: ci
user: jan.nijtmans
ecomment:
  Add a "Synchronize" button to the Admin->Transfers page (or "Pull" if the "dont-push" option is set). Remark: I'm not sure if determining the user with user_select() is correct here, that's the tricky point to get right.

comment:
  Add a "Synchronize" button to the Admin->Transfers page (or "Pull" if the "dont-push" option is set)


type: ci
user: drh
comment:
  If the ".fslckout" file gets confused about the RID of the current checkout,
  still generate a valid manifest, only without the "P" record.


type: ci
user: mistachkin
comment:
  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.


type: ci
user: jan.nijtmans
comment:
  Better implementation of file_access() for win32: The function _waccess cannot handle long paths, and lies too much (e.g. when handling specific smb drives). 
  Implementation borrowed from Tcl 8.6: [http://core.tcl.tk/tcl/artifact/c6b5d4f8d7?ln=1510-1756]


type: ci
user: jan.nijtmans
comment:
  Merge trunk. 
  Eliminate need for special Makefile.Cygwin. 
  Simplify handling of '\\?\' prefix: Only add it when necessary (calculated path>=260 chars).


type: ci
user: jan.nijtmans
comment:
  If the "Branching" checkbox is unchecked, the "Branch Closure" label should return to its original branchname. Add a javascript handler doing exactly that.


type: ci
user: jan.nijtmans
comment:
  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.


type: ci
user: jan.nijtmans
comment:
  Use SetCurrentDirectoryW/GetFileAttributesExW in stead of _wchdir/_wstati64 (which cannot handle long pathnames)


type: ci
user: jan.nijtmans
comment:
  Hm. "catch" doesn't appear to work for reporting the win32-longpath error correctly, instead check whether CANTOPEN is part of the output.


type: ci
user: jan.nijtmans
comment:
  Break the 260 character path barrier on Win32. Add test-case "win32-longpath" for proving that it works.


type: g
user: andybradford
comment:
  Edit [c36ad48a877a9e9f]: Move to branch [/timeline?r=cancel-tag-fix&nd&dp=c36ad48a877a9e9f&unhide | cancel-tag-fix]...


type: ci
user: jan.nijtmans
comment:
  Fix bug in utf8.c (don't translate first ':' in extended path). 
  Add test-case (win32-longpath.test). 
  Some formatting (don't use tabs).


type: ci
user: andybradford
comment:
  Revert to original ordering to retain sorting of special tags.  Get the branch
  name prior to the loop that displays the special and sym- tags.


type: ci
user: andybradford
comment:
  When editing a branch name, make the default value disappear when the input
  is entered.  Also, strip whitespace from right-end of value and only update 
  branch names if not all white space.


type: ci
user: andybradford
comment:
  Prevent sym- tag that matches branch name that sorts prior to branch name from
  displaying an option to cancel the tag.  Also clean up a couple strcmp.


type: ci
user: andybradford
comment:
  Prevent the argument that follows -A from being interpreted as a repository
  and avoid incorrect file already exists errors.


type: ci
user: jan.nijtmans
comment:
  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)!


type: ci
user: andybradford
comment:
  Given that recovering from incorrect hiding is relatively straightforward,
  don't prevent access to hidden option on trunk and main-branch.


type: ci
user: jan.nijtmans
comment:
  Add "Unhide" button, for people who want to see everything in the "mistake" branch (I don't want to see it, but someone else might)


type: ci
user: jan.nijtmans
comment:
  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.


type: ci
user: jan.nijtmans
comment:
  One more: GetFullPathNameW() needs the "\\?\"-prefix as well if the input path is already >MAX_PATH. 
  But we don't want the resulting directory to have this prefix, so strip it off when present.


type: ci
user: drh
comment:
  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.


type: ci
user: jan.nijtmans
comment:
  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.


type: ci
user: jan.nijtmans
comment:
  "comment" tag from check-in's cannot be canceled: that would result in a check-in without a comment! 
  Extraneous dot in label text.


type: ci
user: jan.nijtmans
comment:
  Final bug-fix: Before prefixing a path with "\\?\", check if it is prefixed already. If so, don't do it again. 
  Everything seems to work fine now!


type: ci
user: jan.nijtmans
comment:
  Make "win32-longpath" the default VFS on win32, eliminating all path limitations (up to ~32767 chars). 
  TODO: eliminate use of the the function _wstati64(), that appears to be the only Win32 function left which cannot handle such long paths. 
  Everything else needed is done.


type: ci
user: jan.nijtmans
comment:
  Fix fossil_stat() and fossil_chdir() such that they accept paths>MAX_PATH. 
  For file_access(), implement a workaround that the '\\?\' prefix can be handled.


type: ci
user: jan.nijtmans
comment:
  Implement file_access() function such that it accepts paths>MAX_PATH. Implementation copied (with some simplifications) from Tcl 8.6


type: g
user: drh
comment:
  Edit [1c37a90508b89cf3]: Move to branch [/timeline?r=makefile-error&nd&dp=1c37a90508b89cf3&unhide | makefile-error]...


type: ci
user: jan.nijtmans
comment:
  Use "win32-longpath" as default (when available, overridable with FOSSIL_VFS environment variable) when accessing peer repositories.


type: ci
user: jan.nijtmans
comment:
  Backout remaining of [8e01c2257d] and fix corresponding change log entry, as it apparently is not accepted upstream. 
  See: [http://www.mail-archive.com/fossil-users@lists.fossil-scm.org/msg13883.html]. Sorry Joerg.


type: ci
user: andybradford
comment:
  Merge change to fossil ui which first looks for default user if set before
  falling back to the Setup user.


type: ci
user: andybradford
comment:
  Use Javascript to hide the branch hiding checkbox when necessary.  Also update
  the branch name in the branch hiding text when a branch is specified.


type: ci
user: jan.nijtmans
comment:
  Merge trunk.
  Rename "hidden" option (not the tag name) to "hide", just as the "close" option compared to the "closed" tag. Just to prevent confusion.


type: ci
user: drh
comment:
  Import the latest SQLite 3.8.2 beta from upstream, including Cygwin fixes and
  performance enhancements.


type: ci
user: jan.nijtmans
comment:
  Implement "unhide" option for json timeline. 
  Protect "trunk" from being hidden, and indicate more clear which branch is being hidden: The "mistake" branch is the only branch that should have hidden nodes.


type: ci
user: jan.nijtmans
comment:
  Merge trunk. 
  Make it possible to make a move to branch "mistake", close the branch, and hide it in one single step. 
  3 separate check-buttions control the 3 parts of this action separately.


type: g
user: jan.nijtmans
comment:
  Edit [d9fd922962fbe818]: Move to branch [/timeline?r=hidden-tag&nd&dp=d9fd922962fbe818&unhide | hidden-tag]...


type: ci
user: jan.nijtmans
comment:
  When configuring fossil using "--disable-internal-sqlite" (having SQLite 3.8.1 installed),
  "./fossil version -v" gives: "SQLite 3.8.2 2013-11-27 14:50:51 c75f561f33", which was not
  the SQLite version compiled with, neither the SQLite version actually running (3.8.1).


type: ci
user: andybradford
comment:
  Logic correction. Should check if the local db is open before trying to use it,
  not before checking if the variable is null.


type: t
brief: New ticket [229afc037d].
comment:
  New ticket [229afc037d] <i>fossil repo in the same directory as checkout shows no timeline in server</i>.


type: g
user: andybradford
comment:
  Edit [7700ae1c2276cb16]: Move to branch [/timeline?r=mistake&nd&dp=7700ae1c2276cb16&unhide | mistake].. Marked "Closed". Edit check-in comment..


type: ci
user: jan.nijtmans
comment:
  Implement (already existing but currently non-functional) "hidden" tag, which hides items from timeline.


type: t
user: drh
brief: Closed ticket [229afc037d].
comment:
  Closed ticket [229afc037d]: <i>fossil repo in the same directory as checkout shows no timeline in server</i> plus 4 other changes


type: ci
user: stephan
comment: Added a check/failure for the RID mismatch case discussed at length on the ML today.
ecomment:
  Added a check/failure for the RID mismatch case discussed at length on the ML today. Edit: nevermind: this check is far from being complete/valid, per discussion with Jan, as it can pick up non-artifacts as a parent.


type: ci
user: stephan
comment:
  Added by-type labels for /reports page headers, but still not sure how to integrate the flags sensibly into the UI.


type: ci
user: andybradford
comment:
  Change fossil ui behavior to look for default-user first if set, otherwise look
  for user with Setup capability.


type: ci
user: mistachkin
comment:
  Consolidate all the Cygwin-specific preprocessor directives into one file and include it where necessary.


type: t
user: jan.nijtmans
brief: Ticket [18cff45a4e]: 4 changes
comment:
  Ticket [18cff45a4e] <i>extras command not finding new files</i> status still Open with 4 other changes


type: ci
user: drh
comment:
  Update the built-in SQLite to the latest trunk version that includes the
  WITHOUT ROWID enhancement.  Fossil itself does not (yet) make use of this
  enhancement.


type: ci
user: jan.nijtmans
comment:
  Fix temporary directory separator handling for Cygwin. For testing purposes. (Change taken over from SQLite's "cygDirSep" branch)


type: ci
user: andybradford
comment:
  Restore URL flags because user_select() causes them to be altered.  This allows
  the save password prompt to appear when required.


type: ci
user: jan.nijtmans
comment:
  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.


type: ci
user: andybradford
comment:
  Remove side effect produced when calling with no flags.  This permits removal
  of work around in sync.c.


type: ci
user: andybradford
comment:
  It appears that calls to url_parse(0,x) are used to establish who the user is
  using user_select().  In this case we should not overwrite a password that has
  been provided prior to calling user_select() with one from the database.


type: ci
user: jan.nijtmans
comment:
  Only prompt for password save if the to-be-saved password is different from the already saved password


type: ci
user: jan.nijtmans
comment:
  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.


type: ci
user: andybradford
comment:
  Clean up handling of passwords for SSH.  Further separate prompting for password
  from saving of password.


type: g
user: andybradford
comment:
  Edit [1ccbb651c5d6c1e9]: Move to branch [/timeline?r=url-password-fixes&nd&dp=1ccbb651c5d6c1e9&unhide | url-password-fixes]...


type: t
brief: Ticket [b621a3f6c1]: 3 changes
comment:
  Ticket [b621a3f6c1] <i>Adding an attachment with description ends up not showing the description</i> status still Open with 3 other changes


type: ci
user: andybradford
comment:
  Merge in fixes for the password embedded in the URL, save password prompting,
  and new clone --once option.


type: ci
user: drh
comment:
  Update the built-in SQLite to the latest 3.8.1 beta that includes the
  "sqlite3.h" file text at the very beginning of the "sqlite3.c" amalgamation
  file.


type: ci
user: andybradford
comment:
  Prompt to remember password when password is embedded in URL.
  Also improve password failure prompting during clone/sync operations.


type: t
user: jan.nijtmans
brief: Fixed ticket [9a64ad5d8f].
comment:
  Fixed ticket [9a64ad5d8f]: <i>Fossil new version doesn't understand utf-8 characters for filenames</i> plus 2 other changes


type: ci
user: drh
comment:
  Change the anti-spider error message to be more welcoming to human users who
  happen to be using a browser without javascript support.


type: t
user: jan.nijtmans
brief: Fixed ticket [d22946aa0c].
comment:
  Fixed ticket [d22946aa0c]: <i>Adding files with non-English file names is not cross-platform</i> plus 3 other changes


type: t
user: jan.nijtmans
brief: Fixed ticket [8c46da2079].
comment:
  Fixed ticket [8c46da2079]: <i>Checkin fails: &quot;editor aborted&quot; on Cygwin</i> plus 5 other changes


type: t
user: jan.nijtmans
brief: Fixed ticket [4497341fa0].
comment:
  Fixed ticket [4497341fa0]: <i>&quot;zlib1.dll not found&quot; error after building latest leaf</i> plus 5 other changes


type: t
user: jan.nijtmans
brief: Ticket [1ec9e8658e]: 4 changes
comment:
  Ticket [1ec9e8658e] <i>Flag some commits for &quot;extra attention&quot;</i> status still Open with 4 other changes


type: t
user: jan.nijtmans
brief: Fixed ticket [490b6c2edd].
comment:
  Fixed ticket [490b6c2edd]: <i>Chinese windows file name require convert from mbcs to utf8</i> plus 3 other changes


type: t
user: jan.nijtmans
brief: Fixed ticket [e167be3b92].
comment:
  Fixed ticket [e167be3b92]: <i>fossil timeline: option for single line per log entry</i> plus 4 other changes


type: ci
user: jan.nijtmans
comment:
  Allow comment_print() to handle lines >400 characters.
  Add parameter "width" to print_timeline() function.


type: t
user: jan.nijtmans
brief: Fixed ticket [13b7388964].
comment:
  Fixed ticket [13b7388964]: <i>Commit comments with multi-byte character break</i> plus 3 other changes


type: t
user: anonymous
brief: Ticket [4b881458c3]: 3 changes
comment:
  Ticket [4b881458c3] <i>support for incremental import/export</i> status still Open with 3 other changes


type: ci
user: stephan
comment:
  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.


type: ci
user: jan.nijtmans
comment:
  Make "fossil commit" work on a repository which doesn't have any commits yet: An initial commit will be created then.


type: ci
user: mgagnon
comment:
  Change /vdiff page (used when clicking on 2 nodes on /timeline), so it honor the
  show-version-diffs settings. Just like the /ci page. Also add the "Hide diff"
  button to hide the diffs manually.

  The /vdiff page can have a lot of files to diff depending on which version are
  selected, so the capability to show only list of files that change is
  very convenient to spot interesting files.


type: ci
user: drh
comment:
  Backout check-in [7557c3e03f].  The code in that check-in is not necessary.
  (It was added only to try to catch errors.)  Fix for ticket [9d9d42d9aab].


type: ci
user: drh
comment:
  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.


type: g
user: jan.nijtmans
comment:
  Edit [1f77efc32140c95c]: Move to branch [/timeline?r=limit-tag&nd&dp=1f77efc32140c95c&unhide | limit-tag]...


type: ci
user: jan.nijtmans
ecomment:
  Make "fossil timeline -n" more accurate in counting lines in verbose
  mode. Allow print_timeline() to be used without limits, assuming that
  the query already contains a suitable limitation. Improve documentation.

comment:
  Make "fossil timeline -n" more accurate in counting lines in verbose
  mode. Allow print_timeline() to be used without limits, assuming that
  the query already contains a suitable limitation. Improde documentation.


type: ci
user: jan.nijtmans
comment:
  Let the "-limit" option in "fossil tag find" be handled exactly the same as in "fossil timeline".
  This allows output of more than 2000 lines if the "-limit" parameter requests so.


type: ci
user: jan.nijtmans
comment:
  Fix default "fossil timeline -n" value.
  Merge trunk, and simplify code makeing use of the trunk improvements.


type: ci
user: stephan
comment:
  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).


type: ci
user: jan.nijtmans
comment:
  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.


type: ci
user: mistachkin
comment:
  Simplify the entry/line limit for the timeline output.  Make it more accurate in verbose mode.  Style fixes.


type: ci
user: stephan
comment:
  Added a timelineDate CSS class on the "divider" fields, for consistency with the variouts timelineXXX classes.


type: ci
user: mistachkin
comment:
  Make the new button on the transfer setup page use the selected sync flags.  Move the button to the bottom of the content and add some explanatory text and a warning message.


type: ci
user: mistachkin
comment:
  Improvements to the 'fossil all' help text.  Cherrypick of [8019d49bdb], which was checked-in on the wrong branch.


type: t
user: jan.nijtmans
brief: Ticket [03df56ee7a]: 3 changes
comment:
  Ticket [03df56ee7a] <i>empty-dirs require every directory in the path to be on a separate line in order to work</i> status still Open with 3 other changes


type: t
brief: New ticket [03df56ee7a].
comment:
  New ticket [03df56ee7a] <i>empty-dirs require every directory in the path to be on a separate line in order to work</i>.


type: ci
user: mistachkin
comment:
  Restore previous implementation of the common script function.  Add inline docs to indicate its usage.


type: ci
user: jan.nijtmans
comment:
  Bug-fix (not caused by refactoring, was already there): When doing a "fossil commit -n": 
  assertion "blob_is_reset(&manifest)" failed: file "./src/checkin.c", line 1817, function: commit_cmd
  Aborted (core dumped)


type: t
brief: Ticket [03df56ee7a]: 4 changes
comment:
  Ticket [03df56ee7a] <i>empty-dirs require every directory in the path to be on a separate line in order to work</i> status still Open with 4 other changes


type: ci
user: mgagnon
comment:
  Fix behavior of "--limit | -n" argument of the timeline command to fit
  description from usage, which is also the behavior of the "n=" parameter of
  the /timeline webpage.

  Now -n <n> define the number of entries while before, it was limiting the
  number of lines.

   (pending review...)


type: ci
user: jan.nijtmans
comment:
  A control artifact which modifies an already existing valid check-in (e.g. moving it to another branch), should fire the (commit) hook for the changed manifest.


type: ci
user: jan.nijtmans
comment:
  Minor suggested update: - If N=0 there should be no limit. - If N<0 (undocumented) restore the old behavior of counting lines in stead of entries.


type: ci
user: jan.nijtmans
comment:
  Add a "Synchronize" button to the Admin->Transfers page (or "Pull" if the "dont-push" option is set). 
  Remark: I'm not sure if determining the user with user_select() is correct here, that's the tricky point to get right. 
  In case of "fossil ui" it works fine, but could be improved for usefulness in other situations.


type: ci
user: jan.nijtmans
comment:
  Restore running of the common script before starting an xfer. 
  If the commmon script result in a "break" or "continue", skip the following hook script but don't produce an error.


type: ci
user: drh
comment:
  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.


type: ci
user: mistachkin
comment:
  Phase 4, simplify usage of TH1 hooks and make more consistent.  Assume that the common transfer TH1 script is idempotent.


type: ci
user: jan.nijtmans
comment:
  Fix redirect after ticket submission, as suggested by Justin Forest. 
  Rename "ticket-change" to "xfer-ticket-script" everywhere


type: g
user: jan.nijtmans
comment:
  Edit [54aef599168d3e12]: Move to branch [/timeline?r=cleanX-no-clean-glob&nd&dp=54aef599168d3e12&unhide | cleanX-no-clean-glob]...


type: g
user: jan.nijtmans
comment:
  Edit [dfb47a2a2e0f5dac]: Move to branch [/timeline?r=cleanX-no-clean-glob&nd&dp=dfb47a2a2e0f5dac&unhide | cleanX-no-clean-glob]...


type: g
user: jan.nijtmans
comment:
  Edit [cbf9660369975e78]: Move to branch [/timeline?r=cleanX-no-clean-glob&nd&dp=cbf9660369975e78&unhide | cleanX-no-clean-glob]...


type: ci
user: mistachkin
comment:
  Phase 3, the TH1 http command now uses non-global URL data.  This also required heavy refactoring of some other callers that use the global URL data.


type: g
user: jan.nijtmans
comment:
  Edit [8d2f9ab128cbb706]: Move to branch [/timeline?r=cleanX&nd&dp=8d2f9ab128cbb706&unhide | cleanX]...


type: ci
user: jan.nijtmans
ecomment:
  manifest_crosslink() should always be called, whether run_common_script() fails or not. 
  revert experimental change in timeline

comment:
  manifest_crosslink() should always be called, wheter run_common_script() fails or not. 
  revert experimental change in timeline


type: ci
user: jan.nijtmans
comment:
  Phase 4 refactoring broke some important requirements:
  1) "fossil rebuild" should not run any hook script, nor should it read the hook script code from the database for each manifest it processes.
  2) When handling tickets through the UI, the ticket hook should be processed once, just as if it came in through xfer.
  3) (less important) Allow "http -asynchronious" to be shortened to "http -async"
  I apologize for having to revert part of the "Phase 4 refactoring" restoring this. Other than that, it looks good!


type: ci
user: jan.nijtmans
comment:
  One more place where failing run_common_script() should not prevent running  manifest_crosslink(). 
  If run_common_script() fails, let the following run_script() output its error-message.


type: g
user: jan.nijtmans
comment:
  Edit [b3201c91110e66c5]: Move to branch [/timeline?r=cleanX-no-clean-glob&nd&dp=b3201c91110e66c5&unhide | cleanX-no-clean-glob]...


type: ci
user: jan.nijtmans
comment:
  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.


type: ci
user: mistachkin
comment:
  Add the 'fossil all clean' command.  Add -whatif option to the 'fossil clean' command, primarily for use with 'fossil all clean'.


type: ci
user: jan.nijtmans
comment:
  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.


type: t
user: mistachkin
brief: Ticket [b6eea9446d]: 3 changes
comment:
  Ticket [b6eea9446d] <i>database is locked error for 'fossil all' commands that need to modify the config database</i> status still Review with 3 other changes


type: ci
user: drh
comment:
  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.


type: ci
user: mistachkin
comment:
  Fix array indexing issue in db_all_column_text_and_int64() and refactor all_cmd() in an attempt to avoid bug [b6eea9446d].


type: ci
user: drh
comment:
  Escape special characters used in the Project Name when generating the
  URLs for tarball and ZIP archive.


type: t
user: mistachkin
brief: Review ticket [b6eea9446d].
comment:
  Review ticket [b6eea9446d]: <i>database is locked error for 'fossil all' commands that need to modify the config database</i> plus 5 other changes


type: ci
user: stephan
comment: Improved the checkout/repo mismatch check based on off-list discussion.
ecomment:
  Improved the checkout/repo mismatch check based on off-list discussion. Edit: caused bug [9d9d42d9aa].


type: ci
user: drh
comment:
  The various "diff --tk" commands now take an optional, undocumented option
  "--script FILENAME" that causes the Tk script to be written into FILENAME
  rather than to be run.  One use for this is to get a copy of the diff
  script in a form were it can be easily edited and enhanced before being
  moved back into Fossil.


type: g
user: stephan
comment:
  Edit [7bf9fdb068f02da3]: Move to branch [/timeline?r=mistake&nd&dp=7bf9fdb068f02da3&unhide | mistake].. Edit check-in comment..


type: t
user: stephan
brief: Closed ticket [774a1e7d73].
comment:
  Closed ticket [774a1e7d73]: <i>/reports?view=byweek should show week numbers starting at 1</i> plus 5 other changes


type: t
user: drh
brief: Fixed ticket [9d9d42d9aa].
comment:
  Fixed ticket [9d9d42d9aa]: <i>Can't commit files into a newly created repository.</i> plus 3 other changes


type: t
user: stephan
brief: Ticket [774a1e7d73]: 3 changes
comment:
  Ticket [774a1e7d73] <i>/reports?view=byweek should show week numbers starting at 1</i> status still Closed with 3 other changes


type: ci
user: jan.nijtmans
comment:
  FOSSIL_ENABLE_TCL_PRIVATE_STUBS only makes sense when USE_TCL_STUBS is defined as well. Use that consistantly in the code. 
  Easier testing whether Tcl integration works fine, just by "fossil version -v".


type: ci
user: jan.nijtmans
comment:
  Remove unnecessary code which does not give any advantage. This fixes dynamical loading of Tcl 8.4 as well.


type: g
user: mistachkin
comment:
  Edit [2234fabe76cb4a97]: Move to branch [/timeline?r=mistake&nd&dp=2234fabe76cb4a97&unhide | mistake]...


type: g
user: jan.nijtmans
comment:
  Edit [2234fabe76cb4a97]: Move to branch [/timeline?r=support-tcl84-stubs&nd&dp=2234fabe76cb4a97&unhide | support-tcl84-stubs].. Add "comment-jan.nijtmans" with value "Tcl_GetCommandFromObj is not present in Tcl 8.4's public stub table. Without stubs everything works fine. This is a bug in Tcl 8.4, which is fixed in 8.5.
  This branch allows tcl8.4 to be loaded using stubs when USE_TCL_EVALOBJV=1."..


type: g
user: mistachkin
comment:
  Edit [0038f4c999c25686]: Move to branch [/timeline?r=pending-review&nd&dp=0038f4c999c25686&unhide | pending-review]...


type: g
user: mistachkin
comment:
  Edit [0013d9ccb6595fd6]: Move to branch [/timeline?r=win64-unloadTcl&nd&dp=0013d9ccb6595fd6&unhide | win64-unloadTcl]...


type: t
user: mistachkin
brief: New ticket [b6eea9446d].
comment:
  New ticket [b6eea9446d] <i>database is locked error for 'fossil all' commands that need to modify the config database</i>.


type: g
user: jan.nijtmans
comment:
  Edit [9112867c2d65e5cf]: Move to branch [/timeline?r=pending-review&nd&dp=9112867c2d65e5cf&unhide | pending-review]...


type: ci
user: jan.nijtmans
comment:
  Fix for problem reported on ML: "Fossil CGI mystery: crashing at repositories", by Taras Zakharko.
  cause of problem: option --empty was re-used for another purpose, renamed to "---docker"


type: t
user: nobody
brief: Ticket [4013b0a81a]: 3 changes
comment:
  Ticket [4013b0a81a] <i>Timewarps cause Git export to malfunction</i> status still Open with 3 other changes


type: ci
user: jan.nijtmans
comment:
  For 32-bit MinGW compile: speed up zlib performance by using critical parts in optimized assembler (official zlib1.dll is compiled this way)


type: t
user: nobody
brief: Ticket [4013b0a81a]: 4 changes
comment:
  Ticket [4013b0a81a] <i>Timewarps cause Git export to malfunction</i> status still Open with 4 other changes


type: g
user: jan.nijtmans
comment:
  Edit [08002553375f4ee5]: Move to branch [/timeline?r=mistake&nd&dp=08002553375f4ee5&unhide | mistake]. Add propagating "hidden".. Marked "Closed"..


type: ci
user: jan.nijtmans
comment:
  Proposed fix for compiler warning: passing argument 4 of ‘sqlite3_result_text’ from incompatible pointer type


# tagxref

value:
  I would like to abandon this way of "simplification". It's becoming more complicated than I imagined. Let me work out an alternative idea for simplification first.


value:
  Tcl_GetCommandFromObj is not present in Tcl 8.4's public stub table. Without stubs everything works fine. This is a bug in Tcl 8.4, which is fixed in 8.5.
  This branch allows tcl8.4 to be loaded using stubs when USE_TCL_EVALOBJV=1.


# attachment

src: 142c2305f60283d4162ab8ea3b6f39e2132b3e93
target: 71b1f35b4fefd5f327f2618968d34320203388ea
filename: script.js
user: BMorgat
comment:
  Hereby is a Javascript you can put inside your footer.
  Just replace the XXXXXXXXXXXX== with a PNG image that is 16x16 and encoded in base64.

  Advice: use optipng or pngcrush to reduce PNG size first.

  You will find base64 online converters easily.


src: ac07645905a762f59e35cb2ef29c471b04658277
target: fc1a61329403f605c494bfeedd2ea53c1ce83b53
filename: patch-aa
user: anonymous
comment:
  Fix memory leaks by not freeing the blobs. Allow multiple directories to not force the use of extremely large directories and the associated scalability issues.


src: 1f591c1d8c59b922db85d32f24358cdee8e065bd
target: 3e58b8ceafb64aac96b0ebc4a8629f3f666d6a2b
filename: bugfix.patch
user: anonymous
comment:
  A quick-hack fix attempt. I'm not sure if nEntries/mxEntries fit the apparent(?) naming scheme of using singular rather than plural form.

  Note also that it might make sense to change the nEntry variable in page_timeline to mxEntry.


src: 148acb26e32c104d2c602223b7c79dbf85f5a2a6
target: a470443b64412d2856a12b5a889ea08ff5837651
filename: suppress-hex.patch
user: anonymous
comment:
  Patch to suppress the output of a hex dump for binary checkins. Adds a new settings flag "suppress-hex" and displays a short message instead of a hex dump if the flag is set to true.


src: 28f5412254cae1133d0b515c9f1dcbe7907e7cb4
target: fcadf658ed282b3a2769cabf915d76125ba7eeda
filename: ci_edit-propagate.patch
user: anonymous
comment:
  I add a patch that allows the ci_edit change of *only* the "Propagate color to descendants", without requiring a color change.

  This made evident, though, that there is a bug in the fossil [aa929c4d1e8e9e9] (where this patch applies to), that removing the "Propagate color to descendants" flag does not update the descendants, and they remain as if they inherited the previous color.


src: 99e4ffdee0fe61ca5323832668de7335013827f3
target: 5c1490e26b8b2f8689896df9e1632a249c95dbb7
filename: aa
user: anonymous
comment:
  Patch to add TH1 function "datelocal" which allows the ticket comment timestamps to be in local time


src: f409e4946982843e045be8edef5c53303bb7f4f8
target: d38c2c8795181cc3e197060917d59be830c67b1f
filename: fossil-spell.diff
user: anonymous
comment:
  patch fixing four tiny spelling errors.
  (all noticed automatically by debian's lintian tool with its most aggressive options turned on, via examination of the binary, btw!)


src: 67f0bc66e11d664acc44b67bd45c4302045b07fb
target: 58290cd2975f5f2aaf2087d5fc0e9c291628033d
filename: no-empty-stash.patch
user: anonymous
comment:
  Seems as though this change to stash will make
  fossil stash 
  produce no stash within an unmodified checkout like fossil stash save does currently


src: 23ecd875a2f597c567ce9e3d17cbfc122c120741
target: e24ec32b1da5f8f5e4abe3b1eed6899f8be6f4cc
filename: private_propagation.patch
user: anonymous
comment:
  the attached seems to fix the problem with "fossil branch new" from a private checkin not preserving the privateness.  also fixes the problem with clearsign prompting for a key even when this settings is defaulted to off.  

  looks like the sql command for cancelling prior propagating tags between checkin.c
      /* For a new branch, cancel all prior propagating tags */
      Stmt q;
      db_prepare(&q,
          "SELECT tagname FROM tagxref, tag"
          " WHERE tagxref.rid=%d AND tagxref.tagid=tag.tagid"
          "   AND tagtype==2 AND tagname GLOB 'sym-*'"
          "   AND tagname!='sym-'||%Q"
          " ORDER BY tagname",
          vid, zBranch);

  and branch.c
    /* Cancel all other symbolic tags */
    db_prepare(&q,
        "SELECT tagname FROM tagxref, tag"
        " WHERE tagxref.rid=%d AND tagxref.tagid=tag.tagid"
        "   AND tagtype>0 AND tagname GLOB 'sym-*'"
        " ORDER BY tagname",
        rootid);

  are slightly different.  my sql is a bit rusty so not sure if they accomplish the same thing just in different ways.

  still not sure why "delete from private"  and then a fossil rebuild still leaves artifacts in the private table


src: acf80b30877633b8f8b6e1bd2eb4b5829f8473f6
target: 5927b038735a081b8490990fbff378178c6d7d20
filename: mfuf.txt
user: anonymous
comment:
  My root message as it was meant to be sent without the posting software combining multiple lines into one.


# ticket

tkt_uuid: 0049db245ef59671d4fcefd45c02e37a70e2b622
type: Code_Defect
status: Open
severity: Cosmetic
private_contact: e408c15469a0da0ba8b15c021636ab3e715fecd7
resolution: Open
title: Firefox HTML Validator thinks all pages are full of errors
comment:
  I habitually install the HTML Validator add-on in Firefox, which provides fast feedback on the currently loaded page. The current version of that add-on (0.8.6.1) believes that every page generated by fossil has numerous errors.

  Many of these errors appear to stem from it not recognizing the DOCTYPE, which is likely because the DTD it names is spelled wrong: 

  <verbatim>"-//W3C/DTD XHTML 1.0 Strict//EN"</verbatim>

  should be 

  <verbatim>"-//W3C//DTD XHTML 1.0 Strict//EN"</verbatim>

  according to the list of "official" DTD names found at [http://www.w3.org/QA/2002/04/valid-dtd-list.html|the W3C]. (Note the extra slash between W3C and DTD.) As a red herring, the URL mentioned is at the alternate domain x3.org instead of the standard w3.org, but that isn't causing the issue.

  With that corrected (at line 94 of style.c) then the number of errors is much lower, but still significant. Typical examples (from the 12 or so listed for the home page of a clone of the fossil-scm.org repository) include:

    *  The <tt>link</tt> tags are all missing end tags.
    *  The <tt>img</tt> tags are all missing end tags.
    *  The <tt>nobr</tt> is not in the standard.
    *  There is a <tt>table</tt> element using the nonstandard <tt>hspace</tt> attribute.
    *  There is one or more extra <tt>ul</tt> end tags.
    *  There is at least one <tt>hr</tt> tag missing its end tag.
    *  There is at least one <tt>h3</tt> tag inside the span of a <tt>p</tt> tag.

  Some of these are probably correctable in the .wiki source text for this particular page, but some appear to result from the wiki translation itself.

  If the DOCTYPE is going to be XHTML Strict, then it would seem to make sense to clean up the generated HTML so that it passes a validation suite. I've rated this as Cosmetic, although there are probably implications for accessibility applications (screen readers) which could be more serious than that.

  <hr><i>anonymous added on 2010-03-03 06:16:12:</i><br>
  I'm not the original poster, I'm just adding some info.

  Ticket <a href="http://www.fossil-scm.org/fossil/tktview?name=feb61a11a0">feb61a11a0f8f911d72347daf334b76766e3a66a (XHTML standard compliance)</a> was related to this ticket.

  But this one is more up-to-date and brings more information.


tkt_uuid: 006e1df642d6246a03dc5a3c8db122cc64fda176
type: Code_Defect
status: Fixed
severity: Critical
foundin: Check-in [48f5dadafd]
private_contact: ed685438f367f4147cdb8507d634250f1fbc14d6
resolution: Fixed
title: Error in file_tempname
comment:
  When "gdiff-command" settings is not empty, Fossil is hungup in
  <verbatim>
  fossil gdiff -r revision --to revision filename
  </verbatim>

  Error in file.c, in file_tempname function.
  Piece of diff in file.c:

  <verbatim>
     /* Check that the output buffer is large enough for the temporary file
  @@ -653,11 +656,11 @@
       sqlite3_randomness(15, &zBuf[j]);
       for(i=0; i<15; i++, j++){
         zBuf[j] = (char)zChars[ ((unsigned char)zBuf[j])%(sizeof(zChars)-1) ];
       }
       zBuf[j] = 0;
  -  }while( access(zBuf,0)==0 );
  +  }while( file_size(zBuf)<0 );
   }
  </verbatim>

  Must be

  <verbatim>
  while( file_size(zBuf)>=0 );
  </verbatim>


tkt_uuid: 00f2d104de3d2a527753a16a75507aa69d267ddc
type: Code_Defect
status: Open
severity: Important
foundin: [047e06193b] 2011-04-13
resolution: Open
title: Segfaults and broken strings sometimes.
comment:
  In a repository with deltas, I've a problem sometimes at 'update' with autosync.

  In linux, I've seen sometimes:
  <verbatim>
  $ fossil update mybranch
  Autosync:  http://fossil/cgi-bin/project
                  Bytes      Cards  Artifacts     Deltas
  Sent:             130          1          0          0
  Received:        4218         91          0          0
  Sent:             318          5          0          0
  Received:        5048         95          3          1
  Total network traffic: 748 bytes sent, 3625 bytes received
  fossil: cannot access baseline manifest ]�:+�12273d5ab9
  </verbatim>

  On cygwin (fossil build in cygwin), I see segmentation faults.

  Rerunning the command, where it does not sync anything new, it works.


tkt_uuid: 0101a97fefd5ca91d73d4447eb29b0ae5b600c41
type: Code_Defect
status: Fixed
severity: Cosmetic
foundin: 20090921191920
private_contact: cac53f059e06402625535d363c84a4e2ab543e92
resolution: Fixed
title: GPG error on commit with GPG disabled
comment:
  On doing a commit, with GPG disabled in the Fossil configuration, I still get
  an error saying that GPG is missing, do I still want to commit?

  <hr><i>drh added on 2009-09-30 23:19:28:</i><br>
  Did you run

     fossil setting omitsign on

  That should disable both the use of GPG and the warning that the check-in
  is unsigned.  Did you try this setting?  Or are you saying that this setting
  is not working?

  <hr><i>anonymous added on 2009-10-03 14:52:05:</i><br>
  Turning GPG off from the command-line, as you suggested, seems to work fine.  I'd tried
  turning it off from the "fossil ui" screen, and that appears to have had no effect.

  <hr><i>drh added on 2009-10-31 13:50:40:</i><br>
  check-in [671e7c34e9a78bd49212e149760c51625fbb9a82]


tkt_uuid: 0120af475c97a8515f5522e6d68786e55a2bec40
type: Code_Defect
status: Open
severity: Minor
foundin: [73c24ae363] 2010-03-18
private_contact: 668a819fc68ae3df87285ba92d1fd8ef824e2d2b
title: branch new only works in open working directory (Win32)
comment:
  On Windows XP SP3, using a precompiled binary from fossil-scm.org (73c24ae363] 2010-03-18), the following command fails unless a fossil repository has been opened in the current directory:

    fossil branch new BranchA 2848a7f6d9 -R ..\my.repo

    --> fossil: use --repository or -R to specify the repository database

  The following succeeds:

    fossil open ..\my.repo

    --> ... checkout: e5f12d6eef...

    fossil branch new BranchA 2848a7f6d9 -R ..\my.repo

  And correctly creates the new BranchA off basis 2848a7f6d9.  Also works (in the latter case) without the -R.


tkt_uuid: 014ac374123d9a6ab6894a8e33a3f7bbd38f05ed
type: Code_Defect
status: Fixed
severity: Minor
foundin: b48f78964e
private_contact: ccd87c60364e1d3e945b6f4d4874f5174b17cc43
resolution: Fixed
title: Cannot run "fossil diff" while in commit
comment:
  Sometimes, during the writing of the commit message after "fossil commit", I find the need of showing the differences in the checkout by "fossil diff".

  In this case, "fossil diff" says that the database is locked, and so cannot proceed. Shouldn't "fossil diff" be a readonly operation, that could be used regardless of a parallel "fossil commit"?


tkt_uuid: 017b54f42a59ca5fcbd2a5f230c8db793ba64793
type: Code_Defect
status: Closed
severity: Important
foundin: c4c231069e
private_contact: 75ccf14dca62728f6b2e151da4674a92b78e0e94
resolution: Works_As_Designed
title: fossil update -n does not work
comment:
  fossil update -n does not display anything and just returns to prompt (Windows and Ubuntu linux).  If I omit -n, everything works fine.

  <hr><i>drh added on 2010-02-09 12:34:37:</i><br>
  If the current check-out is up-to-date, then "fossil update -n" does nothing
  because there is nothing for it to do.  


tkt_uuid: 01a2f3a346f963c19404630f611e24619c82232c
type: Code_Defect
status: Fixed
priority: Medium
severity: Important
foundin: 1.23
private_contact: cd7093095d9cfcb1d94e1ac96bf5d520b20d5cd7
resolution: Fixed
title: Cannot update when branch contains non-mbcs filenames
comment:
  <pre>On Windows, try to update to a branch which contains characters
  outside the current mbcs, e.g. "fossil update eclipse-project".
  Below is a log what happens.

  Branch "ticket-01a2f3a346" contains my minimal proposed
  fix. It is tested on UNIX and Windows.

  Here is what happens (Windows only!)
  >fossil update eclipse-project
  .....
  ADD .project (overwrites an unmanaged file)
  ADD .settings/org.eclipse.core.runtime.prefs
  UPDATE src/export.c
  UPDATE src/file.c
  UPDATE src/finfo.c
  UPDATE src/import.c
  UPDATE src/json.c
  UPDATE src/main.c
  UPDATE src/merge.c
  UPDATE src/name.c
  UPDATE src/popen.c
  UPDATE src/rebuild.c
  UPDATE src/shell.c
  MERGE src/timeline.c
  UPDATE src/translate.c
  UPDATE src/vfile.c
  UPDATE src/winhttp.c
  ADD test/??/??.txt
  C:\Localdata\workspace\fossil\fossil.exe: unable to create directory C:/Localdat
  a/workspace/fossil/test/??
  Rolling back prior filesystem changes...
  UNDO .project
  DELETE .settings/org.eclipse.core.runtime.prefs
  UNDO src/export.c
  UNDO src/file.c
  UNDO src/finfo.c
  UNDO src/import.c
  UNDO src/json.c
  UNDO src/main.c
  UNDO src/merge.c
  UNDO src/name.c
  UNDO src/popen.c
  UNDO src/rebuild.c
  UNDO src/shell.c
  UNDO src/timeline.c
  UNDO src/translate.c
  UNDO src/vfile.c
  UNDO src/winhttp.c
  DELETE test/??/??.txt
  >
  </pre>


tkt_uuid: 02f9d037a407bb37a188e5ff9139235aa3bfe276
type: Code_Defect
status: Closed
severity: Important
foundin: f57990b65a
private_contact: 481f3560ef506266e325518f83fffaf73b492a99
resolution: Not_A_Bug
title: Login-Cards may be susceptible by a replay attack
comment:
  When I read the documentation of the fossil sync protocol, I noticed that a nonce is used which is a function of the message contents only.

  This means an attacker can record each message and replay it at any time.

  It is not clear to me from the documentation whether or not any possible message contains some unique information that will never be repeated in any later messages.

  If this is the case, feel free to close this ticket but please clarify the documentation accordingly.

  Otherwise, I would strongly suggest to add some sort of transaction counter to the hash from which the nonce will be created.

  A simple incrementing counter should suffice, as the hash function will totally garble the bits anyway.

  However, even then the question arises when the counter is initialized and where it is stored.

  For that reason, it might be better if the server created a "session string" at the beginning of each sync session and sends it to the client.

  This string could consist, for instance, of the current date and time plus a small random number in order to thwart scripted replay attacks which might exploit a low clock resolution of the server.

  This session string is then augmented by an integer counter that starts at 0 at the beginning of each session.

  Using this or a similar scheme will guarantee that each combination of session string and message counter will always be unique, and an attacker has no chance of launching a replay attack.

  <hr><i>drh added on 2009-11-04 12:36:40:</i><br>
  A fossil repository is an unordered set of artifacts.  The "unordered" part is
  important - the artifacts can arrive at the repository in any order without
  changing the meaning of the repository at all.  A further consequence of this
  is that the same artifact can be sent into the repository multiple times without
  changing the repository.  Hence, a replay is utterly harmless.


tkt_uuid: 032c86d6b8e1b92f35f10dba1b89ca0622772f4a
type: Code_Defect
status: Open
foundin: [8d703ff956]
resolution: Open
title: A rename disallows further merges
comment:
  Ticket for the trouble described at [http://www.mail-archive.com/fossil-users@lists.fossil-scm.org/msg05786.html]

  Error:
  <verbatim>
  .... [many updates]
  RENAME a.cmd -> a2.cmd
  fossil: SQLITE_CONSTRAINT: abort at 34 in [UPDATE vfile SET                                        
  pathname='a2.cmd', origname=coalesce(origname,pathname) WHERE                                      
  id=1793175 AND vid=14998]: columns pathname, vid are not unique                                    
  fossil: columns pathname, vid are not unique                                                       
  .... [many undo]                                                                                   
  fossil: SQLITE_BUSY: statement aborts at 2: [ROLLBACK] cannot rollback                             
  transaction - SQL statements in progress                                                           
  </verbatim>

  Running with "merge --debug trunk":
  <verbatim>
  P->M at 15956> c0224914b6: 4198[a2.cmd] -> 0[]                                                     
  P->M at 15957> 9d69a325f1: 2405[a.cmd] -> 0[]                                                      
  P->M at 15957> 9d69a325f1: 2405[a.cmd] ->                                                          
  4198[a2.cmd]                                                                                       
  P->M summary 2405[a.cmd] -> 4198[a2.cmd]                                                           
  186: ridv=151  ridp=151  ridm=15973 chnged=0 isexe=0                                               
      fn  = [a2.cmd]                                                                                 
      fnp = [a2.cmd]                                                                                 
      fnm = [a2.cmd]                                                                                 
  187: ridv=14576 ridp=14576 ridm=15973 chnged=0 isexe=0                                             
      fn  = [a.cmd]                                                                                  
      fnp = [a.cmd]                                                                                  
      fnm = [a2.cmd]                                                                                 
  </verbatim>

  <hr /><i>dmitry added on 2011-09-08 22:41:38 UTC:</i><br />
  Related to [77ab05a0e9]?

  <hr /><i>dmitry added on 2011-09-08 23:13:03 UTC:</i><br />
  Also [7e0e4755c6].


tkt_uuid: 034fa7bb2907e96a62c90a31c783d09c15ee0cbb
type: Build_Problem
status: Fixed
foundin: 2011-05-23 15:11:12
private_contact: 731783f02c809e9e83250217adc9e7babbefeaca
resolution: Fixed
title: Build breaks on MAC OS X 10.6/i386
comment:
  Hello,

  I am the maintainer of the MacPorts fossil package. We use the the source packages from
  your download page to assemble the MacPorts package. Starting with the version from 2011-05-23 15:11:12 the fossil build breaks for the i386 architecture on MAC OS X 10.6:

  <code>
  Undefined symbols for architecture i386: <br/>
     "_fossil_fopen$UNIX2003", referenced from: <br/>
        _do_meta_command in shell.o <br/>
        _do_meta_command in shell.o <br/>
        _do_meta_command in shell.o <br/>
        _do_meta_command in shell.o <br/>
        _sqlite3_shell in shell.o <br/>
  ld: symbol(s) not found for architecture i386 <br/>
  collect2: ld returned 1 exit status <br/>
  lipo: can't open input file: /var/tmp//ccijU7Dz.out (No such file or directory) <br/>
  make: *** [fossil] Error 1 <br/>
  </code>

  I was able to drill down the the offending change (compared to version 2011-05-12 14:56:52)
  to:

  <code>
   append opt " -Dfopen=fossil_fopen"
  </code>
  in makemake.tcl

  As a workaround you can change the <code>MACOSX_DEPLOYMENT_TARGET</code> to 10.5, which do not use the strange symbols with the $UNIX2003 suffix.

  For more information about the symbols see [http://developer.apple.com/library/mac/#releasenotes/Darwin/SymbolVariantsRelNotes/_index.html].

  Also have look at the corresponding ticket in the MacPorts Bugtracker:
  see [http://trac.macports.org/ticket/29591]

  <hr /><i>drh added on 2011-05-28 17:53:50 UTC:</i><br />
  FWIW, I never had any problems building on MacOS 10.6.7.  So I don't really
  understand this issue.  But regardless, it is fixed now.


tkt_uuid: 038905cc3af2c5c869b3c953e08a6c1e0e4e12ad
type: Code_Defect
status: Closed
severity: Important
foundin: 07afdea6e2
private_contact: 77d1fb9b8673fda6e5de8f02a6ad22d96857b3e1
resolution: Works_As_Designed
title: fossil ignores line terminators when submitting tickets
comment:
  When submitting tickets, text input appears with no line breaks,
  only empty lines are preserved. This is critical to plain text information,
  e.g. test scripts.

  <hr><i>drh added on 2010-08-19 11:51:11:</i><br>
  Input to tickets is in the [/wiki_rules | wiki format].  
  To show plain text, surround the
  plain text with either &lt;verbatim&gt;..&lt;/verbatim&gt; or (if the
  text contains no "&lt;" characters) &lt;pre&gt;..&lt;/pre&gt;.


tkt_uuid: 03c9f4deef2d19f55945415cd1d048b4d730cf8c
type: Code_Defect
status: Fixed
severity: Minor
foundin: 20100112141013
private_contact: ace2a438fb254e5d21ba2ed1295b2da8392d271c
resolution: Fixed
title: Disable built-in robots.txt file
comment:
  Per [http://thread.gmane.org/gmane.comp.version-control.fossil-scm.user/1489]:

  <verbatim>
  On Dec 2, 2009, at 10:52 AM, Daniel Clark wrote:

  > For a while it's seemed odd to me that google hadn't updated its  
  > indexes of a few sites, so I took a look and noticed the obvious -
  > robots.txt was disallowing all crawlers:
  >
  > (from main.c)
  >
  >  /* Prevent robots from indexing this site.
  >  */
  >  if( strcmp(g.zPath, "robots.txt")==0 ){
  >    cgi_set_content_type("text/plain");
  >    @ User-agent: *
  >    @ Disallow: /
  >    cgi_reply();
  >    exit(0);
  >  }
  >
  > As far as I can tell there isn't a way to disable or tune this from  
  > the fossil level; if there isn't interest in changing this I'm sure I
  > can just redirect via apache to some actual file, but IMHO it would be  
  > good to be able to easily make fossil projects searchable (perhaps even  
  > have this be the default), esp. since at the moment the only reason that  
  > say fossil-scm.org is searchable is because the robots.txt file happens
  > to be at:
  >
  > http://fossil-scm.org/index.html/robots.txt
  >
  > (eg a random apache configuration choice to have rather ugly URLs with
  > "index.html" in all of them.)

  Note that http://www.fossil-scm.org/ does not use apache.  The  
  redirect occurs within fossil itself.

  I suppose that since the existing "robots.txt" is essentially a no-op,  
  we might as well remove it.
  </verbatim>


tkt_uuid: 03fec0ab6021c776a4b3701a33bf88f179fb0b5d
type: Code_Defect
status: Fixed
severity: Important
foundin: 1.24
private_contact: 67aadfe5f22f1ea223577cb8273772921fb9baf4
resolution: Fixed
title: Unlike 'fossil extras', 'fossil clean' doesn't consider case-sensitivity
comment:
  On a case-insensitive filename platform such as Windows, 'fossil clean' may prompt to delete files that aren't reported by running 'fossil extras'. I would expect 'clean' only to prompt to delete the same files listed by 'extras'.

  In checkin.c, the function clean_cmd() appears to generate a file list using:
    db_multi_exec("CREATE TEMP TABLE sfile(x TEXT PRIMARY KEY)");

  While the function extra_cmd() uses:
  db_multi_exec("CREATE TEMP TABLE sfile(x TEXT PRIMARY KEY %s)",
                  filename_collation());

  So I think the fix is to use filename_collation() in clean_cmd() too.

  In my repository, the two files that 'clean' prompts for deletion were originally added under a "docs" sub-folder that has since become "Docs".

  Thanks
  Mark.


tkt_uuid: 040dcddb1e90d2800b29cfa509293949adde96be
type: Feature_Request
status: Open
severity: Important
foundin: 84e755e213
private_contact: 63d704ee5f18704709e0d604ff639a4c31263188
title: "fossil status" output of renames doesn't show old name
comment:
  After renaming a file, "fossil status" only shows the new name of the file. This
  makes it difficult to track what has changed, what to revert or what the result
  of a reversion will be. "fossil status" should show both the old and new names
  of a pending rename.


tkt_uuid: 045f23be750d93c0bd91f179f39c5c829ed01bc6
type: Code_Defect
status: Fixed
severity: Important
foundin: e124881a70
private_contact: a44827559cb5ba06a95af4c4d260c5b79df45d69
resolution: Fixed
title: commit gives error "2fossil: unknown command: <p><font"
comment:
  Following script re-creates problem with "fossil commit" giving an error message "2fossil: unknown command: &lt;p&gt;&lt;font".  Problem seen on both linux (CentOS 5.3) and Windows XP SP3.  I was trying to get 2 repo's to automatically sync with each other.

  <pre>
  cat > bug2.sh <<EOF
  #!/bin/bash
  #
  # Try and set up bi-directional sync:
  #   create golden.fsl
  #   clone golden.fsl -> clone.fsl
  #   pull  clone.fsl  -> golden.fsl
  #   then add file to golden.fsl and see if added to clone.fsl
  #
  echo 888888888888888888888888888 OS/fossil versions
  cat /etc/redhat-release
  uname -a
  fossil version
  #
  echo 888888888888888888888888888 cleanup/create test dir
  rm -rf testsync
  mkdir -p testsync/co
  cd testsync
  #
  echo 888888888888888888888888888 creating golden.fsl
  fossil new golden.fsl
  fossil setting autosync 1 -R golden.fsl
  fossil setting clearsign 0 -R golden.fsl
  #
  echo   888888888888888888888888888 cloning to clone.fsl
  fossil clone file://golden.fsl clone.fsl
  echo   888888888888888888888888888 pull clone.fsl back to golden.fsl
  # fossil sync file://clone.fsl -R golden.fsl
  fossil pull file://clone.fsl -R golden.fsl
  #
  echo   888888888888888888888888888 open golden.fsl
  cd co
  fossil open ../golden.fsl
  echo 888888888888888888888888888 adding file.txt to golden.fsl
  echo "test line 1" > file.txt
  fossil add file.txt
  echo   888888888888888888888888888 now commit golden.fsl
  fossil commit -m "added file.txt"
  echo   888888888888888888888888888 now close golden.fsl
  fossil close
  cd ..
  EOF
  </pre>


  Output of this script is as follows:

  <pre>
  [jgm@centos fossil]$ ./bug2.sh
  888888888888888888888888888 OS/fossil versions
  CentOS release 5.3 (Final)
  Linux centos.bitbender.org 2.6.18-128.2.1.el5xen #1 SMP Tue Jul 14 07:07:49 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
  This is fossil version [e124881a70] 2009-07-07 14:53:58 UTC
  888888888888888888888888888 cleanup/create test dir
  888888888888888888888888888 creating golden.fsl
  project-id: ee97b450c6e570ec745310a78445d534fe9aa095
  server-id:  9f3d475997305073f33b7fc7826cbc7e241a21ad
  admin-user: jgm (initial password is "292735")
  888888888888888888888888888 cloning to clone.fsl
  Repository cloned into clone.fsl
  Rebuilding repository meta-data...
  1 (100%)...
  project-id: ee97b450c6e570ec745310a78445d534fe9aa095
  server-id:  b37c8c01daa996368e3ca708c62f5701a14da2f4
  admin-user: jgm (password is "292735")
  888888888888888888888888888 pull clone.fsl back to golden.fsl
                  Bytes      Cards  Artifacts     Deltas
  Send:             130          1          0          0
  Received:          46          2          0          0
  888888888888888888888888888 open golden.fsl
  888888888888888888888888888 adding file.txt to golden.fsl
  ADDED  file.txt
  888888888888888888888888888 now commit golden.fsl
  Autosync:  file:///home/jgm/storage/workspace/fossil/testsync/co/clone.fsl
                  Bytes      Cards  Artifacts     Deltas
  Send:             130          1          0          0
  2fossil: unknown command: &lt;p&gt;&lt;font
  888888888888888888888888888 now close golden.fsl
  fossil: there are unsaved changes in the current checkout
  </pre>

  <hr><i>bharder added on 2009-07-24 03:50:43:</i><br>
  debugging session:<br>
  initial fail at <pre>
  autosync(AUTOSYNC_PULL) at line 437 of checkin_.c
  </pre>
  ... (/me continues debugging)

  ...and closer still:<pre>
  client_sync() at line 64, sync_.c
  </pre>

  ...and closer still: <pre>
  previous to line 1139, xfer_.c
  </pre>
  ...and closer: <pre>
  xfer_.c, line 979 call to http_exchange() has the recv buffer aData filled with:
  < p>< font color=\"red\">repository does not exists or is in an unreadable directory: /home/bch/fossiltestings/testsync/co/clone.fsl</ font></ p>
  </pre>

  ... suggests that the exchange is looking for the fossil repo in the working directory of the checkout, not the fossil-repo's actual home.

  End of investigation for now.

  <hr><i>anonymous added on 2009-07-24 08:25:14:</i><br>
  Hmmmm, the bug2.sh script works as expected if "fossil pull" has the full path to clone.fsl:

  <pre>
  [jgm@centos fossil]$ diff bug2.sh bug2fixed.sh
  28c28
  < fossil pull file://clone.fsl -R golden.fsl
  ---
  > fossil pull file://$PWD/clone.fsl -R golden.fsl
  </pre>

  And this little test script shows last-sync-url is set differently by "fossil pull" vs. "fossil clone":

  <pre>
  cat > pulltest.sh <<EOF
  #!/bin/bash
  echo 888888888888888888888888888 cleanup/create test dir
  rm -rf testsync
  mkdir -p testsync/co
  cd testsync
  echo 888888888888888888888888888 creating golden.fsl
  fossil new golden.fsl
  echo   888888888888888888888888888 cloning to clone.fsl
  fossil clone file://golden.fsl clone.fsl
  echo   888888888888888888888888888   results in clone.fsl last-sync-url =
  sqlite3 clone.fsl "SELECT value FROM config WHERE name = 'last-sync-url'"
  echo   888888888888888888888888888 pull clone.fsl from testsync dir
  fossil pull file://clone.fsl -R golden.fsl
  echo   888888888888888888888888888   results in golden.fsl last-sync-url =
  sqlite3 golden.fsl "SELECT value FROM config WHERE name = 'last-sync-url'"
  echo   888888888888888888888888888 pull clone.fsl from testsync/co dir
  cd co
  fossil pull file://../clone.fsl -R ../golden.fsl
  cd ..
  echo   888888888888888888888888888   results in last-sync-url =
  sqlite3 golden.fsl "SELECT value FROM config WHERE name = 'last-sync-url'"
  EOF
  </pre>

  Here's the output:

  <pre>
  [jgm@centos fossil]$ ./pulltest.sh
  888888888888888888888888888 cleanup/create test dir
  888888888888888888888888888 creating golden.fsl
  project-id: 9dbf292e1429855cd81bad75ee792e8457acc8a7
  server-id:  ea887f7d879acfe81ac307418c554250e377d4ae
  admin-user: jgm (initial password is "2b5812")
  888888888888888888888888888 cloning to clone.fsl
  Repository cloned into clone.fsl
  Rebuilding repository meta-data...
  1 (100%)...
  project-id: 9dbf292e1429855cd81bad75ee792e8457acc8a7
  server-id:  5bd16395fde4ff4b511db581ae541313f7cc93ef
  admin-user: jgm (password is "2b5812")
  888888888888888888888888888 results in clone.fsl last-sync-url =
  file:///home/jgm/storage/workspace/fossil/testsync/golden.fsl
  888888888888888888888888888 pull clone.fsl from testsync dir
                  Bytes      Cards  Artifacts     Deltas
  Send:             130          1          0          0
  Received:          46          2          0          0
  888888888888888888888888888 results in golden.fsl last-sync-url =
  file://clone.fsl
  888888888888888888888888888 pull clone.fsl from testsync/co dir
                  Bytes      Cards  Artifacts     Deltas
  Send:             130          1          0          0
  Received:          46          2          0          0
  888888888888888888888888888 results in golden.fsl last-sync-url =
  file://../clone.fsl
  </pre>

  Changing "fossil pull/sync/push" to set last-sync-url to the full file path just like "fossil clone" would seem to fix this problem.


  <hr><i>bharder claiming to be bch added on 2009-07-24 15:44:19:</i><br>
  Regardless of the problem mechanics of finding the repo, this error report needs to be improved as well; the sub-set of html markup returned is useless. Will open seperate ticket [] to track this issue. New ticket [8a7a49c47d7f2] filed.

  <hr><i>anonymous added on 2009-07-25 21:07:00:</i><br>
  I'm new to the code, but seems the problem is the value stored in the sqlite field last-sync-url.  If you trust url_parse() to set the right g.urlCanonical value, then simply making both clone.c and sync.c store g.urlCanonical in last-sync-url would seem to fix this consistently:

  <verbatim>
  [jgm@centos src]$ fossil diff
  Index: src/clone.c
  ===================================================================
  fossil diff /home/jgm/storage/workspace/fossil/work/src/clone.c
  --- src/clone.c
  +++ src/clone.c
  @@ -56,12 +56,12 @@
       db_record_repository_filename(g.argv[3]);
       db_multi_exec(
         "REPLACE INTO config(name,value)"
         " VALUES('server-code', lower(hex(randomblob(20))));"
         "REPLACE INTO config(name,value)"
  -      " VALUES('last-sync-url', 'file://%q');",
  -      g.urlName
  +      " VALUES('last-sync-url', '%q');",
  +      g.urlCanonical
       );
       g.zLogin = db_text(0, "SELECT login FROM user WHERE cap LIKE '%%s%%'");
       if( g.zLogin==0 ){
         db_create_default_users(1);
       }
  @@ -73,11 +73,11 @@
       db_record_repository_filename(g.argv[3]);
       db_initial_setup(0, 0);
       user_select();
       db_set("content-schema", CONTENT_SCHEMA, 0);
       db_set("aux-schema", AUX_SCHEMA, 0);
  -    db_set("last-sync-url", g.argv[2], 0);
  +    db_set("last-sync-url", g.urlCanonical, 0);
       db_multi_exec(
         "REPLACE INTO config(name,value)"
         " VALUES('server-code', lower(hex(randomblob(20))));"
       );
       url_enable_proxy(0);

  Index: src/sync.c
  ===================================================================
  fossil diff /home/jgm/storage/workspace/fossil/work/src/sync.c
  --- src/sync.c
  +++ src/sync.c
  @@ -83,11 +83,11 @@
     if( zUrl==0 ){
       if( urlOptional ) exit(0);
       usage("URL");
     }
     url_parse(zUrl);
  -  db_set("last-sync-url", zUrl, 0);
  +  db_set("last-sync-url", g.urlCanonical, 0);
     user_select();
     if( g.argc==2 ){
       if( g.urlPort!=g.urlDfltPort ){
         printf("Server:    %s://%s:%d%s\n",
                 g.urlProtocol, g.urlName, g.urlPort, g.urlPath);

  </verbatim>


  Another possible tact is to make minimal changes and instead only change 1 line in sync.c:

  <verbatim>
  [jgm@centos work2]$ fossil diff
  Index: src/sync.c
  ===================================================================
  fossil diff /home/jgm/storage/workspace/fossil/work2/src/sync.c
  --- src/sync.c
  +++ src/sync.c
  @@ -83,11 +83,11 @@
     if( zUrl==0 ){
       if( urlOptional ) exit(0);
       usage("URL");
     }
     url_parse(zUrl);
  -  db_set("last-sync-url", zUrl, 0);
  +  db_set("last-sync-url", g.urlIsFile ? g.urlCanonical : zUrl, 0);
     user_select();
     if( g.argc==2 ){
       if( g.urlPort!=g.urlDfltPort ){
         printf("Server:    %s://%s:%d%s\n",
                 g.urlProtocol, g.urlName, g.urlPort, g.urlPath);

  </verbatim>


  Did I overlook anything?


  <hr><i>drh added on 2009-08-01 13:00:42:</i><br>
  Fix by ticket [47d8fc4944c2f2bf535a89f069d6f9ce0df5b257].


tkt_uuid: 048c1c8210732f9666a2b63bd847506bddca90ee
type: Code_Defect
status: Closed
severity: Minor
foundin: [5fbd593aa7] 2010-05-22 13:24:28 UTC
private_contact: 5b06cbfac6af383308ac23d75ace1bba970322f9
resolution: Withdrawn
title: "http:" command when doing "fossil ui"
comment:
  Something must have been changed in the <tt>fossil ui</tt> command's default behavior. Apparently nothing was set by default.

  <pre>
  C:\ARNEL\test1>fossil settings unset web-browser
  fossil: no such setting: unset

  C:\ARNEL\test1>fossil ui
  Listening for HTTP requests on TCP port 8080
  Launch webbrowser:  http://127.0.0.1:8080/
  'http:' is not recognized as an internal or external command,
  operable program or batch file.
  Type Ctrl-C to stop the HTTP server
  </pre>

  <hr><i>anonymous claiming to be Arnel added on 2010-05-24 04:11:52:</i><br>
  I'm withdrawing this ticket. Inexplicably, I can't reproduce the symptoms after doing a reboot.

  Now "start" gets automatically added before the "http:" part when doing <tt>fossil ui</tt>. Weird.


tkt_uuid: 04a259be40e30c154d608a068b3e4c33e82ef9e2
type: Feature_Request
status: Open
severity: Important
private_contact: da39a3ee5e6b4b0d3255bfef95601890afd80709
resolution: Open
title: operations upon all files
comment:
  Please add `fossil add all`, `fossil revert all`, `fossil diff all` and something like .hgignore

  <hr><i>drh added on 2008-10-26 02:40:46:</i><br>
  The command "fossil diff" now shows a diff over everything.  I find
  the following to be useful on a mac:

      fossil diff | open -f

  We do not yet have a revert-all and an add-all.  But they are still on
  the to-do list.

  <hr><i>drh added on 2008-12-07 18:13:33:</i><br>
  Recursive "add" added by check-in [8c4e72e22320d3de04ffcd9fe63b63b98d946db8].


tkt_uuid: 04ba0f70b816cebec6bf5e7c8509aa0e205eeb83
type: Feature_Request
status: Open
severity: Minor
private_contact: 657fecc17bdc2306d28088355d2cfe0485c38cab
resolution: Open
title: Turn the version field of tickets into links
comment:
  It'd be handy if the string entered into the the version field of a ticked was looked up as an artifact in the repository and rendered as a link to the matching artifact(s), if any.

  <hr /><i>anonymous claiming to be RonW added on 2011-04-14 03:00:24 UTC:</i><br />
  Edit the View Ticket page and find:

  <verbatim>
  <tr><td align="right">Version&nbsp;Found&nbsp;In:</td>
  <td colspan="3" valign="top" bgcolor="#d0d0d0">
  $<foundin>
  </td></tr>
  </verbatim>

  Then change it to:

  <verbatim>
  <tr><td align="right">Version&nbsp;Found&nbsp;In:</td>
  <td colspan="3" valign="top" bgcolor="#d0d0d0">
  <th1>
  wiki "[$foundin]"
  </th1>
  </td></tr>
  </verbatim>

  This will use Fossil's builtin wiki rederer to create to the commit whose UUID is in the found-in field.


  <hr /><i>anonymous added on 2011-05-06 15:56:29 UTC:</i><br />
  The line should be 
  <pre>
  wiki "\[$foundin\]"
  </pre>
  so that it doesn't get interpreted as a th1 command

  <hr /><i>anonymous added on 2011-05-06 15:58:13 UTC:</i><br />
  sorry,
  <pre class="verbatim">
  wiki "\[$foundin\]"
  </pre>

  <hr /><i>anonymous added on 2011-05-06 15:58:55 UTC:</i><br />
  <pre>
  wiki "\\[$foundin\\]"
  </pre>

  <hr /><i>anonymous added on 2011-05-06 15:59:26 UTC:</i><br />
  Not sure how to make the ['s not get interpreted, but the brackets should be escaped


tkt_uuid: 04cba6a00145ab597dabc48ad5ee688496a57650
type: Code_Defect
status: Fixed
severity: Important
foundin: 266b6127f6
private_contact: 76518fb407f147a1d053c00b5b993281a339c0e3
resolution: Fixed
title: 7-Zip is unable to open Zip files generated by Fossil
comment:
  Zip files downloaded from Fossil can not be opened with the 7-Zip program. After some poking in the Zip File Format Specification, I found that the "disk number start" field in the File Header of the Central directory structure was set to 1 instead off 0.

  The following patch solves this problem:

  <pre>
  --- Fossil-266b6127f6/src/zip.c 2009-06-20 11:06:00 +0000
  +++ Fossil-266b6127f6-new/src/zip.c     2009-06-20 21:35:42 +0000
  @@ -194,7 +194,7 @@
     put16(&zBuf[28], nameLen);
     put16(&zBuf[30], 0);
     put16(&zBuf[32], 0);
  -  put16(&zBuf[34], 1);
  +  put16(&zBuf[34], 0);
     put16(&zBuf[36], 0);
     put32(&zBuf[38], ((unsigned)(0100000 | 0644))<<16);
     put32(&zBuf[42], iStart);
  </pre>

  <pre>
  --
  Thomas Schnurrenberger
  </pre>

  <hr><i>drh added on 2009-06-20 23:07:07:</i><br>
  Change implemented by check-in [deb6f2af4fa9302f2ace7db76be68446eafdf571]


tkt_uuid: 057b6d23dad0ec4e2978c7a4197721d490cf67d7
type: Code_Defect
status: Closed
severity: Minor
foundin: 79be9028eb
private_contact: 6e2163462fb7f11c3a9d62f715eac2bff3e678e7
resolution: Not_A_Bug
title: possible fork with autosync enabled
comment:
  An accidental fork was created in the SQLite project today with both users having autosync enabled and working online.  It is suspected that both users started their commits at about the same time, but because of the different times taken to complete the check-in (editing comments, etc.), a fork was created.

  <hr><i>drh added on 2009-10-31 13:17:04:</i><br>
  I don't think this is a bug.  This is simply the way distributed
  version control systems work.  The fork is easily resolved using a
  subsequent merge.  Indeed, with DVCSes other than Fossil, that's what
  you would have to do all the time anyway.  Fossil provides auto-sync
  which helps to reduce forks, but I don't think it can eliminate them
  100%.


  <hr><i>anonymous added on 2009-11-03 20:02:15:</i><br>
  You could certainly shrink the window though by comparing the version at the start with the version just before the actual commit (once notes, gpg, etc. done.)


tkt_uuid: 0669e179236e5f952c2be1b001ddada0f858b892
type: Feature_Request
status: Open
severity: Important
foundin: 71ad9b62a7
private_contact: be550bfd65ad2b35c5af076e5620344955089a2e
title: Support "fossil co http://myfossil.test.net/srcdir/subdir2"
comment:
  For my understanding, I need to clone the mail fossil src site first to get a local fossil sqlite database(mytest.fsl) and then open  up mytest.fsl into a local source directory tree. 

  For a big fossil site at the size of 10G, it will quickly used up the disk space, since clone part take 10G and check out take another 10G.

  I am hoping fossil can provide a better way to resolve above challenge.

  This request is purely from end user point of view.


tkt_uuid: 068a65651254a5ad8b014226628d6b2859e29f7c
type: Feature_Request
status: Open
severity: Minor
private_contact: 8acf3524cad7ceb911d59819b76eaf17c4de540d
resolution: Open
title: Wiki Sections ==Section== (with possibly table of contents)
comment:
  It would really be nice if the wiki included in fossil would include basic sections syntax as implemented in most major wiki.

  An implementation of it could be:
  ==Section==
  ===Subsection===
  ====Sub-subsection====


  It would also be a nice addition if it included a table of contents (TOC) based on these sections.


  More information on these requests can be found here: http://en.wikipedia.org/wiki/Section_editing


  It would make navigating through the wiki easier, could be useful in organizing information on a page and for maintainability.

  <hr><i>anonymous claiming to be knu added on 2010-02-27 13:28:44:</i><br>
  /wiki_rules: 

  5. Hyperlinks
  ... You can also link to internal anchor names using [#anchor-name], providing you have added the necessary "<a name="anchor-name"></a>" tag to your wiki page.

  6. HTML. The following standard HTML elements may be used: <a> ... <h1> <h2> <h3>

  So, you can already achieve what you want, albeit by hand, and I would call it "Nice to have", not "Important".

  <hr><i>anonymous added on 2010-03-26 21:48:52:</i><br>
  I second this. It would be greate to use the wellknown wikisyntax with "==".


tkt_uuid: 07a38f3809825959cbd243199054ede18a26926a
type: Feature_Request
status: Open
severity: Important
foundin: 71ad9b62a7
private_contact: be550bfd65ad2b35c5af076e5620344955089a2e
title: chekout only sub source tree
comment:
  This feature request is becoming important to me since I  am archiving huge (ex 10G) directory source tree.

  On source code building machine that only need a sub directory to be checkout(ex, 1G), getting every things(10G) is really awkward.


tkt_uuid: 07cb82db0de1892033100b3d409c8ecffcaa5e3f
type: Code_Defect
status: Closed
severity: Minor
resolution: Unable_To_Reproduce
title: nobody-user cannot look tickets.
comment:
  If at nobody-user leave only the rights "Read Wiki" and "Read Tkt", then at it in a bookmark of "Tikets" the reference "All Tickets" is displayed, but at transition to it the system offers login.
  (sorry for my english)

  <hr><i>drh added on 2009-10-31 13:06:34:</i><br>
  When I try this, it works correctly.  Are you sure the Nobody permissions
  are set up as you say?


tkt_uuid: 082487952ca580e3296cda395ccd3dcc45c3a58e
type: Code_Defect
status: Open
severity: Minor
foundin: 8474ca6747
private_contact: 63070188043a9522ca95dca0d28c3b9eff7a697b
title: admin/stat page is slow
comment:
  On a large scale repository, loading the repository statistic page can need multiple minutes even on a fast machine with lots of memory. No progress reports are given during that time either.


tkt_uuid: 0830da5a069727721137e268affd48daced863b9
type: Code_Defect
status: Open
severity: Minor
foundin: Fossil version [73c24ae363] 2010-03-18 14:20:33
private_contact: 3ee274ce2d2982add24b2405f53b32a02504dcd8
title: wiki sandbox does not support attachments
comment:
  The wiki sandbox page does not allow attachments.

  This makes it impossible to test this wiki feature in the sandbox.


tkt_uuid: 084eedc010fd8f42bd6cd62e69db5990f432e3fe
type: Build_Problem
status: Open
severity: Important
private_contact: d91f4b46f6a4e7c071173444645f09807bb42bc0
resolution: Open
title: add support for Haiku
comment:
  Support for Haiku requires the addition of the following line to the Makefile:

  LIB.Haiku= -lnetwork -lbsd

  <hr /><i>steveb added on 2011-07-22 22:40:48 UTC:</i><br />
  As of [c32b23d626] fossil builds on Haiku R1/Alpha 3.
  It links -lnetwork and -lbsd as required


tkt_uuid: 0891dd21c601705df8dc4ea2c9888fc111de675a
type: Code_Defect
status: Open
severity: Important
foundin: 84e755e213
private_contact: 6769efb95f8bfcdfcd33ab121c1f0972eb19d8af
resolution: Open
title: import fails to import a branch which is isolated from trunk
comment:
  Here's my repo: [http://github.com/zot/Xus]

  There are 5 branches in the git repository.  2 of them are isolated from the original trunk, gh-pages and xus2 (so gitk shows three disconnected dags).  gh-pages shows up in the fossil repo, properly, but xus2 does not.  The other 3 branches do show up properly.  Fossil properly imports the commits, but doesn't label them with a xus2 tag.

  I made the xus2 branch in a different way than I made gh-pages, so it could be missing a pointer that fossil depends on.  git fast-export|git fast-import does properly build a git repo, though but git fast-export|fossil import does not import apply the xus2 tag to the branch.

  <hr /><i>anonymous claiming to be Bill Burdick added on 2011-03-19 18:43:48 UTC:</i><br />
  (I forgot to put in my name when I opened this)

  I noticed that when I list the timeline in the UI, the "weird" branch doesn't start with a box -- it just has a line that goes down to the bottom of the page.  Maybe this indicates a badly formed branch.

  <hr /><i>anonymous claiming to be Bill Burdick added on 2011-03-19 18:57:05 UTC:</i><br />
  Fossil doesn't appear to have the initial commit of the branch.  Pretty important for me, since I want to be able to compare to the base project.  To work around, I'll make another fossil branch off of the 2nd commit with the initial commit.

  <hr /><i>anonymous claiming to be Bill Burdick added on 2011-03-19 19:01:30 UTC:</i><br />
  Tagging the initial commit in Git made it import into fossil, although it's importing as a leaf.

  <hr /><i>anonymous added on 2011-03-19 19:07:28 UTC:</i><br />
  Ooh!  Adding a tag to the base commit made the branch appear properly.  Looks like that's an effective workaround for this bug.


tkt_uuid: 09310d1a057f743be29db7c505f105933ddd14c5
type: Documentation
status: Fixed
severity: Cosmetic
foundin: [3343450e64] 2010-05-21 16:21:04
private_contact: 867649f1e43e51eb74694c33676acc0c33f743f3
resolution: Fixed
title: Typos in Wiki Theory page
comment:
  http://www.fossil-scm.org/index.html/doc/tip/www/wikitheory.wiki

  In the last sentence of the second paragraph of "Embedded Documentation",
  "project" should be "project<b>s</b>"; and "wiki" should be "<b>a</b> wiki", at least according to this page: [http://en.wikipedia.org/wiki/Wiki]


  <h2>Embedded Documentation</h2>

  <p>Files in the source tree that use the ".wiki" suffix can be accessed
  and displayed using special URLs to the fossil server.  This allows
  project documentation to be stored in the source tree and accessed 
  online.  (Details are descripted <a href="./embeddeddoc.wiki">separately</a>.)</p>

  <p>Some project prefer to store their documentation in wiki.</p>

  <hr><i>anonymous added on 2010-05-22 21:57:01:</i><br>
  Oh, and the last sentence of that paragraph has "move file" which should be "move <b>a</b> file...

  <hr><i>anonymous added on 2010-05-23 11:49:24:</i><br>
  "discripted" would probably be better as "described" too: easier for folk whose first language isn't English. Another place with a rare word (elided) is near the bottom of the "Wiki Formatting Rules" page (wiki_rules) - "removed" or "filtered out" would be plainer English...

  <hr /><i>dmitry added on 2011-09-12 19:44:36 UTC:</i><br />
  Fixed in [9150a8a234].


tkt_uuid: 09ba8cea6fc21a4b44e426861e72e3ed88040e85
type: Code_Defect
status: Fixed
severity: Important
foundin: 49cffc0187
private_contact: 6984f5ff2d3f66a87d3c6ddcf777c37b54e478f0
resolution: Fixed
title: RSS Feed ignores access control
comment:
  I configured a fossil repository for non-public access only (nobody and anonymous have no privileges).

  The RSS feed still shows the timeline to unauthenticated users.

  Potential fix: If 'anonymous' cannot see the timeline turn RSS off.

  <hr><i>drh added on 2010-02-05 17:06:25:</i><br>
  Fixed in check-in [78a6270fdc6ee90ae2edeac25ec94f2004cf6624]


tkt_uuid: 09f0ec580595cfecefcc98d021e3c80ac4d798f1
type: Feature_Request
status: Open
private_contact: 66b196adccdec71e1a25f24f8f869d4a5899b083
title: Fossil output in XML
comment:
  It would be nice if fossil generates output in XML format. The output may be interpreted and displayed by other programs

  Thanks
  Stef


tkt_uuid: 0a09bc0dffc0bbf825650df1d0a89084eeaf3bc4
type: Feature_Request
status: Open
severity: Important
private_contact: 2de9a26406fe5bf13fcd0ae44197ec67eadb57d0
title: "Read Ticket" privilege should enable ticket hyperlinks even if "History" privilege is removed
comment:
  For a codebase which is developed in public, but is not publicly available, it is helpful to use the built-in Fossil web server, removing Checkout and History permissions, but allowing wiki and ticket appends.

  However, without the "History" permission, ticket IDs aren't hyperlinked, requiring users to enter the URL manually (at which point they can also append information).

  I believe if "Read Ticket" is an active permission, that should overrule the lack of a "History" permission and hyperlinks should be available for them.


tkt_uuid: 0a0f00d434794670fbe9d78894c7c963d5380caa
type: Feature_Request
status: Fixed
severity: Important
foundin: f84bfc31bf
private_contact: baf689df8a76164ce22b94c9dfd8eeb3a13e6730
resolution: Fixed
title: Wiki edit textarea display and Wiki name does not support non-ASCII word
comment:
  If I create a wiki page named with non-ASCII name.I got the following information:

  The wiki name "&#19968;&#21315;&#38646;&#19968;&#22812;" is not well-formed. Rules for wiki page names:
    *  Must not begin or end with a space.
    *  Must not contain any control characters, including tab or newline.
    *  Must not have two or more spaces in a row internally.
    *  Must be between 3 and 100 characters in length. 


  At the same time if I write wiki using non-ASCII character, and then edit it.All non-ASCII character escape with &#+code,that's not the original character edited.

  you can see the later from the sandbox's last item.

  <hr><i>kkinnell added on 2009-01-29 18:43:27:</i><br>
  This is probably also what [cc6557cfc5] relates to.

  <hr><i>anonymous added on 2009-02-05 15:55:33:</i><br>
  This issue mainly focuses on how to treat the c character type,either char or unsigned char. In function 'wiki_name_is_wellformed', I convert the parameter to unsigned char before comparing, then the wiki name goes fine.

  <hr><i>anonymous added on 2009-02-05 16:00:01:</i><br>
  And the variable 'c' in function 'EncodeHttp' is the same issue.

  <hr><i>ron added on 2010-01-24 07:14:22:</i><br>
  Fixed in [afe70a464686a3085141c03a1aee3eceb598ddd8]


tkt_uuid: 0a3c59e801e953fdf6f42ec9216ed41ad4aade32
type: Code_Defect
status: Open
severity: Important
foundin: c4ade43651
private_contact: ddae85699df0ae84ab8e0a6a6dacf72bab6d4a7a
resolution: Open
title: Getting "timeline.rss is not a valid feed" from Thunderbird
comment:
  Created a new fossil repo, and tried to subscribe to the rss feed of the timeline.  Thunderbird (8.0, Linux) tells me ".../timeline.rss is not a valid feed", which is somewhat surprising to me

  <hr /><i>dmitry added on 2011-12-19 18:05:46 UTC:</i><br />
  Could you run the feed through this validation service: http://validator.w3.org/feed/ and post the output?

  Note that you don't have to publish repo on the web to do this, you can just copy RSS output into "Validate by Direct Input" tab.

  <hr /><i>ron added on 2011-12-19 18:49:01 UTC:</i><br />
  <verbatim>
  This feed does not validate.

      line 1, column 0: XML parsing error: <unknown>:1:0: no element found [help]


  In addition, interoperability with the widest range of feed readers could be improved by implementing the following recommendation.

      Feeds should not be served with the "text/html" media type [help]
  </verbatim>

  <hr /><i>dmitry added on 2011-12-20 14:39:07 UTC:</i><br />
  So it seems timeline.rss gives an empty document? I cannot reproduce this on a fresh repo:

  $ fossil new test.fossil; fossil ui test.fossil

  Go to localhost:8080/timeline.rss, got this feed:

  <verbatim>
  <?xml version="1.0"?>
  <rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
    <channel>
      <title>Fossil source repository for: http://localhost:8080</title>
      <link>http://localhost:8080</link>
      <description>Fossil source repository for: http://localhost:8080</description>
      <pubDate>Tue, 20 Dec 2011 14:34:29 GMT</pubDate>
      <generator>Fossil version [132dbcedbc] 2011-12-16 22:00:37</generator>
      <item>
        <title>initial empty check-in</title>
        <link>http://localhost:8080/info/b549651a6a0b47850d6a7d8c5cee44a9080e6bc0</link>
        <description>initial empty check-in</description>
        <pubDate>Tue, 20 Dec 2011 14:34:19 GMT</pubDate>
        <dc:creator>dchest</dc:creator>
        <guid>http://localhost:8080/info/b549651a6a0b47850d6a7d8c5cee44a9080e6bc0</guid>
      </item>
    </channel>

  </rss>
  </verbatim>


tkt_uuid: 0a6420e446d8f1a52308620f2ab0d2b8f21c8df6
type: Code_Defect
status: Closed
severity: Important
foundin: d86201dce9f036591b7716bea31c29bcc3188cbf
private_contact: 6984f5ff2d3f66a87d3c6ddcf777c37b54e478f0
resolution: Fixed
title: fossil generates broken tar files when the file path is > 100 chars
comment:
  fossil attempts to support file names up to 256 chars. The tar 'ustar' format supports path names longer than 100 chars, but the file name has to be split into two chunks, which is done incorrectly. The Posix spec requires that the split occur at a '/' character, which is not done.

  The above is easily verified by adding a regular file with a name length > 100 chars in a test repo, and generating a tarball. Neither GNU or BSD tar will generate the correct file name.

  It may be just as easy to generate a 'pax' extension record when the file name is longer than 100 characters. This works for any path length.

  <hr /><i>anonymous claiming to be Gé (original poster) added on 2011-07-21 18:37:40 UTC:</i><br />
  I have developed a small patch that fixes this issue. If you're interested I'll send a copyright assignment form.

  <hr /><i>ge added on 2011-08-19 17:23:47 UTC:</i><br />
  POSIX.1 long filename extensions implemented in [a26940c22e].


tkt_uuid: 0bc90d7235404d16c7dbc7a52394b7dc8f56aef8
type: Feature_Request
status: Fixed
severity: Minor
foundin: 1d713f3f4d
private_contact: ba07c6d5d3c5e044f8238154a7f39762cc1663cc
resolution: Fixed
title: fossil clean and ignore-glob
comment:
  An option to tell fossil clean to honor ignore-glob would be useful.

  A common scenario are some IDEs that can't help themselves but put their files in the root of the project, but you don't want any ide related files to be managed by the repository because you use an ide-independent build system, or because some of those files are local settings that shouldn't live in the repository.

  However, being able to clean out temporary test files and such without deleting the ide files (which can contain local settings that are annoying to recreate) would be useful.

  Git's approach is that by default, git clean honors .gitignore but provides an option to force it to clean ignored files as well.

  <hr /><i>anonymous added on 2010-10-15 07:54:00:</i><br />
  By reading the documentation I thought that clean would honor ignore-glob.

  Excerpt from help:
  Delete all "extra" files in the source tree.  "Extra" files are
  files that are not officially part of the checkout.  See also
  the "extra" command.

  For me this implies that clean deletes everything that is shown in extras (by the way, there is a typo, the command is extras :). For me the natural thing would be to honor ignore-glob by default, as git does. Otherwise, an option to do so would be really useful.

  <hr /><i>anonymous claiming to be viric added on 2010-12-20 08:31:53:</i><br />
  There was a patch sent to the list recently. I vote for applying it, if it solves the problem.

  I like ignore-glob being honored on fossil clean.


tkt_uuid: 0bce25f110edc8e0f43d810feaf075bab732cba7
type: Feature_Request
status: Closed
private_contact: 534891b0b4c1bea04b78b96c90fe14e137373035
resolution: Duplicate
title: recursive removal of files
comment:
  <hr><i>anonymous added on 2009-11-07 08:33:14:</i><br>
  duplicate of [4c303443b3d74b6d8398128231661f2f1fe35a3e]

  <hr /><i>lrem added on 2011-08-29 16:05:38 UTC:</i><br />
  Closing this duplicate, leaving the other open.


tkt_uuid: 0c07ad42621a1589ea5ed97da32c2f0742d4cbbe
type: Feature_Request
status: Open
severity: Important
foundin: trunk
private_contact: 4bff6c21dcfa9ef03e153864ac07bd1b8f745730
title: Allow tickets to have child tickets.
comment:
  I would like to be able to assign child tickets to a ticket. These would correspond to sub-projects of a larger project. Currently, most of this is doable just by customizing the various ticket pages under the Admin menu. However I would like to be able to see all children given a parent. rptview does not allow for searching (one would link to rptview searching for the parent), and th1 does not allow for sql queries (query the db and display the children right on the view ticket page); I cannot find a solution.


tkt_uuid: 0c657fd35fa36ea1ff530f05b0a63abcd2f376f6
type: Feature_Request
status: Open
severity: Important
private_contact: 5d7ac16166f122117bb8d7069931062fff5c531a
title: Allow aliases on commands
comment:
  Allow people to make aliases on commands, like for example

  fossil newalias timeline history

  so from now on I could do

  fossil history


tkt_uuid: 0cb89f4c72e3b957f37821dd1b26780f690e8ace
type: Code_Defect
status: Fixed
severity: Cosmetic
foundin: [8995df3aee]
resolution: Fixed
title: Misarranged lines in fossil tag help text
comment:
  The following text appears at the end after running "fossil help tag":

  <verbatim>will be taken as an artifact or baseline ID and fossil will
  probably complain that no such revision was found. However

    fossil update tag:decaf

  will assume that "decaf" is a tag/branch name.

  only allow --date-override and --user-override in 
    fossil tag add --date-override 'YYYY-MMM-DD HH:MM:SS' \n                  --user-override user 
  in order to import history from other scm systems</verbatim>

  <hr /><i>anonymous added on 2010-10-07 12:09:53:</i><br />
  Changed ticket title from "unnecessary" to "misarranged." It looks like the text describes the timestamp override option for <tt>fossil tag</tt>.

  <hr /><i>wolfgang added on 2010-10-07 16:10:34:</i><br />
  patch added to branch wolfgangTicketCmd ([8041eab372])


tkt_uuid: 0d18db83e1dccf3f18830e2692ab3adca5e06ce5
type: Code_Defect
status: Closed
severity: Minor
foundin: [4c931047ef] 2010-05-14 17:02:31
private_contact: 3ee274ce2d2982add24b2405f53b32a02504dcd8
resolution: Not_A_Bug
title: You heve to log in to view tickets
comment:
  http://fossil-scm.org/index.html/rptview?rn=2 has a list of tickets.

  Unless I log in I cannot view them, there are no links to individual tickets on the page.

  <hr /><i>anonymous added on 2010-12-21 17:17:58:</i><br />
  Richard doesn't want Google et al to scan the various file sets and that's why login is required to enable hyperlinks. You can change this in your own repositories.


tkt_uuid: 0d1971c5aee58c973ef4b7e3fafffc1c2e29515d
type: Feature_Request
status: Closed
severity: Important
private_contact: 50da7412b8b802b1c9f7ddc204270d069d3c2e2b
resolution: Fixed
title: SSL client certificates
comment:
  It would be useful to support client certificates for https connections. Making sure that unauthorised requests never invoke the fossil cgi handler gives an extra level of assurance to those who have paranoid tendencies.

  I implemented a very simple approach in the ben-security branch (--ssl-identity option to clone, which stores the path to PEM encoded cert and key in the ssl-identity setting), before noticing the jan-clientcert branch which provides a much more comprehensive certificate management feature (certs sub-command, certs table in repo db, client side cert passphrases, plus enhancements to the server certificate checking).

  What should I do to get support for client certificates into a state suitable for incorporating into the release version?

  <hr /><i>ben added on 2011-08-15 09:10:39 UTC:</i><br />
  Implemented in [9a0c995826]


tkt_uuid: 0d1a4fe14f1fb6ee208276bb69e7ab5948048c97
type: Code_Defect
status: Fixed
severity: Important
foundin: [0e1ca296db]
private_contact: 70e8369b18c47ff40aebcb9bd5778b54d64203f6
resolution: Fixed
title: fossil configuration push doesn't honor proxy
comment:
  'fossil push' honors proxy setting, but 'fossil configuration push' doesn't.

  <hr><i>anonymous claiming to be Urmil added on 2010-07-29 13:23:49:</i><br>
  ... may be true with 'fossil configuration pull' as well - haven't checked that.

  <hr><i>anonymous claiming to be urmil added on 2010-08-26 07:30:55:</i><br>
  Here is the patch to fix this:
  <verbatim>
  --- src/configure.c
  +++ src/configure.c
  @@ -459,10 +459,11 @@
         zPw = db_get("last-sync-pw", 0);
       }
       url_parse(zServer);
       if( g.urlPasswd==0 && zPw ) g.urlPasswd = mprintf("%s", zPw);
       user_select();
  +    url_enable_proxy("via proxy: ");
       if( strncmp(zMethod, "push", n)==0 ){
         client_sync(0,0,0,0,mask);
       }else{
         client_sync(0,0,0,mask,0);
       }
  </verbatim>


tkt_uuid: 0dddfe5d22b831d4ea685402d5be2876c37a87c6
type: Feature_Request
status: Closed
severity: Minor
private_contact: 6ba147a4218010d3c6ffddc5ed73dc017a44bf3c
resolution: Duplicate
title: incremental update of git export
comment:
  It would be quite useful to be able to incrementally update a git repository whose contents was exported from fossil.

  <hr /><i>dmitry added on 2011-09-11 17:11:07 UTC:</i><br />
  Duplicate of [4b881458c3].


tkt_uuid: 0e3f8719be2d8a398b546e01c504355336c94efb
type: Code_Defect
status: Fixed
severity: Critical
foundin: 5fc80efdf934d14554c3449a34cb7f44929fb84a
private_contact: ddae85699df0ae84ab8e0a6a6dacf72bab6d4a7a
resolution: Unable_To_Reproduce
title: ssl-enabled fossil cannot log in to server
comment:
  Built ssl-enabled fossil, then:

  <pre>
  lap: ~/proj/fossil-ssl$ ./fossil clone https://ron@www.fossil-scm.org/ ../f.ssl.repo
                  Bytes      Cards  Artifacts     Deltas
  Send:              49          1          0          0
  password for ron:
  Received:          20          1          0          0
  Send:             619         24          0          0
  1Server Error: login failed
  ./fossil: server says: login failed
  </pre>

  (obviously, I entered in the correct password...)

  <hr><i>drh added on 2010-01-21 22:08:15:</i><br>
  I pushed check-in [652f20ef9c55a6972485532d8110a0876f311e83] to the main
  server using HTTPS in a build of that same version.  So whatever the problem
  was, it seems to be resolved now.

  <hr><i>ron added on 2010-01-22 06:36:43:</i><br>
  sorry; I synced to version [652f20ef9c55a6972485532d8110a0876f311e83] adn did a clean compile.

  Then:
  <verbatim>
  lap: ~/proj/fossil-ssl$ ./fossil clone https://ron:xxxxx@fossil-scm.org/ ../f.ssl
                  Bytes      Cards  Artifacts     Deltas
  Send:              49          1          0          0

  Unknown SSL certificate:

    countryName               = US
    stateOrProvinceName       = North Carolina
    localityName              = Charlotte
    organizationName          = SQLite.org

  Issued By:

    countryName               = US
    stateOrProvinceName       = North Carolina
    localityName              = Charlotte
    organizationName          = SQLite.org


  Accept certificate [a=always/y/N]? a
  Received:          20          1          0          0
  Send:             619         24          0          0
  Server Error: login failed
  Received:          20          1          0          0
  Send:              43          0          0          0
  password for ron:
  ERROR.  Server did not reply
  Total network traffic: 1052 bytes sent, 314 bytes received
  Rebuilding repository meta-data...
  0 (0%)...
  project-id: (null)
  server-id:  5e5e3b2fd45938224ed1653066314d3395d3af3d
  admin-user: ron (password is "985b3b")
  </verbatim>

  And I have a local f.ssl which is bogus.  I am not able to log in with an SSL client, at least not for clone operation

  <hr><i>ron added on 2010-01-24 21:34:52:</i><br>
  After merging 	[c4c231069e] in, the ssl version was able to log-in.

  <hr><i>ron added on 2010-02-11 06:22:36:</i><br>
  works in recent builds


tkt_uuid: 0e5d75657faa7a7cefb3ba8546d2b377e8bee4ed
type: Feature_Request
status: Open
severity: Important
foundin: [e09af364aa] 2010-03-22 09:38:44
private_contact: 3ee274ce2d2982add24b2405f53b32a02504dcd8
resolution: Open
title: browsing /doc/ckout shows files not added to repository
comment:
  When browsing /doc/ckout files which are present in the filesystem but not added in the repository are shown.

  $ fossil new test.fossil
  $ fossil open test.fossil
  $ fossil server&

  http://127.0.0.1:8080/doc/ckout/index.wiki now should show an error as should http://127.0.0.1:8080/doc/tip/index.wiki

  $ echo Hello World! > index.wiki

  http://127.0.0.1:8080/doc/ckout/index.wiki now should show "Hello World!"

  $ fossil commit

  Now since the file was not added it is not committed and hence http://127.0.0.1:8080/doc/tip/index.wiki still shows an error.
  http://127.0.0.1:8080/doc/ckout/index.wiki should have been showing something like "file not added to repository" all the time so that it is consistent with the committed state created by committing the checkout.

  <hr><i>anonymous added on 2010-06-17 14:27:45:</i><br>
  Attached patch adds /doc/idx which shows only files already added.


tkt_uuid: 0f63bc403afbf2c9cba4056c1301eaec81150834
type: Build_Problem
status: Closed
priority: Zero
severity: Cosmetic
foundin: 8d758d3715
private_contact: b05ed67c14cf3c678dc634cffc00f685ac493607
resolution: Fixed
title: Windows binary executable is missing the icon
comment:
  The bundled fossil binary version 1.24 in Windows is missing the icon that was present in the previous versions.

  <hr /><i>anonymous added on 2012-11-02 16:54:13 UTC:</i><br />
  Correction in ticket title.

  <hr /><i>anonymous added on 2012-11-02 17:14:53 UTC:</i><br />
  Version 1.24 is [8d758d3715].

  <hr /><i>drh added on 2012-11-02 21:05:08 UTC:</i><br />
  Reran the build.  Uploaded a new binary.  Updated checksums.


tkt_uuid: 0f70666f76bbd5a65887bf8a7a0a338ab0ee5603
type: Code_Defect
status: Open
severity: Minor
foundin: 91472616bf
private_contact: 63070188043a9522ca95dca0d28c3b9eff7a697b
title: finfo page has incorrect diff links
comment:
  Look at [http://netbsd.sonnenberger.org/finfo?name=src/bin/cat/cat.c] and search for 2000-06-20. The diff link is
  [http://netbsd.sonnenberger.org/fdiff?v1=638976e466224ea86d369607b138c6c4be000e8b&v2=66fc443201f53bca8b602e7484d31c7727f28603] and it should be [http://netbsd.sonnenberger.org/fdiff?v1=a1ea96dc23a833bb75247ce79074116fcb4fff2a&v2=66fc443201f53bca8b602e7484d31c7727f28603] like in the 2000-04-14 entry.


tkt_uuid: 0fd3c7d243e74adf4d51d6f36d7d5d294245bac4
type: Code_Defect
status: Open
severity: Minor
foundin: 12a79e5b93
resolution: Open
title: wiki inserts P tags in tables
comment:
  Fossils wiki inserts extra p tags around the first row in the first column of every table, for example:
  <verbatim>
  <table>
   <tr>
    <td>first item</td>
    <td>second item</td>
   </tr>
  </table>
  </verbatim>

  renders as

  <verbatim>
  <table>
   <tr>
    <td><p>first item</p></td>
    <td>second item</td>
   </tr>
  </table>
  </verbatim>

  <hr /><i>anonymous added on 2010-12-27 13:01:03:</i><br />
  The following small patch seems to fix the problem:
  <pre>
  Index: src/wikiformat.c
  ===================================================================
  --- src/wikiformat.c
  +++ src/wikiformat.c
  @@ -1404,10 +1404,11 @@
             if( backupToType(p, MUTYPE_TABLE|MUTYPE_TR) ){
               if( stackTopType(p)==MUTYPE_TABLE ){
                 pushStack(p, MARKUP_TR);
                 blob_append(p->pOut, "<tr>", 4);
               }
  +            p->wantAutoParagraph = 0;
               pushStack(p, markup.iCode);
               renderMarkup(p->pOut, &markup);
             }
           }else
           if( markup.iType==MUTYPE_HYPERLINK ){
  </pre>

  <hr /><i>anonymous added on 2010-12-27 13:13:51:</i><br />
  You can use:
  <verbatim>
  <nowiki>
  </nowiki>
  </verbatim>


tkt_uuid: 0ff64b0a5fc88e7e98b9db082c6928d6f63e3e6e
type: Code_Defect
status: Fixed
severity: Important
foundin: 84e755e213
private_contact: 63d704ee5f18704709e0d604ff639a4c31263188
resolution: Fixed
title: manifest file is malformed error after file rename
comment:
  If you rename file1, modify file2, then attempt to commit file2
  without including file1 in the commit, you get a "manifest file (nn) is malformed" error. After a complicated set of changes it is not always
  possible to know what order commits have to be done in to avoid
  this bug.

  <hr /><i>anonymous claiming to be seanc added on 2012-11-03 23:08:57 UTC:</i><br />
  This took me a few hours to figure out and gave me a good scare. I finished spending ~6hrs working on the same file doing a large refactor and this error had me in a panic for a while. Here's the reproducable test case.

  <pre>% alias fs fossil
  % echo old >> foo.txt
  % fs add foo.txt
  ADDED  foo.txt
  % fs ci -m "Add foo with 'old' content" foo.txt
  New_Version: 74332f59163ade09a83448a86ad20cf68e443805
  % fs mv foo.txt foo-old.txt
  RENAME foo.txt foo-old.txt
  % echo new > foo.txt
  % fs ci foo.txt
  fossil: fossil knows nothing about: foo.txt
  Exit 1
  % fs add foo.txt
  ADDED  foo.txt
  % fs ci -m "This won't work" foo.txt
  New_Version: a75fbcde19942395fe638a4c7dddd18bc995262a
  fossil: manifest file (5) is malformed
  Exit 1</pre>


tkt_uuid: 0ffa37e70e885cfc5c86d2546e51480c83b819b0
type: Feature_Request
status: Fixed
severity: Severe
foundin: d0753799e4
private_contact: 972e8a5291f0b92e11083b9bfe832820d06d9b90
resolution: Fixed
title: There is currently no way to enforce 100% use of SSL
comment:
  I'm noticing that there doesn't seem to be a configuration parameter or any reasonable way to enforce all communications to use SSL-secured HTTP in the Web interface.

  My current hosting setup is as follows:

  <verbatim>
  # /etc/xinetd.d/fossil-some-site 
  service fossil-some-site
  {
      socket_type = stream
      type = UNLISTED
      wait = no
      disable = no
      user = root
      server = /opt/fossil/bin/fossil
      server_args = http /opt/fossil/repositories/some.site/fossil --notfound http://fossil.some.site/cgi-bin/fossil-list-repositories.cgi
      bind = fossil-some-site.fossil01.internal
      port = 8060
  }
  </verbatim>

  <verbatim>
  # /etc/httpd/vhosts.d/includes/fossil.some.site.conf 
  # Mostly standard Red Hat virtual host boilerplate elided.

  ProxyPass /cgi-bin !
  ProxyPass / http://fossil.some.site/
  ProxyPassReverse /cgi-bin !
  ProxyPassReverse / http://fossil.some.site/
  </verbatim>

  <verbatim>
  # /etc/hosts
  127.0.0.1 localhost.localdomain localhost fossil01.internal fossil01
  127.0.0.101 fossil-some-site.fossil01.internal fossil.some.site
  ...
  </verbatim>

  I haven't explored using the CGI method of deployment yet, nor have I explored the possibility of contributing patches to make this functionality a reality.  I also haven't explored whether or not this functionality already exists in a newer release, seeing as I am running a relatively ancient version of Fossil:

  <verbatim>
  fossil01% /opt/fossil/bin/fossil version
  This is fossil version [d0753799e4] 2010-11-01 14:23:35 UTC
  </verbatim>

  My current workaround is just to interact with the software through the shell on the remote end (to set configuration parameters, manage users, etc.) and through the usual <tt>fossil update</tt>, <tt>fossil sync</tt>, et al. commands from my working copy, wherever it might be at the time.

  I would like to be able to use the Web interface running remotely however. :)

  <hr /><i>drh added on 2011-01-18 15:16:11 UTC:</i><br />
  See [http://www.stunnel.org/] for a better solution.

  <pre>
  service https
  {
    port = 443
    socket_type = stream
    wait = no
    user = root
    server = /usr/bin/stunnel
    server_args = -l /opt/fossil -- fossil http /var/repo/some-site.fossil
  }
  </pre>

  <hr /><i>dmitry added on 2011-01-18 16:00:06 UTC:</i><br />
  Will this work (untested)?

  <pre><code>
  # /etc/httpd/vhosts.d/includes/fossil.some.site.conf 
  # Mostly standard Red Hat virtual host boilerplate elided.

  <VirtualHost *:80>
    ServerName  fossil.some.site
    Redirect / https://fossil.some.site
  </VirtualHost>

  <VirtualHost _default_:443>
    ServerName  fossil.some.site
    # ... your proxy settings ...
  </VirtualHost>
  </code></pre>

  <hr /><i>anonymous added on 2011-01-18 18:17:33 UTC:</i><br />
  I'm thinking that I need to provide a bit more informative context.  I'm inferring from your response that your assumption is that I don't have the SSL-enabled vhost set up.  Alas, I do:

  <verbatim>
  # /etc/httpd/vhosts.d/fossil.some.site-ssl.conf 
  <VirtualHost 10.10.161.25:443>
  	Include vhosts.d/includes/fossil.some.site.conf

  	SSLEngine on
  	SSLCertificateFile /var/www/domains/some.site/fossil/ssl/fossil.some.site.crt
  	SSLCertificateKeyFile /var/www/domains/some.site/fossil/ssl/fossil.some.site.2048.key
  	SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
  </VirtualHost>
  </verbatim>

  <verbatim>
  # /etc/httpd/vhosts.d/fossil.some.site.conf 
  <VirtualHost 10.10.161.25:80>
  	Include vhosts.d/includes/fossil.some.site.conf

          RewriteEngine On
          RewriteCond %{HTTPS} off [NC]
          RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [R=permanent,L]
  </VirtualHost>
  </verbatim>

  The relevant resulting HTML of, e.g., <tt>https://fossil.some.site/Fossil-Repository/wikinew</tt> is as follows:

  <verbatim>
  <form method="post" action="http://fossil.some.site/Fossil-Repository/wikinew">
  <p>Name of new wiki page:
  <input style="width: 35;" type="text" name="name" value="" />
  <input type="submit" value="Create" />
  </p></form>
  </verbatim>

  The issue is that, while Fossil traffic using the <tt>fossil</tt> tool is carried over SSL-secured HTTP just fine, the Web interface will revert back to insecure HTTP for communications in situations like these.

  <hr /><i>dmitry added on 2011-01-18 18:29:28 UTC:</i><br />
  I see, thanks for explanation (I forgot about the actual data sent to webserver, and thought redirects would handle this).

  I think the fix for this would be to change "http://" everywhere in fossil's code which generates webpages to just "//", so that it prints them like this:

  <pre>
  <form method="post" action="http://fossil.some.site/Fossil-Repository/wikinew">
  </pre>

  <pre>
  <form method="post" action="//fossil.some.site/Fossil-Repository/wikinew">
  </pre>

  This will use whatever protocol (http or https) this page were originally, and yes, this is in RFC, and supported by all browsers.

  Even better, though harder, would be making all links relative.

  <hr /><i>anonymous added on 2011-01-18 18:36:56 UTC:</i><br />
  That's a pretty novel approach!  Would you like me to implement these changes and test them, or would you like this honor?  Either way works for me.

  <hr /><i>dmitry added on 2011-01-18 18:58:47 UTC:</i><br />
  I'm busy implementing symlink support, so do it :-)

  <hr /><i>drh added on 2011-01-18 19:02:17 UTC:</i><br />
  Please use the new --https and --host parameters to the "http" command to
  force the generated URLs to be whatever you want them to be.


tkt_uuid: 101ab6946f1c7b524abc364775f2bfc958f1700b
type: Code_Defect
status: Fixed
severity: Important
foundin: 1.21
private_contact: b911b51566694323be1d80bff74e993f071aeaae
resolution: Fixed
title: Case sensitive database entry on non-case sensitive file system (Windows)
comment:
  On Windows, I was adding files at the command line. I added one as "tagger.rbbas" when it was "Tagger.rbbas." It added fine as "tagger.rbbas" but the extras command shows "Tagger.rbbas" as an extra yet when adding "Tagger.rbbas", Fossil ignores the command as it already has "tagger.rbbas."

  <verbatim>
  C:\MyProject> fossil add Abc.txt Def.txt tagger.rbbas

  C:\MyProject> fossil changes
  ADDED Abc.txt
  ADDED Def.txt
  ADDED tagger.rbbas

  C:\MyProject> fossil extras
  Tagger.rbbas

  C:\MyProjects> fossil add Tagger.rbbase

  C:\MyProjects> fossil extras
  Tagger.rbbas

  C:\MyProjects> fossil changes
  ADDED Abc.txt
  ADDED Def.txt
  ADDED tagger.rbbas
  </verbatim>

  <hr /><i>drh added on 2011-12-28 21:41:40 UTC:</i><br />
  It seems like case-insensitive filesystems must have been invented purely for
  the purpose of tormenting DVCS developers...


tkt_uuid: 109ae2e904411211448db56e6e6b8e51bd1672ed
type: Code_Defect
status: Fixed
severity: Minor
resolution: Fixed
title: RSS feed is not always valid
comment:
  According to W3C Validator at <a href="http://validator.w3.org/feed/">http://validator.w3.org/feed/</a> the current feed has some minor issues:

  <verbatim>
  This feed does not validate.

      line 14, column 17: Invalid email address: drh (21 occurrences) [help]

                <author>drh</author>
                           ^

  In addition, interoperability with the widest range of feed readers could be improved by implementing the following recommendations.

      line 42, column 123: title should not contain HTML: i (4 occurrences) [help]

          ... ; status still Open with 2 other changes</title>
                                                       ^

      line 189, column 2: Missing atom:link with rel="self" [help]

            </channel>
            ^


  </verbatim>

  Clearly the one that <em>should</em> be fixed is the "invalid email one". Following <a href="http://validator.w3.org/feed/docs/error/InvalidContact.html">their explanation</a> should not be hard - whenever we get only a user name (without domain), it is sufficient to append "@example.com" to it. This leaves us with a warning about lack of real name, which we can ignore.

  <hr /><i>dmitry added on 2011-08-26 16:01:36 UTC:</i><br />
  I do not like the idea of using fake email addresses. Since "author" field is optional, can we just replace it with [http://www.rssboard.org/rss-profile#namespace-elements-dublin-creator | dc:creator].

  <hr /><i>dmitry added on 2011-08-26 16:10:05 UTC:</i><br />
  Note: <i>dc:creator</i> requires adding namespace to rss element: <verbatim><rss xmlns:dc="http://purl.org/dc/elements/1.1/"></verbatim>


  <hr /><i>lrem added on 2011-08-29 12:39:11 UTC:</i><br />
  I agree. Using <em>dc:creator</em> is both better and easier.

  <hr /><i>dmitry added on 2011-09-12 19:45:25 UTC:</i><br />
  Fixed in [71b862af7d].


tkt_uuid: 10b20156879a368d4bfd13dea1790a71f7161b20
type: Code_Defect
status: Fixed
severity: Important
foundin: f969b6cdde
private_contact: 09bcfe9beb6bd1f9361d71b153c193630ed2ac65
resolution: Fixed
title: Tickets titles in timeline.rss
comment:
  <verbatim>Ticket <title>s in RSS contain <i></i> markup. It prevents Firefox 3.5 from displaying these entries in the internal rss viewer.
  </verbatim>

  <hr /><i>lrem added on 2011-09-03 09:23:48 UTC:</i><br />
  They don't anymore.


tkt_uuid: 10c0c8f65ca24a9f183eb2d6b7f24cdbb5cc192a
type: Feature_Request
status: Open
foundin: e5e6ca4659
title: command to show a change or a set of changes
comment:
  `git show 0123beef' shows the commit message and diff from its parent of commit 0123beef.  `git show 0123beef..4567cafe' shows the commit messages and diffs of all changes from 0123beef to 4567cafe'.  These are handy, and I use them all the time.

  When I run `fossil timeline', I don't know any easy way to take a commit id and show the commit anywhere near as conveniently.  The best I've found is to type `fossil info 0123beef' and then copy and paste the parent's commit id into `fossil diff --from <parent> --to 0123beef'.  It would be nice if I could just type `fossil show 0123beef'.


tkt_uuid: 10eca887930f418717b889bb7867ce212a82665e
type: Build_Problem
status: Closed
severity: Minor
private_contact: 983ee4fb980d07b16f3b6e0d4afa8f975a05479f
resolution: Not_A_Bug
title: Wanting to create Package for Arch Linux
comment:
  I create packages in AUR for Arch Linux packages. I have some people who wants the "live" version of the package so it will always be up to date. Is there a way I can use GIT or similar application to download the latest commits to the development tree?

  <hr /><i>anonymous added on 2010-12-14 14:54:06:</i><br />
  1) download source code
  2) compile fossil
  3) clone fossil-repo
  daily fossil pull, fossil upd, makepkg.  fossil rebuild


tkt_uuid: 11209555c90f3b61e4e70b871f5823002963ef7e
type: Code_Defect
status: Fixed
severity: Important
foundin: 6a11af1782
private_contact: 76518fb407f147a1d053c00b5b993281a339c0e3
resolution: Fixed
title: Wrong MIME-type on "Edit Project Logo" page showed
comment:
  Fossil shows the the wrong MIME-Type on the "Edit Project Logo" page when the
  Logo was changed and does not have a MIME-Type of "image/gif".

  The attached patch fixes this.

  --tsbg


tkt_uuid: 115e95ac11631d0f3f2cf2427f1a7212999b079e
type: Code_Defect
status: Open
severity: Important
foundin: 370d5be389
private_contact: ed6dff866eb37366073a96e065746f2317e4b826
resolution: Open
title: ssh clone failing
comment:
  I am running fossil 370d5be389 both locally and on the server to which I'm connecting. Using this version of fossil, I have created a repository:

  <pre>
  remote:/home/me/ $ uname -a
  FreeBSD remote.example.com 7.3-RELEASE-p2 FreeBSD 7.3-RELEASE-p2 #0 r210461M: Sun Jul 25 11:12:37 UTC 2010
  remote:/home/me/ $ which fossil
  /home/me/bin/fossil
  remote:/home/me/ $ fossil new test-repo.fossil
  project-id: ...
  server-id: ...
  admin-user: ...
  </pre>

  I then attempt to clone this repository.

  <pre>
  local:/home/me/ $ uname -a
  Linux local 2.6.35-19-generic #28-Ubuntu SMP Sun Aug 29 06:34:38 UTC 2010 x86_64 GNU/Linux
  local:/home/me/ $ fossil clone ssh://username@remote.example.com//home/me/test-repo.fossil?fossil=/home/me/bin/fossil test-repo.fossil
  me@remote.example.com's password: 
                  Bytes      Cards  Artifacts     Deltas
  Send:              49          1          0          0
  </pre>

  Output then stops there, with the process not accepting any input or responding, until killed with ^C.

  I imagine there must be some issue with FreeBSD's SSH.

  <hr><i>drh added on 2010-09-06 23:23:41:</i><br>
  Can you ssh once from the linux box into the freebsd box?  Perhaps ssh is
  asking you to accept a certificate, and that question is getting mixed in
  with the Fossil traffic and confusing things.

  <hr><i>anonymous added on 2010-09-07 00:31:59:</i><br>
  I had to SSH into the box to build fossil and create the repo. It works fine for that.

  <hr /><i>anonymous added on 2010-09-20 00:07:47:</i><br />
  I have the same issue trying to clone from an OpenBSD server. Just hangs. Normal ssh works fine so does git and hg ssh cloning.

  <hr /><i>ron added on 2010-10-17 07:04:40:</i><br />
  I'm having the exact same problem -- "fossil clone ssh://..." used to work, but no longer does.

  The regular  <tt>fossil clone ssh://name@server/path localname</tt> just hangs forever.

  The slightly more obscure  <tt>fossil clone ssh://name@server:port/path localname</tt> gives a "fossil: ssh connection failed" error.

  Obviously, I have no problem connecting using ssh to either server, and  they are running different Linux distros -- so it's not specific to a particular distro.

  <hr /><i>anonymous claiming to be Joerg Sonnenberger added on 2010-12-24 23:55:38:</i><br />
  I think I found the root of this problem. fossil is using ssh -T to connect to the server. This inhibits the creation of a pty and therefore sh is started with a pipe for stdin/stdout/stderr. This in turn makes libc use buffering. The commands are sent to this shell and the following POST request is obtained by sh too (due to the buffering). As a result, the remote fossil is waiting in read for data that will never arrive.

  I think the best approach for this is to not do fancy things involving the shell, but switch to something like:

  <verbatim>
  ssh -e none -T <host> <fossil> ssh-sync <repo-path>
  </verbatim>

  ssh-sync differs from test-http by looping on stdin until it is closed. E.g. use ssh like the equivalent of keep-alive with HTTP.

  Advantage: much less chance for a shell to mock things up. It can be easily changed to make fossil an ssh subsystem, which might be a nice option for deployment on central servers, where normal users shouldn't have shell access.

  <hr /><i>anonymous claiming to be viric added on 2011-01-26 22:09:28 UTC:</i><br />
  I also get a fossil blocked in that situation.

  If I turn --httptrace on, I can later run this:
  <verbatim>
  $ ssh -e none -T vicerveza "fossil test-http fossil/encara.fossil" < http-request-1.txt 
  </verbatim>

  which works perfectly without hanging and getting all the HTTP answer. But "fossil sync --httptrace" hangs, with the http reply file void.

  Who do you think is buffering (about libc)? Fossil? As it closes its stdout, buffers will be flushed. Do you think opensshd does the buffering? Why would it?

  This happens to me in the version [6f42e76d80] 2011-01-13.

  <hr /><i>anonymous claiming to be viric added on 2011-01-26 22:10:56 UTC:</i><br />
  Just as extra information... I have other repositories in that computer where I can sync and clone fine through ssh (some other 'repository.fossil' files next to the one that blocks on sync).

  <hr /><i>mjanssen added on 2011-02-02 01:02:18 UTC:</i><br />
  Could you check if the changes described in ticket [884c40589fcee6fa54d18eb3e8db1d1ba337a294] resolve the problem?

  <hr /><i>anonymous claiming to be viric added on 2011-02-07 23:49:23 UTC:</i><br />
  I think it is not related.

  Of course, fossil should be using an ssh remote command execution within a non-interactive shell, a non-login shell. That should make the remote interpreter to avoid anything like the MOTD, or any welcome message the user could have set.

  As fossil is not running ssh in such a way, welcome messages to the shell annoy. I could not find how to call ssh without parameters, without specifying any program to run. On the other hand, running "ssh REMOTE sh" (run the program sh) would make the shell non-login, so no displaying any welcome message. It could be used to overcome this login problem.

  But the problem I seconded above was not related to any welcome message. Some repositories sync, some hang, between the very same computers.

  <hr /><i>viriketo added on 2011-02-16 20:42:19 UTC:</i><br />
  The problem went away for my use case after [7c8519003d].

  I think the key was in transport_load_buffer(..., 1000), that was waiting for either 1000 bytes or EOF. As with ssh EOF does not come, and data transmitted may be below 1000 bytes, we need a different approach.

  With the ssh case, the call goes transport_load_buffer(..., 2), asking for two bytes or EOF.

  I'm not sure if it works in all cases.


tkt_uuid: 11622724e5b46818396db583ac839391f70c8d64
type: Feature_Request
status: Open
foundin: current trunk
private_contact: 5ddc9ef2cc5a1544558a56a3cba910a0ba4d422a
resolution: Open
title: implementation of function “popen2” on win32
comment:
  I use this function in winhttp.c to improve windows http server performance.

  see my attachment.

  Have a fun!

  <hr><i>anonymous added on 2010-08-26 09:08:18:</i><br>
  Notice:
  The child processes must set "stdin" and "stdout" to binary mode when use pipe to pass binary data.
  <pre>
      _setmode(0, _O_BINARY);
      _setmode(1, _O_BINARY);
  </pre>

  <hr><i>anonymous added on 2010-08-26 09:53:14:</i><br>
  And I have a suggestion that the subroutine "pclose2" is prone to confuse.

  Such as in winhttp.c, if the parent does not close pOut in time, the child will block on reading the pipe until his parent close the pOut.


tkt_uuid: 118a98cb386c0e6ee4553a70cb420670b4e93499
type: Code_Defect
status: Fixed
severity: Minor
foundin: 1d713f3f4d
private_contact: ba07c6d5d3c5e044f8238154a7f39762cc1663cc
resolution: Fixed
title: removing a directory doesn't work with a trailing slash
comment:
  Doing fossil rm foo/bar/ lists all the files contained in foo/bar as marked deleted, but fossil changes don't show any change and fossil commit don't commit anything.

  fossil rm foo/bar without the trailing slash however, does work. 

  With the trailing slash, the output of fossil rm foo/bar/ displays the files path with two slashes after bar, which is probably the cause of the problem.

  Since bash appends a trailng slah after auto-completing a directory name with tab, it is easy to stumble upon this problem which can give the impression that removing a directory is broken.

  <hr><i>anonymous added on 2010-08-11 02:58:05:</i><br>
  Process input path with function "file_simplify_name" for command "add" and "delete".

  Have a fun!

  <hr /><i>anonymous claiming to be sean@chittenden.org added on 2011-03-21 00:35:40 UTC:</i><br />
  This ticket can probably be closed as a result of [04ddad7ab8e5c8bfe23daad995a73ead05d428fd].

  <hr /><i>dmitry added on 2011-09-08 22:58:33 UTC:</i><br />
  I've verified that it has been fixed as mentioned above.


tkt_uuid: 1208d60f31b2978d365cdf4078aff818491d1969
type: Code_Defect
status: Closed
severity: Critical
foundin: 1.2
private_contact: 845336aee473fced1a585b0bef609c887b29c1bc
resolution: Not_A_Bug
title: Fossil databse currupt after opening it up in notepad
comment:
  After opening up the database in notepad and saving it I can no longer access the database.

  Steps:
  Open Database in notepad
  Save
  Close
  Open database with sqlite3, database is malformed

  <hr><i>rwilson added on 2009-12-17 19:06:05:</i><br>
  don't do that.

  <hr><i>drh added on 2009-12-17 20:36:09:</i><br>
  rwilson has it right:  Don't do that.  Notepad is corrupting the database
  file, probably by converting \n into \r\n.  


tkt_uuid: 127fc59ae8064c7260aa0294d28ee395b306fb4d
type: Code_Defect
status: Open
severity: Important
foundin: [cea065c7f2] 2011-04-18 12:45:27
private_contact: 4ef9c8ef6fd01155871a04c9b36d9387a315f2d4
resolution: Open
title: Timeline entries seemd to be skipped when using Older
comment:
  When viewing the timeline, I clicked on Older, then again, I noticed an additional branch/fork, but the origin was not shown.See attached screen picts.

  <hr /><i>anonymous added on 2011-04-21 00:36:00 UTC:</i><br />
  After submitting this ticket (and attachments), I looked at the timeline, again, but could not find the extra branch/fork I originally saw.


tkt_uuid: 1318677c15af04480b5f693b8c7a4eccdadb5698
type: Code_Defect
status: Fixed
severity: Minor
foundin: [696668aa4e] 2010-11-08 20:01:41 UTC
resolution: Fixed
title: Configuration pull does not work
comment:
  I just set up a fresh clone of my repo, then I did:
  <verbatim>
  $ fossil configuration pull ticket http://127.0.0.1:8080/ -R repo.fossil
                  Bytes      Cards  Artifacts     Deltas
  Sent:             336         11          0          0
  waiting for server...Total network traffic: 291 bytes sent, 0 bytes received
  </verbatim>
  Ran "fossil ui" and found the ticket report formats were not transferred as they should be. My current workaround is doing "config export" and "config import" but that command should work also.


tkt_uuid: 13536c292b60ec8598f2ae6c326a3975f2d01169
type: Code_Defect
status: Fixed
severity: Minor
private_contact: 24b67375dd2ec6c7381a5ad34cfcf006f0b9c260
resolution: Fixed
title: Timeline graph cease to be displayed when number of requested events cross some arbitrary number
comment:
  Timeline graph cease to be displayed when number of requested events cross some arbitrary number<br>
  e.g.<br>
  [http://www.fossil-scm.org/fossil/timeline?n=1200]<br>
  graph is shown<br>
  [http://www.fossil-scm.org/fossil/timeline?n=1300]<br>
  only space is reserved, no graph.<br>

  If differend type of url is used, numbers are different<br>
  e.g.<br>
  [http://www.fossil-scm.org/fossil/timeline?n=855&t=trunk&y=ci]<br>
  graph is shown<br>
  [http://www.fossil-scm.org/fossil/timeline?n=900&t=trunk&y=ci]<br>
  only space is reserved, no graph.<br>

  On my local clone of fossil repo numbers differ somewhat, but are closely related to the ones presented above.

  <hr><i>drh added on 2010-03-11 17:47:32:</i><br>
  Apparently the &lt;canvas&gt; object blows up if it is taller than 32767
  pixels.


tkt_uuid: 135d8acbae156f3366e7131ff0d07cf1ca7c618f
type: Code_Defect
status: Fixed
severity: Important
resolution: Fixed
title: Website: Ancestors/Descendant JavaScript not working on fossil-scm.org
comment:
  I am using IE 8 and the bullets that light up, change colors to show ancestors and descendants and descendants does not function on the fossil-scm.org site. It does function under all my personal repos (local or remote).

  Below is the "Error Report" from IE 8 about the problem.

  Webpage error details

  User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; OfficeLiveConnector.1.4; OfficeLivePatch.1.3; MSSDMC2.5.2219.1)
  Timestamp: Sun, 10 Jan 2010 17:30:41 UTC


  Message: Object required
  Line: 261
  Char: 3
  Code: 0
  URI: http://fossil-scm.org/index.html/timeline

  <hr><i>eric added on 2010-01-10 17:53:02:</i><br>
  It doesn't work for me either (Mozilla 3.5.5), not even on my local copy of the fossil repo, but works if I switch to "Checkins Only".

  <hr><i>eric added on 2010-01-14 22:55:49:</i><br>
  Fixed in [297517944294e].


tkt_uuid: 13813896d549ecad45148b84a86b5e39ef4caad9
type: Code_Defect
status: Open
severity: Minor
foundin: 12a79e5b93
private_contact: ccd87c60364e1d3e945b6f4d4874f5174b17cc43
title: Editing multiple ticket fields ends in no changes
comment:
  We have simple modifications to the tickets so we have these new fields: owner, assigned_to, effort and module.
  Both in 'new ticket' and 'edit ticket', if we change three or more of those fields with the ui, and submit the changes, the browser goes back to the ticket list as if we had not submit anything.

  For the ticket changes to be recorded, we have to do that through multiple submits changing less fields per submit


tkt_uuid: 139636b21bf06af84b893d0184c2ce0dbef0b588
type: Feature_Request
status: Closed
severity: Important
private_contact: c76260317d907e593238775e171317aff2baec12
resolution: Withdrawn
title: add download link for files next to view and annotate
comment:
  It would be useful to have a download link that will send the file with a mime type that causes the browser to display a download dialog. the only way to get an individual file is View and then copy+paste.

  <hr><i>anonymous added on 2009-06-22 01:14:42:</i><br>
  I agree that this would be a very useful new feature.  It should be possible to download any version of any text or binary file without downloading a ZIP file that contains the entire repository.

  <hr><i>drh added on 2009-06-25 12:50:36:</i><br>
  See the "Download" link on the second menu bar on pages such as
  [http://www.fossil-scm.org/fossil/artifact/cf25e96d4b].  Does this not
  already supply the desired functionality?  What more are you asking for?

  <hr><i>anonymous added on 2009-08-19 04:20:35:</i><br>
  i think i must have opened this before you added the download link in the menu. it seems perfect so consider this closed.

  --rockshox


tkt_uuid: 13db6dce79e4eb21c16fc96fb2981679e112a865
type: Feature_Request
status: Open
severity: Important
foundin: 713b8be852
private_contact: ea5cfbd086158b29f8b824e6b2cd9ab8843db757
title: Support for proxy authentication
comment:
  Many proxy servers require authentication.  For example, my http_proxy environment variable is:
  http://jack:pa$$w0rd@web.proxy.bigcorp.com:9800

  Fossil doesn't appear to support proxies that require authentication at this time. I know there are many different schemes for proxy authentication, but supporting "basic" authentication shouldn't be too hard.


tkt_uuid: 13fd567b51fac826aa1ffcdfa70e27715a7a9172
type: Code_Defect
status: Fixed
severity: Minor
foundin: [0448438c56] 2011-05-28 18:51:22 UTC
resolution: Fixed
title: "new branch --private" tries to push
comment:
  I cloned to official Fossil repository. Then ran a command to create a new private branch:
  <pre>
  C:\scratch\fossil\tree>fossil branch new private_branch trunk --private
  New branch: eb017cd99578e07ee0ff221fbc57ace0a240c3a8
  Autosync:  http://www.fossil-scm.org/
                  Bytes      Cards  Artifacts     Deltas
  Sent:            2702         56          0          0
  Server says: pull only - not authorized to push
  Received:        2473         54          0          0
  Total network traffic: 1601 bytes sent, 1523 bytes received
  </pre>

  Notice the output line: <b>"Server says: pull only - not authorized to push"</b>.

  Why does creating a private branch cause a push?

  <hr /><i>dmitry added on 2011-08-23 01:52:02 UTC:</i><br />
  Something like this might work?

  <verbatim>
  --- src/branch.c
  +++ src/branch.c
  @@ -173,12 +173,14 @@
   
   
     /* Commit */
     db_end_transaction(0);
     
  -  /* Do an autosync push, if requested */
  -  autosync(AUTOSYNC_PUSH);
  +  if( !isPrivate ) {
  +    /* Do an autosync push, if requested */
  +    autosync(AUTOSYNC_PUSH);
  +  }
   }
  </verbatim>


tkt_uuid: 144180bf7db83724a9c647c60a411512cf605e50
type: Code_Defect
status: Fixed
severity: Important
foundin: c845b28714
private_contact: 77d1fb9b8673fda6e5de8f02a6ad22d96857b3e1
resolution: Fixed
title: Merge onto empty branch fails
comment:
  When tracking third party source, it is useful to have it on separate branch and merge onto trunk as needed.
  This doesn't work in Fossil:
  <pre>
  rm -rf /tmp/fossil-merge-bug
  mkdir /tmp/fossil-merge-bug
  cd /tmp/fossil-merge-bug/
  fossil new bug.fossil
  mkdir bug
  cd bug
  echo "vendor version" > test
  fossil open ../bug.fossil 
  fossil add test
  fossil ci --branch vendor -m "Import vendor source."
  fossil close
  rm -rf *
  fossil open ../bug.fossil trunk
  echo === Attemt the merge... ===
  fossil merge vendor
  </pre>

  The script output here is:
  <pre>
  project-id: 3f2182fb3f096d5197fa8788ff73a14c62d9b7b9
  server-id:  d908e77a1322004ebae2cceeb10ea32689ee611d
  admin-user: asau (initial password is "485164")
  ADDED  test
  New_Version: f7f55946e4adbab2523aa38f08e15e519b16ce01
  project-name: <unnamed>
  repository:   /tmp/fossil-merge-bug/bug.fossil
  local-root:   /tmp/fossil-merge-bug/bug/
  project-code: 3f2182fb3f096d5197fa8788ff73a14c62d9b7b9
  server-code:  d908e77a1322004ebae2cceeb10ea32689ee611d
  checkout:     10a4088889fec65a08f69899969e3e8e51a9de8d 2010-10-14 13:54:22 UTC
  child:        f7f55946e4adbab2523aa38f08e15e519b16ce01 2010-10-14 13:54:23 UTC
  tags:         trunk
  comment:      initial empty check-in (user: asau)
  === Attemt the merge... ===
  fossil: lack both primary and secondary files
  </pre>


tkt_uuid: 1457156b277688cf495142a8211a0c93eeda558c
type: Feature_Request
status: Open
severity: Minor
foundin: cd93f5965b5df0eb726f8a9ea3d86e106bc8540c
private_contact: ddae85699df0ae84ab8e0a6a6dacf72bab6d4a7a
resolution: Open
title: "fossil gdiff" uses internal diff under some conditions
comment:
  Do for example:  "fossil set gdiff bcompare" (to use Beyond Compare).  Modify some file, so that "fossil diff" works.


  Now, if you type "fossil gdiff whatever-file", then fossil will launch the set gdiff program.  But if you only type "fossil gdiff", without any file name, it will only do the internal diff.

  <hr><i>drh added on 2010-01-10 12:51:02:</i><br>
  Some gui differs (at least the one I use) will only diff a single pair of 
  files at a time.  So if you do:

     fossil gdiff

  And multiple files have changed, how is that suppose to work?  Do you only
  show changes in one file?  Does fossil try to concatenate all the changed
  files into one big file and diff those?  Do you launch multiple instances of
  the gui differ?

  <hr><i>anonymous added on 2010-01-10 13:03:43:</i><br>
  OK; but that behavior should be documented.  As it is, it seems that it would show diffs for the entire tree (no, I don't know how that would work in fact -- but that's what the documentation as it stands would lead me to expect)

  <hr><i>altufaltu added on 2010-01-11 04:49:59:</i><br>
  Can't one call external diff tool for each modified file?
  User may get multiple instances for diffs (in which case he may not use gdiff at all) or if the diff tool is smart, multiple diff windows in single instance.

  <hr><i>anonymous claiming to be ron added on 2010-01-11 20:11:14:</i><br>
  Yes; "bcompare" for instance, puts all the files in separate tabs within one window (at least it does on Linux)

  <hr><i>altufaltu added on 2010-01-15 09:30:28:</i><br>
  Here is the patch, if somebody is interested:
  <verbatim>
  --- src/diffcmd.c
  +++ src/diffcmd.c
  @@ -267,13 +267,14 @@
         printf("ADDED_BY_MERGE %s\n", zPathname);
       }else{
         int srcid = db_column_int(&q, 4);
         Blob content;
         content_get(srcid, &content);
  -      printf("Index: %s\n======================================="
  -             "============================\n",
  -             zPathname
  +      if (!zDiffCmd)
  +        printf("Index: %s\n======================================="
  +               "============================\n",
  +               zPathname
         );
         diff_file(&content, zFullName, zPathname, zDiffCmd);
         blob_reset(&content);
       }
       free(zFullName);
  @@ -353,11 +354,11 @@
     zTo = find_option("to", 0, 1);

     if( zTo==0 ){
       db_must_be_within_tree();
       verify_all_options();
  -    if( !isInternDiff && g.argc==3 ){
  +    if( !isInternDiff ){
         zDiffCmd = db_get(isGDiff ? "gdiff-command" : "diff-command", 0);
       }
       if( g.argc==3 ){
         diff_one_against_disk(zFrom, zDiffCmd);
       }else{
  </verbatim>


tkt_uuid: 14bc0ad52d9198605b566acf76f2a2664319345d
type: Feature_Request
status: Open
priority: Zero
foundin: e5e6ca4659
resolution: Open
title: ticket display doesn't show age or creation time
comment:
  The list of tickets and the individual ticket display (tktview?name=...) show the last modification time of the ticket, and the ticket display shows the time every comment was added, but it doesn't say when the ticket was created or how old the ticket is.  It would be nice if I could quickly glance at a ticket to see how long it has been around.

  <hr /><i>drh added on 2011-06-02 18:58:37 UTC:</i><br />
  See the "History" and "Timeline" buttons on the submenu at the top of the
  ticket display.

  <hr /><i>anonymous added on 2011-06-03 07:01:02 UTC:</i><br />
  It is also possible to add your own fields to tickets, including a Date Opened field.


tkt_uuid: 1501b8bf3b229e78b4fc25c570a3810d77d6b82b
type: Code_Defect
status: Closed
severity: Important
foundin: 472f9411ee
private_contact: 5c03557cba4ac24c11a2f30eeeaf3315d08ba459
resolution: Not_A_Bug
title: repository created in linux can't be open in windows
comment:
  Hi,
  I am using fossil just a couple of days, and it is wanderful - I find it very practical and it meets all my needs. Sorry for bloating the ticket with a praise, but I'd like to give some positive feedback... :-)

  Here is my problem:
  - I've created a repository in linux. Commited several times, closed, reopen, everything works. The repository (called unilang) contains a single directory "unilang" with several files.
  - I've copied the repository to windows and tried fossil open - it failed:

  C:\Users\Orest\Documents\rep>fossil open unilang

  ADD unilang/calc.g

  (null): unable to create directory C:/Users/Orest/Documents/rep/unilang

  The path in the error message contains slashes (as in linux), while a valid windows path contains backslashes - could that be related ?

  - I still could open the repository in window using "fossil ui unilang" without problems. So I 've extracted a zip file, unzipped and created a new repository with the same file structure in windows. That works - I can open it in windows on another place witout problems. And - it as well works in linux - fossil open can creates all the files in linux from a repository created in windows. So what does not work is creating in linux, opening in windows...

  Best Regards,
  Orest

  <hr><i>anonymous claiming to be ge@weijers.org added on 2009-01-31 16:51:59:</i><br>
  FYI: I built the exact revision of fossil.exe on Windows XP using the latest MinGW, and copied a repository from linux. 

  I am unable to reproduce this behavior, 'fossil open' created all the directories and source files.


  <hr><i>anonymous added on 2009-02-04 18:54:31:</i><br>
  So far I could only try on Vista, but I'll try XP ASAP.
  Orest

  <hr><i>kkinnell added on 2009-02-13 17:17:53:</i><br>
  Out of curiosity, what happens if you run the server on the Linux box and <code>clone</code> it to the Windows box?


  <hr><i>anonymous claiming to be wim@asgc.be added on 2009-02-17 18:52:15:</i><br>
  I just created a repository on a linux box (CentOS 5) and I am now happily committing from a clone on a Windows Vista (Business) machine. It might be worthwhile checking the errors/comments given when cloning on the Windows box. 

  My fossil version is 472f9411ee (precompiled binaries for Linux and Windows). 

  <hr><i>anonymous added on 2009-02-18 21:46:47:</i><br>
  Sorry, I must have done something wrong the first time. It is working now...
  Orest

  <hr><i>bharder added on 2009-02-19 00:11:47:</i><br>
  Closed, as per last remark in thread.


tkt_uuid: 1511c1ef255e00d43dee8534867bd7b5d0a89bca
type: Build_Problem
status: Open
severity: Important
foundin: 20100318142033
private_contact: 3ee274ce2d2982add24b2405f53b32a02504dcd8
resolution: Open
title: The makedeb.sh script should be more robust
comment:
  1) The script asks to run in built source directory but since it can tell the source is not built it can just run make (assuming it is run as debian/makedeb.sh so there is good chance there actually is the fossil source in the current directory).

  2) when run in a built source directory it does not really work, it has to be run in the debian subdirectory of the built source directory.

  3) the version of the package is determinad by the build date, not the source date.

  $ sh makedeb.sh 
  Creating .deb package [/home/hramrach/Downloads/fossil-src-20100318142033/debian/fossil-scm-2010.05.17-1-dev-i386-ubuntu-gutsy.deb]...
  Generating md5 sums...
  Generating Debian-specific files...
  Generating DEBIAN/control...
  dpkg-deb: building package `fossil-scm' in `/home/hramrach/Downloads/fossil-src-20100318142033/debian/fossil-scm-2010.05.17-1-dev-i386-ubuntu-gutsy.deb'.


tkt_uuid: 1567066c673dc1d222b1c3d6c3b8931d19a23547
type: Code_Defect
status: Closed
severity: Important
foundin: [cf9ee7d67e] 2009-01-23 01:01:37
private_contact: 24b67375dd2ec6c7381a5ad34cfcf006f0b9c260
resolution: Not_A_Bug
title: Tags menu points into tagview page shows urelated content
comment:
  While operating on cloned fossil repo, clicking on Tags menu brings page:<br>
  http://localhost:8080/tagview<br>
  showing content like:

  This is the main page for the Fossil self-hosting repository.<br>
  ...

  If I manually construct link:<br>
  http://localhost:8080/taglist

  I see what I believe should be seen on Tags page.<br>
  It seems to be related to changes in Check-in [a12cb216b7]

  <hr><i>drh added on 2009-01-23 12:58:12:</i><br>
  The default menu does not do this.  You are probably using a customized
  menu which has not been updated.

  Go to "Setup" then "Header" then click on the "Revert To Default" button
  to restore your page header to the default configuration.  This will
  get Tags to point to the right page.  Or, manually edit your existing
  header.

  Note that there is now a new item on the menu:  "Branches".  So if you edit
  your existing setup rather than using "Revert To Default", you might want
  to add your own "Branches" entry.


tkt_uuid: 157ef3e5a7a06bbaf7c917188ca7a8cf061e3ee8
type: Code_Defect
status: Fixed
severity: Important
foundin: 7b700dfacd
private_contact: d66ecbed41cfc11708f85c2d7a607eb4c13c38e6
resolution: Fixed
title: fossil add on a directory causes a core dump
comment:
  When attempting to run fossil add . or fossil add somedirectory name fossil core dumps with the following error:

  fossil in free(): error: chunk is already free 0x203aca520
  Abort trap (core dumped)

  This is on OpenBSD amd64 with the latest from trunk.

  <hr /><i>anonymous added on 2011-04-17 17:21:00 UTC:</i><br />
  Doing something like fossil add somedirectory/* works.

  <hr /><i>anonymous claiming to be Martin added on 2011-04-17 21:16:27 UTC:</i><br />
  I confirm, I get same problem on OpenBSD 4.7 (i386).. I don't have this problem on MacOS X 10.6.7.
  Here the output of a backtrace on gdb when adding a directory under OpenBSD:

  <verbatim>
  $ gdb ../fossil-scm/fossil
  GNU gdb 6.3
  Copyright 2004 Free Software Foundation, Inc.
  GDB is free software, covered by the GNU General Public License, and you are
  welcome to change it and/or distribute copies of it under certain conditions.
  Type "show copying" to see the conditions.
  There is absolutely no warranty for GDB.  Type "show warranty" for details.
  This GDB was configured as "i386-unknown-openbsd4.7"...
  (gdb) r add usr 
  Starting program: /home/meeks/fossil/fossil-scm/fossil add usr
  fossil in free(): error: chunk is already free

  Program received signal SIGABRT, Aborted.
  0x02003a71 in kill () from /usr/lib/libc.so.53.1
  (gdb) bt
  #0  0x02003a71 in kill () from /usr/lib/libc.so.53.1
  #1  0x0204f313 in abort () at /usr/src/lib/libc/stdlib/abort.c:68
  #2  0x02024c99 in wrterror (p=0x21fce6f5 "chunk is already free")
      at /usr/src/lib/libc/stdlib/malloc.c:380
  #3  0x02026688 in ofree (p=0x84d271c0) at /usr/src/lib/libc/stdlib/malloc.c:1296
  #4  0x02026781 in free (ptr=0x7fb31800) at /usr/src/lib/libc/stdlib/malloc.c:1321
  #5  0x1c04d79a in sqlite3_free (p=0x7fb31808) at src/sqlite3.c:18157
  #6  0x1c068571 in sqlite3VdbeDeleteObject (db=0x7c9f5c08, p=0x7c48e608) at src/sqlite3.c:59390
  #7  0x1c068607 in sqlite3VdbeDelete (p=0x52f5) at src/sqlite3.c:59417
  #8  0x1c068480 in sqlite3VdbeFinalize (p=0x7c48e608) at src/sqlite3.c:59351
  #9  0x1c08559b in sqlite3_exec (db=0x7c9f5c08, 
      zSql=0x87960700 "INSERT INTO vfile(vid,deleted,rid,mrid,pathname,isexe)VALUES(1,0,0,0,'usr/local/ndt/bin/ums_instrum',1)", xCallback=0, pArg=0x0, pzErrMsg=0xcfbdbbec) at src/sqlite3.c:86283
  #10 0x1c00ec08 in db_multi_exec (
      zSql=0x3c0001e0 "INSERT INTO vfile(vid,deleted,rid,mrid,pathname,isexe)VALUES(%d,0,0,0,%Q,%d)")
      at bld/db_.c:446
  #11 0x1c00285b in add_one_file (zPath=0x88febbc8 "usr/local/ndt/bin/ums_instrum", vid=1)
      at bld/add_.c:115
  #12 0x1c002942 in add_files_in_sfile (vid=1) at bld/add_.c:152
  #13 0x1c002a95 in add_cmd () at bld/add_.c:234
  #14 0x1c022628 in main (argc=2, argv=0xcfbdbe18) at bld/main_.c:289

  </verbatim>

  Hope this can help

  <hr /><i>anonymous claiming to be Martin added on 2011-04-17 21:55:01 UTC:</i><br />
  I've notice that latest release (OpenBSD 4.7 binary from Download page), with the same test is ok.

  <hr /><i>anonymous claiming to be Martin added on 2011-04-17 22:59:06 UTC:</i><br />
  Sorry, I gave Wrong info before.. it's the same problem on OSX.. When I first tried, I've build the latest version from trunk, but I forget to put the executable on the PATH.


tkt_uuid: 15dfbde7291153c43a91033a573af4632d099f13
type: Documentation
status: Fixed
severity: Critical
private_contact: f7a8d3a6a73c86bb80df4faa8f5414307e6a1b68
resolution: Fixed
title: Question for FAQ: how to contribute to Fossil?
comment:
  FAQ does not specify a method for contributing to Fossil. How does one go about fixing a typo? Is it enough to file a ticket? What about larger contributions? If the barrier for contributions is low, maybe more people will contribute.

  <hr /><i>anonymous added on 2011-01-26 12:09:09 UTC:</i><br />
  I think that for typos, opening tickets is overkill. Sending an e-mail (or, better, a patch file) to a developer is okay.

  For push privileges people at Hwaci like drh might grant them if you sign an [http://www.fossil-scm.org/fossil/artifact/7fa63d1ca4eb770f9b2b88ed29061905e0f60db5 | agreement].

  <hr /><i>anonymous added on 2011-01-26 13:27:51 UTC:</i><br />
  That's good information, I think it is important to have it in FAQ.

  <hr /><i>dmitry added on 2011-09-08 22:30:44 UTC:</i><br />
  There is now [http://www.fossil-scm.org/index.html/doc/trunk/www/contribute.wiki | Contributing] page as of [98f1131c0d].


tkt_uuid: 15f49be6b2b1e6d9493e8a4c250e9692f64bfc74
type: Code_Defect
status: Closed
severity: Severe
foundin: daacc139a5
private_contact: 5c164664f608e8049128be696a3d13e04aa6fafd
resolution: Fixed
title: options for "commit" appear to be buggy.
comment:
  The <tt>--branch</tt> and <tt>--bgcolor</tt> options for <tt>commit</tt> don't appear to work properly, in fact leading to a useless repo (unable to checkin changes easily).

  <hr><i>bharder added on 2009-02-09 01:16:25:</i><br>
  Script started on Sun Feb  8 16:51:18 2009
  $ fossil new err.fsl
  project-id: c7c0961460eb6c4baa95b020b5841b51d1c23b13
  server-id:  108cc4b8d6649e7d775d89bc7e28664ceaabf66c
  admin-user: bch (initial password is "908c61")
  $ fossil open err.fsl
  $ mkdir src
  $ cd src
  $ ed myfile
  myfile: No such file or directory
  a
  This is a test
  .
  wq
  15
  $ fossil add myfile
  ADDED  src/myfile
  $ fossil ls
  ADDED     src/myfile
  $ fossil commit
  ed "/home/bch/fu/ci-comment-7393D0EDC3C7.txt"
  151
  a
  first checking of file
  .
  wq
  174

  You need a passphrase to unlock the secret key for
  user: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
  1024-bit DSA key, ID 9C2E826F, created 2008-07-26

  NeweVersion:r25d71778bac65ae94c9f0d6c9d37449689a85b9a
  $ fossil timeline
  === 2009-02-09 ===
  00:52:40 [25d71778ba] *CURRENT* first checking of file (user: bch tags: trunk)
  00:51:31 [7e20615755] initial empty check-in (user: bch tags: trunk)
  $ ed ./myfile11DKcat ./myfile
  This is a test
  $ ed ./myfile
  15
  s/a t/a second t/
  wq
  22
  $ fossil diff
  Index: src/myfile
  ===================================================================
  fossil diff /home/bch/fu/src/myfile
  --- src/myfile
  +++ src/myfile
  @@ -1,1 +1,1 @@
  -This is a test
  +This is a second test

  $ fossil commit --branch "My Branch" --bgcolor #aabbcc
  ed "/home/bch/fu/ci-comment-08000419FB1C.txt"
  151
  a
  commit with brancheand color
  .
  wq
  180

  You need a passphrase to unlock the secret key for
  user: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
  1024-bit DSA key, ID 9C2E826F, created 2008-07-26

  NeweVersion:r95ecfed9f02d69fd25496f679fbb39216fcdc775
  $ fossil timeline
  === 2009-02-09 ===
  00:55:16 [95ecfed9f0] *CURRENT* commit with branch and color (user: bch tags:
           My Branch)
  00:52:40 [25d71778ba] first checking of file (user: bch tags: trunk)
  00:51:31 [7e20615755] initial empty check-in (user: bch tags: trunk)
  $ fossil server
  ^C
  $ echo "Notice color is wrong"
  Notice color is wrong
  $ ed ./myfile
  22
  p
  This is a second test
  s/second/third/
  wq
  21
  $ fossil commit13DKfossil diff
  Index: src/myfile
  ===================================================================
  fossil diff /home/bch/fu/src/myfile
  --- src/myfile
  +++ src/myfile
  @@ -1,1 +1,1 @@
  -This is a second test
  +This is a third test

  $ fossil commit --branch "Other Branch" --bgcolor #aaaaaa
  ed "/home/bch/fu/ci-comment-380CA4C72041.txt"
  151
  a
  This is yet another branch, colored #aaaaaa
  .
  wq
  195

  You need a passphrase to unlock the secret key for
  user: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
  1024-bit DSA key, ID 9C2E826F, created 2008-07-26

  NeweVersion:rbb41d13d98b8cbd955fdd6c4a655f60f49170af3
  fossil: manifest file (7) is malformed
  $ ^D
  Script done on Sun Feb  8 16:57:41 2009


  <hr><i>bharder added on 2009-02-09 01:22:03:</i><br>
  <pre>
  -----BEGIN PGP SIGNED MESSAGE-----
  Hash: SHA1

  C This\sis\syet\sanother\sbranch,\scolored\s#aaaaaa
  D 2009-02-09T00:57:32
  F src/myfile 39561f78495110af4a1216b4f84ae916a9daf04e
  P 95ecfed9f02d69fd25496f679fbb39216fcdc775
  R 4cbdc6a7875e46cffe7f78ecbcb05abf
  T *bgcolor * Other\sBranch
  T *branch * Other\sBranch
  T *sym-Other\sBranch *
  T -sym-My Branch *
  U bch
  Z 4b477b3e9c3a3ba24ee84d573913a0bf
  -----BEGIN PGP SIGNATURE-----
  Version: GnuPG v1.4.9 (NetBSD)
  <snip>
  -----END PGP SIGNATURE-----
  </pre>

  <hr><i>bharder added on 2009-02-09 04:44:25:</i><br>
  are a few peculiarities -- some may be user error. One issue addressed is 'fossilize()'ing tagnames for the manifest. (see checkin 8be6204607)

  <hr><i>bharder added on 2009-02-09 05:01:10:</i><br>
  fixed final error in manifest from tagnames w/ spaces. Closing this ticket.
  -bch


tkt_uuid: 15f5f61461b990eb64d7a42f837e5942e29bac8b
type: Feature_Request
status: Closed
severity: Minor
foundin: 0039b7813e
private_contact: 735ae1c8a572d669bafab35cf8b1f5116c325c86
resolution: Withdrawn
title: add class wikiedit to comment and cmappnd
comment:
  After my integration of tinymce I noticed 4 textareas

  1 name = comment in tktnew

  2 name = cmappnd in tktedit

  3 name = w       in wikiedit   class wikiedit

  4 name = r       in wikiappend class wikiedit

  I wonder if it is possible to add class wikiedit to comment and cmappnd. Because wiki formatting is allowed in these text areas

  <hr><i>anonymous claiming to be Rene de Zwart added on 2010-01-05 01:37:04:</i><br>
  Apperently this  was already the case!
  But if I use Tinymce I can check on current_page being one of
  "tktnew", "tktedit", "wikiedit" or "wikiappend" and then load tinymce

  <hr /><i>renez added on 2011-02-12 10:49:38 UTC:</i><br />
  I found out that this has been/was already done!


tkt_uuid: 15f8f4a425248c35fe0babfcb6ccf45f1d5b9932
type: Code_Defect
status: Fixed
severity: Important
foundin: 3519169ea8801ec0480903c911e60226a51b1836
private_contact: 4b6281b0da561d3b4396c6498527621c42b4ad58
resolution: Fixed
title: fossil rm "not a ordinary file" errors
comment:
  Recently there was a change to how fossil rm works that completely breaks it.  Previously, you would fossil rm a file, and then you could remove the file manually.  On commit it would then register the rm just fine.

  Now I get this:

  <verbatim>
  Total network traffic: 309 bytes sent, 3684 bytes received
  fossil: not a ordinary file: /home/zedshaw/projects/mything/thedeletedfile.html
  </verbatim>

  The only solution is to touch that file and then commit.  Now, thinking that maybe fossil deletes the file on commit I went to check if these files are gone but they aren't.

  The problem is, fossil should either do one of three things:

  1) Ignore the deleted files like before on commit, since them being deleted is not an error.
  2) If it requires the file to be there on commit, then after commit it should delete them otherwise major consistency problems arise.
  3) Preferrably, if on fossil commit if the file is gone, then fine ignore it, if the file is there, then delete it.  Leave fossil rm as-is.

  Requiring a manual delete after a commit is just making me do accounting work that fossil can figure out.

  <hr><i>drh added on 2010-01-24 01:42:39:</i><br>
  Check-in [fbcefb6e4ebd5b8e186f86c48adcbaace0e13a45]


tkt_uuid: 162e66c9ead50926d21298952ec6495f527431ab
type: Feature_Request
status: Closed
subsystem: one
priority: Immediate
severity: Cosmetic
foundin: 4b56350ecb
private_contact: 63f4cb9d6971f7dbdee05412b8546975182b32e4
resolution: Fixed
title: Inline variant of <verbatim>
comment:
  It would be nice to have an inline variant of the <tt>&lt;verbatim&gt;</tt> tag. Sometimes I would like to switch of wiki and html rendering within plain floating text (like e.g. the verbatim tag in the sentence above).

  So it would be nice to have a <tt>&lt;verb&gt;</tt> or <tt>&lt;v&gt;</tt> tag, that could be used in floating text.

  <hr><i>drh added on 2008-07-24 16:16:31:</i><br>
  I was thinking the same thing as I was working the previous ticket on this
  subject.  Perhaps &lt;nohtml&gt; would work.  LaTeX has separate 
  \begin{verbatim} and \verb tags - which argues for &lt;verb&gt;.  But
  &lt;nohtml&gt; seems more html-like to me.  And it better carries the
  meaning of the tag.  &lt;nohtml&gt; does not select a constant-width font
  and make spacing significant like &lt;pre&gt; does.  &lt;nohtml&gt; merely
  disables all &lt;...&gt; and &amp;aaa; markup.  Line wrapping still occurs
  normally.

  &lt;nohtml&gt; certainly would have made typing the previous paragraph
  easier!


  <hr><i>stephan added on 2008-11-18 08:13:50:</i><br>
  Personally i would prefer that we go more towards compatibility with Google Code's wiki, in which case the "verbatim" or "code" markup is:

  {{{
  your code goes here
  }}}

  Of the wikis i've worked with, this one is (to me) the lest intrusive, easiest to type, and easiest to spot when editing.

  <hr><i>kkinnell added on 2008-11-18 15:36:11:</i><br>
  I've been using <code>&lt;code&gt;</code> in <code>.wiki</code> files, which is
  not <em>too</em> much of a pain, unless you have to get a '<code>&lt;</code>' in there.  It's not really verbatim, but usually the effect I'm going for is a
  monospaced font.  If an inline verbatim tag would guarantee a best effort to keep
  a <b>short</b> phrase all on one line, it would save putting a few
  <code>&amp;nbsp;</code> characters.

  Don't forget that any sentence that starts "Wouldn't it be convenient if..."
  produces an aroma that the horrible <a href="http://www.catb.org/jargon/html/F/feeping-creaturism.html">feeping creatures</a> can smell a continent away.

  heh.

  <hr><i>drh added on 2008-11-18 16:07:31:</i><br>
  Note that a stray < character in wiki is rendered as &amp;lt; as long as it
  is not followed by a valid markup element name.

  I suppose we could add a &lt;verb&gt; element that worked like
  &lt;code&gt;&lt;nohtml&gt;...

  <hr><i>jeremy_c added on 2009-12-31 04:21:48:</i><br>
  This was added at some point in time as &lt;nowiki&gt;hello&lt;/nowiki&gt;


tkt_uuid: 164e51996282c665382c7e8c9c27fcecc2ea46ac
type: Code_Defect
status: Fixed
severity: Important
foundin: d7a583e697
private_contact: 5c164664f608e8049128be696a3d13e04aa6fafd
resolution: Fixed
title: .zip archive of an artifact should be available w/o a login
comment:
  As per conversation w/ drh, .zip archives should be available w/o logging in, given the proper URI. It's understood that a *link* will not be shown w/o being logged-in, but once a link is known, it should work regardless of logged-in/out status.

  <hr /><i>dmitry added on 2011-09-11 14:08:34 UTC:</i><br />
  Fixed in [fa6e993017] ("Download Zip" permission).


tkt_uuid: 16f8dabf6691cd6f5c9afdbf0d41cb3bfc3f92e0
type: Feature_Request
status: Open
subsystem: one
priority: Immediate
severity: Cosmetic
foundin: f3fb0
private_contact: 22e3b7a55e291d179313f4c2e34877f09743ee31
resolution: Open
title: Prune empty dirs when switching checkout UUIDs
comment:
  If a developer commits changes including a new dir containing files, then reverts  via "checkout" command to an earlier UUID or another checkout without that new dir, the new dir's file are removed, but the empty directories remain.

  It would be nice to see the source tree revert as closely as possible to its original state when the UUID was created, including dir structure.  It would be easier for the developer to keep clear just what's being worked on, if nothing else.

  Perhaps as an option for the checkout command, if not the default.

  <hr><i>stephan added on 2008-09-19 07:30:34:</i><br>
  As a workaround, in theory you can use the 'clean' command for that. That'll nuke all files in the tree which are not part of a current checkout.

  <hr /><i>mistachkin added on 2011-11-13 09:59:00 UTC:</i><br />
  The 'clean' command does not currently remove empty directories.  I think it would be very nice if it did.


tkt_uuid: 17389900b2e5bd8165b8ca637d2cd32664defb62
type: Feature_Request
status: Fixed
severity: Important
foundin: fossil version [9de6abab2a] 2008-11-15 14:18:09 UTC
private_contact: a2024467242089d1dce2d3a24ac29a8241112db9
resolution: Fixed
title: "open" needs to warn before overwriting existing files
comment:
  If you "clone" a repository to a directory that already has files with the same name as ones in the repository, the existing ones get overwritten without warning.

  I would like to request, at the very least, something like "File x already exists, overwrite?".  Ideally, this would then ask to diff the two.

  <hr><i>anonymous claiming to be mario added on 2010-06-22 16:41:32:</i><br>
  Yeah, I've run into this too. Lost a bit of new code when trying to bring an existing code base into Fossil version control.

  The term "open" does not convey that anything is going to be overwritten. That's an uncommon event with that terminology. Here is a clear need for a big fat warning in the documentation or a behaviour fix. Instead of the optional --keep, there should be a required --overwrite if anyone really wants to kill current data in favour of repository contents.

  <hr><i>eric added on 2010-06-22 18:25:02:</i><br>
  If you had done

  <pre>fossil help open</pre>

  (and why wouldn't you if you are new to Fossil), you would have found out about <code>--keep</code>. But I would never have considered anything other than creating a new working directory first (including the <code>fossil open</code>) and copying my stuff into it after that.  Do not expect software to work the way you expect it to work, always check!

  If confirmation requests were added it would interfere with <b>my</b> work methods.


tkt_uuid: 173e80a4df2d12f239850a28237968cf5713b07e
type: Feature_Request
status: Open
severity: Cosmetic
foundin: 11b3f31de959dc5bb81c8d20a4716d6354d2801a
private_contact: bcda72702795946817fd2b0d0b138988a5ad7989
resolution: Open
title: fossil header/footer/css/ticket pages should be version controlled
comment:
  Fossil header/footer/css/ticket pages (possibly everything under fossil config) should be version controlled. I understand that it is not desiderable to have them synced by default, but when you DO want to keep them synchronized between several repositories, it would be much simpler if the system automatically knew what is the most current one so the "fossil config sync ..." would do the right thing (currently I must think if I want pull or push, and doing the synchronization automatically is impossible ; also, configuration is transfered even when already identical).

  Also, ticket [bf536aff75] mentioned that "it would also be nice if these elements were revision controlled, but that is an entirely different ticket" ... I didn't found such ticket so I'm writting it.

  <hr><i>anonymous claiming to be anonymous (reporter) added on 2010-05-09 23:14:46:</i><br>
  Based on my (possibly limited) understanding of syncing process, I would propose following implementation:

  1) Instead of storing value of config variable directly, the value would be stored in artefact (with additional information like parent artefact) and the ID of artefact would be stored in config variable.

  2) On config push/pull, the "pushing side" would say "I'm using artefact with ID X for this config variable". The "pulling side" would then compare ancestors of the pushing side artefact and its own artefact for this variable and determine which is newer. In case of conflict, the configuration would stay unchanged but user would be warned and given some tool to resolve the conflict on "pulling side" repository (use local, use remote, "merge" and edit).


tkt_uuid: 178db4bfff231152db5c5febb0f77c159ab36484
type: Code_Defect
status: Closed
severity: Important
foundin: fossil-macosx-x86-20100318142033
private_contact: 36f0fb79a71d7f6f746a9380e7eab81fa1eb1b8a
resolution: Withdrawn
title: cannot clone www.fossil-scm.org/
comment:
  I'm just trying to clone fossil to compile,
  The error
  1./fossil: unknown command: 
  occurs when I try to clone fossil, with or without an id:password in the clone URL.

  This is happening on my x86 mac, but I want to update my server which can't use a precompiled binary. (~5yo PPC Powermac)



  ---

  sp-laptop:fossil-src spdegabrielle$ ./fossil clone http://www.fossil-scm.org/ myclone.fossil
                  Bytes      Cards  Artifacts     Deltas
  Send:              49          1          0          0
  Received:      316751       6885          0          0
  Send:           10025        225          0          0
  Received:      555629        254         24        176
  Send:           18849        415          0          0
  Received:      447882        440         52        348
  Send:           37649        801          0          0
  Received:      712231        840         54        746
  Send:           75249       1601          0          0
  1./fossil: unknown command: 
  sp-laptop:fossil-src spdegabrielle$ ls
  fossil

  <hr><i>anonymous added on 2010-03-25 20:33:48:</i><br>
  Worked out should exclude the password - then it works fine. 

  Still the error message wasn't hepfull.


tkt_uuid: 1853e51989afa6fbfebd70c8e46c72640643e388
type: Feature_Request
status: Fixed
severity: Critical
resolution: Fixed
title: GPG sign the downloadable releases
comment:
  Hi!

  Please provide GPG-signed downloads on the download page.
  How can I trust the executables otherwise?

  It seems that fossil allows signing of each manifest / checkin, but the executable on the downloads page are unverified.

  Also it would be nice if the downloadable tar.gz or zip balls are signed.

  Thanks

  BB.

  <hr /><i>anonymous claiming to be bert added on 2011-04-18 12:17:05 UTC:</i><br />
  see also:
  http://www.mail-archive.com/fossil-users@lists.fossil-scm.org/msg04097.html

  -- this post never had any reply it seems, although DRH cares much about security and likes GPG, as far as I can see, see for example:
  http://www.mail-archive.com/fossil-users@lists.fossil-scm.org/msg01611.html

  So I really think this request is reasonable.

  <hr /><i>drh added on 2011-04-18 12:49:18 UTC:</i><br />
  A page showing SHA1 checksums for all download products has been placed on
  a separate server in a separate datacenter.


tkt_uuid: 18ea58d26e4edb86c21f935c61abf229ff07ccb0
type: Incident
status: Open
severity: Important
foundin: Fossil version [73c24ae363] 2010-03-18 14:20:33
private_contact: ddb110ae6d44153351f29ff08ed5f1bf476ee43e
resolution: Open
title: Unable to login
comment:
  I created a new repository and fired up the command: fossil server /path/to/proj.db

  When I try to login on port 8080 I get the following error message:

  unable to open database file
  REPLACE INTO config(name,value) VALUES('captcha-secret', lower(hex(randomblob(20))));

  I tried the precompiled version and compiled the source myself. The result is the same. OS is a Debian 5 standard system. 

  Help appreciated.

  <hr /><i>stephan added on 2011-09-15 22:09:29 UTC:</i><br />
  Is the _directory_ containing the fossil file writable? It needs to be for sqlite3 journaling to work (at least in my experience).


tkt_uuid: 191b0c2d8dd5a4dc932cee5bb6f5eae74a280844
type: Code_Defect
status: Closed
severity: Minor
foundin: 5.3 b
resolution: Not_A_Bug
title: bulk analysis crashes it ouput path does not exists
comment:
  Bulk analyse causes a crash when the pathname you want to store the results in does not exists. Intervention users can have a keyboard so it is possible to enter new pathnames

  <hr /><i>drh added on 2011-03-01 14:15:47 UTC:</i><br />
  I have no idea what "bulk analysis" is.  There is no "version 5.3 b".
  No contact information provided.


tkt_uuid: 1927cbd979cb812c99389a73fed7cd6c5c67647f
type: Code_Defect
status: Fixed
severity: Important
foundin: b05cb4a0e1
private_contact: 5c164664f608e8049128be696a3d13e04aa6fafd
resolution: Fixed
title: BSD Make broken w/ SSL merge
comment:
  <pre>
  oxford$ uname -a
  NetBSD oxford 5.0_STABLE NetBSD 5.0_STABLE (oxford) #32: Wed Feb  3 20:23:00 PST 2010  root@oxford:/usr/obj/sys/arch/i386/compile/oxford i386
  oxford$ make
  make: "/home/bch/fossil_2/Makefile" line 36: Need an operator
  make: "/home/bch/fossil_2/Makefile" line 38: Need an operator
  make: "/home/bch/fossil_2/Makefile" line 54: Need an operator
  make: "/home/bch/fossil_2/Makefile" line 56: Need an operator
  make: Fatal errors encountered -- cannot continue

  make: stopped in /home/bch/fossil_2
  oxford$ 

  </pre>

  <hr><i>bharder added on 2010-02-08 21:55:59:</i><br>
  [http://www.netbsd.org|NetBSD] users can use pkgsrc/devel/gmake to work around in meantime.


tkt_uuid: 195e50e93489c4997d698a1ec2634a1398d29975
type: Code_Defect
status: Fixed
severity: Important
foundin: f105bc17a0
private_contact: 24b67375dd2ec6c7381a5ad34cfcf006f0b9c260
resolution: Fixed
title: out of memory error with fossil sqlite3 command
comment:
  <pre>
  With fresly rebuild repository this sequence crashes fossil:

  c:\soft\msys\home\user\fossil>fossil ver
  This is fossil version [f105bc17a0] 2010-11-26 18:43:22 UTC

  c:\soft\msys\home\user\fossil>fossil sqlite3
  SQLite version 3.7.4
  Enter ".help" for instructions
  Enter SQL statements terminated with a ";"
  sqlite> select * from blob where uuid='2e68abae2f7da03c7418cfe4eedc11c484fbee82'
  ;
  9935|622|2886|2e68abae2f7da03c7418cfe4eedc11c484fbee82|
  sqlite> select content('2e68abae2f7da03c7418cfe4eedc11c484fbee82');
  c:\soft\msys\home\user\fossil\fossil.exe: out of memory
  SELECT 0 FROM blob WHERE uuid='2e68abae2f7da03c7418cfe4eedc11c484fbee82'

  If you have recently updated your fossil executable, you might
  need to run "fossil all rebuild" to bring the repository
  schemas up to date.

  </pre>


tkt_uuid: 198c6f9996ab377eaad050d2bc134faac1ecd7bc
type: Documentation
status: Closed
resolution: Duplicate
title: link to list archives is broken
comment:
  the link to http://lists.fossil-scm.org:8080/pipermail/fossil-users/ for the list archive from the page at http://lists.fossil-scm.org:8080/pipermail/fossil-users/ is returning 404

  <hr><i>anonymous added on 2008-11-25 05:03:30:</i><br>
  sorry i meant FROM http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

  <hr><i>drh added on 2008-11-25 11:45:53:</i><br>
  Duplicate of ticket [cc8271389a]


tkt_uuid: 19a818b1572902cd9d96dd18c42d1c1ed2a9215f
type: Feature_Request
status: Closed
severity: Minor
foundin: [d63f87c003] 2009-03-22 13:44:43
private_contact: f90bcb24dfca980c917cc6e29c04b9cd06605ba9
resolution: Fixed
title: Allow Wiki link to be redirected like the Home link.
comment:
  It would be nice if the Wiki link in the toolbar could be redirected as the defaul page isn't very nice.

  Alternatively, could  a template be made available in the Admin section?

  <hr><i>drh added on 2009-04-24 14:24:21:</i><br>
  Under Admin-&gt;Header you can edit the HTML text that generates the
  menu bar and make it say or link to anything you want.


tkt_uuid: 19be0265ffe5d1103e739e636ffef86c1cc60543
type: Code_Defect
status: Fixed
severity: Important
foundin: 02f638a16f
private_contact: dc565ed5b6963a47e42a2afde5bc77bf41ed52c3
resolution: Fixed
title: Rebuild button on Shun page on UI generates incorrect output
comment:
  I shunned an artifact in the wiki and clicked on the rebuild button and the refreshed page didn't render properly in my browser. Here's the start of the page output to the browser (excluding the 'quote' pseudo-tags, of course):
  <quote>
   (0%)...
  HTTP/1.0 200 OK
  Date: Wed, 17 Feb 2010 19:49:24 GMT
  Connection: close
  Cache-control: no-cache, no-store
  Content-Type: text/html; charset=utf-8
  Content-Length: 3823
  </quote>

  <hr /><i>anonymous added on 2011-04-13 19:03:07 UTC:</i><br />
  still a problem with the latest release

  <hr /><i>dmitry added on 2011-09-12 19:43:14 UTC:</i><br />
  Fixed in [2cd21f8dc2].


tkt_uuid: 1a4109858891ee63f4a6129137d8921262cc717d
type: Code_Defect
status: Open
severity: Critical
foundin: 002580c50d
private_contact: 052878a4be90f52d390c8022e271c0c1885d5c80
title: Statically linked fossil failing to resolve DNS names?
comment:
  Prebuilt (statically linked) fossil ver. 002580c50d is failing to resolve names:

  "fossil: can't resolve host name: core.tcl.tk"

  Prebuilt [a75e2d2504], however works.

  ** This Ticket filed on behalf of Alex F. (Alex's email included in ticket).

  Transcript from discussion w/ Alex:

  <pre>
  11:08 <@ijchain> <ferrieux> "fossil: can't resolve host name: core.tcl.tk" -- but ping core.tcl.tk resolves okay -- and libnss_dns.so.2 is properly loaded by fossil.
  11:08 <@ijchain> <ferrieux> this is a fresh machine and the current prebuilt binary for linux
  11:09 <@ijchain> <ferrieux> ?
  11:10 < yukonbob> hi alex.
  11:10 <@ijchain> <ferrieux> hey Brad
  11:16 < yukonbob> alex: runs trace on it to see what's happening?
  11:16 < yukonbob> *strace

  ...

  11:22 <@ijchain> <ferrieux> open("/lib/libnss_dns.so.2", O_RDONLY) = 8
  11:22 <@ijchain> <ferrieux> so ti dlopens it cleanly
  11:22 <@ijchain> <ferrieux> but doesn't do the usual UDP on port 53
  11:22 <@ijchain> <ferrieux> somehow it fails to call libnss_dns properly
  11:22 < yukonbob> short-circuited w/ /etc/hosts?
  11:22 < yukonbob> oh
  11:23 <@ijchain> <ferrieux> nope 'nc' works and does exactly the same
  11:23 <@ijchain> <ferrieux> loads the same libnss_dns.so.2 and then actually does DNS (port 53)
  11:23 < yukonbob> the plot thickens..

  ...

  11:24 <@ijchain> <ferrieux> This is fossil version 1.21 [002580c50d] 2011-12-13 13:53:56 UTC

  ...

  11:25 <@ijchain> <ferrieux> who knows
  11:25 < yukonbob> what vers. of resolvers.
  11:25 < yukonbob> oh... os x -- xed.
  11:25  * yukonbob 1.21 [a7248...] on NetBSD == good.
  11:26 <@ijchain> <ferrieux> /lib/libnss_dns.so.2 from glibc-2.11.2-3.i686 on Fedora 12

  ...

  13:05 <@ijchain> <ferrieux> 'k, that's a regression. fossil 1.20 has no problem on the same machine.
  13:05 <@ijchain> <ferrieux> I assume this is related to the switch to static linking
  13:08 < yukonbob> alex: appears to be linux-specific regression.
  13:09 <@ijchain> <ferrieux> yes

  ...

  13:24 <@ijchain> <ferrieux> I just took the last two prebuilt binaries for linux x86. Latest fails, previous one works.
  13:25 <@ijchain> <ferrieux> And the latest is a fat statically linked one, unlike the other.
  13:25 < yukonbob> ok -- [fossil version] of working and failing tests?
  13:26 <@ijchain> <ferrieux> working: This is fossil version 1.20 [a75e2d2504] 2011-10-21 12:52:53 UTC

  ...

  13:26 <@ijchain> <ferrieux> failing This is fossil version 1.21 [002580c50d] 2011-12-13 13:53:56 UTC

  ...

  13:26 < yukonbob> and the prev. vers that works?
  13:27 <@ijchain> <ferrieux> [22:25]IferrieuxIworking: This is fossil version 1.20 [a75e2d2504] 2011-10-21 12:52:53 UTC

  ...

  13:29 <@ijchain> <ferrieux> you'll note that even the static one does a dlopen() of the dns libs
  13:29 <@ijchain> <ferrieux> but the dlopen somehow fails (no mmap)
  </pre>


tkt_uuid: 1a99e30dd4d4f88682d157af46ae0ffe7fbe4b07
type: Code_Defect
status: Fixed
severity: Important
foundin: c4c231069e4bde488725c80689c834106a969b44
private_contact: ddae85699df0ae84ab8e0a6a6dacf72bab6d4a7a
resolution: Fixed
title: RSS link within the feed does not point to item matching the title
comment:
  Set up to pull the RSS feed from "http://www.fossil-scm.org/index.html/timeline.rss" 

  I get new tickets, the titles match what is shown.  For example, <b><tt><nowiki>Ticket [96af2fca6d] web "Sync Now" need to provide repository path argument. status still Open with 1 other change</nowiki></tt></b>.  

  But the link inside the feed body is something totally unrelated: <b><tt><nowiki>http://www.fossil-scm.org/index.html/ci/7d7a137c2f0e73ea43416d9d436c6fb467bd3da6</nowiki></tt></b> -- which is (apparently) the artifact which contains the ticket.

  I would expect clicking on the link to bring up the body of the ticket or whatever, not a bit of bookeeping which is not too interesting.

  <hr /><i>dmitry added on 2011-09-11 14:21:35 UTC:</i><br />
  Fixed in [66d93f33d5].


tkt_uuid: 1aaadb4f0dbb57842bd892e62c3256d0d3057259
type: Incident
status: Open
severity: Important
foundin: [71ad9b62a7
private_contact: be550bfd65ad2b35c5af076e5620344955089a2e
resolution: Open
title: fossil: SQL error: out of memory
comment:
  Is this a bug or fossil reach its limit on size of source tree ?
  the machine has only 512M of RAM. The iso directory is 22G in size.

  <pre>
  root@600m:/pub# fossil commit -m "add iso" -nosign
  fossil: SQL error: out of memory

  If you have recently updated your fossil executable, you might
  need to run "fossil all rebuild" to bring the repository
  schemas up to date.
  root@600m:/pub# du -ks iso
  22293214        iso
  root@600m:/pub# ^C
  root@600m:/pub# fossil version
  This is fossil version [71ad9b62a7] 2009-12-31 14:59:03 UTC
  root@600m:/pub# cat /etc/release
                         OpenSolaris Development snv_130 X86
             Copyright 2009 Sun Microsystems, Inc.  All Rights Reserved.
                          Use is subject to license terms.
                             Assembled 18 December 2009
  root@600m:/pub#
  </pre>

  <hr><i>anonymous claiming to be ge added on 2010-01-07 19:11:27:</i><br>
  Fossil (and Git and Mercurial) don't do too well as a repository for huge binary blobs. You probably either ran out of address space or out of swap space. SQLite also has a limit on the blob size it will store.



  <hr><i>bharder added on 2010-01-07 22:29:04:</i><br>
  SQLite itself should not be limiting factor in this case: [http://www.sqlite.org/limits.html|SQLite limits].

  <hr><i>bharder added on 2010-01-07 22:34:06:</i><br>
  Oops... I take that back... the total # bytes for this commit is 22828251136 (22 billion, 8 hundred million...). More than 1 billion default sqlite3 limit.

  <hr><i>anonymous added on 2010-01-26 22:54:40:</i><br>
  still getting "out of memory" and less verbosed (no  more "SQL error:" ).
  <pre>
  root@600m:/pub# ls -l *.fsl
  -rw-r--r-- 1 root root 43008 2010-01-26 08:56 iso.fsl
  root@600m:/pub#fossil add iso
  <snip>
  ADDED  iso/mi-vt.py.bz2
  ADDED  iso/pdf-letter-2.5.zip
  ADDED  iso/qemu-0.9.0-windows.zip
  ADDED  iso/qemu-20070827-windows.zip
  ADDED  iso/sol-10-u5-doc-ga-dvd-iso.zip
  ADDED  iso/ubuntu-server-6.06.2-i386.zip.torrent
  ADDED  iso/zenoss-2.1.2-x86.vmware.zip
  root@600m:/pub# fossil commit -m "add iso" -nosign
  out of memory
  root@600m:/pub# fossil version;date
  This is fossil version [b8d812efb9] 2010-01-26 14:38:12 UTC
  Tuesday, January 26, 2010  4:50:04 PM CST
  root@600m:/pub#
  </pre>


tkt_uuid: 1b1f4300786a3f1626819fc6876dff29e6d40206
type: Feature_Request
status: Open
foundin: [cf178577ec]
private_contact: 75ccf14dca62728f6b2e151da4674a92b78e0e94
title: sync via network share
comment:
  We are testing fossil in a very simple setup: the master repository is on a project share that our stuff has access to, only the fossil database, not running as fossil server.

  Cloning that file locally works, so we can work with that clone while offline.  However, when the network share is accessible again, we would like to sync these changes.  Fossil complains that only pull, but no push is possible.  Granting all possible rights didn't change anything.

  We are using the Windows version of fossil.


tkt_uuid: 1b20ab6cdbeb33644f6d6c1a14028ac53c1c0941
type: Code_Defect
status: Open
severity: Critical
foundin: 4f24addea9
private_contact: 21c0f447532234366dbec18d60d747db150b5faa
resolution: Open
title: "Fossil : no such file: in -E2F0FD85......."
comment:
  What we've tested.

  All machines are running fossil version 4f24addea9 2009-12-20 and for all of the following machines we tried a clone from my server machine.

  Using The Internet: His computer running Windows 7 - Didn't work His laptop running Windows 7 - Didn't work His server running XP - DID work My Computer using my DNS:Port running Windows 7 - DID work

  Using My Local Network: My Computer using my localhost:port running Windows 7 - DID work

      My friend can't commit to the database even after cloning. 

  He keeps getting an error message

  "Fossil : no such file: in -E2F0FD85.......".

      Nothing in the database starts with a negative and doesn't have E2F0FD85 anywhere in the timeline. This seems as if the database is corrupt but we've successfully clone/committed as specified above. 

  Has anyone seen this kind of error before?

      The error occurs when I normally get the "unable to sign manifest. continue (y/N)?" message from fossil so the error is displayed after 

  " 'gpg' is not recognized as an internal or external command, operable program or batch file.'

  Though I realize some of you may not see these prompts I hope someone can be of help.

  <hr><i>drh added on 2010-03-01 00:48:07:</i><br>
  Please try running with the --httptrace option, like this:

      fossil clone http://whatever/ local.fossil --httptrace

  The debugging output that results might give us a clue about what is going wrong.

  <hr><i>anonymous added on 2010-03-01 18:07:52:</i><br>
  OK waiting for the user with the issue to run that command.  I have run it but it has always worked on my machine so that's probably not useful.  What part of the the report is what you want to see?  Should I email you the entire report?

  Also, while I have your attention, if I do have to start a new database is there a way to take all the settings and tickets from my current database to the new one without having to enter them by hand??  Like the tickets setup, users, all filled out tickets?  Has this export feature been requested?  If not, I guess this is my feature request.  If you'd like me to put it into a new ticket I will gladly do so. 

  <hr><i>anonymous added on 2010-03-03 19:57:59:</i><br>
  Instead of using --httptrace  to test over the internet we decided to have him create a new database and try to commit to it and he's still getting the same issue.  Anyone have any idea??? I'm dying here!!!



  <hr><i>anonymous added on 2010-03-08 00:15:29:</i><br>
  I just wanted to let everyone know that if they get the error I reported that it may have to do with the antivirus system you have installed.  The one we had installed was Computer Associates Antiviris version 6 and it actually stopped our commits.  Very odd.  After an uninstall it worked fine.


tkt_uuid: 1b340a484994db1829fc2224ac61ff95f4cfbe28
type: Feature_Request
status: Open
priority: Low
foundin: e5e6ca4659
private_contact: 5997cbe2835ebb6f36685b0646aff444c56cd556
resolution: Open
title: fossil writes to my home directory or fails if $HOME is unset
comment:
  Various, perhaps all, commands operating on a fossil repository fail if
  $HOME is unset in the environment.  I regularly clear my environment
  except for PATH=/bin:/usr/bin:/usr/local/fossil/20110531/bin in order
  to get reproducible behaviour out of programs, but fossil fails.  It is
  not obvious why fossil cares about $HOME at all.

  I was very unpleasantly surprised to learn not only that fossil cares
  that $HOME be set, but also that fossil writes to my home directory
  when I didn't ask it to, which is absolutely unacceptable behaviour.
  I can't fathom why fossil would ever write to any file outside a
  repository that I asked it to write: this is extremely counterintuitive
  behaviour for a source code revision control system.

  I tried `mkdir ~/.fossil' to force fossil to give up writing to my home
  directory, which works to stymie many programs that misbehave
  similarly, but fossil refused to proceed after failure to open
  ~/.fossil as an sqlite database.

  <hr /><i>anonymous claiming to be mgagnon added on 2011-05-31 21:13:32 UTC:</i><br />
  A lot of program write to your home directory to store user specific settings without asking you. I don't see how it is an unacceptable behavior. 

  Fossil Store the list of repository you have on your system (which use the "fossil all" command) and global settings. e.g. if you want to use meld as diff program, you can set it globally, so you will not have to set this on every repository.

  regards.

  <hr /><i>anonymous added on 2011-05-31 23:18:50 UTC:</i><br />
    `A lot of program write to your home directory to store user specific
     settings without asking you. I don't see how it is an unacceptable
     behavior.'

  This is unacceptable because by writing to my home directory the
  program is performing destructive functions I did not ask it to
  perform.  These destructive functions do not fit into my mental model
  of what the program is supposed to be doing, which makes using the
  program very confusing and unpleasantly surprising.

  It would be acceptable for a program to edit update my home directory
  when that is the particular function I request of it.  It is not
  acceptable for a program to change the state of my disk, or to fail on
  a read-only file system, when its purpose is only to show me some
  information about a repository.

  Example: `git config --global' is supposed to write to ~/.gitconfig
  because that's the purpose of the command.  But `git log' doesn't write
  to my home directory, or anywhere at all but to stdout, because its
  purpose is only to be a nondestructive operation to reproducibly tell
  me about the state of the repository.

  Example: Darcs can be instructed to store a patch cache in
  ~/.darcs/cache, if you request it, but Darcs will not write there if
  you don't request it.

  <hr /><i>anonymous claiming to be mgagnon added on 2011-06-01 11:28:34 UTC:</i><br />
  Personally, opening a sqlite3 database on my home directory is not destructive. And for most of the command, it doesn't write to it. Most program access home directory to store settings, and for that, ou don't have to explicitly ask for it. 

  However, it's may be a bit excessive to fail if this ~/.fossil file cannot be found or open for a command like "fossil timeline" which would be able to do the work without it. 

  <hr /><i>anonymous added on 2011-06-02 02:46:51 UTC:</i><br />
    `opening a sqlite3 database on my home directory is not destructive'

  Changing the state of my home directory destroys the previous state.


tkt_uuid: 1b41304d8b7acfc5446bc93eae15baae41dced71
type: Code_Defect
status: Fixed
severity: Cosmetic
foundin: wolfgangFormat2CSS_2
resolution: Fixed
title: <div style="clear: both"> is really necessary?
comment:
  <div style="clear: both;"></div> in the very end of page somehow restricts skinning of fossil. What is the goal of having this. Shouldn't it be just <code>div#footer { clear: both; }</code> property in CSS?

  <hr /><i>wolfgang added on 2010-09-28 08:22:06:</i><br />
  clear both is needed on pages with info boxes(branch,..):
  <pre>
  style.c:
    /* Put the footer at the bottom of the page.
    ** the additional clear/both is needed to extend the content
    ** part to the end of an optional sidebox.
    */
  </pre>
  This is added INSIDE the conten area. I'll try to move this to the footer style. This will require edits on all existing footers, because this has to be added to the footer style definition in the configured CSS.

  <hr /><i>wolfgang added on 2010-09-28 08:32:05:</i><br />
  should be solved with checkin [15b3ad2509] on branch wolfgangFormat2CSS_2. The css definition for div.footer has to be extended with <code>clear: both;</code>, otherwisse sideboxes on some pages(branch,..) will not extend the content area.

  <hr /><i>wolfgang added on 2010-09-28 08:46:24:</i><br />
  the display is not ok, if background color of the entirre page is different from the one, used for the content div. The siddebox maybe higher than the content area.

  So i'll try to move the clear:both back to the content area. Maybe i'll use a empty span with an own class definition.

  <hr /><i>wolfgang added on 2010-09-29 17:14:21:</i><br />
  on trunk: clear:both is only on pages using sideboxes


tkt_uuid: 1b4f9f30c1745f2ee7013a647cdc8f9bcff0d46f
type: Code_Defect
status: Fixed
resolution: Fixed
title: Error when submitting a new bug report.
comment:
  An error occurs when trying to submit a new bug report:

     no such variable: tkt_datetime

  <hr><i>drh added on 2008-11-09 23:02:41:</i><br>
  See check-ins [2664476fbc] and [6eddf50cfe].


tkt_uuid: 1b5773eed1758a03a2feaacaf6305176b701ae80
type: Feature_Request
status: Fixed
severity: Important
private_contact: fd9244f67c587d8b7b138cd140017dae491e3a87
resolution: Fixed
title: Add 'ignore-glob' as a syncable setting for `fossil configuration`
comment:
  ignore-glob is something you can currently pull/push with `fossil configuration`. Could this be added?

  <hr /><i>anonymous added on 2011-02-07 19:09:01 UTC:</i><br />
  Pardon, I meant "can't do".


tkt_uuid: 1b5f29ce6374befcbbd3849bec549176bc6bc8be
type: Code_Defect
status: Open
severity: Minor
foundin: 1.19
title: Ticket view does not escape HTML
comment:
  While ticket list escapes HTML, the single ticket view strips it. This inconsistency is easily visible in case of ticket [cb6baa160dfac]. In a report its name reads `<code>Wiki output strips &lt;div&gt; </code>`. But inside you see `<code>Wiki output strips</code>`. I'd say that the former is better, but IMHO the real defect is the inconsistency.


tkt_uuid: 1b9c66765c2cb4737d6b93bd1339b70daf94e3ff
type: Code_Defect
status: Closed
resolution: Not_A_Bug
title: wrong bug
comment:
  It is impossible to save the automatic calibration in configuration screen.

  <hr /><i>drh added on 2011-03-01 14:14:20 UTC:</i><br />
  Ambiguous description with no contact information.


tkt_uuid: 1cbbf8aecda5f7afff6657656d9b7965f0d2980e
type: Code_Defect
status: Closed
severity: Minor
foundin: 2009.10.11
private_contact: 6ba147a4218010d3c6ffddc5ed73dc017a44bf3c
resolution: Rejected
title: multiple tagging
comment:
  It is easy to accidentally tag multiple points with the same tag.
  Generally this would be due to a typo or other error, so it really should be guarded against.  E.g.,
   fossil tag add foo-tag blah
   fossil tag add foo-tag bleh
  No error, no warning, oops.
  (Suggest requiring current tag to be cancelled before allowing a second point to be given the same tag.)

  <hr><i>drh added on 2009-11-12 18:42:57:</i><br>
  The ability to put the same tag on multiple check-ins is a feature, not
  a bug.  We use it (for example) on SQLite to tag each release with a
  "release" tag.  See [http://www.sqlite.org/src/timeline?t=release].

  <hr><i>anonymous added on 2009-11-13 01:36:38:</i><br>
  Logically speaking then, there are two kinds of tags: ones used to mark a unique state, and ones used to label features of states.  We might call the latter "labels" if we wanted to distinguish them.  Since the former use is quite common, I would suggest requiring a flag when the later use is desired, and kicking back an error when a double tag is created without that option.  I would also suggest some feedback: "creating tag XXX (number 4; 3 other commits also have tag XXX)"

  I do understand that unique tags do not play very well with distributed repos and syncs.  But warnings generated at sync time, or some other feedback, might catch some subtle errors which would otherwise slip through.


tkt_uuid: 1cc5145ac8b36f3af3fa9228e4910f1d581455da
type: Feature_Request
status: Closed
severity: Important
foundin: [73c24ae363] 2010-03-18 14:20:33
private_contact: 3ee274ce2d2982add24b2405f53b32a02504dcd8
resolution: Works_As_Designed
title: wiki does not support images
comment:
  When a non-text file is attached to a wiki page it is shown as text.

  This not only makes use of figures and such impossible in the wiki pages unless the images are hosted elsewhere, it is also incorrect.

  <hr /><i>dmitry added on 2011-09-08 20:20:22 UTC:</i><br />
    *  Click on the link to attached file.
    *  Grab an URL of the image (e.g., right-click, Copy Image URL).
    *  Paste anywhere on the wiki page: <verbatim><img src="COPIED LINK"></verbatim>


tkt_uuid: 1cc5a5c00173c8109d8dbfd55dee722b7aee4c07
type: Feature_Request
status: Closed
severity: Important
foundin: version [0448438c56] 2011-05-28 18:51:22
private_contact: 36f0fb79a71d7f6f746a9380e7eab81fa1eb1b8a
resolution: Duplicate
title: Is a search tickets feature possible?
comment:
  Is a search tickets feature possible?

  I'd have checked if this was already requested - but I couldn't search the tickets! :)

  <hr /><i>anonymous added on 2011-07-27 18:59:15 UTC:</i><br />
  see ticket:7567c8daf9

  <hr /><i>dmitry added on 2011-09-08 23:24:17 UTC:</i><br />
  Duplicate of [7567c8daf9].


tkt_uuid: 1d50540ec50335beef3ee228185392d694c3b66a
type: Code_Defect
status: Open
severity: Minor
foundin: d5729c31b5
private_contact: 84f59114b7eee7088fd7e2932599c69c9ad0761b
title: Merging branches with a renamed file
comment:
  If you update to a branch and move a file to a directory that doesn't exist in the mainline tree, a merge will fail.

  In a new repository (in tcsh(1): <code>alias fs fossil</code>):

  <pre>echo "hello" > bar.txt
  fs add bar.txt
  fs ci -m "Creating a branch" --branch rename_bug bar.txt
  mkdir foo
  fs mv bar.txt foo/bar.txt
  mv bar.txt foo/bar.txt
  fs ci -m "Moved bar.txt to foo/"
  fs up master
  fs merge rename_bug</pre>

  The expected error output is:

  <pre>fossil: SQLITE_BUSY: statement aborts at 2: [ROLLBACK] cannot rollback transaction - SQL statements in progress</pre>

  If you pipe the merge to a file and don't capture stderr, you should be able to spot the problem:

  <pre>fossil: cannot open "/private/tmp/fs-merge-bug/foo/bar.txt" for writing</pre>

  I think it should be pretty easy to replicate the problem.

  I'm speculating, but it looks like the easiest fix is to update src/file.c:file_copy() to be updated to create the destination directory if it doesn't exist.  On the flip side, given the directory permissions, maybe it's better to just append an error message to the output when the command finishes rolling back the merge?  Food for though I suppose.


tkt_uuid: 1d77d8f5661375630c6a0fc24d151beab6d38df2
type: Code_Defect
status: Open
severity: Important
foundin: [cf178577ec]
private_contact: ccd87c60364e1d3e945b6f4d4874f5174b17cc43
title: On firefox, forward and backward don't refill the forms
comment:
  I find it quite annoying, that if I miss some click and follow some link, then I can't go back to the previous page and get the dialogs with the last text I had written there.

  I think it's caused by the http caching rules set by fossil on http responses, but I don't know much detail on how all this works.


tkt_uuid: 1d7bbe30aad51a1d1c2f69090b0b949db0e72c0e
type: Incident
status: Fixed
severity: Minor
foundin: aa57354736
private_contact: 09bcfe9beb6bd1f9361d71b153c193630ed2ac65
resolution: Fixed
title: .../xfer hangs or crashes (CGI)
comment:
  On Windows attempt to get http://server/fossil_base/xfer result to crash of fossil.exe (Windows pops window 'fossil.exe unexpectedly stops' and web-server, running this cgi, shows error page about fossil process).

  On Linux it seems to hang (nothing appears in browser if I run http://www.fossil-scm.org/fossil/xfer).

  This is not a code defect, but it would be useful, if this page (that normally accepts POSTs) output something in case of GET too, instead of crash. Meta information about cloneability, for example.

  <hr><i>drh added on 2009-09-16 14:51:07:</i><br>
  Fixed in check-in [39a144eb5cdde5bced1dce3aefa57272b80afbd3]


tkt_uuid: 1dd22c3a2b5585db58f4b331e436793a0b277608
type: Feature_Request
status: Closed
severity: Cosmetic
foundin: [f6a071cef1] 2008-11-18 02:21:00
private_contact: fa3d79500802fb558cdda589d6f03fdcc3496420
resolution: Fixed
title: Setup : CSS : Edit CSS misses 'Revert To Default' button
comment:
  It would be consistent with similar pages to have a 'Revert To Default' button on the Edit CSS page as well.

    *  Setup : CSS : Edit CSS : Has 1 button: 'Apply Changes'
    *  Setup : Header : Edit Page Header : Has 2 buttons: 'Apply Changes' and 'Revert To Default'
    *  Setup : Footer : Edit Page Footer : Has 2 buttons: 'Apply Changes' and 'Revert To Default'

  <hr><i>anonymous claiming to be Kees Nuyt added on 2008-11-27 23:30:16:</i><br>
  Solved 2008-11-26 22:24:45 by "eric" in [adefb6c8db].

  Thanks Eric!


tkt_uuid: 1e43138b8b8e90fadd20f39155d522175f168662
type: Incident
status: Fixed
severity: Important
foundin: 1.24 [8d758d3715]
private_contact: c7bde4324fa2b46cee22ba73474d1d5ccc90fef3
resolution: Fixed
title: SQLITE_CONSTRAINT on rename
comment:
  rem on Windows 7:
  fossil new kim_possible.__fossil__
  fossil open kim_possible.__fossil__
  echo Disney land > disney.txt
  echo New Disney land > new_disney.txt
  fossil add disney.txt new_disney.txt
  fossil ci -m "two"
  echo Updated >> new_disney.txt
  fossil ci -f -m "Updated" -branch updated
  fossil delete disney.txt
  fossil rename new_disney.txt disney.txt

  <hr /><i>anonymous added on 2012-11-07 10:27:44 UTC:</i><br />
  I'm sorry for missing new lines
  <pre>
  rem on Windows 7:
  fossil new kim_possible.__fossil__
  fossil open kim_possible.__fossil__
  echo Disney land > disney.txt
  echo New Disney land > new_disney.txt
  fossil add disney.txt new_disney.txt
  fossil ci -m "two"
  echo Updated >> new_disney.txt
  fossil ci -f -m "Updated" -branch updated
  fossil delete disney.txt
  fossil rename new_disney.txt disney.txt 
  </pre>


tkt_uuid: 1e8b4d2ef3723e3c42fad2fb30329caf94e51f3f
type: Build_Problem
status: Closed
severity: Critical
foundin: N/A
private_contact: bd67c5ec03f37ab8329651ac2c8c72faad131e93
resolution: Unable_To_Reproduce
title: No manifest.uuid in downloaded zip file
comment:
  Downloaded zip file for 3543ed from http://www.fossil-scm.org/, but it contains no manifest.uuid, so cannot be built.

  <hr /><i>drh added on 2010-12-16 02:22:07:</i><br />
  The copy of the ZIP archive I downloaded seems to have all the files, 
  including manifest and manifest.uuid.  Can you provide more information
  on how you encountered this problem?

  <hr /><i>eric added on 2010-12-16 11:25:54:</i><br />
  It worked today! I will try to figure out what was different, may have been my fault somehow.


tkt_uuid: 1e919e389bb96b1311337b74d63c27e72052554a
type: Incident
status: Closed
severity: Severe
foundin: [37f295c310] 2009-09-21 19:19:20 UTC
private_contact: cac53f059e06402625535d363c84a4e2ab543e92
resolution: Not_A_Bug
title: "fossil update" doesn't update
comment:
  I have a netbook running Ubuntu "Karmic Koala", on which I have several fossil repositories.  The main copy of these repositories resides on my web host.  After a "fossil all sync" in which I saw new artifacts coming across, I went to the working directory trees on the netbook and did a "fossil update": and nothing happened.  I tried this in two working directory trees where I knew there were new artifacts, among other updates...and "fossil update" did not pull them in.

  Then, I checked out the repositories into new directories using "fossil open", and the new artifacts and updates were checked out with everything else.

  So the "fossil sync all" worked; there was presumably something about the working directories that prevented "fossil update" from doing its thing.

  Help!  This is disturbing.

  <hr><i>drh added on 2009-11-26 23:09:31:</i><br>
  I have changed this ticket to an "Incident" and closed it.
  Let us not presume that this is something wrong with Fossil until
  we better understand the problem here.  It may be something as
  simple as the host computers clock being set to the wrong year.
  If, after further analysis, it turns out that this is a problem
  with fossil, we can reopen the ticket.

  Please consider posting about the issuing on the mailing list.

  Will, many many people really have been using Fossil, on Ubuntu, for
  a really long time.  Nobody has seen anything like this before.  It
  must be something obscure.  Don't panic.

  <hr><i>anonymous added on 2009-11-27 10:51:07:</i><br>
  I have the same problem and I am using ubuntu Karmic Koala.

  <hr><i>drh added on 2009-11-27 12:14:40:</i><br>
  If you would like me to work on this problem, you are going to need to 
  provide me with additional information.  The preferred way to do this is
  to bring up the issue on the Fossil mailing list.  But, failing that, please
  provide whatever detail you can to describe the problem.

    *  What commands actually work (Please try them all)

    *  Does "fossil update" work if you specify a specific version to check out?

    *  What do you see if you run "strace" in front of "fossil update"?

    *  What do you see if you use the --sqltrace option on "fossil update"?

    *  Have you tried running fossil in a debugger to see what is going on?

  <hr><i>anonymous added on 2009-11-28 21:04:57:</i><br>
  Sorry, Richard, didn't mean to give the impression that I was in a state of panic.  It's disturbing precisely because (in my experience) Fossil is so stable; this incident was out of character, as it were.  I'll try to bring things like this up on the mailing list first, since that's your preferred process.


tkt_uuid: 1ec8be0c5332ef57cf4dbe1b3e96fe25ca4ddf00
type: Code_Defect
status: Open
severity: Important
foundin: [e09af364aa] 2010-03-22 09:38:44
private_contact: 3ee274ce2d2982add24b2405f53b32a02504dcd8
resolution: Open
title: /doc on fossil web shows index.wiki but links on the page are broken
comment:
  When you point the browser to /doc on a fossil web (such as http://127.0.0.1/doc when using the "fossil ui" command) the file index.wiki is rendered but the links in the file point to nonexistent pages.

  When the (presumably) same file is accessed as /doc/tip/index.wiki it works as expected.

  This "feature" is quite confusing.

  <hr><i>anonymous added on 2010-06-17 14:37:45:</i><br>
  Attached patch applies on top of patch from ticket 0e5d75657faa7a7cefb3ba8546d2b377e8bee4ed and changes /doc to a redirect.


tkt_uuid: 1ee813d65ff438df7eac343162f45b32dbefb3b4
type: Code_Defect
status: Closed
severity: Important
foundin: be0e804130
private_contact: ddae85699df0ae84ab8e0a6a6dacf72bab6d4a7a
resolution: Fixed
title: "fossil wiki commit" also pushes changes
comment:
  Using 'fossil wiki commit' also pushes the changes to the remote repository.  

  Probably the "autosync(AUTOSYNC_PUSH)" at the end of wiki_cmd_commit() is wrong


tkt_uuid: 1f1e1f7a4c89214db81c7102a364695fbe44ae7d
type: Incident
status: Closed
foundin: 3.0
private_contact: b3ab4fcf884afe745f9f639b1e4ff5adc881c33f
resolution: Open
title: Client menu option hangs
comment:
  When clicking on the client menu option, system hangs.

  <hr><i>kejoki added on 2008-12-01 15:53:26:</i><br>
  Does anyone know what this ticket is about?

  <hr><i>kkinnell added on 2008-12-09 16:13:42:</i><br>
  Not able to resolve / may have been otherwise resolved. 


tkt_uuid: 1f82e0e1ec1c867d0de3ff813ae2363dfe070020
type: Documentation
status: Closed
severity: Cosmetic
private_contact: f7a8d3a6a73c86bb80df4faa8f5414307e6a1b68
resolution: Fixed
title: Typo in www/wikitheory.wiki
comment:
  There seems to be a missing article:

  - format is used, it is trivial to move file from wiki to embedded documentation

  should probably be replaced with:

  + format is used, it is trivial to move files from wiki to embedded documentation

  or with:

  + format is used, it is trivial to move a file from wiki to embedded documentation


tkt_uuid: 1fad9cdbfc4e66a07f7d801ed5df8b0048a27f78
type: Code_Defect
status: Fixed
foundin: 5c30ad4ce154ac1b3a63b3f2adaf181e79fee202
resolution: Unable_To_Reproduce
title: clone w/ ssl has problems with logon
comment:
  Attempting to clone the Fossil repo doesn't work on SSL.  The login handshake seems to fail:

  <nowiki><pre>
  me ~/src$ fossil clone https://ron@www.fossil-scm.org fossil.ssl
                  Bytes      Cards  Artifacts     Deltas          
  Send:              49          1          0          0          

  Unknown SSL certificate:

    countryName               = US
    stateOrProvinceName       = North Carolina
    localityName              = Charlotte     
    organizationName          = SQLite.org    

  Issued By:

    countryName               = US
    stateOrProvinceName       = North Carolina
    localityName              = Charlotte     
    organizationName          = SQLite.org    


  Accept certificate [a=always/y/N]? a
  Received:      296235       6439          0          0
  Send:           10025        225          0          0
  password for ron:                                     
  Server Error: login failed                            
  Received:          20          1          0          0
  Send:            9443        200          0          0
  password for ron:                                     
  Server Error: login failed                            
  Received:          20          1          0          0
  Total network traffic: 11008 bytes sent, 159239 bytes received
  Rebuilding repository meta-data...                            
  6438 (100%)...                                                
  project-id: CE59BB9F186226D80E49D1FA2DB29F935CCA0333          
  server-id:  e86e08dbe4b89c7d0818e45056bd0046a27b2353          
  </pre></nowiki>

  <hr><i>ron added on 2010-02-09 07:01:46:</i><br>
  Note: SSL does work fine, since I can clone if I don't use a password.  But then if I do "fossil remote" with a username, I cannot access the repo.

  <hr><i>ron added on 2010-02-11 06:21:54:</i><br>
  it works in the most recent builds


tkt_uuid: 205152fe151a8421df40546df0d97f10ccee4fb9
type: Code_Defect
status: Open
severity: Minor
foundin: 1.22 [5dd5d39e7c]
resolution: Open
title: Fossil command test-move-repository should run without access to repository
comment:
  Fossil command test-move-repository can (and should) run independently without access to repository.

  This is useful if the repository is moved prior to running this command.

  As a workaround, sqlite3 executable can be used to manipulate _FOSSIL_ as follows:<pre>
  C:\test> sqlite3 _FOSSIL_
  sqlite> UPDATE vvar SET value='new.fsl' WHERE name='repository';
  <pre>

  In similar lines, fossil command sqlite3 should run independent of repository as well as checkout. If run from a checkout, if repository is not available, this command doesn't run even if database is explicitly specified. if run from outside a checkout, it requires a fossil repository through -R option.

  <hr /><i>altufaltu added on 2012-03-27 09:06:24 UTC:</i><br />
  [http://fossil-scm.org/index.html/fdiff?v1=9fcdaea15be8ddb9&v2=818f20c52219f148 | This diff] shows that db_open_repository(0) was added to db_open_local(), which looks incorrect.


tkt_uuid: 207829a5c5ab7afc3dfbc60f8c4d3b92619136cf
type: Code_Defect
status: Fixed
foundin: 474850cff5
resolution: Fixed
title: wiki list formatting
comment:
  Starting the wiki home page with a wiki-syntax list, ie

    *  X
    *  Y

  displayed as a list in preview but didn't format the first line on the committed page.

  <hr /><i>ron added on 2011-07-17 07:08:24 UTC:</i><br />
  Confirmed in [e14f0fe2f3]

  <hr /><i>anonymous added on 2011-07-19 08:36:29 UTC:</i><br />
  hghg


tkt_uuid: 207abab39541557ec01a7dd2d11de4cf837d2af4
type: Incident
status: Closed
severity: Important
foundin: d8221b9863
private_contact: 735ae1c8a572d669bafab35cf8b1f5116c325c86
resolution: Withdrawn
title: when artifact shows a html file swithc to text the shun button becomes the last
comment:
  when choosing files, www/copyright-release.html. 3 buttons are visible download,shun,txt pressing text gives 4 buttons download,hex,html,shun
  this should be download, hex,  shun, html. Normally the last button is a "Toggle" but no I pressed by accident the shun button

  <hr /><i>renez added on 2011-06-29 20:06:07 UTC:</i><br />
  The sub menu for an administrative user when showing an html file
  gives Download, Shun, Text
  when changing to Text the sub menu 
  becomes Download, Hex, Html, Shun
  I would expect Download, Shun, Hex, Html
  So that the right button keeps switching between Html and Text
  However fossil sorts it sub menu and it will be alphabetical and thus Shun will be last..


tkt_uuid: 21447822de6be0614f208bbf8810c1ff233d8ccf
type: Code_Defect
status: Fixed
severity: Severe
foundin: ac8c21b986
private_contact: dac76f2fe95c1fd2dc90443d459ffaa5f29c5f2c
resolution: Fixed
title: fossil mangles autosync url
comment:
  In the latest snapshot build of fossil, I get problems with URLs in autosync:

  <pre>
  PS C:\rev\src\capstray> fossil ver
  This is fossil version [ac8c21b986] 2010-09-02 10:28:21 UTC
  PS C:\rev\src\capstray> fossil update trunk
  Autosync:  http://rev:password%40svn.thereverend.org%3A8080/capstray
                  Bytes      Cards  Artifacts     Deltas
  Send:             146          2          0          0
  c:\rev\bin\fossil.exe: can't resolve host name: rev
  </pre>

  i think the %40 for '@' and %3A for ':' is confusing autosync.  anyhow it is inconsistently applying %3A.

  <hr><i>rwilson added on 2010-09-02 23:37:14:</i><br>
  It looks like fossil remote-url is also adversely affected.  All of those +++ symbols below are some bazaar side effect.  I didn't type them in or redact any of it.
  <pre>
  PS C:\rev\src\capstray> fossil remote-url http://rev:password@svn.thereverend.org:8080/capstray
  http://rev:0password+++++++++++++++++++++++++++++++++++++revvn.thereverend.org%25
  PS C:\rev\src\capstray> fossil update trunk
  Autosync:  http://rev:0password+++++++++++++++++++++++++++++++++++++revvn.thereverend.org%25
                  Bytes      Cards  Artifacts     Deltas
  Send:             146          2          0          0
  c:\rev\bin\fossil.exe: can't resolve host name: rev 
  </pre>


tkt_uuid: 218153bb7c3425b21f6b8a9f38e7dd5c28bc2127
type: Code_Defect
status: Fixed
severity: Cosmetic
foundin: f969b6cdde
private_contact: 2359089ef753bc96e12743e299243d5232c749fa
resolution: Fixed
title: nowiki tag doesn't work in ticket summaries
comment:
  i was looking for a way to escape out a link in the summary of a ticket.  see ticket [886c302b3fab0212423e27e8c5dfb40a610b5541].

  <hr><i>drh added on 2009-09-23 13:09:43:</i><br>
  See check-in [d6bfe8d9a8ea9c417b1594c968f37f0af2ab9de8]

  <hr><i>drh added on 2009-09-23 15:53:58:</i><br>
  See check-in [d6bfe8d9a8ea9c417b1594c968f37f0af2ab9de8]


tkt_uuid: 2245a1e3d058d85ec59c327a932a208109d46d45
type: Code_Defect
status: Closed
severity: Important
foundin: 95ae79d504
private_contact: e05c4b7600be973bfc338fbb2709b47357780bc8
resolution: Fixed
title: rm command mistakingly believes files are directories
comment:
  <pre>
  'fossil rm file' crashes:
  (gdb) where
  #0  0x91af1e9a in closedir$UNIX2003 ()
  #1  0x00002d43 in del_directory_content (zDir=0x202b00 "mdb.mk") at add_.c:223
  #2  0x00002de9 in del_cmd () at add_.c:255
  #3  0x00022fb7 in main (argc=3, argv=0xbffff49c) at main_.c:258

  mdb.mk is a plain file

  Suggested patch:
  --- src/add.c
  +++ src/add.c
  @@ -249,11 +249,11 @@
     db_begin_transaction();
     for(i=2; i<g.argc; i++){
       char *zName;
   
       zName = mprintf("%/", g.argv[i]);
  -    if( file_isdir(zName) ){
  +    if( file_isdir(zName) == 1){
         del_directory_content(zName);
       } else {
         char *zPath;
         Blob pathname;
         file_tree_name(zName, &pathname, 1);
  </pre>

  <hr><i>jeremy_c added on 2010-02-13 12:31:25:</i><br>
  Thanks for the patch. It has been applied.


tkt_uuid: 22a59e9a3455d8ecb883f62e775914714c967d8b
type: Code_Defect
status: Fixed
severity: Severe
private_contact: 2cb55ab2bb328cf06cfc931d9e8c2776bb52a4d2
resolution: Fixed
title: Existing file named "MANIFEST" always overwritten
comment:
  CPAN distributions have a boilerplate set of files that need to be created - one of these is called "MANIFEST" and lists all the files to be packaged within the distribution. If the fossil repository is created inside the base folder and this file added fossil will overwrite this file with its own data and never be able to commit as the checksums change, displaying an error message <code>fossil: tree checksums before and after commit do not match</code>.

  Sadly I am unable to have this bug recreate exactly 100% of the time. It may not happen after the first commit but rather after a couple of commits - however eventually it does and the fossil repository is essentially worthless as it can no longer commit since the MANIFEST file is being tracked, yet also written by fossil at the same time. Currently the only fix I have of this is to create the repository outside of the base directory as the temp files that fossil leaves as droppings (_FOSSIL_, manifest etc) are written elsewhere.

  <hr /><i>wolfgang added on 2010-09-27 18:16:00:</i><br />
  on my branch wolfgangFormat2CSS_2 i have added an experimental setting, to change the filename of the generated manifest files (checkin [9978d2aba6]).

  <hr /><i>drh added on 2010-09-29 13:20:26:</i><br />
  Back out the change to allow the name of the "manifest" file to be changed
  since that approach causes complications in distributed systems.  Instead,
  modify "add" to allow files named "manifest" and "manifest.uuid" to be
  checked in and if such files are checked in, "checkout" and "update" will
  no longer overwrite them.


tkt_uuid: 2316d926e376aa56ab5fef97f12dc1690bb5b609
type: Code_Defect
status: Fixed
severity: Minor
foundin: tip
private_contact: 74a093394e96c54b49acf2324022e0c995142abd
resolution: Fixed
title: test_env visible when not logged in and no capabilities
comment:
  this link:

  http://www.fossil-scm.org/index.html/test_env

  ... probably shouldn't work for non-admins, but esp. not the `nobody` user, and esp.x2 when they have zero capabilities :-)

  <hr /><i>ben added on 2011-06-27 21:08:27 UTC:</i><br />
  Also outputting the cookie value in the response body is not recommended for web application security, and negates all the benefits of using the HttpOnly option when setting cookies.

  <hr /><i>stephan added on 2011-09-15 21:40:31 UTC:</i><br />
  Fixed in [2d71977e984b5e2]. test_env now requires setup or admin privileges.

  (That said, the info displayed on test_env isn't "too" private, IMO.)


tkt_uuid: 2384764107f0d084867503e16461f18b80f72e24
type: Feature_Request
status: Open
priority: Medium
severity: Important
foundin: 0eb08b860c
private_contact: 76518fb407f147a1d053c00b5b993281a339c0e3
resolution: Open
title: Make the http command working on Windows.
comment:
  This would make it possible to use Fossil with Inetd like servers on Windows, for example [http://www.xmailserver.org/wininetd.html].

  The following patch against Fossil version [0eb08b860c] implements this functionality:

  <verbatim>
  diff -Naur fossil-src/src/cgi.c fossil-src-mod/src/cgi.c
  --- fossil-src/src/cgi.c	2009-09-13 09:37:48 +0000
  +++ fossil-src-mod/src/cgi.c	2009-09-17 11:25:47 +0000
  @@ -29,10 +29,11 @@
   */
   #include "config.h"
   #ifdef __MINGW32__
  -#  include <windows.h>           /* for Sleep once server works again */
  -#  include <winsock2.h>          /* socket operations */
  -#  define sleep Sleep            /* windows does not have sleep, but Sleep */
  -#  include <ws2tcpip.h>          
  +#  include <windows.h>           /* Windows specific declarations */
  +#  include <winsock2.h>          /* Windows socket operations */
  +#  include <ws2tcpip.h>          /* for socklen_t */
  +#  include <fcntl.h>
  +#  include <io.h>
   #else
   #  include <sys/socket.h>
   #  include <netinet/in.h>
  @@ -1076,6 +1077,95 @@
     return zResult;
   }
   
  +#ifdef __MINGW32__
  +/*
  +** Data structure related to all variables for the windows socket environment.
  +*/
  +typedef struct WinSocketData {
  +  int     fWSAInit;       /* True, if Windows sockets initialized */
  +  SOCKET  hSocket;        /* Handle to the socket */
  +} WinSocketData;
  +
  +static WinSocketData wsd;
  +
  +/*
  +** Exit handler routine. Make sure any remaining output gets flushed to the
  +** output stream. If the standard handles are redirected to a socket then
  +** make shure the socket gets closed properly and clean up the windows socket
  +** environment.
  +*/
  +static void cgi_handle_http_request_exit(void)
  +{
  +  fflush(g.httpOut);
  +
  +  if( wsd.hSocket != INVALID_SOCKET ){
  +    shutdown(wsd.hSocket, SD_BOTH);
  +    closesocket(wsd.hSocket);
  +  }
  +  if (wsd.fWSAInit) {
  +    WSACleanup();
  +  }
  +  return;
  +}
  +
  +/*
  +** This routine initalizes the environment on windows for the
  +** cgi_handle_http_request routine. It sets the standard input and ouput
  +** handles to binary mode, initalizes the windows socket environment and tries
  +** to get the socket handle from the standard handles. It also establishs a
  +** exit routine to clean up on program exit.
  +*/
  +void cgi_handle_http_request_init(void)
  +{
  +  WSADATA wd;
  +  SOCKET hSock;
  +  int socket_type;
  +  int socket_type_len = sizeof(socket_type);
  +
  +  /*
  +  ** Initialize the windows socket data structure.
  +  */
  +  wsd.fWSAInit = 0;
  +  wsd.hSocket = INVALID_SOCKET;
  +
  +  /*
  +  ** Register the exit function.
  +  */
  +  atexit(cgi_handle_http_request_exit);
  +
  +  /*
  +  ** Set the mode of the http input and output streams to binary.
  +  */
  +  _setmode(_fileno(g.httpIn),  _O_BINARY);
  +  _setmode(_fileno(g.httpOut), _O_BINARY);
  +
  +  /*
  +  ** Initialize the windows socket API. This is required if we need to
  +  ** call any other Windows Socket function.
  +  */
  +  if( WSAStartup(MAKEWORD(2,2), &wd) == 0 ) wsd.fWSAInit = 1;
  +
  +  /*
  +  ** Windows Socket handles must be handled differently than file handles.
  +  ** There is no function to detect if a file handle is a socket or not, so
  +  ** lets call a socket function with the handle from stdin, and if there is
  +  ** no error, assume it is a socket!
  +  */
  +  if( wsd.fWSAInit ){
  +    hSock = (SOCKET)_get_osfhandle(_fileno(stdin));
  +    if( getsockopt (hSock, SOL_SOCKET, SO_TYPE,
  +                    (char *)&socket_type, &socket_type_len) == 0 ){
  +      wsd.hSocket = hSock;
  +    }
  +  }
  +  return;
  +}
  +
  +#  define CGI_SOCKET wsd.hSocket
  +#else
  +#  define CGI_SOCKET fileno(g.httpIn)
  +#endif /* __MINGW32__ */
  +
   /*
   ** This routine handles a single HTTP request which is coming in on
   ** standard input and which replies on standard output.
  @@ -1092,6 +1182,9 @@
     size_t size = sizeof(struct sockaddr_in);
     char zLine[2000];     /* A single line of input. */
   
  +#ifdef __MINGW32__
  +  cgi_handle_http_request_init();
  +#endif
     g.fullHttpReply = 1;
     if( fgets(zLine, sizeof(zLine),g.httpIn)==0 ){
       malformed_request();
  @@ -1116,7 +1209,7 @@
     cgi_setenv("PATH_INFO", zToken);
     cgi_setenv("QUERY_STRING", &zToken[i]);
     if( zIpAddr==0 &&
  -        getpeername(fileno(g.httpIn), (struct sockaddr*)&remoteName, 
  +        getpeername(CGI_SOCKET, (struct sockaddr*)&remoteName, 
                                   (socklen_t*)&size)>=0
     ){
       zIpAddr = inet_ntoa(remoteName.sin_addr);
  </verbatim>

  --tsbg

  <hr><i>anonymous added on 2009-09-19 00:36:49:</i><br>
  From reference:
  "    Usage: fossil http REPOSITORY
      Handle a single HTTP request appearing on stdin.  The resulting webpage
      is delivered on stdout.  This method is used to launch an HTTP request
      handler from inetd, for example.  The argument is the name of the    repository.
  "

  Test with current Fossil under Windows Vista:<verbatim>
  ================================================================
  E:\dl\fossil-w32-20090915120431>fossil.exe http myclone.fossil
  GET / HTTP/1.0
  Host: localhost

  HTTP/1.0 302 Moved Temporarily
  Date: Sat, 19 Sep 2009 00:30:23 GMT
  Connection: close
  Location: http://localhost/doc/tip/www/index.wiki
  Cache-control: no-cache, no-store
  Content-Type: text/html; charset=utf-8
  Content-Length: 74

  <html>
  <p>Redirect to http://localhost/doc/tip/www/index.wiki</p>
  </html>
  =======================</verbatim>

  So it seems behave right, like declared.

  <hr><i>anonymous claiming to be tsbg added on 2009-09-19 08:46:37:</i><br>
  Yes it does, but only when stdin and stdout are not redirected to a socket. Windows treats file and socket handles differently. Another problem is, you cant't call socket functions like getpeername without initializing the windows socket environment.

  Try it with the above mentioned WinInetd server, and you will see no output until you apply the patch.

  --tsbg


  <hr><i>anonymous claiming to be Andrey added on 2009-09-21 00:37:14:</i><br>
  Seems this is a problem of WinInetd. It should not redirect files to sockets, it should copy between file handle and socket - just like any web-server does when running CGI application. It should not depend of ability of console app to operate with sockets and even know something about sockets. (sorry for my poor English)


tkt_uuid: 23d314856c2786c518a79aa8b3fe647731dd2015
type: Feature_Request
status: Open
severity: Important
foundin: 71ad9b62a7
private_contact: be550bfd65ad2b35c5af076e5620344955089a2e
title: fossil rm dir1/dir2
comment:
  fossil support recursive adding of directory tree by following command.

  <pre>
  fossil add topdir
  </pre>

  But I can't undo above command by 
  <pre>
  fossil rm topdir
  </pre>


tkt_uuid: 24b002f7312234cf282909282c8691aac0a06d20
type: Code_Defect
status: Open
severity: Important
foundin: [5dd5d39e7c]
title: Windows: Operating fossil from a read-only directory says it is 'not within an open checkout'
comment:
  <pre>
  fossil new test.fsl
  fossil open test.fsl --nested
  mkdir a
  echo aaa > a\a.txt
  fossil add a\a.txt
  fossil commit -m "test"
  cd a
  fossil status
  cd ..
  attrib +r a
  cd a
  fossil status
  fossil.exe: not within an open checkout   <--- problem
  cd ..
  fossil version
  This is fossil version 1.22 [5dd5d39e7c] 2012-03-19 12:45:47 UTC
  </pre>


tkt_uuid: 24e1e78fa301399e5711c3786594819445694668
type: Code_Defect
status: Open
severity: Important
foundin: b48f78964e
private_contact: fbbc887beb8da03d2f38921a58bf0501ff03b2dc
resolution: Open
title: Files in conflict are not marked as so
comment:
  I do a fossil update, and am reported a file is in conflict:

  $ fossil up

  MERGE hello.txt

  ***** 1 merge conflicts in hello.txt

  but then when I do fossil st:

  $ fossil st

  ...

  EDITED     hello.txt

  If I had a long list of files, I would like to know which ones are in conflict and which not.

  <hr /><i>anonymous claiming to be Joerg Sonnenberger added on 2010-10-15 14:03:15:</i><br />
  There are two potential questions related to this:

  (1) Should fossil always scan for the markers on files with modified mtime. This works for conflicts from manual patches too. It has the strong disadvantage of requiring reading potentially large files to determine the conflict. Such a check should at least be done pre-commit, I think.

  (2) Should conflict resolution be implicit or explicit? I'm not a fan of the Mercurial approach of explicit "hg resolve", but it has its merits too. At the very least, it would make the status operation very cheap and force people to more explicit think about it.


tkt_uuid: 2515c984ab7c77e3bba239ed1bf0f18332b81229
type: Feature_Request
status: Closed
severity: Severe
foundin: [15b293259d] 2010-06-11 12:02:59 UTC
private_contact: 51e59d496cd2ecdfd600db4c1f709ced395acc91
resolution: Rejected
title: _FOSSIL_ file - security risk
comment:
  There was an incident with a DCVS (I don't remember which one, I think it's Subversion) regarding the use of it in web development. 

  The threat in question is when someone uses DCVS for local development of site and pushing/pulling code to production server's "public_html" or similar directory.

  The incident resulted in thousands of web sites leaking source code. The bug was that DCVS in question created a directory, smth. like ".svn", which contained all source code. So a simple call to "http://website/.svn/entries" (I don't remember exact file) would result in source code leak, if not properly protected via Apache (which most of sites didn't do). The problem was huge - tens(possibly hundreds) of thousands of sites compromised.

  Fossil creates a file named "_FOSSIL_", possessing the same threat - source code leak: "http://website/_FOSSIL_".

  The possible solution would be to rename _FOSSIL_ to something like _FOSSIL_D83E5JD...[random(!)-chars]...D3_  - it would be easy to find for fossil via "glob('_FOSSIL_*_')" system call, but the attacked would have to brute-force all combinations.

  Note that it can't be something like _FOSSIL_sha1(name_of_project)_ as it would be easy to guess, it has to be _FOSSIL_(random)_. 

  Thanks for the great project!

  <hr><i>bharder added on 2010-06-21 01:47:10:</i><br>
  *IF* this is truly a security risk (I haven't looked into this at all), random chars appended is truly "security through obscurity". It'd be better to put the file in question in a "http do not serve" list and be done with it.

  <hr><i>drh added on 2010-06-21 13:07:13:</i><br>
  The _FOSSIL_ file does not sensitive content.  The _FOSSIL_ file contains
  only the name of the repository (where the historical file content is stored)
  and information about which versions of each file are currently checked out.

  Thank you for the idea and for you attention to Fossil.


tkt_uuid: 2517414fef7aeba0e61af26d51cd5e1c7c4e26ec
type: Feature_Request
status: Fixed
severity: Important
foundin: 8175b57923
private_contact: 63070188043a9522ca95dca0d28c3b9eff7a697b
resolution: Fixed
title: baseline manifests should be stored as delta to last baseline
comment:
  Let's say version A is parent of B and C is baseline manifest of B. If A would create a too large manifest and encoded as new baseline, fossil should consider storing A as delta to C.

  For the pkgsrc repository, the use of baseline manifests if more than 1/125 of all files changed is currently increasing the size of the resulting sqlite database by 50% compared to not using the baseline feature.

  <hr /><i>anonymous added on 2010-10-27 13:44:03:</i><br />
  Fixed by [e21ca81e1a].


tkt_uuid: 255697a54237a73e39414d52bd8053db48bc474a
type: Code_Defect
status: Open
severity: Cosmetic
foundin: 15b293259d
private_contact: 4514741c8afc71792acf43173278f608b00e214a
title: Relevant space in .cgi
comment:
  Hi,

  I lost some time (half an hour or so) trying to understand what was going on on my server (juggling with permissions and so) because of this:

  |  #!/home/pistacchio/webapps/repo1/fossil
  |  repository:/home/pistacchio/webapps/repo1/repo/repo1

  It seemed to me to be a good .cgi, but i didn't leave the space between "repository:" and the path, resulting in a "Unable to find or open the project repository" error.

  I think fossil should be a bit more elastic about this.


tkt_uuid: 2598a084de0ff4451fd6a763b7e9a488c0061b69
type: Incident
status: Open
severity: Important
foundin: d8221b9863
private_contact: f9dfc6dbcfe1f4499e7151278fe2f4ba55af9606
title: Differing results for clickable image in wiki text with fossil ui and cgi
comment:
  This is on an XAMPP Apache on Windows XP with, Fossil version [d8221b9863] 2011-05-12 14:56:52

  When using a cgi-bin styled server with <code>/fossils/</code> <code>ScriptAlias</code>ed to the cgi-bin dir (Thus allowing /cgi-bin/ogre-1_7-ffo/ and /fossils/ogre-1_7-ffo to both access the file ("ogre-1_7-ffo") which is defined as:
  <code><verbatim>
  #!C:\home\feral\bin\fossil\fossil.exe
  repository: C:\home\feral\dev\ogre-1_7-ffo\ogre-1_7-ffo.fossil
  </verbatim></code>

  An wiki text such as: (front page and a ticket for sure)
  <code><verbatim>
  <a href="/doc/tip/img/an_image.png"><img src="/doc/tip/img/an_image.png" width="320"/></a>
  </verbatim></code>
  <small>(I.e. a small image that when clicked takes one to the larger image)</small>

  Produces:
  <code><verbatim>
  <a href="/doc/tip/img/an_image.png"><img src="/fossils/ogre-1_7-ffo/doc/tip/img/an_image.png" width="320"></a>
  </verbatim></code>
  <small>(I.e. the img has the correct path, yet the a-href does not.)</small>
  <small>(I.e. "/doc/tip/img/an_image.png"> vs. "<b>/fossils/ogre-1_7-ffo</b>/doc/tip/img/an_image.png")</small>

  Yet, with <code>fossil ui</code> produces:
  <code><verbatim>
  <a href="/doc/tip/img/an_image.png"><img src="/doc/tip/img/an_image.png" width="320"></a>
  </verbatim></code>
  <small>(Which works as expected.)</small>

  I am fairly new to Apache and just started using fossil's cgi method so it is certainly plausible I have misconfigured something somewhere.

  Best Regards,<br/>
  ~Feral


tkt_uuid: 25c54e544e78e7d7e1a32b57d7b884d8b0e5b064
type: Feature_Request
status: Open
severity: Minor
foundin: [1d93222627] 2011-03-01
resolution: Open
title: Cancelling bgcolor leads to white
comment:
  In an orange branch (colour propagated) I had a checkin where I set a gray color. Then I decided to take back that gray, and I chose '(none)', thinking it would get the orange color propagated in that branch. Instead of that, it shows 'bgcolor cancelled' but appears in white in the timeline instead of orange.

  <hr /><i>drh added on 2011-05-03 13:39:31 UTC:</i><br />
  The bgcolor is a property.  Properties do not layer or stack in Fossil.
  Sorry to disappoint.

  <hr /><i>viriketo added on 2011-05-05 14:44:09 UTC:</i><br />
  Ok. Do you prefer the current implementation? (regardless of requiring work to change it :).


tkt_uuid: 25d3f8d5641deed328a1c05fb331a82e61101364
type: Code_Defect
status: Fixed
severity: Minor
foundin: [0e87f42762] 2010-11-10 01:43:19 UTC
private_contact: 7dbf398b8524d19867c9afaa7207ea0a602e4458
resolution: Fixed
title: Time skew when cloning a large repository via slow connection
comment:
  <verbatim>
                  Bytes      Cards  Artifacts     Deltas
  Sent:              53          1          0          0
  processed: 99%         fossil: *** time skew *** server time differs by 12.2 minutes
  Received:     4720686        296        288          6
  Total network traffic: 234 bytes sent, 922143 bytes received
  </verbatim>
  Client is connected to the Internet using GPRS and connection is <em>very</em> slow. But I guarantee that the difference between server and client time is not more than 1-2 seconds. Does this message indicate a problem or I can safely ignore it?

  <hr /><i>drh added on 2011-03-02 22:50:35 UTC:</i><br />
  It's just a warning.  I have modified the time skew detection to take into
  account large transfers over slow networks.  Hopefully that will help.


tkt_uuid: 25ff8cff2bdb41766e91b17c0779b3f5f3c0c80c
type: Code_Defect
status: Fixed
severity: Minor
foundin: 1d713f3f4d
private_contact: 40aba61d32222f9df09cded35d532d494b2dec55
resolution: Fixed
title: wrong DOCTYPE in generated pages
comment:
  The doctype in the generated pages is wrong. In

  <!DOCTYPE html PUBLIC "-//W3C/DTD XHTML 1.0 Strict//EN" "http://www.x3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

  you have to add a second / between W3C and DTD.


tkt_uuid: 263b45306ce3fbc7f93e3f3be170f550aa8104c5
type: Feature_Request
status: Open
severity: Cosmetic
foundin: 3rd Dec 2008
private_contact: 017b15cc7ca1de5a8053c07fb689d5022cf72fd1
resolution: Open
title: Add configuration to adjust length of version UUID
comment:
  The wiki asserts (see below) that Fossil can cope with any prefix length. If so can we have a feature in the configuration pages to set the prefix length for use across fossil. The standard 10 chars is still quite large and on smaller projects the risk of a UUID clash is small using only 4 or 5 chars. It would be easier on the eye when viewing, for example, timeline pages.

  Thanks

  -----

  As stated in the wiki [http://www.fossil-scm.org/index.html/doc/tip/www/reference.wiki]:

  A version in fossil is 40 character hexadecimal string. fossil will be able to figure out which version you want with any prefix of that string that is distinct from all others. Commands which require a version are looking for that string, the unique prefix, or a tag.

  <hr><i>kkinnell added on 2009-01-05 15:41:04:</i><br>
  A bit off-ticket-topic, but just to clarify some points about the cli docs here:

  The cli reference doc is incorrect as of 2009-01-05, and will be amended in the
  next version.  I will push the newer doc as soon as I am able to do so.

  In fact, there is a <u>minimum prefix length of four characters</u> for "versions"
  (see the [./concepts.wiki | concepts] page, section
  <b>2.1&nbsp;Identification&nbsp;of&nbsp;Artifacts</b>, paragraph 3 beginning
  "When referring"...)

  Also, "version" is a bit of a misnomer, what we're actually dealing with are
  <u>Artifact</u> <u>IDs</u>, which happen to be 160 bit SHA1 hash digests of
  <i>n</i>-length bit sequences (which is the basic thrust of the cited section.)

  And now, back to the actual feature request ...

  <hr><i>anonymous added on 2009-01-06 10:28:45:</i><br>
  kkinnell - I note your point about version/artifact ID. I'll try to use the right designation in future.

  To clarify I'm requesting to control the shorthand length artifact IDs displayed as links on the webpage rather than the stored artifact IDs (40 chars).

  i.e the [263b45306c] rather than the [263b45306ce3fbc7f93e3f3be170f550aa8104c5]

  If a minimum of 4 chars is required, so be it. 4 chars is easier on the eye than 10 chars.

  One of the implementation issues I can foresee is the likelihood of ambiguity in fossil as the number of characters displayed is reduced. I believe it would be satisfactory when fossil comes across an ambiguity situation it just returns an error stated a message to that effect on the cli and on the website suggest changing the configuration to increase the number of chars display.


tkt_uuid: 26636a306b76c33930189812cc615b10cf057c06
type: Code_Defect
status: Open
severity: Important
foundin: [6502627a3e] 2011-02-08 12:52:37 UTC
private_contact: 66a609c4a25ca4b02e367c19f70ff9646bfb25d0
title: Case sensitive usernames are bad
comment:
  I cloned a repository (form chiselapp, if it makes a difference) using the username 'Setok' (and whatever the password is). The clone worked fine. However any fossil operations I then did with the repository would fail. I finally realised that in the repo the username is 'setok'.

  I think case sensitive usernames are always a really bad idea, as it's so easy to make an error there. But I'm raising the severity to Important because the clone was successful, so there is no hint given that something is wrong. This may be related to the fact I allowed anonymous cloning — does fossil revert to anonymous if the login credentials were not good? That to me would not be desirable behaviour, as surprises hit later.


tkt_uuid: 2666a003164e0080eea24b3bdcab58d9f2a251e2
type: Code_Defect
status: Open
severity: Important
foundin: 5721bce885
private_contact: 5c164664f608e8049128be696a3d13e04aa6fafd
title: failure w/ cryptic error when file missing.
comment:
  Transcript as follows:
  <nowiki>
  <pre>
  kamloops# fossil commit -m "cvs update, including taking Sverre's newest iwn-related changes; may not include 'Centrino Ultimate-N 6300' support, but is more inline w/ that driver"
  fossil: no such file: /usr/src/share/man/man9/cpu_swapout.9
  fossil: SQLITE_BUSY: statement aborts at 2: [ROLLBACK] cannot rollback transaction - SQL statements in progress
  kamloops# fossil rebuild
  118085 (100%)....
  kamloops# fossil commit -m "cvs update, including taking Sverre's newest iwn-related changes; may not include 'Centrino Ultimate-N 6300' support, but is more inline w/ that driver"
  fossil: no such file: /usr/src/share/man/man9/cpu_swapout.9
  fossil: SQLITE_BUSY: statement aborts at 2: [ROLLBACK] cannot rollback transaction - SQL statements in progress
  kamloops# fossil chan  | grep -i missing
  MISSING    share/man/man9/cpu_swapout.9
  kamloops# fossil rm ./share/man/man9/cpu_swapout.9
  DELETED  share/man/man9/cpu_swapout.9
  kamloops# fossil commit -m "cvs update, including taking Sverre's newest iwn-related changes; may not include 'Centrino Ultimate-N 6300' support, but is more inline w/ that driver"
  unable to sign manifest.  continue (y/N)? y
  New_Version: 42eabbd23375ca2c5db5867269ac8b92d00b117f
  kamloops# 
  </pre>
  </nowiki>


tkt_uuid: 269a50335c606de24f1dcdfec0a7ee7475dfb681
type: Code_Defect
status: Fixed
severity: Minor
foundin: 01a769a9fa
private_contact: 2359089ef753bc96e12743e299243d5232c749fa
resolution: Fixed
title: warnings introduced in main.c since checkin [9cfc5cc672]
comment:
  building in windows...

  <pre>
  gcc -Os -Wall -DFOSSIL_I18N=0 -L/mingw/lib -I/mingw/include  -I. -I./src -o main.o -c main_.c
  main_.c: In function `cmd_webserver':
  main_.c:1019: warning: passing arg 4 of `win32_http_server' discards qualifiers from pointer target type
  main_.c:1019: warning: passing arg 5 of `win32_http_server' discards qualifiers from pointer target type
  </pre>

  <hr /><i>anonymous added on 2010-12-21 16:25:10:</i><br />
  Fixed with [33fcca6b835cf077]


tkt_uuid: 270033a5d513472b9d9f28db7e2b465e4cc978f9
type: Code_Defect
status: Open
severity: Cosmetic
foundin: 2010-03-18
private_contact: 5ddc9ef2cc5a1544558a56a3cba910a0ba4d422a
title: fossil: tree checksum does not match repository after commit
comment:
  When I new a repository and add files, then do the "commit" command, the following message is showed.

  "fossil: tree checksum does not match repository after commit"

  In the reposotory, no files was added, only a checkin tag.
  I think the checkin tag should not be recorded, if commit failed.


tkt_uuid: 2741e01c0ba2ceec292bfc2fc4495f0be1afca70
type: Code_Defect
status: Fixed
severity: Important
foundin: Fossil version [a3c97c9063] 2010-01-21 20:53:59
private_contact: 24b67375dd2ec6c7381a5ad34cfcf006f0b9c260
resolution: Fixed
title: local clone of fossil repo does not let save zip archive of check-in
comment:
  local

  Fossil version [a3c97c9063] 2010-01-21 20:53:59

  ZIP archive link on Check-in [a3c97c9063] page:

  http://localhost:8080/zip/Fossil-a3c97c9063.zip?uuid=a3c97c9063bfe5b451233f38e21bdf7341c0bd49

  redirects to:

  http://localhost:8080/login?g=/zip/Fossil-a3c97c9063.zip%3Fuuid%3Da3c97c9063bfe5b451233f38e21bdf7341c0bd49

  local user has s rights to repository



  remote

  Fossil version [a3c97c9063] 2010-01-21 20:53:59 

  http://www.fossil-scm.org/fossil/zip/Fossil-a3c97c9063.zip?uuid=a3c97c9063bfe5b451233f38e21bdf7341c0bd49

  will prompt for saving zip file

  <hr><i>anonymous added on 2010-01-21 23:27:58:</i><br>
  the same operation (attemt to save ZIP archive) on local clone of sqlite repo will succed, e.g.

  http://localhost:8081/zip/SQLite-a82e6b4585.zip?uuid=a82e6b4585b9ddba581204976cd5ea8704339185

  will produce zip archive

  <hr><i>drh added on 2010-01-22 01:46:26:</i><br>
  Do you have ZIP permission turned on for users Nobody and/or Anonymous?  
  You have to do that in order to enable people (who are not logged in as
  a real user) to download ZIP archives.  It looks like ZIP permission might
  be turned off.

  <hr><i>altufaltu added on 2010-01-22 02:38:53:</i><br>
  Won't localhost have admin privileges?
  The original report says it has.

  <hr><i>drh added on 2010-01-22 03:10:16:</i><br>
  Fixed by check-in [9eb7f4fb1ec8a092d1c313461a2cc8ae6bcca34e]

  <hr><i>anonymous added on 2010-01-22 05:50:19:</i><br>
  Fossil version [9eb7f4fb1e] 2010-01-22 03:09:32 works as expected.

  Thanks.


tkt_uuid: 274b530475ce1bee97d30e232ad08932c4709864
type: Code_Defect
status: Fixed
severity: Minor
foundin: 4276853ef8
resolution: Fixed
title: Tags->Timeline shows timeline of tags in huge font (firefox 3.6)
comment:
  just follow this link:
  [http://fossil-scm.org/index.html/tagtimeline]

  or klick tags->timeline

  the resulting timeline of tags is in firefox 3.6 is in very big font.
  some times larger than the normal timeline.


tkt_uuid: 28044ab5a42b750e1fcbd394fd5fdcf250d38b5b
type: Incident
status: Fixed
severity: Minor
foundin: 79be9028eb
private_contact: 4fbe952a3fd0e91c08103e030a3f601770d643c0
resolution: Fixed
title: Zip archive dates are in the future
comment:
  If I download the most recent zip archive and then do a build, make keeps whining about clock skew being detected.  This is because several file dates are in the future (I am on US West Coast).

  I have no idea how zip stores time information and especially timezone information, but I haven't had this kind of issue with other projects that released their source via zip.  The issue should just go away if there has been sufficient time elapsed between the zip times and local times.  Maybe there is an alternative solution?

  <hr><i>drh added on 2009-08-13 13:03:20:</i><br>
  This is a limitation of the ZIP file format.  There is no provision
  in ZIP for a "timezone" field.  There is only a date and time field (in the
  old MSDOS format).  Fossil inserts the date and time as UTC.  If the program
  that unpacks the ZIP archive interprets the time in the local timezone, then the
  time can be off by several hours.

  I cannot think of a reasonable workaround.  Can anybody else suggest something?

  <hr><i>anonymous claiming to be bch added on 2009-08-13 16:40:17:</i><br>
  Timestamp UTC minus 1 whole day? A note could be included either as a link-through page, or beside the 'download zip' link to indicate archives are back-dated to accommodate build-systems (i.e. make ([http://en.wikipedia.org/wiki/GNU_make#Modern_versions]) and the limitations of zip datestamping.

  -bch

  <hr><i>anonymous claiming to be tsbg added on 2009-08-14 20:38:47:</i><br>
  Adding a "Extended Timestamp Extra Field" could solve this problem.
  The specification of this field can be found on the Info-Zip web page
  [http://www.info-zip.org/doc/] in the file appnote-iz-latest.zip.

  --
  tsbg


  <hr><i>drh added on 2009-08-15 02:18:47:</i><br>
  Thanks for suggesting the "extended timestamp" addition and for a pointer
  to where to find documentation about it.  That fixed the problem.
  See check-in [90048e0b30f12377b33110b279f19299643fe830],


tkt_uuid: 281f18eef310f4ac211a180ff2d93e6a21ba50e0
type: Code_Defect
status: Open
severity: Important
foundin: c92ec16f81
private_contact: 84f59114b7eee7088fd7e2932599c69c9ad0761b
title: Rename directory moves files to the wrong director
comment:
  If you move a directory, fossil moves the files to the wrong directory when you the .. directory. Observe:

  <verbatim>9:02 sean@somehost-98 % cd /tmp/
  9:02 sean@somehost-98 % mkdir fst
  9:02 sean@somehost-98 % cd fst/
  9:02 sean@somehost-98 % fs open ~/src/.fossils/fossil-test-repository 
  test.sh
  project-name: <unnamed>
  repository:   /Users/sean/src/.fossils/fossil-test-repository
  local-root:   /private/tmp/fst/
  project-code: 70164ac6b1269749f782f3dfce03f9cae7fc0c64
  server-code:  4d7de95913a31ac17b29e29e96794b42d2575025
  checkout:     25317d0b17378032e0120a58e3bb2d8c0b9fd99d 2011-02-08 22:17:00 UTC
  parent:       ef432a9584e7771b7ac82ba058ecff84f744deb1 2011-02-08 16:31:20 UTC
  tags:         trunk
  comment:      Updating test (user: sean)
  9:02 sean@somehost-98 % ll
  total 24
  -rw-r--r--  1 sean  wheel  7168 Mar 12 09:02 _FOSSIL_
  -rwxr-xr-x  1 sean  wheel    29 Mar 12 09:02 test.sh
  9:02 sean@somehost-98 % mkdir -p foo/bar/baz
  9:02 sean@somehost-98 % cd foo/bar/baz/
  9:02 sean@somehost-98 % echo test1 > file1.txt
  9:02 sean@somehost-98 % echo test2 > file2.txt
  9:03 sean@somehost-98 % fs addrem
  ADDED  foo/bar/baz/file1.txt
  ADDED  foo/bar/baz/file2.txt
  added 2 files, deleted 0 files
  9:03 sean@somehost-98 % fs ci -m "Fossil dir move bug"
  New_Version: 72ede87aa33fb39c8fac6c72adb1c5dc69260597
  9:03 sean@somehost-98 % fs stat
  repository:   /Users/sean/src/.fossils/fossil-test-repository
  local-root:   /private/tmp/fst/
  server-code:  4d7de95913a31ac17b29e29e96794b42d2575025
  checkout:     72ede87aa33fb39c8fac6c72adb1c5dc69260597 2011-03-12 17:03:15 UTC
  parent:       25317d0b17378032e0120a58e3bb2d8c0b9fd99d 2011-02-08 22:17:00 UTC
  tags:         trunk
  comment:      Fossil dir move bug (user: sean)
  9:03 sean@somehost-98 % cd ..
  9:03 sean@somehost-98 % mkdir ../bur
  9:03 sean@somehost-98 % pwd
  /tmp/fst/foo/bar
  9:03 sean@somehost-98 % fs mv baz ../bur/
  RENAME foo/bar/baz/file1.txt foo/bur/file1.txt
  RENAME foo/bar/baz/file2.txt foo/bur/file2.txt
  9:03 sean@somehost-98 % mv baz ../bur/
  9:04 sean@somehost-98 % fs stat
  repository:   /Users/sean/src/.fossils/fossil-test-repository
  local-root:   /private/tmp/fst/
  server-code:  4d7de95913a31ac17b29e29e96794b42d2575025
  checkout:     72ede87aa33fb39c8fac6c72adb1c5dc69260597 2011-03-12 17:03:15 UTC
  parent:       25317d0b17378032e0120a58e3bb2d8c0b9fd99d 2011-02-08 22:17:00 UTC
  tags:         trunk
  comment:      Fossil dir move bug (user: sean)
  MISSING    foo/bur/file1.txt
  MISSING    foo/bur/file2.txt
  9:04 sean@somehost-98 % cd ../bur/
  9:04 sean@somehost-98 % ll
  total 0
  drwxr-xr-x  4 sean  wheel  136 Mar 12 09:03 baz
  9:04 sean@somehost-98 % ll baz/
  total 16
  -rw-r--r--  1 sean  wheel  6 Mar 12 09:02 file1.txt
  -rw-r--r--  1 sean  wheel  6 Mar 12 09:03 file2.txt
  9:04 sean@somehost-98 % fs addremove
  ADDED  foo/bur/baz/file1.txt
  ADDED  foo/bur/baz/file2.txt
  DELETED  foo/bur/file1.txt
  DELETED  foo/bur/file2.txt
  added 2 files, deleted 2 files
  9:04 sean@somehost-98 % fs ci -m "files ended up in the wrong dir"
  New_Version: b006a48a67d94f6acedde8fc26bc44d5ab793b79
  9:04 sean@somehost-98 % fs stat
  repository:   /Users/sean/src/.fossils/fossil-test-repository
  local-root:   /private/tmp/fst/
  server-code:  4d7de95913a31ac17b29e29e96794b42d2575025
  checkout:     b006a48a67d94f6acedde8fc26bc44d5ab793b79 2011-03-12 17:04:53 UTC
  parent:       72ede87aa33fb39c8fac6c72adb1c5dc69260597 2011-03-12 17:03:15 UTC
  tags:         trunk
  comment:      files ended up in the wrong dir (user: sean)
  9:04 sean@somehost-98 % fs extra
  9:04 sean@somehost-98 % fs ls
  foo/bur/baz/file1.txt
  foo/bur/baz/file2.txt
  test.sh</verbatim>

  Pretty minor, but unexpected with large numbers of files. I'd expect `fs mv baz` to move the directory object itself under bur. Seems like an off-by-one error in terms of path resolution but I haven't looked at the code yet. I remember seeing this in practice with ../../../ as my path and I think the files ended up ../../../ and not ../../../some/sub/dir/ (don't quote me on that, it was kinda late last night when I saw this and noted the behavior). I think if you resolved the source and destination directories to absolute paths (or absolute relative to the fossil checkout) that this bug would be fixed.


tkt_uuid: 2857ab0995828207effd6ebc4526ca88a53755f7
type: Feature_Request
status: Open
severity: Important
foundin: all
private_contact: e16bca9376b716bf489a593de88e7b2760905520
resolution: Open
title: Introduce commandline switches to avoid user input
comment:
  I'm trying to build a C# wrapper around fossil to provide a .NET dll to be used in Windows source control applications like the source control interface of Visual Studio.

  While implementing the commands which are available on the fossil command line I've encountered some commands which might require user input.

  For example fossil open requires an a, y or n if files of the checkout are already present. 

  Handling those commands from my code is kind of cumbersome because I have to run the commands asynchronously, parse their output and inject the correct answers at the right places with event handlers for all the commands which need user interaction. It would be much easier if I could define anything on the commandline. 

  Although it is obviously not possible to have commandline switches for the y or n on individual files, it should be possible to give the a(ll) answer by something like --force on the commandline. It is already done for a number of commands. Generally spoken, it should be possible to set a default answer for all files involved on the commandline whenever user interaction is required.

  If this feature request is a candidate for future implementation, I'd compile a list of commands which require user interaction and provide suggestions for a commandline switch.

  Btw.: Did you ever think about making fossil available as a library like you did with SQLite?

  <hr /><i>anonymous claiming to be ikoch added on 2011-01-05 21:55:59 UTC:</i><br />
  I'm still puzzling together the pieces to trace fossils output and inject the appropriate answers. Now an other problem raised its ugly head.

  When fossil prompts the user for input, it waits for the answer on the same line as the prompt. It doesn't add a line end terminator after the prompt. 
  The problem is that I need to read the fossil output before I can decide what to do. I do this by registering to events which occur whenever a line has been written to stdout or stderr. Unfortunately the line isn't written completely for prompts, the line end terminator is missing. Because of this, the line is never read, the event is never fired and the answer is never sent to stdin to make fossil happy. Fossil waits forever.

  A minor change in user.c would make it possible to read the line. Just add a newline to the format string in the printf statement and anything should work. 
  <pre>
  void prompt_user(const char *zPrompt, Blob *pIn){
    char *z;
    char zLine[1000];
    blob_zero(pIn);
    printf("%s\n", zPrompt); /* added a newline to terminate the line */
    fflush(stdout);
    z = fgets(zLine, sizeof(zLine), stdin);
    if( z ){
      strip_string(pIn, z);
    }
  }
  </pre>
  I think except for the input in the user_cmd function it doesn't really matter wether the response is entered on a new line or not and even there it is not really a problem.

  <hr /><i>anonymous claiming to be viric added on 2011-01-06 22:01:04 UTC:</i><br />
  This can be solved in-fossil with
  <verbatim>
  setvbuf(stdout, (char *) NULL, _IONBF, 0);
  </verbatim>

  Out of fossil, GNU coreutils comes with <kbd>stdbuf</kbd>, a script with a LD_PRELOAD that will have that effect.


tkt_uuid: 289844a2cb535a465c4d956f9907e5b3762d2193
type: Code_Defect
status: Fixed
foundin: 761a6a9dcf
private_contact: 40aba61d32222f9df09cded35d532d494b2dec55
resolution: Fixed
title: missing table time_fudge on commit
comment:
  doing commits using the --date-override option i a strange way forces the following error:

  <pre>
  fossil "commit" "--force" "--user-override" "anonymous" "--date-override" "2003-02-18 14:22:20" "--comment" "Initial revision"

  fossil "commit" "--nosign" "--force" "--user-override" "anonymous" "--date-override" "2003-02-18 14:22:19" "--branch" "avendor" "--comment" "nocomment"
  ..\fossil.exe: SQLITE_ERROR: no such table: time_fudge
  ..\fossil.exe: no such table: time_fudge
  INSERT OR REPLACE INTO time_fudge VALUES(5, 2452689.098842593, 6, 2452689.098831019);

  If you have recently updated your fossil executable, you might
  need to run "fossil all rebuild" to bring the repository
  schemas up to date.
  </pre>

  <hr /><i>wolfgang added on 2010-11-14 16:17:42:</i><br />
  This appears while trying to import a cvs repository into fossil. The avendor branches, created on importing sources are generated with the same time, as the main version:
  <pre>
  1.1 initial revision with time <i>a</a>
  |
  +- 1.1.1 branch "avendor"
      |
      +- 1.1.1.1 same file as 1.1 with time <i>a</a> like 1.1
         |
         +- tag "arelease"
  </pre>


tkt_uuid: 289890d62b25566652f985cf5ca6bc87ffe69598
type: Feature_Request
status: Closed
foundin: 9fd8009007
private_contact: 415e0995a701d06ba678a6d1c872908bdb32a7d2
resolution: Works_As_Designed
title: "Owner" or "Assigned To" field for bug reports
comment:
  When bugs are pushed and become merged in a master Fossil repository, it would be helpful to be able to identify my own bugs in the list. Especially when viewing the Open list.

  <hr><i>drh added on 2008-11-15 13:05:02:</i><br>
  The available ticket fields and how they are displayed can be changed
  for each project and for each repository.  So you can add "Owner" or
  "Assigned-To" fields or whatever other information you think is helpful
  for your project.

  We do need documentation on how to modify the ticket setup, though.

  Are you suggesting that "Owner" should be a field in the default setup?


  <hr><i>anonymous claiming to be Al Gonzalez added on 2008-11-18 04:55:36:</i><br>
  Please disregard this request, instead of just reviewing the online repository I probably should have played with it on my machine before opening a bug. I had not realized how flexible Fossil was in customizing the input and output of the product.


tkt_uuid: 28d861eb5799a60e412fe33d15fa56b87000e412
type: Code_Defect
status: Fixed
severity: Cosmetic
foundin: 5308e46815
private_contact: 05f652db744266759b20d248ec2f451629420388
resolution: Fixed
title: File listing has extra space before file name
comment:
  File listing ("Files in the top-level directory") has an extra space before file name, which looks like underscore when used as link. I propose removing the space (see this picture: [http://i33.tinypic.com/9tfgo7.png]).

  <verbatim>
  --- src/browse.c
  +++ src/browse.c
  @@ -222,19 +222,19 @@
       }
       i++;
       zFName = db_column_text(&q, 0);
       if( zFName[0]=='/' ){
         zFName++;
  -      @ <li><a href="%s(zSubdirLink)%T(zFName)">
  -      @     %h(zFName)/</a></li>
  +      @ <li>
  +      @     <a href="%s(zSubdirLink)%T(zFName)">%h(zFName)/</a></li>
       }else if( zCI ){
         const char *zUuid = db_column_text(&q, 1);
         @ <li><a href="%s(g.zBaseURL)/artifact?name=%s(zUuid)">%h(zFName)</a>
       }else{
  -      @ <li><a href="%s(g.zBaseURL)/finfo?name=%T(zPrefix)%T(zFName)">
  -      @     %h(zFName)</a></li>
  +      @ <li>
  +      @     <a href="%s(g.zBaseURL)/finfo?name=%T(zPrefix)%T(zFName)">%h(zFName)</a></li>
       }
     }
     db_finalize(&q);
     @ </td></tr></table>
     style_footer();
   }
  </verbatim>

  <hr><i>anonymous claiming to be Dmitry Chestnykh added on 2009-10-21 18:02:17:</i><br>
  Here's a better version, since the first one goes over 79 chars per line:

  <verbatim>
  --- src/browse.c
  +++ src/browse.c
  @@ -223,18 +223,19 @@
       i++;
       zFName = db_column_text(&q, 0);
       if( zFName[0]=='/' ){
         zFName++;
         @ <li><a href="%s(zSubdirLink)%T(zFName)">
  -      @     %h(zFName)/</a></li>
  +      @ %h(zFName)/</a></li>
       }else if( zCI ){
         const char *zUuid = db_column_text(&q, 1);
         @ <li><a href="%s(g.zBaseURL)/artifact?name=%s(zUuid)">%h(zFName)</a>
       }else{
  -      @ <li><a href="%s(g.zBaseURL)/finfo?name=%T(zPrefix)%T(zFName)">
  -      @     %h(zFName)</a></li>
  +      @ <li>
  +      @ <a href="%s(g.zBaseURL)/finfo?name=%T(zPrefix)%T(zFName)">
  +      @ %h(zFName)</a></li>
       }
     }
     db_finalize(&q);
     @ </td></tr></table>
     style_footer();
   }
  </verbatim>

  <hr><i>drh added on 2009-10-31 13:24:04:</i><br>
  Check-in [4165033b4030ce9dc3dd4a71ed0acc870a32fb13]


tkt_uuid: 29e80911285526492ae1b98c1657fb7bd57f36c7
type: Build_Problem
status: Open
severity: Minor
foundin: ce62a2b11d4e882962c82b8542d9c62f86b4cd73
title: make install doesn't create target directory
comment:
  configure the fossil sources to go to a directory that doesn't have a bin subdirectory. The install target will then copy fossil into $TARGET/bin -- which ends up being the fossil binary. So the installed version then is $TARGET/bin, an executable, not $TARGET/bin/fossil. Also ISTM $TARGET isn't created if it doesn't exist. I guess it couldn't hurt to use install(1) for the installation to have directories created in one step, too (install -d, although I don't know how portable that is)


tkt_uuid: 2a1e8e3c4b0b39e08fdde0d24d9fb35fbc66d39a
type: Code_Defect
status: Fixed
severity: Severe
foundin: c492eab395
private_contact: 63070188043a9522ca95dca0d28c3b9eff7a697b
resolution: Fixed
title: content_get can recursive too deep
comment:
  I'm trying to convert an existing larger CVS repository into fossil.
  The process bar from rebuild_db had reached the 100% and fossil was spending several minutes without giving any indication on what. After attaching gdb, I saw

      #2556 0x000000000040d048 in content_get (rid=11398, pBlob=<value optimized out>) at content_.c:256

  in the bt output. So it seems like it is creating a stack frame for ~every CVS revision of a file. That is screaming like it should be done differently by not depending on huge stacks.

  <hr /><i>anonymous added on 2010-10-03 12:52:15:</i><br />
  This issue results in stack overflows with the default 2MB limit while cloning a medium sized (40MB after vacuum) repository. It also seems to be responsible for the 6h of rebuild_db() after the equivalent of fossil reconstruct.

  <hr /><i>anonymous claiming to be Joerg Sonnenberger added on 2010-10-03 17:52:58:</i><br />
  Bumping the content cache from 50 entries to 2500 brings the rebuild time for this repository from 6h to 2min or so. It doesn't fix the deep stack nesting.

  <hr /><i>drh added on 2010-10-03 18:02:19:</i><br />
  I don't understand your issue with the stack size.  Yes, content_get() is
  deeply recursive, but each stack frame is only 52 bytes.  What workstation
  these days can't handle 100K or more recursions of a 52-byte stack frame?

  Content is stored as a sequence of deltas.  So the extraction algorithm
  is inherently recursive.  We could switch to using a loop and store the
  recursion information in memory obtained from the heap.  But what does 
  that really accomplish, other than making the code more obtuse.

  We've not had performance issues with rebuild before.  This suggests that
  your repository has a different structure than what we have seen in the
  past.  Can we clone a copy of your repository for further study, so that
  we can get a better grip on the source of your performance problem?

  <hr /><i>drh added on 2010-10-03 18:32:30:</i><br />
  Changing the cache size from 50 to 2500 makes no measurable difference
  in the rebuild time for the 10.35-year, 8400 check-in, 46MB repository
  used by SQLite.  This is further evidence that your repository structure
  is different from what we are used to and that we will need to see your
  repository in order to figure out what is slowing things down for you.

  <hr /><i>drh added on 2010-10-03 19:16:34:</i><br />
  Perhaps I have misunderstood the nature of the problem reported above.  Are
  you trying to run "fossil rebuild" or "fossil reconstruct"?  I've been
  assuming "fossil rebuild", but now I'm thinking I misunderstood.

  There is an inefficiency in "fossil reconstruct", I think.  And I think I
  have a simple fix.  But I need to fix some inefficiencies in
  "fossil deconstruct" first, so that I can construct a large set of files
  from which to test "fossil reconstruct".  I'll try to post a patch soon....

  <hr /><i>anonymous added on 2010-10-04 10:00:21:</i><br />
  I'm seeing this as part of the rebuild step of reconstruct and clone. I haven't tried "fossil rebuild". With "fossil clone", the stack nesting is deep enough to hit the stack limit. Backtrace starts with a few thousand content_get and ends with a few thousand of:

  #14478 0x000000000040d6a0 in after_dephantomize (rid=25789, linkFlag=1) at content_.c:361

  I can't share this repository, but the problematic part is a single file that has ~3000 commits, incrementally extending it. Think of a ChangeLog if you want.

  I think the best approach here is to avoid deep recursions by limiting the length of a delta chain. What do you think about storing the start and depth of the delta chain with each delta and introducing an on-disk content cache to cut it when it reaches a specific limit. Phantoms could be processed as forward process without recursion by using a small todo bag.


tkt_uuid: 2aaa8042caec7929f432ce1de37b10563c70dd07
type: Feature_Request
status: Fixed
severity: Minor
foundin: 149945beea
private_contact: 05f652db744266759b20d248ec2f451629420388
resolution: Fixed
title: Option to avoid saving the sync URL
comment:
  I have a clone/fork of Fossil repository on my webserver (let's say it's http://example.com/fossil-fork), which I merge with the main one from time to time. When I pull changes from http://www.fossil-scm.org, the URL gets saved into last-sync-url. The next time I commit to it (with autosync option turned on), Fossil tries to push changes into mainline, while I want it to push into my fork (http://example.com/fossil-fork). I have to use remote-url command to set last-sync-url back to the URL of my fork.

  I think the "--once" option for sync/pull/push will be useful for synchronizing forks. E.g.,

  <verbatim>
  $ fossil remote-url
  http://example.com/fossil-fork

  $ fossil pull --once http://www.fossil-scm.org
  ...
  Total network traffic: 318 bytes sent, 1292 bytes received

  $ fossil remote-url
  http://example.com/fossil-fork
  </verbatim>

  Diff:

  <verbatim>
  --- src/sync.c
  +++ src/sync.c
  @@ -67,14 +67,17 @@
   /*
   ** This routine processes the command-line argument for push, pull,
   ** and sync.  If a command-line argument is given, that is the URL
   ** of a server to sync against.  If no argument is given, use the
   ** most recently synced URL.  Remember the current URL for next time.
  +**
  +** If --once option is specified, do not remember URL.
   */
   void process_sync_args(void){
     const char *zUrl = 0;
     int urlOptional = find_option("autourl",0,0)!=0;
  +  int syncOnce = find_option("once",0,0)!=0;
     url_proxy_options();
     db_find_and_open_repository(1);
     if( g.argc==2 ){
       zUrl = db_get("last-sync-url", 0);
     }else if( g.argc==3 ){
  @@ -83,11 +86,13 @@
     if( zUrl==0 ){
       if( urlOptional ) exit(0);
       usage("URL");
     }
     url_parse(zUrl);
  -  db_set("last-sync-url", g.urlIsFile ? g.urlCanonical : zUrl, 0);
  +  if ( syncOnce==0 ) {
  +    db_set("last-sync-url", g.urlIsFile ? g.urlCanonical : zUrl, 0);
  +  }
     user_select();
     if( g.argc==2 ){
       if( g.urlPort!=g.urlDfltPort ){
         printf("Server:    %s://%s:%d%s\n",
                 g.urlProtocol, g.urlName, g.urlPort, g.urlPath);
  @@ -99,16 +104,18 @@
   }
   
   /*
   ** COMMAND: pull
   **
  -** Usage: %fossil pull ?URL? ?-R|--respository REPOSITORY?
  +** Usage: %fossil pull ?URL? ?-R|--respository REPOSITORY? ?--once?
   **
   ** Pull changes from a remote repository into the local repository.
   **
   ** If the URL is not specified, then the URL from the most recent
   ** clone, push, pull, remote-url, or sync command is used.
  +**
  +** If --once option is specified, do not remember URL.
   **
   ** See also: clone, push, sync, remote-url
   */
   void pull_cmd(void){
     process_sync_args();
  @@ -116,16 +123,18 @@
   }
   
   /*
   ** COMMAND: push
   **
  -** Usage: %fossil push ?URL? ?-R|--repository REPOSITORY?
  +** Usage: %fossil push ?URL? ?-R|--repository REPOSITORY? ?--once?
   **
   ** Push changes in the local repository over into a remote repository.
   **
   ** If the URL is not specified, then the URL from the most recent
   ** clone, push, pull, remote-url, or sync command is used.
  +**
  +** If --once option is specified, do not remember URL.
   **
   ** See also: clone, pull, sync, remote-url
   */
   void push_cmd(void){
     process_sync_args();
  @@ -134,11 +143,11 @@
   
   
   /*
   ** COMMAND: sync
   **
  -** Usage: %fossil sync ?URL? ?-R|--repository REPOSITORY?
  +** Usage: %fossil sync ?URL? ?-R|--repository REPOSITORY? ?--once?
   **
   ** Synchronize the local repository with a remote repository.  This is
   ** the equivalent of running both "push" and "pull" at the same time.
   **
   ** If a user-id and password are required, specify them as follows:
  @@ -145,10 +154,12 @@
   **
   **     http://userid:password@www.domain.com:1234/path
   **
   ** If the URL is not specified, then the URL from the most recent successful
   ** clone, push, pull, remote-url, or sync command is used.
  +**
  +** If --once option is specified, do not remember URL.
   **
   ** See also:  clone, push, pull, remote-url
   */
   void sync_cmd(void){
     process_sync_args();

  </verbatim>

  <hr><i>drh added on 2009-11-06 14:16:01:</i><br>
  check-in [5153d618937eb274b06a5cb2ae93fa0832157575]

  <hr><i>dmitry added on 2009-11-06 15:31:13:</i><br>
  Thanks! The funny thing is that the original patch was almost exactly the same (with dontSaveUrl variable), but I changed it for some reason :)


tkt_uuid: 2adfb697fda1b2aa8b6ed1486787f084b9fcf93b
type: Feature_Request
status: Fixed
foundin: [df9da91ba8] 2011-07-13
resolution: Fixed
title: branch list can only show *opened* branches
comment:
  I wanted a list of all the branches (closed included), and I could not do that in command line.

  I can copy the list from the ui meanwhile.


tkt_uuid: 2b01b6cad02b0dc00759aeee1d8b7c330f4e558e
type: Feature_Request
status: Open
severity: Important
private_contact: fec507672984bbffdebabd2012a76e2eb2a0bf5c
resolution: Open
title: Mail Notifications for Tickets
comment:
  It would be great to see email notifications on ticket additions & status changes. For instance I'd love to know when this ticket has been accepted, fixed closed etc. This is one of the missing features that is forcing me to look at other bug tracking systems.

  <hr><i>jeremy_c added on 2010-02-02 05:02:04:</i><br>
  There are two ways of currently doing this, neither are exactly what you are looking for but maybe one will work until something more your style is implemented.

    #  Use the RSS feed. Many email programs now support RSS reading. You can then view all the activity, just tickets, just commits, etc.

    #  Similar to the above, use a tool like rss2email, http://rss2email.infogami.com/ ... That is how I keep up with happenings here and on other fossil repos.

  Jeremy


  <hr><i>anonymous added on 2010-02-02 12:53:47:</i><br>
  That sounds pretty interesting! But, how do I access the rss feed? I want to try this.

  <hr><i>anonymous added on 2010-02-02 13:16:45:</i><br>
  Gosh! How stupider can I ever be! 
  Well, I figured that out, thank you very much.

  Now let me try rss2email.


tkt_uuid: 2c6a589bc5c4d790779ff37a16dff60d50aeea51
type: Code_Defect
status: Open
severity: Cosmetic
foundin: cf178577ec
private_contact: 63070188043a9522ca95dca0d28c3b9eff7a697b
title: Improve ancestor output for initial checkin
comment:
  A commit without parent should have a valid ancestor link and if someone creates the URL explicitly, it should look better, e.g. be explicit about it.
  Consider [http://www.fossil-scm.org/fossil/info/a28c83647d] as example.


tkt_uuid: 2c7b1cd3a367fc2d885d997ec62b90e57d312eea
type: Feature_Request
status: Closed
severity: Important
foundin: 9c31866404
private_contact: 68272c6eae73c7078fef2abf11458ad864fc0aad
resolution: Duplicate
title: Cannot bind to specific IP address when in server mode
comment:
  Strangely enough, when fossil is executed in <em>ui</em> mode - "fossil ui" - it binds to 127.0.0.1:8080 . However, when launched in <em>server</em> mode - "fossil server" - it automatically binds to *:8080. It seems there is no possibility to specify IP address for it to bind to in server mode. This is not very secure on multihomed systems.

  <hr /><i>dmitry added on 2011-09-08 22:02:16 UTC:</i><br />
  Duplicate of [b0894abc94].


tkt_uuid: 2ce64a315fcb3a158827182b0032cce5dd47a824
type: Code_Defect
status: Open
foundin: [6f42e76d80]
private_contact: ccd87c60364e1d3e945b6f4d4874f5174b17cc43
title: Changes equal to the baseline manifest contents are not shown
comment:
  I've made a checkin changing a file, and the UI shows as if I have not done any change in any
  file. The checkin has a delta manifest.

  I think that the problem is that, the baseline manifest (the delta is based on)
  has the same contents for the file as those I've committed, although in the 
  other deltas between the baseline and this delta, the contents have been 
  different.

  The line of the manifest regarding the file, will look the same in the baseline
  and in the new manifest, and so it does not appear there.


tkt_uuid: 2d00038076fea4752b5b48eea4361242296fbeed
type: Code_Defect
status: Closed
severity: Important
foundin: d63f87c003
private_contact: 8cd3af0e7a0b2d518bb1030fe30505b7924a4676
resolution: Fixed
title: Wiki engine inserts extra <p> before <li> in lists
comment:
  If you look on the home page for Fossil itself, you'll see several instances where the wiki formatting has erroneously generated output like
  <verbatim>
      <ul><p><li>Foo
  </verbatim>

  which is invalid (e.g., look at the tags around "Flexible Workflow:")

  <hr><i>eric added on 2009-03-25 13:19:17:</i><br>
  Since [c963a7763d], a &lt;ul> generated from an "*" line has contained a &lt;p> which contains the &lt;li>(s). There are no unbalanced tags, but &lt;ul> is supposed to contain only &lt;li>s. Obviously most browsers do not care, but it may cause odd issues with stylesheets.

  <hr><i>jeremy_c added on 2009-12-31 04:19:20:</i><br>
  Fixed in [6f0df6c741]


tkt_uuid: 2d1109c6402512146ecf675e479fb80f5eba660c
type: Feature_Request
status: Open
severity: Minor
foundin: [24636f7057]
private_contact: 70e8369b18c47ff40aebcb9bd5778b54d64203f6
resolution: Open
title: fossil should delete repository & journal files if 'fossil clone' is cancelled
comment:
  If one cancels 'fossil clone' half-way (using ^c), fossil keeps to-be-created repository file and journal file. It should delete them.

  For other cases where fossil clone fails due to some reason, it may keep these files only if asked (through command-line arguments) for debug purpose.

  <hr /><i>drh added on 2010-11-05 09:55:41:</i><br />
  Catching the SIGINT and performing cleanup would require signal handling
  which is easy enough to do on unix, but is rather more challenging on
  windows.  So even if we do provide this enhancement, it would be a 
  unix-only thing, I suspect.


tkt_uuid: 2d2b158d75bc6cbe93f1bfb8bcb7275a53f890db
type: Build_Problem
status: Fixed
severity: Important
foundin: 20091218002951
private_contact: 7e0574216b3415ca8d96ec3a4f8855d2eb0a5369
resolution: Fixed
title: -include config.mak fails under OpenBSD
comment:
  When running make under OpenBSD you receive the below error.
  "Makefile", line 51: Need an operator
  Fatal errors encountered -- cannot continue

  Commenting out that line allows make to run.

  <hr><i>jeremy_c added on 2009-12-31 04:00:50:</i><br>
  What is the error? Is there an equivilent command in OpenBSD? The idea is the -include will include config.mak if it exists, otherwise, it ignores the line.

  <hr><i>jeremy_c added on 2009-12-31 04:44:27:</i><br>
  Also, I wonder if:

  <verbatim>
  touch config.mak
  </verbatim>

  causes the make command to function properly?

  <hr><i>anonymous added on 2009-12-31 21:59:29:</i><br>
  The error is this: "Makefile", line 51: Need an operator Fatal errors encountered -- cannot continue.
  Touching config.mak doesn't have any affect. It would seem OpenBSD's version of make doesn't understand the -include syntax. I am not familiar with it enough to suggest a solution. Thanks

  <hr><i>anonymous added on 2009-12-31 22:43:16:</i><br>
  Here is the solution I have come up with. It works with OpenBSD's make but doesn't look like it works with GNU make.

  <pre>
  .if exists(config.make)
          include config.mak
  .endif
  </pre>

  <hr><i>anonymous added on 2009-12-31 22:45:03:</i><br>
  Of course it should read.
  <pre>
  .if exists(config.mak)
          include config.mak
  .endif
  </pre>

  <hr><i>jeremy_c added on 2010-01-29 23:44:32:</i><br>
  Does this problem affect other BSD's such as Free and Net?

  <hr><i>anonymous added on 2010-02-04 18:29:33:</i><br>
  Yes, the current Makefile also fails under FreeBSD 7/8. I've simply gotten around this by commenting it out.

  <hr><i>anonymous added on 2010-02-17 19:51:13:</i><br>
  Also have this on AIX 5.3


tkt_uuid: 2dbefa162bd13a5d5eb4ed37224e169814633f04
type: Code_Defect
status: Closed
severity: Minor
foundin: current
private_contact: 5ddc9ef2cc5a1544558a56a3cba910a0ba4d422a
resolution: Duplicate
title: the option "-n" of timeline command
comment:
  The "timeline" command say
      Show as many as N (default 20) check-ins.
  But it output actually line number as many as N.

  <hr /><i>dmitry added on 2011-09-08 22:12:13 UTC:</i><br />
  Duplicate with patch here [3e58b8ceaf].


tkt_uuid: 2de4ae605844fe3fb7fdc5c0f8740b936d47a746
type: Code_Defect
status: Fixed
severity: Minor
foundin: 3275d9c63c 2009-10-21T15:43:23
private_contact: 6b7d8d19b3584e0b0b59ee79d0f778ecd9f60111
resolution: Fixed
title: 'checkout' command fail after merge without changes.
comment:
  The 'checkout' command scan 'mlink' table for validate specified artifact-id.<br>But in rare case, if merged but no files are changed, no rows added to 'mlink' table.<br>I think it could be use function 'is_a_version()' defined in 'update.c' for validation.<blockquote><verbatim>--- ../Fossil-3275d9c63c/src/checkout.c 2009-10-30 14:14:17.000000000 +0900
  +++ src/checkout.c      2009-10-30 14:15:03.000000000 +0900
  @@ -75,7 +75,7 @@
     if( vid==0 ){
       fossil_fatal("no such check-in: %s", g.argv[2]);
     }
  -  if( !db_exists("SELECT 1 FROM mlink WHERE mid=%d", vid) ){
  +  if( !is_a_version(vid) ){
       fossil_fatal("object [%.10s] is not a check-in", blob_str(&uuid));
     }
     load_vfile_from_rid(vid);</verbatim></blockquote>Example:
  <blockquote><verbatim>$ fossil new test.fsl
  $ md a b

  $ # User A add a file.
  $ cd a && fossil open ../test.fsl
  $ for e in fast second third fourth; do echo $e; done > foo.txt ; cat foo.txt
  fast
  second
  third
  fourth
  $ fossil add foo.txt
  $ fossil commit --nosign -m "add foo.txt"

  $ # User B open repository.
  $ cd ../b && fossil open ../test.fsl

  $ # User A append new line, and fix typo.
  $ cd ../a
  $ echo fifth >> foo.txt
  $ sed -i s/fast/first/ foo.txt
  $ fossil commit --nosign -m "add fifth and fix typo"

  $ # User B also fix typo and commit it with --force option.
  $ cd ../b
  $ sed -i s/fast/first/ foo.txt
  $ fossil commit --nosign --force -m "fix typo"

  $ # User A found User B's fix. merge it.
  $ cd ../a
  $ fossil timeline -n 1
  === 2009-10-30 ===
  13:59:57 [e9d9022b4f] fix typo (user: silov tags: trunk)

  $ fossil merge e9d9022b4f
  $ fossil commit --nosign -m "thank you, but already fixed"

  $ # User B found merged commit, but can not checkout it.
  $ cd ../b
  $ fossil timeline -n 1
  === 2009-10-30 ===
  14:01:06 [2ba1ef2ce2] *MERGE* thank you, but already fixed (user: silov tags: trunk)

  $ fossil checkout --latest
  fossil: object [2ba1ef2ce2] is not a check-in</verbatim></blockquote>

  <hr><i>drh added on 2009-10-31 13:12:32:</i><br>
  Check-in [999b1779e71ed659e7b962ae96905bd9a6a5dcc6]


tkt_uuid: 2e088c58159bad1a5305f98189bd9a5bf29e7ef2
type: Code_Defect
status: Closed
severity: Minor
resolution: Fixed
title: Allow svg for in-line diagrams in embedded documentation
comment:
  In new browsers (other than firefox) embedded images can be of type svg.
  Fossil does not serve the right mime type for these images, preventing
  svgs to be used for inline documentation in embedded wiki files.

  <hr /><i>venks added on 2010-11-07 18:45:11:</i><br />
  Implemented in [151a2104ae].

  <hr /><i>venks added on 2010-11-08 06:20:31:</i><br />
  Included in [c01e3c1794]


tkt_uuid: 2e0d927de876cd0b20e0500b5bc0f8da2f1b1395
type: Code_Defect
status: Closed
severity: Severe
foundin: d8221b9863
private_contact: 24b67375dd2ec6c7381a5ad34cfcf006f0b9c260
resolution: Fixed
title: SQLITE_CANTOPEN with latest fossil release
comment:
  With latest fossil release [d8221b9863], I am unable to pull changes from fossil canonical repo.  Instead there is a message "SQLITE_CANTOPEN..."
  It is happening on Czech win XP, SP3, settings being the same as with ticket [8d916f5fc3].

  OS message in Czech tells, that system cannot find path specified correct path should be "C:\Documents and Settings\user\Data aplikací\_fossil", Path for _fossil file in function winOpen() is missing "í" small letter i with acute.



  <verbatim>
  c:\soft\bin>fossil ver
  This is fossil version [d8221b9863] 2011-05-12 14:56:52 UTC

  c:\soft\bin>fossil.exe pull http://www.fossil-scm.org/ -R myfossilclone_canonical.fossil 

  c:\soft\bin>fossil.exe pull http://www.fossil-scm.org/ -R myfossilclone_canonical.fossil
  c:\soft\bin\fossil.exe: SQLITE_CANTOPEN: os_win.c:33310: (3) winOpen(C:\Documents and Settings\user\Data aplikac\_fossil) - Syst+ęm nem+»+że nal+ęzt uvedenou cestu.
  c:\soft\bin\fossil.exe: SQLITE_CANTOPEN: os_win.c:33310: (3) winOpen(C:\Documents and Settings\user\Data aplikac\_fossil) - Syst+ęm nem+»+że nal+ęzt uvedenou cestu.
  c:\soft\bin\fossil.exe: SQLITE_CANTOPEN: cannot open file at line 33316 of [f55156c519]
  c:\soft\bin\fossil.exe: unable to open database file

  If you have recently updated your fossil executable, you might
  need to run "fossil all rebuild" to bring the repository
  schemas up to date.


  c:\soft\bin>fossil rebu myfossilclone_canonical.fossil
    100.0% complete...

  c:\soft\bin>fossil.exe pull http://www.fossil-scm.org/ -R myfossilclone_canonical.fossil
  [the same error message as with previous attempt to pull]
  </verbatim>

  <hr /><i>anonymous claiming to be PF added on 2011-05-20 07:58:05 UTC:</i><br />
  With fossil version [625226d577] 2011-05-13 20:30:52 UTC there is no such problem as I reported earlier. Until proven otherwise, I am closing this ticket.
  Thanks


tkt_uuid: 2e3dc63382759b30928115313b47c6fd6051c34a
type: Incident
status: Deferred
priority: Low
severity: Minor
foundin: 4b56350ecb
private_contact: 791d5832f0399524e7110df48d79836bff34e33f
resolution: Open
title: Default Severity Annoying
comment:
  My last bug was supposed to be "Cosmetic" but it defaulted back to "Critical."  Appears to be no way to update the severity of a bug immediately after it's entered.  /sigh

  <hr><i>kkinnell added on 2008-12-09 16:21:02:</i><br>
  This is an issue with how the <b>fossil</b> main repository site is set up; for individual sites the repository admin has control over this.

  <hr><i>anonymous added on 2009-06-25 16:28:19:</i><br>
  as


tkt_uuid: 2e924cf9b74e7bc777c0f896eda0349e1bf123c7
type: Feature_Request
status: Fixed
severity: Minor
foundin: 9cbef7a104e5d6168895a1ab99ad0a68484be369
private_contact: 9e3254e6e3c2643cc148bab2d55f46bb4c0446f4
resolution: Fixed
title: Change recursive add to allow inclusion of files starting with dot
comment:
  Currently a recursive add ignores dotfiles. This is annoying when adding for instance an eclipse project on windows (eclipse uses directories starting with . for project settings)
  I propose to add a flag -dotfiles to add so that when specified .files and .dir will be added as well.
  Following diff adds the option to fossil add:

  <verbatim>
  @@ -65,21 +65,24 @@
   ** All content of the zDir directory to the SFILE table.
   */
   void add_directory_content(const char *zDir){
     DIR *d;
     int origSize;
  +  int dotFlag;
     struct dirent *pEntry;
     Blob path;
  +  dotFlag = find_option("dotfiles","d",0)!=0;
   
     blob_zero(&path);
     blob_append(&path, zDir, -1);
     origSize = blob_size(&path);
     d = opendir(zDir);
     if( d ){
       while( (pEntry=readdir(d))!=0 ){
         char *zPath;
  -      if( pEntry->d_name[0]=='.' ) continue;
  +      if( pEntry->d_name[0]=='.' && !dotFlag) continue;
  +      if( strcmp(pEntry->d_name, "..")==0 ||  strcmp(pEntry->d_name, ".")==0 ) continue;
         blob_appendf(&path, "/%s", pEntry->d_name);
         zPath = blob_str(&path);
         if( file_isdir(zPath)==1 ){
           add_directory_content(zPath);
         }else if( file_isfile(zPath) ){
  @@ -112,10 +115,14 @@
   **
   ** Usage: %fossil add FILE...
   **
   ** Make arrangements to add one or more files to the current checkout
   ** at the next commit.
  +**
  +** When adding files recursively, by default files or directories
  +** starting with a . (dot), will not be added. This behaviour can be changed
  +** by the optional -dotfiles flag.
   */
   void add_cmd(void){
     int i;
     int vid;
     Blob repo;
  </verbatim>

  <hr><i>drh added on 2009-08-14 16:20:50:</i><br>
  Added with check-in [5bc5e88c86130400c184ba93b2470e7009f909c5]


tkt_uuid: 2ed0655983b51af61bb85e9b0cab70b205d9d513
type: Code_Defect
status: Closed
severity: Cosmetic
foundin: a8c3a7ea92 2008-11-22T19:32:44
private_contact: 6b7d8d19b3584e0b0b59ee79d0f778ecd9f60111
resolution: Fixed
title: html numeric character entity "&#149;" is maybe wrong.
comment:
  html numeric character entity "&amp;#149;" uses in "setup.c" and "wikiformat.c"
  numeric character entities always interpret by unicode.
  "&amp;#149;" does not means iso-8859-1 character '\x95'('middle dot').
  if use 'middle dot' in html, use "&amp;#8226;" or "&amp;bull;" (as U+2022)

  <hr><i>drh added on 2008-11-27 13:34:27:</i><br>
  Fixed in check-in [72e9eb6a0d4c6e777878].


tkt_uuid: 2ee159304e721349aae20e7a8155c7e6c2b041a9
type: Code_Defect
status: Open
foundin: [cf178577ec]
private_contact: ccd87c60364e1d3e945b6f4d4874f5174b17cc43
resolution: Open
title: Error in timeline (armv5tel-linux) showing events
comment:
  This comes from further investigating of the problem quite bad reported at [f1c75f3844687].

  I got confused again when I said it was about time (I missed one unsynched local 'fossil ui' with the server).

  So, as said, you can clone that repository: http://vicerveza.homeunix.net/~viric/cgi-bin/nanonixos
  You will see in the timeline of the server that the event related to the artifact 4d12cabdeca86a71190c39b1e458faae4fad0faf does not appear in the timeline. But I imagine it will appear in your local fossil timeline.

  I've investigated a bit...

  That server (vicerveza.homeunix.net) running fossil as a cgi is an armv5tel-linux. I tried there fossil [cf178577ec] 2010-11-17 and fossil [12a79e5b93] 2010-10-05). Both show the same behaviour: the event of that artifact is not shown in the timeline. I've tried in all the cases a 'rebuild'.

  Nevertheless, if I clone that in an x86_64-linux, I don't have any problem in the local 'fossil ui', using the [cf178577ec] 2010-11-17 version.

  The server, to give more details, has gcc 4.5.1, glibc 2.12.1, and all fossil tests passed after building.

  <hr /><i>anonymous claiming to be viric added on 2010-11-30 19:40:51:</i><br />
  As long as investigate...
  I'm trying "fossil sqlite3". There should be three events, and for example I get:
  <verbatim>
  sqlite> SELECT * from event WHERE event.type='e';
  e|2455530.46353009|168|19||||viric||The malta keyboard does not work still|
  e|2455530.49096065|169|20||||viric||links2 not working in graphics mode|
  </verbatim>


  <hr /><i>anonymous claiming to be viric added on 2010-11-30 20:06:55:</i><br />
  I've just compared de "rebuild -quiet -sqltrace" both in x86_64 and armv5tel. The concerning block with the difference is:
  <verbatim>
  282,283c285,288
  < SELECT rid FROM tagxref WHERE tagid=11 AND mtime<2455525.422407407 ORDER BY mtime DESC;
  < SELECT rid FROM tagxref WHERE tagid=11 AND mtime>2455525.422407407 ORDER BY mtime;
  ---
  > SELECT rid FROM tagxref WHERE tagid=11 AND mtime<2455525.422407408 ORDER BY mtime DESC;
  > DELETE FROM event WHERE type='e'   AND tagid=11   AND objid IN (SELECT rid FROM tagxref WHERE tagid=11);
  > SELECT rid FROM tagxref WHERE tagid=11 AND mtime>2455525.422407408 ORDER BY mtime;
  > REPLACE INTO event(type,mtime,objid,tagid,user,comment,bgcolor)VALUES('e',2455525.421157408,74,11,'viric','Nanonote boot',  (SELECT value FROM tagxref WHERE tagid=1 AND rid=74));
  </verbatim>

  I think there may be a problem on floating point precision / algorithms. The armv5tel cpu does not have a FPU, and it uses gcc's -msoft-float.

  <hr /><i>anonymous claiming to be viric added on 2010-11-30 20:33:57:</i><br />
  So, manifest_parse includes:
  <verbatim>
          p->rDate = db_double(0.0, "SELECT julianday(%Q)", next_token(&x,0));
  </verbatim>

  While the tag_insert called in manifest_crosslink() does:
  <verbatim>
    db_prepare(&s,
      "REPLACE INTO tagxref(tagid,tagtype,srcId,origid,value,mtime,rid)"
      " VALUES(%d,%d,%d,%d,%Q,:mtime,%d)",
      tagid, tagtype, srcId, rid, zValue, rid
    );
    db_bind_double(&s, ":mtime", mtime);
  </verbatim>

  While the call at manifest_crosslink() does:
  <verbatim>
      prior = db_int(0,
        "SELECT rid FROM tagxref"
        " WHERE tagid=%d AND mtime<%.17g"
        " ORDER BY mtime DESC",
        tagid, p->rDate
      );
  </verbatim>

  I think that the <tt>%.17g</tt> printf kind of prompt should be moved into db_bind_double, as before. Otherwise there may be rounding problems, like those I am experiencing.

  Notice that the tag_insert resulted, in both computers, in:
  <verbatim>
  REPLACE INTO tagxref(tagid,tagtype,srcId,origid,value,mtime,rid) VALUES(11,1,74,74,'365',2455525.42240741,74);
  </verbatim>

  While the printf-style SQL queries with <tt>%.17g</tt> had different results in the two computers.

  <hr /><i>anonymous claiming to be viric added on 2011-01-10 08:20:18 UTC:</i><br />
  Is [722d7cac97] going to mean any improvement on this?

  Thank you.

  <hr /><i>viriketo added on 2011-05-13 16:08:19 UTC:</i><br />
  I think [9b26d1e9a2] may have fixed the problem. I'll try.


tkt_uuid: 300fc543b24250e25686762a7d8daa2f796590da
type: Feature_Request
status: Fixed
severity: Minor
private_contact: 657fecc17bdc2306d28088355d2cfe0485c38cab
resolution: Fixed
title: Imply "trunk" when no uuid is given to tarball or zip downloads
comment:
  Currently, download URLs with no uuid parameter (e.g. http://www.fossil-scm.org/fossil/tarball/fossil.tar.gz) lead to a "Not found" error message. I think it would be a good default to use "trunk" instead.

  <hr /><i>rmax added on 2012-08-08 10:58:32 UTC:</i><br />
  The change to implement this is trivial:
  <verbatim>
  --- src/tar.c
  +++ src/tar.c
  @@ -581,11 +581,11 @@
   
     login_check_credentials();
     if( !g.perm.Zip ){ login_needed(); return; }
     zName = mprintf("%s", PD("name",""));
     nName = strlen(zName);
  -  zRid = mprintf("%s", PD("uuid",""));
  +  zRid = mprintf("%s", PD("uuid","trunk"));
     nRid = strlen(zRid);
     if( nName>7 && fossil_strcmp(&zName[nName-7], ".tar.gz")==0 ){
       /* Special case:  Remove the ".tar.gz" suffix.  */
       nName -= 7;
       zName[nName] = 0;
  </verbatim>
  I suggest the same for zip archives.


tkt_uuid: 303b8b118281ca4897aed7bb1ddd9cc1f7593301
type: Incident
status: Fixed
severity: Important
foundin: 5721bce8853fc3594aa52c4191b5ff46f41fa031
resolution: Overcome_By_Events
title: Very slow checkin on large repository
comment:
  A large repo takes a long time to do a 'checkin' (autosync is off, and the machine is a very fast one with lots of RAM):

  <nowiki><pre>
  time fossil ci -m 'ci time test'
  New_Version: 4434f3a0489357cd396359b85fcab7f531d5aefd

  real    2m44.684s
  user    0m44.612s
  sys     0m10.444s
  </pre></nowiki>

  The corresponding "push" was fast: <tt>real    0m7.062s</pre>

  The repository is big, but not enormous:
  <nowiki><pre>
  fossil rstats
   Number of Artifacts: 2160
    2151 full text + 9 delta blobs
   198473 bytes average, 428701769 bytes total

    Number Of Checkins: 7
       Number Of Files: 37264
  Number Of Wiki Pages: 1
     Number Of Tickets: 0
   Duration Of Project: 2 days
  </pre></nowiki>

  <hr /><i>anonymous claiming to be Joerg Sonnenberger added on 2010-12-21 16:29:38:</i><br />
  Isn't this a side effect of the setting repo-cksum=on? As it is now optional, I think this can be closed.

  <hr /><i>anonymous added on 2010-12-28 18:30:52:</i><br />
  What Joerg was pointing to requires a newer version of Fossil. Updating to the newest version will provide you the said setting.

  <hr /><i>joerg added on 2011-03-25 01:01:35 UTC:</i><br />
  Addressed by setting repo-cksum to off.


tkt_uuid: 305143bd876f693f446f78d12dbef143c46eec58
type: Code_Defect
status: Closed
severity: Severe
foundin: [c38a726932]
private_contact: e64e062ff7022fc7fdd41ac56baff07e8ae485d9
resolution: External_Bug
title: Timeline view is always logged-out.
comment:
  When I log in to any fossil repository -- both my own and the one at [http://www.fossil-scm.org|fossil-scm.org] -- I'm shown as <tt>Logged in as <cite>username</cite></tt> on any page <strong>except</strong> the timeline view.  I'm always shown as <tt>Not logged in</tt> with the added blurb about how links aren't going to work, etc.  If I click on "login" from that page, I go to a page that tells me I'm logged in where I'm asked if I want to change my password or log out.

  It doesn't appear to matter how I get to the timeline view.  I can go from the <tt>Timeline</tt> link, through the <tt>Branches</tt> link off of a branch (say, trunk) or anything else -- when I hit the timeline view, I'm shown as logged-off and can't click to follow.

  I can confirm this on build [c38a726932] (the build used at the main site) and [c92ec16f81] (the last build I put up on my remote repository site).

  <hr /><i>ttmrichter added on 2011-03-16 05:41:37 UTC:</i><br />
  I've attached two screenshots to show what I mean.  The first screenshot is a view of this very ticket.  I've circled in red where it says I'm logged in.  The second shot is taken seconds later after clicking on "Timeline" with no other actions in between.  I've circled the fact that I'm not logged in and the consequences of this.

  <hr /><i>ttmrichter added on 2011-03-24 10:47:50 UTC:</i><br />
  The problem turns out to have been a very bad and complicated interaction between a proxy script used to circumvent overzealous censors in China and some clumsy fingers when entering data for the script.

  Fossil is blameless and works exactly as designed.


tkt_uuid: 309c57b3d27219fa6ad601c0021dc067a7cb992d
type: Code_Defect
status: Fixed
severity: Important
foundin: [4d39bbac10] 2009-01-20 22:38:56
private_contact: 24b67375dd2ec6c7381a5ad34cfcf006f0b9c260
resolution: Fixed
title: database error on hyperlinked tagname in tag menu
comment:
  Fossil version [4d39bbac10] 2009-01-20 22:38:56 

  repo not rebuild, click on:
  http://localhost:8080/tagview?name=cvs2fossil-complete

  cvs2fossil-complete:
  Database Error

  near "desc": syntax error
  SELECT
    blob.rid,
    uuid,
    datetime(event.mtime,'localtime') AS timestamp,
    coalesce(ecomment, comment),
    coalesce(euser, user),
    (SELECT count(*) FROM plink WHERE pid=blob.rid AND isprim=1),
    (SELECT count(*) FROM plink WHERE cid=blob.rid),
    NOT EXISTS (SELECT 1 FROM plink WHERE pid=blob.rid),
    bgcolor,
    event.type,
    (SELECT group_concat(substr(tagname,5), ', ') FROM tag, tagxref
      WHERE tagname GLOB 'sym-*' AND tag.tagid=tagxref.tagid
        AND tagxref.rid=blob.rid AND tagxref.tagtype>0)
   FROM event JOIN blob
  WHERE blob.rid=event.objid
   AND EXISTS (SELECT 1 FROM tagxref  WHERE tagxref.rid = event.objid  AND tagxref.tagtype > 0  AND tagxref.tagid = 11 ORDER BY 3 desc
   
   
   repo rebuild click on link:
   http://localhost:8080/tagview?name=cvs2fossil-complete
   
   cvs2fossil-complete:
  Database Error

  near "desc": syntax error
  SELECT
    blob.rid,
    uuid,
    datetime(event.mtime,'localtime') AS timestamp,
    coalesce(ecomment, comment),
    coalesce(euser, user),
    (SELECT count(*) FROM plink WHERE pid=blob.rid AND isprim=1),
    (SELECT count(*) FROM plink WHERE cid=blob.rid),
    NOT EXISTS (SELECT 1 FROM plink WHERE pid=blob.rid),
    bgcolor,
    event.type,
    (SELECT group_concat(substr(tagname,5), ', ') FROM tag, tagxref
      WHERE tagname GLOB 'sym-*' AND tag.tagid=tagxref.tagid
        AND tagxref.rid=blob.rid AND tagxref.tagtype>0)
   FROM event JOIN blob
  WHERE blob.rid=event.objid
   AND EXISTS (SELECT 1 FROM tagxref  WHERE tagxref.rid = event.objid  AND tagxref.tagtype > 0  AND tagxref.tagid = 13 ORDER BY 3 desc

  <hr><i>drh added on 2009-01-20 23:49:59:</i><br>
  Fixed by check-in [bf7ca1a4d8ce33c852164c9105fa35c3e8c81339].


tkt_uuid: 30b28cf351fd81c2a30541e3eb9b6f25a67d5931
type: Code_Defect
status: Open
severity: Important
foundin: [9f9047d686]
resolution: Open
title: Merge to the checkout (on update) fails, if with renames
comment:
  While a merge between branches may work, with a clean checkout, it failed for me to recognise the renames I had on my checkout at the time of running "fossil update".

  Committing, resulting in a fork of the branch, and then merging the leaves with a clean checkout, worked as a trivial merge.

  Luckily 'fossil update' invites to undo, and the harm is then minimum.

  <hr /><i>viriketo added on 2011-10-12 16:24:30 UTC:</i><br />
  It may be fixed by [0b93b0f958].


tkt_uuid: 30f7206b2b061f03bf654cfe6e7ca62c23ff573e
type: Code_Defect
status: Fixed
severity: Critical
foundin: 3f5ef308fe
private_contact: c86c6f7c702240add8fdbe39c151406d01b37e2e
resolution: Fixed
title: Fossil not working on Czech (and likely some others non-US) Windows XP
comment:
  When trying to create new repository error 'unable to open database file' appears.

  c:\Projects>fossil.exe new test
  fossil: unable to open database file

  The problem seems to be due to accented character in the LOCALAPPDATA folder:
  c:\Documents and Settings\petr\Data aplikac&#237;\

  <hr><i>drh added on 2008-11-04 12:29:41:</i><br>
  See check-ins [dad7731f0e] and [c6a9e4ed41].


tkt_uuid: 311fbfd6b696142a4b2c86dcf2c4595ed3e5a0ed
type: Code_Defect
status: Fixed
severity: Important
foundin: [8474ca6747] 2010-08-23 22:24:16 UTC
private_contact: 7dbf398b8524d19867c9afaa7207ea0a602e4458
resolution: Fixed
title: Unable to "fossil conf pull all" via proxy
comment:
  <verbatim>C:\foo>fossil pull
  Server:    http://user@example.com/repo/foo.repo
  via proxy: http://192.168.2.1:3128/
                  Bytes      Cards  Artifacts     Deltas
  Send:             146          2          0          0
  Received:         384          9          0          0
  Total network traffic: 370 bytes sent, 438 bytes received
  </verbatim>
  same local repository, same remote repository url and proxy settins, user has admin privileges:
  <verbatim>>C:\foo>fossil conf pull all
                  Bytes      Cards  Artifacts     Deltas
  Send:             619         24          0          0
  fossil: can't resolve host name: example.com
  </verbatim>
  It turns out that <kbd>fossil conf</kbd> do not respect proxy setting at all. Should this be fixed or it is intentional?

  <hr><i>anonymous claiming to be urmil added on 2010-08-26 07:32:27:</i><br>
  Duplicate of [0d1a4fe14f]. See that ticket for fix.


tkt_uuid: 31bd22c31fcc1d1008c7b4b032b6f148a56a6e6b
type: Code_Defect
status: Fixed
severity: Minor
foundin: 5b91887495
private_contact: f6a9dd909d0ef561fc068d594fe1afe9ccc9cb4f
resolution: Fixed
title: sql error in db_unset
comment:
  db_unset has incorrect sql in the delete query..

  "DELETE INTO" should be "DELETE FROM" on lines 1232 & 1235

  <hr><i>anonymous added on 2009-08-15 16:06:51:</i><br>
  .. in src/db.c (in case that wasn't obvious)

  <hr><i>drh added on 2009-08-15 16:51:33:</i><br>
  Fixed in [74f7f6e6ad30a5]


tkt_uuid: 3233c3dad99d57ade789fdeb79ab80b44b0d2dba
type: Code_Defect
status: Fixed
severity: Important
foundin: 0448438c56
private_contact: 726979ba8abad093d3e1d2530d14101dba99c53f
resolution: Fixed
title: SQLITE_ERROR: no such function: now
comment:
  I upgraded from [356e877cea] to [0448438c56] and rebuilt all my projects.
  Wanting to use the Single Sign-On (SSO), I joined one project ('forms2011') to another ('style') using the new login-group feature. Joining worked (sort of: 'style' does not show any other repository under its login-group, while 'forms2011' shows 'style'). But, when I added a user, I got the error message: 

  "SQLITE_ERROR: no such function: now
  # /var/www/html/webapps/FOSSIL/style.fossil: no such function: now

  [Bummer]"

  Anther issue, is that I can't do SSO between those 2 projects. Usernames and passwords aren't shared. It's as if the SSO didn't work.


tkt_uuid: 329d51eb80fa7920a05720b3cc02d591b2dd9c9e
type: Feature_Request
status: Fixed
severity: Cosmetic
foundin: f969b6cdde
private_contact: 2359089ef753bc96e12743e299243d5232c749fa
resolution: Works_As_Designed
title: default ticket schema does not include "submitted by"
comment:
  by default, the only way to identify the submitter of a ticket is by the optional email or "private_contact" field.  it would be nice if fossil recorded the submitter's username, even if it was anonymous; fossil already puts the username in the notes field when a ticket is edited, but the original submitter is not identified anywhere in the record.  if fossil can be configured to do this in the admin section, then i recommend it be the default configuration.

  <hr><i>rwilson added on 2009-10-07 00:31:07:</i><br>
  appended remarks identify the user, though this field can be erased before submitting the edit.

  <hr><i>rwilson added on 2009-10-07 17:57:12:</i><br>
  interesting - somehow the timeline knows who submitted a given ticket...

  <hr><i>ron added on 2010-02-17 04:41:05:</i><br>
  There should be an additional "submitted_by" field, which is autopopulated.  On the 'new ticket' page, the email should be automatically filled in from the log-in data if the user is logged-in (as not anonymous).



  <hr><i>ron added on 2010-02-18 17:38:05:</i><br>
  Instructions on how to implement this [http://www.fossil-scm.org/index.html/doc/tip/www/custom_ticket.wiki|are here].


tkt_uuid: 32cfbf0aa4abf9642fc59c3925596b381b537e34
type: Code_Defect
status: Fixed
severity: Minor
foundin: trunk
private_contact: e7d733707d8c126de4f080f5f958e762bfaa8983
resolution: Fixed
title: Dashes in directory names create broken links in file viewer
comment:
  http://spielproject.info/dir?ci=0306163cce922e53&name=src/main/res

  Note the values/ subdirectory, as well as values-cs/ and values-es/.

  http://spielproject.info/dir?ci=0306163cce922e53&name=src/main/res/values

  Note the cs/ and es/ subdirectories within. These don't actually exist, and appear to be coming from the similarly-named directories in the parent.


tkt_uuid: 336924579dd95e7cceaeeae585c2a44cb43d7afa
type: Code_Defect
status: Fixed
severity: Minor
foundin: 48f5dadafd
private_contact: 0104dabff6057f27042b765f556ea05cb3727a5c
resolution: Fixed
title: my test with windows-i18n branch
comment:
  Here's a little test I made: (see screenshot)
  I didn't copy text here, I'm not sure how it will appear on webpage on different
  browser and encodings...

  It failed at the "add" command...

  <hr /><i>anonymous claiming to be mgagnon added on 2011-05-03 16:58:19 UTC:</i><br />
  NOTE: I use Windows XP SP3 and I've compiled fossil using latest MinGW...

  <hr /><i>anonymous claiming to be mgagnon added on 2011-05-03 20:22:40 UTC:</i><br />
  Exactly same thing happens with latest version: [48f5dadafd]

  I've notice that version from the trunk let me add it, but display wrong caracter. The file I add have a "e accute" on the filename (like on my screenshot) but on the feedback after the addition (ADDED    filename), it display a "U accute" instead.

  <hr /><i>jan.nijtmans added on 2012-09-24 14:22:06 UTC:</i><br />
  On trunk, this should be fully fixed. See the attached screenshot (windows-i18n_test3.png) to prove it.


tkt_uuid: 33949929b9857e34dd3df6650dfd5884a733e5bd
type: Code_Defect
status: Fixed
severity: Severe
foundin: [3bc6d0b0c9] 2008-07-27 21:02:10
private_contact: 24b67375dd2ec6c7381a5ad34cfcf006f0b9c260
resolution: Fixed
title: Fossil on windows fails on path/files with non US-ASCII characters in them.
comment:
  I can't open, add, commit and close repository with fossil on international version of win XP, unless I fiddle with environment variable.
  Even with fiddling, I am unable to check in files with non US-ASCII characters in names or open repository on path with non US-ASCII characters.

  My international version of windows XP (Czech) uses as a place for storing application's data localized path (what is on US windows on:
  c:\Documents and Settings\username\Application Data is on my system stored on c:\Documents and Settings\username\Data aplikac&#237; 
  (please note \xA1 character at the end))
  When fossil starts to do its job, it tries to create some databases in location determined by code on lines 561-569 in db.c. My win xp set APPDATA variable
  to "c:\Documents and Settings\username\Data aplikac&#237;" which is used by fossil, but it never creates _fossil database on c:\Documents and Settings\username\Data aplikac&#237;\_fossil
  but instead tries to create c:\Documents and Settings\username\Data aplikac\_fossil (on path which does not exist on system)
  In attempt to use fossil somehow I set APPDATA to existing path with only US-ASCII character in it. That way I could (finally!) play with fossil (add/commit/... to repostory,
  which is good). Unfortunately, when I try to add files with non US-ASCII characters in their names, it fails and I don't see there any workaround. (I believe that having 
  ability to add such files to repository is quite fundamental feature for international users). I theoretize that both issues are related to the fact that sqlite expects UTF
  encoded path but fossil does not make provisions,that such path passed to sqlite is indeed UTF encoded.

  To reproduce second issue please create a file with some non US-ASCII character(s) in its name (e.g. \xA1) and try to commit such file into repository (on windows xp).
  First issue should manifest itself on international version of windows (perhaps XP as I have seen fossil adding and commiting files on win 2000, where 
  APPDATA was set by system to c:\Documents and Settings\username\Application Data) which possibly set LOCALAPPDATA or APPDATA or HOMEPATH or HOME variables to path containing 
  non US-ASCII characters.

  Would it be possible to fix this? Thanks.

  <hr><i>drh added on 2008-11-04 13:21:02:</i><br>
  Ticket [30f7206b2b] is a duplicate of this ticket, I believe.  And
  that ticket was fixed by check-in [c6a9e4ed41].  So I think this ticket
  should also be fixed now.  The latest precompiled binaries contain the
  fix and are available on the website.


tkt_uuid: 33d2bf39889352f2f11895277f52d4f62e90fd8f
type: Feature_Request
status: Fixed
severity: Minor
private_contact: ddae85699df0ae84ab8e0a6a6dacf72bab6d4a7a
resolution: Fixed
title: "fossil update" should get current branch if multiple descendants
comment:
  This is something which has bothered me for a while:

  "A", "B" and "C" check out a repo.  "B" and "C" make changes.  "B" checks in on a new branch, "C" checks in on the original branch.  Now, when "A" does <tt>fossil update</tt>, he gets a nice informational message about the two descendant branches, but fossil does not get anything unless told which branch to get.

  My suggestion is that <tt>fossil update</tt> should <i>always</i> get the branch it was on originally unless told otherwise.  It should also inform the user if there are new branches in the meantime, but the existence of new branches should be informative and not an obstacle.


tkt_uuid: 33ffff3b4d961cf6e2a0ce265e2758992d04195e
type: Feature_Request
status: Fixed
severity: Important
foundin: cf178577ec]
private_contact: ccd87c60364e1d3e945b6f4d4874f5174b17cc43
resolution: Fixed
title: Add a way to do an automatic binary search
comment:
  It would be nice if there could be an automatic way (writing a test program) to bisect for a commit that triggered a change in the test program result, for a given branch.

  Or you think that should be a task for a script that uses fossil?

  Thank you.

  <hr /><i>anonymous claiming to be gour added on 2010-11-27 07:40:49:</i><br />
  I'd say it's the task for the script.

  <hr /><i>anonymous claiming to be viric added on 2010-11-30 21:05:19:</i><br />
  So, let's say that we know, for a given branch, two checkins, extremes of where we want to do the binary search.

  What fossil command would return a list of all the checkins between them, they included?

  <hr /><i>drh added on 2010-12-07 15:36:53:</i><br />
  The "fossil bisect" command has been added.


tkt_uuid: 34707fabfd8a5df2d9f600b56edf5f6106a79b41
type: Code_Defect
status: Fixed
severity: Severe
foundin: c4ade43651
private_contact: a7ec239b1a3401c4229e18dead1ea4225e287fb9
resolution: Fixed
title: add after rm doesn't work
comment:
  On executing following set of commands, file1 doesn't get added back.

  <verbatim>
  fossil new test
  fossil open test
  touch file1
  fossil add file1
  fossil commit -m "one"
  fossil rm file1
  fossil add file1         # <-- This command doesn't add file1 again
  fossil commit -m "two"
  fossil ls
  </verbatim>

  Since add followed by a commit is a valid sequence, there are possibilities of user losing his work.


tkt_uuid: 34cbc91257922ed6226714e29899dacd5017dd0d
type: Code_Defect
status: Open
severity: Severe
foundin: [d04fa1e1438ec7] and after
private_contact: 24b67375dd2ec6c7381a5ad34cfcf006f0b9c260
resolution: Open
title: problem serving fossil repos with old db schema from subdirectory
comment:
  While checking recent fossil ability to serve repos from subdirectory as implemented in [d04fa1e1438ec7] I encountered problem with serving repository with old db schema (repository test.fossil with config.aux-schema="2006-12-23" in my case served locally on win XP).

  Steps to replicate:

  1. copy old fossil repository into some subdirectory of directory, where fossil repos are served ("_qqq" in my case) 

  2.attempt to see it on http://localhost:8080/_qqq/test/timeline show following error:
  <h1>Server Configuration Error</h1>
  <p>The database schema on the server is out-of-date.  Please ask
  the administrator to run <b>fossil rebuild</b>.</p>

  3. rebuilding repo fails with test.fossil-journal file left in place:
  <pre>
  c:\soft\bin\_qqq>fossil rebu -R .\test.fossil
  C:\soft\bin\fossil.exe: out of memory
  C:\soft\bin\fossil.exe: SQLITE_BUSY: statement aborts at 2: [ROLLBACK] cannot rollback transaction - SQL statements in progress
  <pre/>

  Serving repositories from "_qqq" subdir with uptodate db schema (config.aux-schema="2011-02-25 14:52") works fine.
  e.g.:
  http://localhost:8080/_qqq/myfossilclone/timeline

  Now, I am unable to rebuild my old repo with newest fossil executable even in its original location.

  <hr /><i>drh added on 2011-03-19 11:51:09 UTC:</i><br />
  Please do this:

    1.  Run "fossil sql -R old-repo.fossil" - followed by "vacuum" in order to
        clean up and recover the SQLite database which is the repository.

    2.  Send me instructions on how I can download the repository file so that
        I can debug the problem. drh@sqlite.org


tkt_uuid: 3567d7dd0cd5b2134421dced890bdeba5655b391
type: Code_Defect
status: Open
severity: Important
foundin: [e3292ef8c3] 2010-09-24 17:07:49 UTC
private_contact: 799fcce709e3f04aa96834caec7945b22b8b6a57
resolution: Open
title: occupied port 8080 has been used instead of available 8081
comment:
  I had Plone running locally on 8080

  I started <pre>fossil ui</pre> and instead of 8081 port, 8080 has been used. Plone has been replaced by fossil web interface.

  There is no message displayed. I expected
  <pre>Listening for HTTP requests on TCP port 8080</pre>

  I started i other source tree (other project) also <pre>fossil ui</pre> and I got properly 
  <pre>Listening for HTTP requests on TCP port 8081</pre>

  I'm using Mac OS X


tkt_uuid: 35b02baad5df5f443f2a5f94fbfb56eec405aeef
type: Feature_Request
status: Open
severity: Important
foundin: f89d953a06
private_contact: 63070188043a9522ca95dca0d28c3b9eff7a697b
resolution: Open
title: Support in timeline for jumping to specific point in time
comment:
  The timeline should make it easier to move to old versions by allowing it to enter the date directly. On old repositories with years of history and more than a few thousand commits, it is currently very hard to browse back other than editing the URL directly.

  <hr /><i>drh added on 2010-11-01 23:08:10:</i><br />
  You can, if you want, go up to the URL bar and append

     <tt>?c=1970-01-01</tt>

  (or some other date) to the end of the URL, if you like.  
  That is what I normally do.  I will
  admit that this is not as nice as having any entry box, but I'm still
  struggling to figure out where to put that entry box (without unnecessarily
  cluttering the screen).

  <hr /><i>anonymous added on 2010-11-01 23:32:44:</i><br />
  I would say next to "Wiki Only" in #submenu, e.g. something like:

  <verbatim>
  200 Entries | Newer | Older | Before: <...> <Load>
  </verbatim>

  or maybe even combine it with Older by filling the data in:

  <verbatim>
  200 Entries | Newer | Older: <...> <Load>
  </verbatim>


tkt_uuid: 35ed38df8a897d370d3794291a22d89d8c35a935
type: Feature_Request
status: Open
severity: Minor
foundin: 66d93f33d5
private_contact: 63070188043a9522ca95dca0d28c3b9eff7a697b
resolution: Open
title: Ticket change history should interprete markup of comment
comment:
  Consider [http://fossil-scm.org/index.html/info/02063414316bde860f6d2553023149c2ac3bfd1d]: most fields are plain text, but the "comment" field should have the markup interpreted just like when viewing the ticket directly

  <hr /><i>anonymous claiming to be RonW added on 2011-04-14 03:21:14 UTC:</i><br />
  Maybe the View Ticket page could be modified as I suggested for making the Version Found In field display as a link, using the TH1 wiki command.
  See ticket [04ba0f70b8].

  Um, apparently, this has been done on the Fossil web site.


  <hr /><i>anonymous added on 2011-04-14 15:02:08 UTC:</i><br />
  Oops - I meant the timeline view template.


tkt_uuid: 368a5d6c5bd9054037a9a8625a1851afa2e7d30a
type: Feature_Request
status: Fixed
subsystem: one
priority: Immediate
severity: Important
foundin: 4b56350ecb
private_contact: c053fd6c479d6dc559808f3516cfca32cbc0699d
resolution: Fixed
title: specifying a tag in command should default to the latest UUID with that tag
comment:
  It would be nice if specifying a tag in command defaulted to the latest UUID with that tag, rather than the earliest.

  When doing "fossil checkout tagname", expecting to get the latest leaf from that branch, but instead I got the original branch node that first got the tag. So branches in fossil don't act the way I assumed they would by analogy with other SCM systems. It seems that one still needs to use UUIDs for checkouts/commits to develop along a branch, using the branch name as a mnemonic isn't an option.

  <hr><i>drh added on 2008-10-24 13:49:44:</i><br>
  As of [e8c4f69c50], this appears to be fixed.  At least, the leaf check-in
  is selected for a branch tag when I try it.


tkt_uuid: 369e246e508de6d0874ec8c400c79c6a5495b0d3
type: Feature_Request
status: Open
severity: Important
foundin: Fossil-076f7adff2
private_contact: be550bfd65ad2b35c5af076e5620344955089a2e
resolution: Open
title: Using EXTJS for JavaScript UI Framework
comment:
  Fossil + EXTJS = Power + Beauty.

  <hr><i>anonymous added on 2009-10-22 15:29:15:</i><br>
  <irony>I like jQuery..</irony>

  <hr><i>anonymous claiming to be Dmitry Chestnykh added on 2009-10-22 16:57:06:</i><br>
  So, what do you propose, exactly? I don't see any feature requests here.

  <hr><i>anonymous claiming to be Rene de Zwart added on 2009-11-02 08:42:03:</i><br>
  Adding an external javascript url to fossil means your cannot clone the repository
  anymore. Because the clone doesn't have the external javascript.

  <hr /><i>renez added on 2011-02-12 11:03:38 UTC:</i><br />
  I suggest to use a web page extern that will allow to load the file from the $HOME. If that fails it tries from /usr/share/fossil. I have coded an UNIX implementation. I'm not sure if and how security is compromised by this feature!

  For windows some other paths need to be used/found

  if I have a directory jscripts in $home and unpack tinymce there then I would code in header

  html "<script type='text/javascript' 
  src='extern/jscripts/tiny_mce/tiny_mce.js'></script>\n"

  and extern is coded like:
  <verbatim>
  /*
  ** WEBPAGE: extern
  ** URL: /extern/PATH
  **
  ** if the file
  **      $HOME/PATH is checked
  ** not exists then
  **      /usr/share/fossil/PATH
  ** is tried.
  **
  ** The content is returned straight without any interpretation or processing.
  */
  void ext_page(void){
    const char *zName;                /* Argument to the /extern page */
    const char *zMime;                /* Document MIME type */
    Blob filebody;                    /* Content of the documentation file */
    char *zFullpath = (char *) 0;
    static const char const * zSystem = {"/usr/share/fossil"};

    login_check_credentials();
    if( !g.okRead ){ login_needed(); return; }
    zName = PD("name", "");
    while( zName[0]=='/' ){ zName++; }
    zFullpath = mprintf("%s/%s", g.zHome, zName);
    if( !file_isfile(zFullpath) ){
  	  zFullpath = mprintf("%s/%s", zSystem, zName);
  	  if( !file_isfile(zFullpath) ){
  	    goto ext_not_found;
  	  }
    }
    if( blob_read_from_file(&filebody, zFullpath)<0 ){
      goto ext_not_found;
    }
    zMime = P("mimetype");
    if( zMime==0 ){
      zMime = mimetype_from_name(zName);
    }
    cgi_set_content_type(zMime);
    cgi_set_content(&filebody);
    return;

  ext_not_found:
    /* Jump here when unable to locate the document */
    style_header("External file Not Found");
    @ <p>No such external file: %s(zName) in %s(g.zHome) or %s(zSystem)</p>
    style_footer();
    return;
  }

  </verbatim>


tkt_uuid: 36cb6b45fd9d31f6bc4bd4ad87f18aad50e5bce9
type: Feature_Request
status: Open
severity: Minor
foundin: 076f7adff2
private_contact: 2359089ef753bc96e12743e299243d5232c749fa
resolution: Open
title: in windows, fossil allows addition of the same file twice
comment:
  in windows, the file system is case insensitive.  fossil allows the addition of the same file twice differing only by case.  both files show up in the ui but technically they are versioned separately even though they are the same file on disk; it is unclear which artifact dominates on fossil open/update.

  <pre>
  PS C:\fossil> fossil new test.f
  project-id: 24ac0462f2082e82bcdf2de26ceb3c38aaffcfe4
  server-id:  0b879e4b0baa36b4da40631bf54866f3ae825323
  admin-user: rwilso20 (initial password is "ab6ad5")
  PS C:\fossil> md test
  PS C:\fossil> cd test
  PS C:\fossil\test> fossil open ..\test.f
  PS C:\fossil\test> notepad camelCase.txt
  PS C:\fossil\test> fossil add camelCase.txt
  ADDED  camelCase.txt
  PS C:\fossil\test> fossil add camelcase.txt
  ADDED  camelcase.txt
  PS C:\fossil\test> fossil commit
  notepad "C:/fossil/test/ci-comment-09044B4972BB.txt"
  'gpg' is not recognized as an internal or external command,
  operable program or batch file.
  unable to sign manifest.  continue [y/N]? y
  New_Version: b06866048f0a6cdf50573ef9e7767bb6fa4449db
  PS C:\fossil\test> fossil ls
  UNCHANGED camelCase.txt
  UNCHANGED camelcase.txt
  PS C:\fossil\test> fossil ver
  This is fossil version [076f7adff2] 2009-10-13 16:25:41 UTC
  PS C:\fossil\test>
  </pre>

  <hr><i>drh added on 2009-10-16 14:36:30:</i><br>
  Case-folding is locale-dependent
  (See, for example, [http://userguide.icu-project.org/transforms/casemappings])
  and is enormously complicated.  We do not want to go there.

  I suppose it does make sense to issue warnings if fossil detects
  possible conflicts in filenames.  This can be done easily enough
  for ASCII.  But because the problem is all but unsolvable for full
  unicode, the change should be to add warnings only, and then only
  for ASCII.  Some users may actually want to store files whose names 
  differ only in case and we don't want to have to go through all of
  the complication to try to figure out unicode case folding.

  I am changing this ticket to a feature request.

  <hr><i>jeremy_c added on 2010-01-05 14:09:04:</i><br>
  Missed that drh changed it to a feature request, opps.

  <hr><i>anonymous claiming to be Jose F. Gimenez added on 2010-01-16 18:33:47:</i><br>
  Sorry to jump in...

  I'm evaluating fossil to replace cvs for all my repositories, and I've stumbled in this problem.

  Since fossil has no gui actualy (similar to tortoiseXXX), and it has to be used by typing commands from the command line, it's very very easy to add a file twice or more times accidentaly. Also, to manage any versioned file you must type its name exactly as it was added or it cannot be found. So it indeed become a very big problem for those of us that work in windows or any other case-insensitive os.

  IMHO, a possible solution could be to allow configure the repository as case sensitive or insensitive. So, who works in a case-sensitive os don't have to renunce to the actual behaviour, while the windows (only) users will be happy.

  <hr><i>anonymous added on 2010-01-16 18:39:58:</i><br>
  That is fine, except when you have a mixed-mode environment (as I have at work), where some use Linux or OS/X while others use Windows, all using the same repo.

  <hr><i>anonymous added on 2010-01-20 05:21:49:</i><br>
  There's the added issue of "case" not making sense outside of the latin alphabet for the most part.  Case collision detection is a scary-complicated problem once you poke your head outside of the parochial ASCII/ANSI shell and into the rest of the world.  The code would be non-trivial, buggy and likely hugely bloated.

  <hr><i>anonymous claiming to be ramsan added on 2010-01-20 12:38:01:</i><br>
  But I do not understand the problem. When doing:
  <verbatim>
    PS C:\fossil\test> notepad camelCase.txt
    PS C:\fossil\test> fossil add camelCase.txt
    ADDED  camelCase.txt
    PS C:\fossil\test> fossil add camelcase.txt
    ADDED  camelcase.txt
  </verbatim>
  Command "fossil add ..." needs to ask the operating system if file 'camelcase.txt' exist. If it does not exist, the command fails. When doing this request, fossil can ask the operating system for the exact name of the file. In this case, the OS would answer "camelCase.txt". Then, it would be easy to detect that "camelCase.txt" has already been added and raise an error.


  <hr><i>drh added on 2010-01-20 13:36:53:</i><br>
  I'm a unix programmer, not a windows programmer, so please tell me:  How do
  you ask windows for the "exact" name of a file?

  <hr><i>anonymous claiming to be ramsan added on 2010-01-20 15:10:26:</i><br>
  In TCL, you would do:
  <verbatim>
    file tail [file normalize camelcase.txt]
    --->  camelCase.txt
  </verbatim>
  To do so in C, it is necessary to review the TCL C source code.


  <hr><i>rwilson added on 2010-01-20 15:36:36:</i><br>
  microsoft has an article on this: [http://msdn.microsoft.com/en-us/library/aa366789(VS.85).aspx?ppud=4]

  i just tested it myself and it works.

  <hr><i>rwilson added on 2010-01-20 17:49:36:</i><br>
  if you want i can port the above solution to fossil and test it.  fossil would have to link with psapi.lib.  i'm not sure if it already does this or not.

  <hr><i>drh added on 2010-01-20 18:38:34:</i><br>
  The psapi.lib fix might be technically better.  But my (ancient) mingw-gcc
  doesn't know that library exists and won't link to it.  So instead, I added
  code that disallows adding files that differ only in ASCII case under
  windows.  See check-in [4b9455bf03c38546c1adc49f5a03bd2eba096969].

  <hr><i>ron added on 2010-01-20 18:42:03:</i><br>
  I see drh just made a fix to prevent adding a file which difference only in case from a file in the repo.  OS/X users will I think need a similar treatment.

  What happens when the repo is shared between Linux and Windows users, and the Linux users add two files, say "makefile" and "Makefile"?  When the Windows user does an 'update', she will get one of the files, since Windows doesn't distinguish case (neither does OS/X).  So one file will be missing on Windows.

  Perhaps it makes sense to issue a notice to the Windows user in that case?

  <hr><i>anonymous claiming to be Jose F. Gimenez added on 2010-01-20 19:26:25:</i><br>
  rwilson, there is an easier way to get the real filename in windows. Check this C function:
  <verbatim>
     BOOL GetRealFilename( const char * szFilename, char * szRealFilename )
     {
        char szTempFilename[ MAX_PATH ];
        if( GetShortPathName( szFilename, szTempFilename, MAX_PATH ) )
           if( GetLongPathName( szTempFilename, szRealFilename, MAX_PATH ) )
              return TRUE;
        return FALSE;
     }
  </verbatim>
  Also, it allows to check the existance of a file, since it returns FALSE if the file doesn't exist.

  But that doesn't fix the problem at 100%. You could rename a file in your working directory, changing only case, and get again in a trouble. So, the check have to be done in the repository.

  The drh fix solves the most cases, although it doesn't deal with non ascii chars. Thanks, however!

  <hr><i>rwilson added on 2010-01-20 21:34:23:</i><br>
  jose - that is a clever solution; thanks.  i just tried it and it works well.

  drh - jose's solution only requires kernel32.lib, not psapi.lib.


tkt_uuid: 36d5fbf9a41c53e5d32a6bee4a6f37525e853e80
type: Code_Defect
status: Fixed
severity: Minor
foundin: [d78835d2ff]
private_contact: e64e062ff7022fc7fdd41ac56baff07e8ae485d9
resolution: Fixed
title: Revert's error handling is suboptimal.
comment:
  This command line fails quietly:

  <pre><code>
  <i>michael@isolde:~/junk/test$ fossil revert f6eb797b4f 3</i>
  revert file '3'? this will destroy local changes <nowiki>[y/N]</nowiki>? y
  </code></pre>

  Of course I really was meant to put a -r in front of the revision number, but the complete absence of any kind of error message (like "file f6eb797b4f not in repository", say) kind of disguised my error.  It may be better if Fossil flags an attempt to revert a file that doesn't exist.

  <hr><i>eric added on 2009-10-27 20:10:16:</i><br>
  <code>fossil revert</code> only reverts one file. After getting the valid options and checking for any remaining (invalid) options, it just processes the last argument, ignoring any others. Maybe what it needs is a way to detect any excess arguments.

  <hr><i>drh added on 2009-10-31 13:13:44:</i><br>
  Check-in [107f38dd014ae469dcac1f3e1c4fb230ffdc7d71]


tkt_uuid: 3705eeeb851bb64c25ab460d09b557bb6a41c782
type: Documentation
status: Open
severity: Important
foundin: all
resolution: Open
title: wiki page describing largest
comment:
  for example ... can we import the entire FreeBSD.org project? :) 

  I'd like to see an example of a very large project using fossil.

  <hr /><i>martin.weber added on 2011-08-17 02:23:04 UTC:</i><br />
  We should refer to this on the wiki then: [http://blog.netbsd.org/tnf/entry/fossil_and_git_mirrors_of|NetBSD Blog: fossil and git mirrors of the NetBSD CVS repository available].


tkt_uuid: 3711fc7cfd21d7f868484bea0044a029313507fb
type: Feature_Request
status: Fixed
severity: Minor
foundin: all (to date)
private_contact: e64e062ff7022fc7fdd41ac56baff07e8ae485d9
resolution: Fixed
title: A default port option in fossil settings would be nice.
comment:
  It is tiresome to constantly type --port=<whatever> when using fossil server or fossil ui.  Typically if the default port is in use on a system it is ALWAYS in use.  I suggest a "fossil setting default-port 3030" (or similar) command for global and/or repository levels of settings.

  <hr><i>drh added on 2008-11-09 23:04:26:</i><br>
  See check-in [e70160a9be].


tkt_uuid: 3713cea2fc6a1c0991bc9b9994b7adb57bfe268b
type: Code_Defect
status: Fixed
severity: Severe
foundin: 0f4f6c0325
private_contact: 2359089ef753bc96e12743e299243d5232c749fa
resolution: Fixed
title: failed assertion on revert *.*
comment:
  fossil attempted to revert the _FOSSIL_ file and failed an assertion.

  <pre>PS C:\rev\src\revscript> fossil revert *.*
  c:\rev\bin\fossil.exe: file not in repository: _FOSSIL_
  Assertion failed: (pBlob)->xRealloc==blobReallocMalloc || (pBlob)->xRealloc==blobReallocStatic, file blob_.c, line 170

  This application has requested the Runtime to terminate it in an unusual way.
  Please contact the application's support team for more information.<pre>

  <hr><i>drh added on 2009-12-20 02:58:59:</i><br>
  Uninitialized variable fixed by check-in [2255e4e3ba2ecbc64f20e10baa0666b92987d1d4].


tkt_uuid: 375e5703329a743339c3b6399d7c41a8c98c7a24
type: Code_Defect
status: Fixed
severity: Critical
foundin: 71ad9b62a7
private_contact: 7e0574216b3415ca8d96ec3a4f8855d2eb0a5369
resolution: Fixed
title: fossil: bad object id: 0 on up
comment:
  Just ran fossil pull and then tried to run fossil up with fossil version [71ad9b62a7] 2009-12-31 14:59:03 UTC on the fossil repository and received this error "fossil: bad object id: 0 on up". I ran fossil rebuild and still get the same error.

  <hr><i>jeremy_c added on 2010-01-01 01:31:42:</i><br>
  Does this message still occur? It appeared for me on the fossil repo (none of my own) until I made the last commit. It no longer appears.

  <hr><i>jeremy_c added on 2010-01-01 01:32:21:</i><br>
  Oh, I should say, my last commit had nothing to do with this error message, I just noticed that it no longer appears for me making me think the commit caused some type of database cleanup fixing the problem.

  <hr><i>anonymous added on 2010-01-01 01:37:09:</i><br>
  I'm still getting it on my already cloned repo. If I do a fresh clone, fossil up works.

  <hr><i>anonymous added on 2010-01-11 06:40:35:</i><br>
  I'm also getting it all of a sudden

  <hr><i>anonymous added on 2010-01-11 06:44:45:</i><br>
  OK: I just did a "fossil close" and then "fossil open", and that bug is gone; so I assume there is something wrong in the _FOSSIL_ database.

  <hr /><i>anonymous added on 2010-10-23 23:07:21:</i><br />
  any update on this?  it just occured to me with

  This is fossil version [b48f78964e] 2010-09-18 15:51:43 UTC

  on the fossil repo.

  <hr /><i>drh added on 2010-10-24 22:55:25:</i><br />
  No updates.  An easy workaround is to do one of:

  <pre>
     fossil update --latest
     fossil update trunk
     fossil update <i>version-number</i>
  </pre>

  Instead of just:

  <pre>
     fossil update
  </pre>

  The problem is here that fossil is having trouble figuring out what version
  it needs to update to.  If you give it a hint, it will normally keep going
  without trouble.

  It would help to have a reproducible test case.

  <hr /><i>anonymous added on 2010-10-25 20:09:02:</i><br />
  Could this be a result of fossil deciding that an artifact already exists locally because it is in a cluster? If you hit this case, please do a second clone and see if it still shows the problem. If it doesn't, compare the output of

      sqlite3 $repo 'select uuid from blob order by uuid'

  for both repo files.

  <hr /><i>anonymous claiming to be viric added on 2010-11-24 22:18:21:</i><br />
  An easy reproducible test case is doing "fossil update" while being in a closed branch.

  <hr /><i>drh added on 2010-11-25 01:52:57:</i><br />
  Fixed for the case of a "fossil update" on a closed branch.  If other
  cases are found, please reopen the ticket with an explanation of the
  next case.


tkt_uuid: 37abeba2e56d03b689a0bee53488ec915f6d6371
type: Code_Defect
status: Open
severity: Important
foundin: d0753799e4
private_contact: 194c9ef8edbd9a57ef36f4f18fde1d57ce26e1e5
title: Authorization problem
comment:
  The repository in question is
  http://chiselapp.com/user/andreas_kupries/repository/crimp/home

  The user 'anonymous' has 'clone' capability.
  Running
  <pre>
  (1) fossil clone http://chiselapp.com/user/andreas_kupries/repository/crimp/home x.fossil
  </pre>
  or even
  <pre>
  (2) fossil clone http://anonymous@chiselapp.com/user/andreas_kupries/repository/crimp/home x.fossil
  </pre>

  Returns the error message "Not authorized to clone".

  Then I gave the user 'nobody' the capability to 'clone'.
  Running (1) now hangs the client, the only output seen is

  <pre>
                  Bytes      Cards  Artifacts     Deltas
  Sent:              53          1          0          0
  waiting for server...
  </pre>
  until I kill the command via ^C

  This last is why I made the ticket.

  For the first problem I wonder what the user settings are for repositories where I can run the equivalent of (1) and have a successful clone ...


tkt_uuid: 3873f0ad52cf0f617645ee7f7ed7318f83257bc2
type: Code_Defect
status: Closed
severity: Minor
foundin: daf28132a9
private_contact: ccd87c60364e1d3e945b6f4d4874f5174b17cc43
resolution: Duplicate
title: The ticket 'version' field (found_in) does not appear hyperlinked
comment:
  As square brackets allow usually in ticket descriptions, commit messages and wiki pages to hyperlink to a specific version, I find a bit annoying that the ticket "Version" field does not show any hyperlink, either with or without brackets.

  <hr /><i>wolfgang added on 2010-10-15 16:48:42:</i><br />
  This can be changed by editing the ticket view page configuration:

    *  go to Admin => Ticket => View Ticket Page
    *  and change <nowiki>$<foundin></nowiki> to <nowiki><th1>wiki $foundin</th1></nowiki>

  This way, everything entered into the foundin field will be rendered by the wiki engine.


  <hr /><i>anonymous added on 2010-10-15 18:44:24:</i><br />
  Ah great. Thank you!

  <hr /><i>dmitry added on 2011-09-08 23:23:13 UTC:</i><br />
  Duplicate of [04ba0f70b8].


tkt_uuid: 38d7bb8cf044219c2eff80229fb5c49b2400ca39
type: Code_Defect
status: Fixed
foundin: 8f41b2fa75
private_contact: 2f102b33d8f807336292e56ff47c6c59de4876c0
resolution: Fixed
title: segfault
comment:
  I don't have time to dig into it atm, but with latest [8f41b] fossil, I'm getting segfault when running "diff" across a whole repo ("fossil diff").

  No other datapoints atm.

  <hr /><i>bharder added on 2010-10-15 21:08:23:</i><br />
  OS is FreeBSD 7.3 on AMD64.

  <hr /><i>bharder added on 2010-10-15 21:10:37:</i><br />
  Reverting back to [c845b28714] did stop segfault.

  <hr /><i>bharder added on 2010-10-16 05:24:33:</i><br />
  data point: is repeatable. On problem repo, co 2b29e4ee776c635e7e59bc, merge 2eb37886cc42606, "typical" clean, fossil diff.


  <hr /><i>bharder added on 2010-10-16 05:26:12:</i><br />
  <pre>0x0000000800c5be02 in _malloc_thread_cleanup () from /lib/libc.so.7
  (gdb) bt
  #0  0x0000000800c5be02 in _malloc_thread_cleanup () from /lib/libc.so.7
  #1  0x0000000800c5d54c in _malloc_prefork () from /lib/libc.so.7
  #2  0x0000000800c5d7cf in free () from /lib/libc.so.7
  #3  0x0000000000411cb9 in diff_cmd () at diffcmd_.c:288
  #4  0x000000000041c48e in main (argc=1, argv=0x7fffffffe710) at main_.c:261
  </pre>

  <hr /><i>bharder added on 2010-10-16 22:21:08:</i><br />
  Confirmed not segfaulting anymore with [7954ccba68]


tkt_uuid: 38d80ca1693100591fa1e8fc9c033d878a1403cb
type: Feature_Request
status: Open
severity: Minor
private_contact: ebbf214358fed060592f40f5d3be2e893cd6407e
title: Auto link URL:s in ticket descriptions
comment:
  For people who use Fossil in their web development project, tickets are likely to contain links to e.g. a specific page in the webapp. Currently pasted links in the Fossil ticket description field (the one I am typing into right now) does not become links in HTML when viewing the ticket.


tkt_uuid: 38f2c8d37559b0de49fce2afa1f2c1989da332bf
type: Code_Defect
status: Open
severity: Important
foundin: [d090292800] 2010-08-05 10:09:43 UTC
private_contact: 45d36f7d5d2b2b77c6b49066c9cfc6327a058068
title: ISA Server authentication fails
comment:
  I've tried clone through MS ISA proxy using usual URL format for proxy setting (http://username:password@proxy.server), and fail with message:

  server says: 407 Proxy Authentication Required ( The ISA Server requires authorization to fulfill the request. Access to the Web Proxy service is denied. )

  I've also tried DOMAIN\username as possible format of supplying username. But result the same.

  Do fossil supports NTLM authorization for proxies?

  Many thanks in advance!


tkt_uuid: 3915adc720bb0a6fa61f48dfe76413f546e5bb34
type: Code_Defect
status: Open
severity: Cosmetic
private_contact: ebbf214358fed060592f40f5d3be2e893cd6407e
resolution: Open
title: Move page title to below menu for consistency
comment:
  Currently the page main heading is in the logo area of the web UI. A more consistent approach would be to have it in the same place on each page, e.g. as a h1 immediately within the div class="content" area.

  In the New ticket page the heading is repeated ("New Ticket" and "Enter a new ticket").

  The wiki and ticket detail page should follow this for consistency as well e.g. make the page/ticket name the first h1 on the page, below  the menu. See example here:

  [http://skitch.com/peterkz/djjyw/fossil-page-headings]

  <hr><i>anonymous added on 2010-06-24 16:34:01:</i><br>
  Where is it *not* above the menu?

  It is very consistent with the exception of New ticket having two titles, one above the menu and one below.


tkt_uuid: 394f450fde751b04b2a294bc5d5e9364b31c34a7
type: Feature_Request
status: Closed
severity: Minor
private_contact: c533768ede124853f0d37a8425dda4f7591f2d36
resolution: Not_A_Bug
title: Named Anchor Support Across Wiki Pages
comment:
  I Think it would be infinitely more useful to disallow the '#' character from the title of wiki pages and enabling it to be used as [page-name#anchor-name] or some other way of specifying the anchor on the page you are trying to link to

  <hr /><i>drh added on 2011-04-02 11:48:34 UTC:</i><br />
  You can already use fragments when accessing wiki pages.  Try it.


tkt_uuid: 396726fe9282ff707644aa358ec450a9e959eb70
type: Feature_Request
status: Open
private_contact: 8e5512298212f868fe073c222856411c5f59c68e
title: Accept extension .fsl in command "fossil server directory"
comment:
  New feature in "fossil server directory", creates a page for every repository stored in files with ".fossil" extension.

  As many people already stores fossil repositories with extension ".fsl", it would be a nice addition to the command to accept both extensions: ".fossil" and ".fsl"


tkt_uuid: 3984e3768ddbf470e62e6af98715a33abad17b49
type: Feature_Request
status: Closed
severity: Important
foundin: d63f87c003
private_contact: 4de91f48ceab788649292e850559a96cc7e17039
resolution: Works_As_Designed
title: Support for non-UTF encodings
comment:
  While most of the world has switched to UTF-8, there are still some places where ISO-8859 is used. It would be nice if fossil kept the repository in UTF-8, but recoded on the fly to keep the local copy in the system encoding.

  <hr><i>kkinnell added on 2009-04-07 15:06:11:</i><br>
  Please see ticket [cc6557cfc5763fa80bb04eecea7f713b0751efc4].

  Encodings are mostly about display.  If all of your systems are set up to use Latin-1, then except in <i>very</i> rare <i>real</i> instances you'll get Latin-1 when you look at the repository (see below.)

  Fossil stores octets.  You will <u>always</u> get back the octets you commit to the repository as source files.

  The only time the encoding actually matters is when the encoding is interacting with the repository itself.  This kind of meta-circular stuff causes problems in any system.  The canonical example in Fossil is multi-byte characters in a wikipage title, which display as "entified" UTF-8.


tkt_uuid: 398afa58def78f5432178b95c8d4aac3364942b2
type: Incident
status: Fixed
severity: Critical
foundin: [1d93222627] 2011-03-01 19:04:32 UTC
private_contact: 1716da51eeb17bb50040c3c20f1c2629f64387c9
resolution: Fixed
title: rebuild fail
comment:
  fossil rebuild gives the following error:

  fossil: ./obj/bag_.c:122: bag_insert: Assertion `e>0' failed.


  I upgraded from a version from fossil-linux-x86-20101117133825.zip

  <hr /><i>drh added on 2011-03-14 20:31:35 UTC:</i><br />
  Can you send me the repository through a private channel (email to drh@sqlite.org will work) so that I can debug this?

  <hr /><i>anonymous added on 2011-03-14 20:40:05 UTC:</i><br />
  The fail is reproducable in fossil-linux-x86-20110208125237.zip, but it seems to work in fossil-linux-x86-20110113195528947.zip

  <hr /><i>anonymous added on 2011-03-14 20:44:37 UTC:</i><br />
  File is sendt by email.


tkt_uuid: 39a340063da5b2efddcdb45d534100b31d9c5118
type: Code_Defect
status: Open
severity: Cosmetic
foundin: 73c24ae363
private_contact: ace2a438fb254e5d21ba2ed1295b2da8392d271c
title: In HTML mode, wiki inserts stray paragraph for [] links
comment:
  In the fossil version dated 2010-03-18 14:20:33, When the wiki is set to HTML mode and the [some link] syntax is used, in the generated HTML a stray <p></p> tag is inserted starting before the link, so for example this html-mode wikitext:

  <verbatim>
  <p>You should do a [TODO] today!</p>
  </verbatim>

  Is turned into this html:
  <verbatim>
  <p>You should do a <p><a href="http://localhost:8117/wiki?name=TODO">TODO</a> today!</p></p>
  </verbatim>

  Which displayed looks roughly like this (notice unexpected line break):
  <verbatim>
  You should do a
  TODO today!
  </verbatim>

  This makes the square bracket link syntax pretty much unusable when in HTML mode in this version.


tkt_uuid: 39f3294e213111a51e93d02fef6faa0062979619
type: Feature_Request
status: Fixed
severity: Cosmetic
private_contact: c76260317d907e593238775e171317aff2baec12
resolution: Fixed
title: make fossil recognize cgi errors from remote repository
comment:
  If you are trying to sync and there is a problem with a remote database fossil will return an error like "unknown command &lt;H1&gt;Database". this can be very misleading for new users. while its not possible to make a cgi return an http code other than 200 it should be possible to recognize your own error messages and display something more appropriate.

  <hr><i>drh added on 2008-12-07 18:50:57:</i><br>
  See check-in [2be82dcc2aba6fdcb5fed4ca4eebaf216403eb64]


tkt_uuid: 3b3415bd406d34d143173cf566c66ee8afcebc07
type: Code_Defect
status: Open
severity: Minor
foundin: 91472616bf
private_contact: 63070188043a9522ca95dca0d28c3b9eff7a697b
title: New line confusion when editing commits
comment:
  Consider [http://netbsd.sonnenberger.org/ci?name=447f4b26ed55f79ab25430fe742ab5b17887bee6].

  This is a leaf-closing commit via the UI. The comment is recorded as changed, because Firefox encoded the new line as \r\n. This should be normalised back to \n only.


tkt_uuid: 3bcacd36ff9e88201740e3b49d16caa651855e75
type: Feature_Request
status: Open
severity: Minor
foundin: cabf810b0b
private_contact: 63070188043a9522ca95dca0d28c3b9eff7a697b
resolution: Open
title: Show ticket history on ticket edit page
comment:
  It's harder than necessary to reply to a ticket if you don't see what you are replying to while writing. The easiest approach would be to just duplication the comment field + email for anonymous on the start page. Preview could be done inline after the existing comments.

  <hr /><i>anonymous added on 2010-12-20 13:58:15:</i><br />
  +1. It is much more natural to comment on a ticket with all previous comments visible than having to click to go toe a special edit page.

  <hr /><i>anonymous added on 2011-04-08 16:33:45 UTC:</i><br />
  +1. Hard to add a comment when I don't see what I'm replying to

  <hr /><i>anonymous claiming to be Feral added on 2011-04-10 22:38:36 UTC:</i><br />
  Perhaps in the mean time edit in a separate page (middle click the edit button for instance); Regardless, such an enhancement OPTION is worth a +1 for certain. -- Simply seeing the comments below the field would cure this. Hrm, easy enough to add... (<i>A very quick hack</i>)

  From Admin|Tickets|Edit Ticket Page(/tktsetup_editpage):
  <code><verbatim>
  <tr><td colspan="2">
  Previous descriptions:<br /><hr />
  <th1>wiki $comment</th1>
  <hr />
  </td></tr>
  </verbatim></code>

  Above:
  <code><verbatim>
  <tr><td align="right"></td><td>
  <input type="submit" name="submit" value="Submit Changes" />
  <input type="submit" name="cancel" value="Cancel" />
  </td></tr>
  </table>
  </verbatim></code>
  At the bottom.

  <i>HTH</i>


tkt_uuid: 3bdcdb910fc6b07b4357b510d3f0631582b8297c
type: Incident
status: Closed
severity: Important
foundin: 1.18 [a8f271e81e] 2011-06-18 19:29:17 UTC
private_contact: 6bde38be1222b006b97957aec8cef873c059f160
resolution: Not_A_Bug
title: Suggested inetd configuration for fossil not working.
comment:
  I have tried to configure inetd to respond to http requests on port 8080 using the following configuration.

  8080 stream tcp nowait.1000 root /home/alex/fossil/fossil/fossil http /home/fossil/fossil/lfossil.fossil

  However, it does not work. Using netcat, I find that instead of responding with http messages, it simply replies 

  http: http: unknown command: /home/fossil/fossil/lfossil.fossil
  http: use "help" for more information

  Fossil clearly does not understand the parameters passed to it. Would someone that has experience respond to this problem, and update the Quick Start guide?

  Thanks.

  <hr /><i>steveb added on 2011-07-22 07:22:33 UTC:</i><br />
  Looks to me like you missed a parameter in your inetd line.
  Look carefully at the example at http://www.sqlite.org/debug1/doc/tip/www/quickstart.wiki

    80 stream tcp nowait.1000 root /usr/bin/fossil /usr/bin/fossil http /home/proj1/repos1.fossil

  Note that /usr/bin/fossil is listed twice. The first time is the command to execute and the second is argv[0] passed to the program. They will often be the same, as in this example.


tkt_uuid: 3bfff6e03bcc5f14cbd0428cd796a0d109b5ae17
type: Code_Defect
status: Fixed
severity: Important
private_contact: 05f652db744266759b20d248ec2f451629420388
resolution: Fixed
title: Error when creating a branch from checkin that doesn't have checksum in manifest
comment:
  When parent check-in doesn't have an R-card in manifest, Fossil fails to create a branch from this check-in with error "unable to install new manifest". This is because Fossil creates manifest for a new branch which contains a line: "R " (and no checksum), instead of not adding an R-card at all, and manifest_parse() fails to parse such manifests.

  Fix (patch is not against tip, but you get the idea):

  <verbatim>
  --- src/branch.c
  +++ src/branch.c
  @@ -99,11 +99,13 @@
       }
       blob_append(&branch, "\n", 1);
     }
     zUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", rootid);
     blob_appendf(&branch, "P %s\n", zUuid);
  -  blob_appendf(&branch, "R %s\n", pParent->zRepoCksum);
  +  if( pParent->zRepoCksum ){
  +    blob_appendf(&branch, "R %s\n", pParent->zRepoCksum);
  +  }
     manifest_destroy(pParent);
   
     /* Add the symbolic branch name and the "branch" tag to identify
     ** this as a new branch */
     if( zColor!=0 ){
  </verbatim>


tkt_uuid: 3c14d720fa0cc3cbae9253214b74b8e6c0f42427
type: Feature_Request
status: Open
severity: Minor
foundin: f89d953a06
private_contact: 3ee274ce2d2982add24b2405f53b32a02504dcd8
title: show ticket title as tooltip for ticket links
comment:
  In bugzilla bug links created from bug numbers show bug title as tooltip.

  Fossil should be able to do the same for artifact links.


tkt_uuid: 3cacfcb6fae33169db0f86e4a2cf797b46dc94c9
type: Incident
status: Closed
priority: Medium
severity: Important
foundin: 4f24addea9
private_contact: be550bfd65ad2b35c5af076e5620344955089a2e
resolution: Not_A_Bug
title: fossil: SQL error: string or blob too big
comment:
  What is the size limit of a blob ? I got following error when trying to commit a tree with many tar.gz files under the src tree.

  <pre>
  [root] fossil commit -m "add basic pkgs" -nosign


  fossil: SQL error: string or blob too big

  If you have recently updated your fossil executable, you might
  need to run "fossil all rebuild" to bring the repository
  schemas up to date.
  [root]
  </pre>

  <hr><i>anonymous added on 2010-01-06 13:47:01:</i><br>
  Is there a way to see which file causing the error message ?

  <hr><i>anonymous added on 2010-01-06 14:04:22:</i><br>
  a minicpan tar ball was the offending file(1.1G).

  <pre>
  bash-2.05$ ls -l pub/8.3/perl-5.10.1/src/minicpan-12152009.tgz
  -rw-r--r--   1 webadm   other      1118878373 Dec 15 01:18 pub/8.3/perl-5.10.1/src/minicpan-12152009.tgz
  bash-2.05$ 
  </pre>

  <hr><i>drh added on 2010-01-06 14:17:19:</i><br>
  BLOBs are limited to 1GiB.


tkt_uuid: 3caef588e3cc1724a8a8426e5964a0088d35b15b
type: Build_Problem
status: Closed
severity: Cosmetic
foundin: dddc514053
private_contact: 2359089ef753bc96e12743e299243d5232c749fa
resolution: External_Bug
title: dereferencing type-punned pointer in sqlite3.c
comment:
  i know this is an sqlite issue, but i can't create tickets on sqlite.org, neither is the amaglamation in the sqlite source tree.  when i build fossil i get the following warning:

  <pre>
  gcc -Os -Wall -DFOSSIL_I18N=0 -L/mingw/lib -I/mingw/include  -I. -I./src -DSQLITE_OMIT_LOAD_EXTENSION=1 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -Dlocaltime=fossil_localtime -c ./src/sqlite3.c -o sqlite3.o
  ./src/sqlite3.c: In function `getLastErrorMsg':
  ./src/sqlite3.c:28450: warning: dereferencing type-punned pointer will break strict-aliasing rules
  </pre>

  the warning is innocuous, but this patch resolves it.  i'm pretty sure the code is correct, but i could use a code review.  hopefully, i didn't make a noob mistake.

  <pre>
  --- sqlite3.c
  +++ sqlite3.c
  @@ -28438,25 +28438,29 @@
     ** buffer, excluding the terminating null char.
     */
     DWORD error = GetLastError();
     DWORD dwLen = 0;
     char *zOut = 0;
  +  union {
  +    WCHAR** pzwc;
  +    LPWSTR lpws;
  +  } wu;
  </pre>

  <pre>
     if( isNT() ){
  -    WCHAR *zTempWide = NULL;
  +    *wu.pzwc = NULL;
       dwLen = FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
                              NULL,
                              error,
                              0,
  -                           (LPWSTR) &zTempWide,
  +                           wu.lpws,
                              0,
                              0);
       if( dwLen > 0 ){
         /* allocate a buffer and convert to UTF8 */
  -      zOut = unicodeToUtf8(zTempWide);
  +      zOut = unicodeToUtf8(*wu.pzwc);
         /* free the system buffer allocated by FormatMessage */
  -      LocalFree(zTempWide);
  +      LocalFree(*wu.pzwc);
       }
   /* isNT() is 1 if SQLITE_OS_WINCE==1, so this else is never executed.
   ** Since the ASCII version of these Windows API do not exist for WINCE,
   ** it's important to not reference them for WINCE builds.
   */
  </pre>

  <hr /><i>dmitry added on 2011-09-08 19:18:24 UTC:</i><br />
  SQLite issue, indeed.


tkt_uuid: 3cce33ff2f0a414dcb35dd6d36f48961797e037e
type: Documentation
status: Closed
subsystem: one
priority: Immediate
severity: Important
foundin: 4b56350ecb
private_contact: 63f4cb9d6971f7dbdee05412b8546975182b32e4
resolution: Not_A_Bug
title: Help of branch new does not mention option --nosign
comment:
  If I perform a 
  <verbatim>
    fossil help branch
  </verbatim>
  Fossil do not mention, that I can pass the option <tt>--nosign</tt>. During creation of the branch, I was asked to pass my private key's passphrase to sign the creation. I did not want to do this and therefore interrupted the branch creation process. I tried the same command line and added a <tt> --nosign</tt> somewhere. This time the creation succeed without asking me for my passphrase.

  So I conclude that the description of the applicability of said option is lacking.

  But another three question: why to I have to sign the creation of a branch and not the creation of a tag? And what is the difference between
  <verbatim>
    fossil branch new test
  </verbatim>
  and
  <verbatim>
    fossil tag add branch sym-test
  </verbatim>
  And last but not least, what is the idea for a <tt>tag</tt>? I do not seem to be able to </tt>fossil update</tt> to a tag-marked version.

  <hr><i>drh added on 2008-07-25 11:54:48:</i><br>
  See comment on ticket [bd33a464ae]:  The "branch" command seems to be an
  abandoned subproject of a developer who has not contributed to fossil
  lately.  I do not know what its purpose is.  I am of a mind to delete
  the command all together.  Please take discussion to the mailing list.


tkt_uuid: 3cda72fa7cbadb392e2442b435cdd4022d49a844
type: Documentation
status: Fixed
severity: Minor
foundin: n/a
private_contact: ace2a438fb254e5d21ba2ed1295b2da8392d271c
resolution: Fixed
title: Mailing list archives don't exist
comment:
  The archive at http://lists.fossil-scm.org:8080/pipermail/fossil-users/ which is linked to from the mailman info page at http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users doesn't exist. 

  It looks like http://www.mail-archive.com/fossil-users@lists.fossil-scm.org exists (although mail-archive.com seems to be down at the moment, so not sure that's the exact correct URL), so perhaps just suggest that users go there on the http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users page.

  <hr><i>anonymous claiming to be dclark@pobox.com added on 2009-04-13 02:55:49:</i><br>
  Looks like this was already reported via email:
  http://www.mail-archive.com/fossil-users@lists.fossil-scm.org/msg00079.html

  Not sure if the stated solution didn't work or something, but the *really* trivial work-around would just be to put both the correct pipermail URL and the mail-archive URL in the list description section, along with text saying to ignore the archive link below.

  <hr /><i>dmitry added on 2011-09-08 20:30:05 UTC:</i><br />
  Link "Fossil Archives" here http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users has been changed to point to http://www.mail-archive.com/fossil-users@lists.fossil-scm.org/


tkt_uuid: 3ce0ea97522581ae090fe5f9fcf7f366138ebab2
type: Code_Defect
status: Fixed
severity: Important
foundin: 7bbeb88205
private_contact: 50da7412b8b802b1c9f7ddc204270d069d3c2e2b
resolution: Fixed
title: assertion fails when stashing deletes only
comment:
  fossil stash aborts when the changes are only deletions.

  <verbatim>
  $ fossil open ../test.fossil 
  ...
  t.txt
  ...
  $ fossil rm t.txt
  DELETED t.txt
  $ fossil stash
  Assertion failed: ((pBlob)->xRealloc==blobReallocMalloc || (pBlob)->xRealloc==blobReallocStatic), function blob_reset, file ./bld/blob_.c, line 184.
  Abort trap
  </verbatim>


tkt_uuid: 3d11382ca195384604bb4a79d64e67fb9028a92d
type: Feature_Request
status: Open
severity: Important
resolution: Open
title: Milestone feature functionality
comment:
  I miss a milestone functionality, and a corresponding main menu entry to a milestone overview page which shows one bargraph for overall success and one piechart showing status of all tickets assigned to a milestone.

  <hr><i>drh added on 2009-09-09 18:31:57:</i><br>
  Understood.

  Note that milestones can be "simulated" by giving a well-known tag (ex: "milestone") to particular check-ins and setting the background color of those check-ins to something that stands out.  Nevertheless, I agree that milestones would be nice.  We'll look into it.

  <hr><i>anonymous added on 2009-09-09 18:47:52:</i><br>
  I did add a new column to the table, and to ticket form, and i did hacked an sql script for the report grouping by milestone showing count of !closed and closed and a percent progress, but the havin this report is not presentable due to its layout, but sure it worked.. for now...

  Anyway would that concept be very nice..

  /Henrik 

  <hr><i>anonymous added on 2010-01-22 14:49:36:</i><br>
  +1 

  Would be greate to have this feature...


tkt_uuid: 3dbc12f49d069512ce8c4b9da084e851602e356a
type: Code_Defect
status: Fixed
severity: Important
foundin: Fossil version [61c52dd6aa] 2010-03-30 14:29:32
private_contact: 0b8aac100efea12886cc63039f65ad822ec66d1c
resolution: Fixed
title: Edit ticket fails to save changes if assigned_to AND remark are changed.
comment:
  1. I used instructions from http://www.fossil-scm.org/fossil/doc/tip/www/custom_ticket.wiki to add the assigned_to and opened_by fields to the ticket system.

  2. Created new ticket. There is no access to assigned_to field so it defaults to 'unassigned'.

  3. Edited this ticket. Changed the assigned_to field to another of the pulldown list values, AND appended a remark in the description and comment field.

  4. Clicked on 'Submit Changes'.

  5. Result was re-display of view ticket page with neither change made.

  6. Edited this ticket again. Changed the assigned_to field again.

  7. Clicked on 'Submit Changes'.

  8. Result was re-display of view ticket page with the new value of the assigned_to field as expected.

  9. Created another new ticket and edited to append text only. This change was accepted with assigned_to remaining as 'unassigned'.

  10. Made second edit of ticked to change assigned_to and it was accepted.

  It appears that the combination of edits to the two fields cause a failure where single field changes do not.

  I did not try other field combinations.

  <hr><i>ron added on 2010-04-04 09:57:00:</i><br>
  I don't understand what's going on.  I added "-th-trace" to my "fossil ui" on a test repo, and reproduced the problem.  Here is the output of the TH trace on submittion:
  <nowiki><pre>
  if {![info exists username]} {set username $login} if {[info exists submit]} { if {[info exists cmappnd]} { if {[string length $cmappnd]>0} { set ctxt "\n\n
  [htmlize $login]" if {$username ne $login} { set ctxt "$ctxt claiming to be [htmlize $username]" } set ctxt "$ctxt added on [date]:
  \n$cmappnd" append_field comment $ctxt } } submit_ticket } 

   
   Fossil version [251fd001a8c6e7af99500a8ca3ac38ad95577995] 2010-04-02 19:28:00 
   BEGIN_HEADER
   set project_name {JOE}
   set title {Edit Ticket}
   set baseurl {http://localhost:8080}
   set index_page {/home}
   set current_page {tktedit}
   set manifest_version {[251fd001a8c6e7af99500a8ca3ac38ad95577995]}
   set manifest_date {2010-04-02 19:28:00}
   set login {ron}
   BEGIN_HEADER_SCRIPT
   [hascap jor] => 1
   [hascap oh] => 1
   [hascap o] => 1
   [hascap r] => 1
   [hascap j] => 1
   [hascap s] => 1
   END_HEADER
   BEGIN_TKTEDIT
   set CONTENT_LENGTH {228}
   set CONTENT_TYPE {application/x-www-form-urlencoded}
   set GATEWAY_INTERFACE {CGI/1.0}
   set HTTP_HOST {localhost:8080}
   set HTTP_REFERER {http://localhost:8080/tktedit?name=98c889a3cd}
   set HTTP_USER_AGENT {Mozilla/5.0 (compatible; Konqueror/4.4; Linux) KHTML/4.4.2 (like Gecko) Frugalware Linux}
   set PATH_INFO {/tktedit}
   set QUERY_STRING {}
   set REMOTE_ADDR {127.0.0.1}
   set REQUEST_METHOD {POST}
   set REQUEST_URI {/tktedit}
   set assigned_to {ron}
   set cmappnd {adef}
   set csrf {localhost}
   set foundin {}
   set name {98c889a3cd}
   set opened_by {ron}
   set priority {Immediate}
   set private_contact {}
   set resolution {Open}
   set severity {Critical}
   set status {Open}
   set submit {Submit Changes}
   set title {test1}
   set type {Code_Defect}
   set username {ron}
   set tkt_datetime {2010-04-04 09:40:12}
   set tkt_id {1}
   set tkt_uuid {98c889a3cd6b2e555b8dc43dbec8c9b3c3f4e201}
   set tkt_mtime {2455290.90291667}
   set subsystem {}
   set comment {blah}
   set login {ron}
   set date {2010-04-04 09:47:57}
   BEGIN_TKTEDIT_SCRIPT
   append_field comment { &lt;hr>&lt;i>ron added on 2010-04-04 09:47:57:&lt;/i>&lt;br> adef}
   submit_ticket { 
  D 2010-04-04T09:47:57
  J assigned_to ron
  J +comment \n\n&lt;hr>&lt;i>ron\sadded\son\s2010-04-04\s09:47:57:&lt;/i>&lt;br>\nadef
  J priority Immediate
  J resolution Open
  K 98c889a3cd6b2e555b8dc43dbec8c9b3c3f4e201
  U ron
  Z a9dbf9bb131bee3ff365cace02d69d82


   }
   BEGIN_TKTEDIT
   BEGIN_FOOTER
   END_FOOTER
  </pre></nowiki>



  <hr /><i>anonymous added on 2010-11-25 11:21:08:</i><br />
  drh said in the mailing list that it's fixed in [e1dac0e4f6]


tkt_uuid: 3dd8c3dbe46f29fb256b94028ee1bd5555f08827
type: Code_Defect
status: Open
severity: Severe
foundin: 1.18 [df9da91ba8] 2011-07-13 23:03:41 UTC
private_contact: e2354290d2108e0010a43c226b12cd6484362b78
title: Bug in Win98
comment:
  When try to clone the repository, fossil begins the transfer, and creates the repository, but outputs following message: 

  <verbatim>C:\WINDOWS\COMMAND\FOSSIL.EXE: SQLITE_IOERR: os_win.c:32478: (33) unlockReadLock
  () - The process cannot access the file because</verbatim>

  The above message appears also on "fossil rebuild"
  When I try to open the repository, it creates the part of the tree and then outputs:

  <verbatim>C:\WINDOWS\COMMAND\FOSSIL.EXE: SQLITE_BUSY: statement aborts at 2: [ROLLBACK] ca
  nnot rollback transaction - SQL statements in progress</verbatim>

  "fossil co" does not output any error messages and looks like it works, but it also creates only part of the tree. After then "fossil changes" lists all not created files as missing.


tkt_uuid: 3e3018e96f64363cf0bd863b5fd99c16ddbed61e
type: Feature_Request
status: Open
severity: Cosmetic
private_contact: 8d246c2ef2694126833b191922369b1c6b0f7311
title: ticket history (ala roundup)
comment:
  Hello,

  what do you think about adding ticket history when displaying data for the certain ticket?

  It is, imho, nice feature in Roundup which enables one to quickly see what is going on with the ticket.

  See eg. example at: http://bugs.darcs.net/issue1103


  Sincerely,
  Gour


tkt_uuid: 3e58b8ceafb64aac96b0ebc4a8629f3f666d6a2b
type: Code_Defect
status: Open
severity: Important
foundin: f88368742d
private_contact: f1b8ea383d4afeb868c8f564f3fc833831f28a5a
title: fossil timeline -n limits by number of printed lines rather than number of entries
comment:
  The print_timeline function in src/timeline.c limits by number of printed lines, but according to the documentation in "fossil help timeline" the -n flag should limit by the number of check-ins.

  To reproduce:

  fossil new bugdemo.fossil ; mkdir bugdemo ; cd bugdemo ; fossil open ../bugdemo.fossil  ; touch one.txt ; fossil add one.txt ; fossil commit -m "Added first file." one.txt ; touch two.txt ; fossil add two.txt ; fossil commit -m "Added second file with a nice long commit message - well, at least long enough that displaying it via 'fossil timeline' will cause a line wrap." two.txt

  Now "fossil timeline -n 3" will only display one commit. "fossil timeline -n 4" will display two.


tkt_uuid: 3ed2e994e1750b416cbd2fb177b44cd5be2cbf90
type: Code_Defect
status: Fixed
foundin: 1.18
resolution: Fixed
title: fossil commit -user stopped working
comment:
  In versions previous to 1.18, I could run "fossil commit -user whatevername", and the cheeckin appeared as done by that name.

  Fossil 1.18 accepts the parameter, but does nothing with it.

  <hr /><i>mistachkin added on 2011-08-30 10:13:34 UTC:</i><br />
  It looks like you want to use the "user-override" option with the commit command.

  <hr /><i>viriketo added on 2011-08-30 16:50:15 UTC:</i><br />
  And then what is "--user" about?


tkt_uuid: 3edef69bf3e995ed2693d57f28560c464d05b13f
type: Code_Defect
status: Fixed
severity: Important
foundin: 7957624606
private_contact: 63070188043a9522ca95dca0d28c3b9eff7a697b
resolution: Fixed
title: Cookies don't include port
comment:
  Start two instances of fossil on one machine. Login as anonymous from a different machine to the first and the second repository from the same browser session. Reload the page of the first repo -- you are logged off again.


tkt_uuid: 3f0216560679fd41b6afcc84e7b9ffe0dd971fa8
type: Code_Defect
status: Fixed
severity: Important
foundin: 474850cff5] 2011-05-23 15:11:12
private_contact: 850c5f99a9d5ee011d6d3c66667f269661e34325
resolution: Fixed
title: i18n: fossil ui can't show artifacts with non-ascii chars in the name on Windows
comment:
  To reproduce the problem, run the following commands:
  <verbatim>
  V:\dvcs>fossil init repo
  project-id: ca24df3673e790aca6e2d5c361ea1e14d8005d2f
  server-id:  b99fe2b3d7c70621cdde33264111135fbd51cc58
  admin-user: Tsul (initial password is "47364c")

  V:\dvcs>fossil open repo

  V:\dvcs>echo 111 > фыва

  V:\dvcs>fossil add фыва
  ADDED  фыва

  V:\dvcs>fossil status
  repository:   V:/dvcs/repo
  local-root:   V:/dvcs/
  server-code:  b99fe2b3d7c70621cdde33264111135fbd51cc58
  checkout:     75b33a21e653caa8a18f23ea199cc9c00de6c900 2011-05-26 05:38:22 UTC
  tags:         trunk
  comment:      initial empty check-in (user: Tsul)
  ADDED      ╤Д╤Л╨▓╨░

  V:\dvcs>fossil ci -m test
  New_Version: 75b33a21e653caa8a18f23ea199cc9c00de6c900

  V:\dvcs>fossil close

  V:\dvcs>fossil ui repo
  Listening for HTTP requests on TCP port 8081
  Launch webbrowser: start http://127.0.0.1:8081/
  Type Ctrl-C to stop the HTTP server
  </verbatim>
  Then go to the <i>Files</i> in web-ui and click on the file <i>фыва</i>.

  Windows raises a window that "This program has performed an illegal operation and will be closed" a.k.a. general protection fault. When I close this window, it's raised again (and again).

  Also this is strange in console, that <code>fossil add</code> shows right file name, but <code>fossil status</code> not.

  <hr /><i>anonymous added on 2011-05-26 17:23:52 UTC:</i><br />
  I've tried fossil version <tt>[5a4dc2239b] 2011-05-26 11:57:14</tt> on the same repo as mentioned before.<br>
  Now <code>fossil status</code> works as expected:
  <verbatim>
  V:\dvcs>fossil status
  repository:   V:/dvcs/repo
  local-root:   V:/dvcs/
  server-code:  03df0882a9037a202acd1e429d84c98c8d7582a4
  checkout:     f26b10b36eba2d83500e430df0ec125df49b4a55 2011-05-26 16:27:48 UTC
  tags:         trunk
  comment:      initial empty check-in (user: Tsul)
  ADDED      фыва
  </verbatim>

  But <code>fossil ui</code> fails as before. Trace output doesn't give much:
  <verbatim>
  V:\dvcs>fossil --systemtrace --sqltrace --httptrace ui
  SELECT value FROM vvar WHERE name='repository';
  ATTACH DATABASE 'V:/dvcs/repo' AS repository;
  SELECT 1 FROM config WHERE name='aux-schema'   AND value<>'2011-04-25 19:50';
  SELECT value FROM config WHERE name='http-port';
  SELECT value FROM config WHERE name='web-browser';
  -- LOOKASIDE_USED                 16         48
  -- LOOKASIDE_HIT                            184
  -- LOOKASIDE_MISS_SIZE                       95
  -- LOOKASIDE_MISS_FULL                        0
  -- CACHE_USED                  16792
  -- SCHEMA_USED                 18688
  -- STMT_USED                       0
  -- MEMORY_USED                142528     148336
  -- MALLOC_SIZE                            48000
  -- MALLOC_COUNT                  598        603
  -- PCACHE_OVFLOW               19312      19312
  -- prepared statements             7
  Listening for HTTP requests on TCP port 8080
  Launch webbrowser: start http://127.0.0.1:8080/
  SYSTEM: "start http://127.0.0.1:8080/"
  Type Ctrl-C to stop the HTTP server
  SYSTEM: ""V:\dvcs\fossil.exe" http "V:/dvcs/repo" fossil_server_P8080__in1.txt fossil_server_P8080__out1.txt 127.0.0.1 --nossl --localauth"
  SYSTEM: ""V:\dvcs\fossil.exe" http "V:/dvcs/repo" fossil_server_P8080__in2.txt fossil_server_P8080__out2.txt 127.0.0.1 --nossl --localauth"
  SYSTEM: ""V:\dvcs\fossil.exe" http "V:/dvcs/repo" fossil_server_P8080__in3.txt fossil_server_P8080__out3.txt 127.0.0.1 --nossl --localauth"
  SYSTEM: ""V:\dvcs\fossil.exe" http "V:/dvcs/repo" fossil_server_P8080__in4.txt fossil_server_P8080__out4.txt 127.0.0.1 --nossl --localauth"
  SYSTEM: ""V:\dvcs\fossil.exe" http "V:/dvcs/repo" fossil_server_P8080__in5.txt fossil_server_P8080__out5.txt 127.0.0.1 --nossl --localauth"
  SYSTEM: ""V:\dvcs\fossil.exe" http "V:/dvcs/repo" fossil_server_P8080__in6.txt fossil_server_P8080__out6.txt 127.0.0.1 --nossl --localauth"
  ^C^C
  </verbatim>
  Fossil created files with names <tt>fossil_server_P8080__(in|out){4-6}.txt</tt>. All in-files consist of this text:
  <verbatim>
  GET /artifact?name=bdbdc5bc614b3003e6e5a275ea8482a9b9059698 HTTP/1.1
  User-Agent: Opera/9.80 (Windows NT 5.1; U; en) Presto/2.8.131 Version/11.11
  Host: 127.0.0.1:8080
  Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
  Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
  Accept-Encoding: gzip, deflate
  Referer: http://127.0.0.1:8080/dir?ci=tip
  Connection: Keep-Alive

  </verbatim>
  Out-files are all of the zero length.

  What else is that while debugging in Visual Studio it shows that
  <blockquote>Unhandled exception at 0x77c37742 in fossil.exe: 0xC0000005: Access violation reading location 0x6c707061.</blockquote>
  Stacktrace:
  <verbatim>
  >	msvcrt.dll!_strcmp()  + 0x12 bytes	
   	fossil.exe!0044461a() 	
  </verbatim>
  Disassembly:
  <verbatim>
  	_strcmp:
  	77C37730  mov         edx,dword ptr [esp+4] 
  	77C37734  mov         ecx,dword ptr [esp+8] 
  	77C37738  test        edx,3 
  	77C3773E  jne         _strcmp+4Ch (77C3777Ch) 
  	77C37740  mov         eax,dword ptr [edx] 
  >	77C37742  cmp         al,byte ptr [ecx] 
  	77C37744  jne         _strcmp+44h (77C37774h) 
  	77C37746  or          al,al 
  	77C37748  je          _strcmp+40h (77C37770h) 
  </verbatim>
  That shows that the exception raises inside msvcrt.dll!_strcmp() function.

  I would say more accurate if I had fossil debug symbols or if I was able to compile fossil with Visaul Studio.

  <hr /><i>anonymous claiming to be tsul added on 2011-05-27 03:44:12 UTC:</i><br />
  First, by default the fossil executable is compiled with <tt>-Os</tt> MinGW gcc option on Windows as I understand. And it fails on conditions described above.

  But without <tt>-Os</tt> option it works fine.

  Second, here's my debug output of fossil-with-Os http subprocess:
  <verbatim>
  V:\dvcs\wc>fossil-ggdb-Os.exe --systemtrace --sqltrace --httptrace http repo in1.txt out1.txt 127.0.0.1 --nossl --localauth
  # cgi: GATEWAY_INTERFACE = [CGI/1.0]
  # cgi: REQUEST_METHOD = [GET]
  # cgi: REQUEST_URI = [/artifact?name=bdbdc5bc614b3003e6e5a275ea8482a9b9059698]
  # cgi: PATH_INFO = [/artifact]
  # cgi: QUERY_STRING = [name=bdbdc5bc614b3003e6e5a275ea8482a9b9059698]
  # cgi: REMOTE_ADDR = [127.0.0.1]
  # cgi: HTTP_HOST = [127.0.0.1:8080]
  # cgi: name = [bdbdc5bc614b3003e6e5a275ea8482a9b9059698]
  SELECT 1 FROM config WHERE name='aux-schema'   AND value<>'2011-04-25 19:50';
  SELECT 0 FROM blob WHERE uuid='bdbdc5bc614b3003e6e5a275ea8482a9b9059698';
  SELECT rid FROM blob WHERE uuid='bdbdc5bc614b3003e6e5a275ea8482a9b9059698';
  SELECT value FROM config WHERE name='localauth';
  SELECT uid FROM user WHERE cap LIKE '%s%';
  SELECT login FROM user WHERE uid=1;
  # login: [Tsul] with capabilities [sx]
  SELECT cap FROM user WHERE login = 'nobody';
  SELECT cap FROM user WHERE login = 'anonymous';
  SELECT uuid FROM blob WHERE rid=2;
  SELECT 1 FROM shun WHERE uuid='bdbdc5bc614b3003e6e5a275ea8482a9b9059698';
  SELECT value FROM config WHERE name='header';
  SELECT value FROM config WHERE name='project-name';
  SELECT value FROM config WHERE name='index-page';
  SELECT uuid FROM blob WHERE rid=2;
  SELECT uuid FROM blob WHERE rid=2;
  SELECT filename.name, datetime(event.mtime),
  	coalesce(event.ecomment,event.comment),
  	coalesce(event.euser,event.user),
  	b.uuid  FROM mlink, filename, event, blob a, blob b
  	WHERE filename.fnid=mlink.fnid   AND event.objid=mlink.mid   AND a.rid=mlink.fid   AND b.rid=mlink.mid   AND mlink.fid=2;
  SELECT value FROM config WHERE name='wiki-use-html';
  SELECT substr(tagname, 6, 10000), datetime(event.mtime),
  	coalesce(event.euser, event.user)
  	FROM tagxref, tag, event WHERE tagxref.rid=2   AND tag.tagid=tagxref.tagid   AND tag.tagname LIKE 'wiki-%'   AND event.objid=tagxref.rid;
  SELECT datetime(mtime), user, comment, type, uuid, tagid  FROM event, blob WHERE event.objid=2   AND blob.rid=2;
  SELECT target, filename, datetime(mtime), user, src  FROM attachment WHERE src=(SELECT uuid FROM blob WHERE rid=2) ORDER BY mtime DESC /*sort*/;
  </verbatim>
  And then it's crashed. The input file used was listed above.

  Debug output of fossil-without-Os http subprocess differs only in additional lines at the end:
  <verbatim>
  SELECT srcid FROM delta WHERE rid=2;
  SELECT content FROM blob WHERE rid=2 AND size>=0;
  SELECT value FROM config WHERE name='footer';
  -- LOOKASIDE_USED                 24         95
  -- LOOKASIDE_HIT                            728
  -- LOOKASIDE_MISS_SIZE                      209
  -- LOOKASIDE_MISS_FULL                        0
  -- CACHE_USED                  25800
  -- SCHEMA_USED                 15608
  -- STMT_USED                    3392
  -- MEMORY_USED                 94120      99752
  -- MALLOC_SIZE                            48000
  -- MALLOC_COUNT                  467        479
  -- PCACHE_OVFLOW               25384      27568
  -- prepared statements            23
  </verbatim>

  At last, here is the gdb stacktrace of segfault and some other details about fossil-with-Os http subprocess:
  <verbatim>
  V:\dvcs\wc>gdb fossil-ggdb-Os.exe
  GNU gdb (GDB) 7.2
  Copyright (C) 2010 Free Software Foundation, Inc.
  License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
  This is free software: you are free to change and redistribute it.
  There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
  and "show warranty" for details.
  This GDB was configured as "mingw32".
  For bug reporting instructions, please see:
  <http://www.gnu.org/software/gdb/bugs/>...
  Reading symbols from V:\dvcs\wc/fossil-ggdb-Os.exe...done.
  (gdb) run http repo in1.txt out1.txt 127.0.0.1 --nossl --localauth
  Starting program: V:\dvcs\wc/fossil-ggdb-Os.exe http repo in1.txt out1.txt 127.0.0.1 --nossl --localauth
  [New Thread 3792.0xd88]

  Program received signal SIGSEGV, Segmentation fault.
  0x77c37742 in strcmp () from C:\WINDOWS\system32\msvcrt.dll
  (gdb) bt
  #0  0x77c37742 in strcmp () from C:\WINDOWS\system32\msvcrt.dll
  #1  0x00413a89 in mimetype_from_name (zName=0x6ff440 "\321Д\321\213\320▓\320░") at wbld/doc_.c:302
  #2  0x0041e1af in artifact_page () at wbld/info_.c:1250
  #3  0x00423081 in process_one_web_page (zNotFound=0x0) at wbld/main_.c:1057
  #4  0x00422a6d in main (argc=<value optimized out>, argv=0x3e4088) at wbld/main_.c:290
  (gdb) f 1
  #1  0x00413a89 in mimetype_from_name (zName=0x6ff440 "\321Д\321\213\320▓\320░") at wbld/doc_.c:302
  302           c = fossil_strcmp(zSuffix, aMime[i].zSuffix);
  (gdb) l
  297         first = 0;
  298         last = sizeof(aMime)/sizeof(aMime[0]);
  299         while( first<=last ){
  300           int c;
  301           i = (first+last)/2;
  302           c = fossil_strcmp(zSuffix, aMime[i].zSuffix);
  303           if( c==0 ) return aMime[i].zMimetype;
  304           if( c<0 ){
  305             last = i-1;
  306           }else{
  (gdb) p zSuffix
  $1 = "\321Д\321\213\320▓\320░\000■\"\000\330¤\"\000yLC"
  (gdb) x/9xb zSuffix
  0x22fdac:       0xd1    0x84    0xd1    0x8b    0xd0    0xb2    0xd0    0xb0
  0x22fdb4:       0x00
  (gdb) p i
  $3 = 190
  (gdb) p last
  $4 = <value optimized out>
  (gdb) p aMime[i]
  $5 = {zSuffix = 0x38464947 <Address 0x38464947 out of bounds>, size = 1191207223, zMimetype = 0x39384649 <Address 0x39384649 out of bounds>}
  (gdb)
  </verbatim>
  Note that zSuffis = 'фыва' in UTF8, that is the subj. filename.


  <hr /><i>anonymous claiming to be tsul added on 2011-05-28 18:26:16 UTC:</i><br />
  Fixed in [ea2698e9c7] 2011-05-27 12:16:37

  <hr /><i>drh added on 2011-05-28 18:50:35 UTC:</i><br />
  OP reports that the latest changes have resolved the problem.


tkt_uuid: 3f0c73f2d2d08eb454339b49e4978f385bc4c385
type: Code_Defect
status: Fixed
severity: Important
foundin: 37f295c310
private_contact: 20fca3084ce400a7f735d2d0056965355aee4050
resolution: Fixed
title: diff-command with parameter doesn't work
comment:
  <pre>
  > fossil set diff-command 'diff -u'
  > fossil diff
  ...
  sh: diff -u: command not found
  </pre>

  <hr><i>rwilson added on 2009-09-22 13:26:01:</i><br>
  this happens in windows too.

  <hr><i>drh added on 2009-09-22 14:30:57:</i><br>
  This broke when I "fixed" ticket [8d073be8808b] -
  <i>diff/editor/gdiff settings don't support paths with spaces</i>.
  The fix for [8d073be8808b] was put the entire "diff" command argument
  in double-quotes so that it is treated as a single entity by system().

  I suppose the right solution here is to require windows people with spaces
  in their pathnames to add their own double-quotes around those paths.
  Otherwise, there is no way (that I can see) to distinguish between spaces
  in pathnames and separate arguments in a command.

  <hr><i>rwilson added on 2009-09-22 18:42:22:</i><br>
  the problem with the windows shell is that when you quote an argument to compensate for spaces, the shell gives you the argument in argv[n] without the quotes.  there doesn't seem to be a way to escape quotes in the shell.  my best workaround so far is to use the DOS-style paths without spaces.

  <pre>
  PS C:\fossil\xyntservice> fossil setting editor C:\progra~1\JGsoft\EditPadPro6\EditPadPro.exe /newinstance
  Usage: C:\WINDOWS\system32\fossil.exe setting ?PROPERTY? ?VALUE?
  PS C:\fossil\xyntservice> fossil settings editor '"c:\program files\jgsoft\editpadpro6\editpadpro.exe" /newinstance'
  Usage: C:\WINDOWS\system32\fossil.exe settings ?PROPERTY? ?VALUE?
  PS C:\fossil\xyntservice> fossil setting editor "C:\progra~1\JGsoft\EditPadPro6\EditPadPro.exe /newinstance"
  PS C:\fossil\xyntservice> fossil settings
  autosync             (local)  1
  diff-command
  dont-push
  editor               (local)  C:\progra~1\JGsoft\EditPadPro6\EditPadPro.exe /newinstance
  gdiff-command        (local)  C:\Program Files\Beyond Compare 3\BComp.exe
  http-port
  localauth            (local)  0
  clearsign            (local)  0
  pgp-command
  mtime-changes
  proxy
  web-browser
  PS C:\fossil\xyntservice>
  </pre>

  <hr><i>rwilson added on 2009-09-22 18:55:18:</i><br>
  double quoting doesn't work either, but i'm not sure its the shell.  technically you should be able to double-quote ("") or escape quotes with a carat (^").  windows powershell can escape with backquotes (`").  none of these methods appears to work with fossil.

  <pre>
  PS C:\fossil\xyntservice> fossil settings editor """c:\program files\jgsoft\editpadpro6\editpadpro.exe"" /newinstance"
  Usage: C:\WINDOWS\system32\fossil.exe settings ?PROPERTY? ?VALUE?
  </pre>

  <hr><i>drh added on 2009-10-31 15:09:12:</i><br>
  Check-in [b2fdf4fe143516126091186adb69c564ed7ced43]


tkt_uuid: 3f2cb270b2f6508db840be97405131fce30901f4
type: Code_Defect
status: Fixed
severity: Important
foundin: [d5695157d0]
private_contact: 3b403a9307c53dd2b8b90ab73d7b4f056db52f64
resolution: Fixed
title: Assertion on "fossil update" when trying to merge a binary file
comment:
  I pulled changes from a remote repository and then wanted to update my local files. Apparently one of the binary files had changed locally and fossil couldn't merge it. That's expected, but fossil stopped with an assertion afterwards. Here's the console log (remote ip removed):
  <pre>
  C:\Users\MrPokeylope\fossilrepo\local>fossil update
  Autosync:  http://XX.XXX.XX.XXX:XXXXX
                  Bytes      Cards  Artifacts     Deltas
  Send:             130          1          0          0
  Received:        1242         27          0          0
  Total network traffic: 323 bytes sent, 858 bytes received
  UPDATE code/SyntaxDiagramm/Debugging/Debugging.suo
  UPDATE code/SyntaxDiagramm/Debugging/Sample.syndiag
  UPDATE code/SyntaxDiagramm/Debugging/Sample.syndiag.diagram
  UPDATE code/SyntaxDiagramm/Dsl/CustomCode/FixUpDiagram.cs
  UPDATE code/SyntaxDiagramm/Dsl/DslDefinition.dsl
  UPDATE code/SyntaxDiagramm/Dsl/DslDefinition.dsl.diagram
  UPDATE code/SyntaxDiagramm/Dsl/GeneratedCode/ConnectionBuilders.cs
  UPDATE code/SyntaxDiagramm/Dsl/GeneratedCode/Diagram.cs
  UPDATE code/SyntaxDiagramm/Dsl/GeneratedCode/DomainClasses.cs
  UPDATE code/SyntaxDiagramm/Dsl/GeneratedCode/DomainModel.cs
  UPDATE code/SyntaxDiagramm/Dsl/GeneratedCode/DomainModelResx.resx
  UPDATE code/SyntaxDiagramm/Dsl/GeneratedCode/DomainRelationships.cs
  UPDATE code/SyntaxDiagramm/Dsl/GeneratedCode/Serializer.cs
  UPDATE code/SyntaxDiagramm/Dsl/GeneratedCode/Shapes.cs
  UPDATE code/SyntaxDiagramm/Dsl/GeneratedCode/SyntaxDiagrammSchema.xsd
  UPDATE code/SyntaxDiagramm/Dsl/obj/Debug/TempPE/GeneratedCode.HelpKeywordHelper.cs.dll
  UPDATE code/SyntaxDiagramm/Dsl/obj/Debug/TempPE/GeneratedCode.PropertiesGrid.cs.dll
  UPDATE code/SyntaxDiagramm/DslPackage/obj/Debug/TempPE/GeneratedCode.Constants.cs.dll
  UPDATE code/SyntaxDiagramm/DslPackage/obj/Debug/VSCT.read.1.tlog
  UPDATE code/SyntaxDiagramm/DslPackage/obj/Debug/VSCT.write.1.tlog
  MERGE code/SyntaxDiagramm/SyntaxDiagramm.suo
  <b>***** Cannot merge binary file code/SyntaxDiagramm/SyntaxDiagramm.suo
  Assertion failed: (pBlob)->xRealloc==blobReallocMalloc || (pBlob)->xRealloc==blobReallocStatic, file blob_.c, line 170</b>

  This application has requested the Runtime to terminate it in an unusual way.
  Please contact the application's support team for more information.

  C:\Users\MrPokeylope\fossilrepo\local>fossil version
  This is fossil version [d5695157d0] 2009-11-11 16:21:19 UTC
  </pre>

  <hr><i>anonymous added on 2009-11-16 20:46:27:</i><br>
  Here's some additional info: the file SyntaxDiagramm.suo had the "hidden" attribute.

  <hr><i>drh added on 2009-12-19 03:17:46:</i><br>
  See check-in [8e147fdbac452ff3d92faa44bd26f678e3c00efb].


tkt_uuid: 3f4964984053d07d852b02e940fd48afcca869a1
type: Code_Defect
status: Fixed
severity: Minor
foundin: 2011.01.01.030647
private_contact: 6ba147a4218010d3c6ffddc5ed73dc017a44bf3c
resolution: Fixed
title: apparent make race condition, with tentative patch
comment:
  The Debian autobuilders encountered a heisenbug building my last upload of fossil to Debian, 2011.01.01.030647-1.  Although I'm not sure, because I could not reliably replicate the problem even on an 8-way machine with -j8, I suspect it is because the include file targets in src/main.mk are, e.g., "add.h" rather than "$(OBJDIR)/add.h".  Which I changed with the obvious patch,

  http://cvs.bcl.hamilton.ie:8080/fdiff?v1=70bd79cc58bea439&v2=da3ca9597028f76a

  and uploaded in 2011.01.01.030647-2.  Will soon see if this fixes the build issue: https://buildd.debian.org/pkg.cgi?pkg=fossil

  <hr /><i>anonymous added on 2011-01-10 13:15:19 UTC:</i><br />
  (Oops, this is already fixed in the trunk.  I only package official releases of course: sorry.)


tkt_uuid: 3f748ac12ce43743dfd803baa531152c927ead2f
type: Code_Defect
status: Fixed
foundin: 4a01787609
private_contact: d542e1ecf08fcd35873e96a0140f4026f1043c20
resolution: Works_As_Designed
title: reconstruct or deconstruct failure
comment:
  fossil reconstruct fails right after fossil deconstruct.
  running fossil deconstruct ~/artifactdir from within a fossil source checkout and then fossil reconstruct clone.fossil ~/artifactdir fails.  Fossil does create clone.fossil but most of the tables contained within are empty.  fossil ui clone.fossil brings up an empty project with nothing in its timeline.
  I've also tried fossil deconstruct -R fossil.fossil ~/artifactdir instead of being inside of a checkout as above.  After running deconstruct the artifact directory is populated with artifacts and a cursory check against fossil ui shows that they contain the right things.  So I'm only guessing that reconstruct is the problem...

  <hr /><i>wolfgang added on 2010-09-28 04:46:30:</i><br />
  i tested successfully a deconstruct(into a local directory of checkout) / reconstruct(into std-dir of my multi repo. server) of my clone of fossil-scm.org.

  the reconstructed repository worked. some things to mention:
    *  the number of artifacts files matches the number of artifacts displaed on the stat page
    *  the new repo-file was much bigger than the original; the stat page shows a big number of free pages in the sqlite db

  so i think too, it should be a problem of reconstruct, but i don´t understand this part of the code :-(

  <hr /><i>wolfgang added on 2010-09-28 05:28:29:</i><br />
  i get the same error, if i use the standard deconstruct with subdirectories, named like the first 2 chars from the uuid.

  if exporting with <b>-L 0</b> in a flat list of files, it works.

  the current implemenation of reconstruct ignores subdirectories and reads files only in the given dir, not recursing into the subdirs:
  <pre>
        if( file_isdir(pEntry->d_name)==1 ){
          continue;
        }
  </pre>

  with checkin [92f8cefcc8] i've extended the command help with notes about the flat import. i think, it´s not necessary to implement recursion in reconstruct.

  <hr /><i>wolfgang added on 2010-09-29 17:14:55:</i><br />
  on trunk: recursiv version of reconstruct implemented


