# ticket

tkt_uuid: c90916433bd952d9dde4eb94445c0cb6b7729e79
type: Code_Defect
status: Open
severity: Minor
foundin: 2011-02-02
private_contact: 36f0fb79a71d7f6f746a9380e7eab81fa1eb1b8a
title: form fields sharing names for different purposes make it difficult to use javalscript library
comment:
  'Event edit' (/eventedit) uses name='t' to identify the 'time' field in form. 
  'Edit Report Format' (/rptedit?rn=10) uses name='t' to identify the 'title' field in form. 

  The simplest was to resolve this is to change t to time or title respectively

  Note: 
  I added the following to the header to allow the use of a date picker for the 'Event edit' and the new and edit ticket screens. :

  <pre>
  <link rel="stylesheet" href="$baseurl/doc/tip/jquery/jquery-ui-1.8.9.custom.css" type="text/css" media="screen">

  <script src="$baseurl/doc/tip/jquery/jquery-1.4.4.min.js" type="text/javascript"></script>
  <script src="$baseurl/doc/tip/jquery/jquery-ui-1.8.9.custom.min.js" type="text/javascript"></script>

  <script type="text/javascript"> 
  // always use datepicker for this field
   $(function() {
    $( "input[name='t']" ).datepicker({
  			numberOfMonths: 2,
  			showButtonPanel: true,
  			dateFormat: 'yy-mm-dd'
  		});
    });
  </script>

  <script type="text/javascript">  
      var datefield=document.createElement("input")  
      datefield.setAttribute("type", "date")  
  if (datefield.type!="date"){ //if browser doesn't support input type="date", initialize date picker widget:  
      jQuery(function($){ //on document.ready  
   $( "input[name='last_useful_date']" ).datepicker({dateFormat: 'yy-mm-dd'});  
   $( "input[name='date_closed']" ).datepicker({dateFormat: 'yy-mm-dd'});  
      })  
  }  
  </script> 
  </pre>


tkt_uuid: 6e81abf24ded94bc749494a68a0a2fc2dcd81ba9
type: Code_Defect
status: Closed
severity: Important
foundin: 20b2767f46a79e845c319bd7aadec34d84ff9bca
private_contact: 9e3254e6e3c2643cc148bab2d55f46bb4c0446f4
resolution: Open
title: -A option is not observed when cloning local files
comment:
  When cloning a local file, the -A option is not observed.

  <verbatim>
  MJanssen@JUNO ~/Documents/Projects/fossil
  $ fossil new test.fossil
  project-id: 6fd8e84a448395e2128c376fa00b6528bf27310c
  server-id:  eb0f9e8df50588841650dae2ca601d6a671ab378
  admin-user: MJanssen (initial password is "2948e5")

  MJanssen@JUNO ~/Documents/Projects/fossil
  $ fossil clone -A admin test.fossil test2.fossil
  Repository cloned into test2.fossil
  Rebuilding repository meta-data...
    100.0% complete...
  project-id: 6fd8e84a448395e2128c376fa00b6528bf27310c
  server-id:  d33bccda11a1a8694943685a9bcfda32c464e089
  admin-user: MJanssen (password is "2948e5")

  MJanssen@JUNO ~/Documents/Projects/fossil
  $ fossil clone -A admin http://xxxx test3.fossil
                  Bytes      Cards  Artifacts     Deltas
  Sent:              53          1          0          0
  Received:     2637198        854        271        155
  Total network traffic: 230 bytes sent, 2636428 bytes received
  Rebuilding repository meta-data...
    100.0% complete...
  project-id: 1cb7c1ee6fbcd866a6fd2bf389a18e972b5b4fd5
  server-id:  8c590369091c4dd8dd91deab6fe2b77be76a7c49
  admin-user: admin (password is "ff9717")
  </verbatim>

  <hr /><i>mjanssen added on 2011-02-03 22:47:27 UTC:</i><br />
  It seems there is a missing db_initial_setup call in the local file branch. Can't currently test if the patch below works (no access to my development machine)

  <verbatim>
  --- src\clone.c
  +++ src\clone.c
  @@ -60,10 +60,11 @@
     if( g.urlIsFile ){
       file_copy(g.urlName, g.argv[3]);
       db_close(1);
       db_open_repository(g.argv[3]);
       db_record_repository_filename(g.argv[3]);
  +    db_initial_setup(0, zDefaultUser, 0);
       db_multi_exec(
         "REPLACE INTO config(name,value)"
         " VALUES('server-code', lower(hex(randomblob(20))));"
         "REPLACE INTO config(name,value)"
         " VALUES('last-sync-url', '%q');",
  </verbatim>

  <hr /><i>anonymous claiming to be mjanssen added on 2011-07-20 23:28:43 UTC:</i><br />
  Fixed in [d86201dce9]


tkt_uuid: cde4448290586f08a18ec76224258683006ad98e
type: Code_Defect
status: Open
severity: Important
foundin: d5729c31b5
private_contact: 84f59114b7eee7088fd7e2932599c69c9ad0761b
title: Stash for an uncommitted, untracked file gives no warning or error
comment:
  If you try and explicitly stash a file that isn't being tracked, you get no warning.

  <pre>echo "hello" > test.txt
  fossil stash save -m "Test stash" test.txt   # Would expect an error when running this line

  # I managed to do the following:
  echo "world" > test.txt
  fossil stash pop</pre>

  And blew away some work.  My fault for not having committed the changes, but silently failing definitely seemed like note-worthy bug.


tkt_uuid: c1cb47f0f9c60d33054a244fdf9fb8c62e953f21
type: Code_Defect
status: Closed
severity: Severe
foundin: [356e877cea] 2011-01-13 19:55:28.947 UTC
private_contact: da07a3218f3b45effbc45291f5789996fa8f58dc
resolution: Not_A_Bug
title: Can't login. Server is Ubuntu 10.10
comment:
  I managed to have the cgi script to work. However, when I attempt login and enter the correct password I receive this:
  SQLITE_CANTOPEN: cannot open file at line 27669 of [b0888047bb]

  SQLITE_CANTOPEN: statement aborts at 28: [UPDATE user SET cookie='1/8579937B866245F2BB11D3510E25234DF3D88E520F015DADB6', ipaddr='82.81.34.46', cexpire=julianday('now')+31557600/86400.0 WHERE uid=1]

  Database Error

  unable to open database file
  UPDATE user SET cookie='1/8579937B866245F2BB11D3510E25234DF3D88E520F015DADB6', ipaddr='82.81.34.46',   cexpire=julianday('now')+31557600/86400.0 WHERE uid=1
  If you have recently updated your fossil executable, you might need to run "fossil all rebuild" to bring the repository schemas up to date.

  <hr /><i>anonymous added on 2011-02-07 10:25:49 UTC:</i><br />
  I am the same anonymous that placed this issue. Googling for "unable to open database file sqlite" yielded the solution: the directory that contains the repository (as well as the repository itself) has to be owned by www-data.
  chown www-data FOSSIL             solved the problem.


  <hr /><i>anonymous claiming to be anonymous - alberto bottoni added on 2011-02-19 15:22:44 UTC:</i><br />
  as change [8e83c2307f] pointed out, it was an installation detail problem (file permission), so not a bug

  (I love fossile!)


  <hr /><i>anonymous claiming to be alberto bottoni added on 2011-02-19 15:24:13 UTC:</i><br />
  and status is closed - hemm...


tkt_uuid: 8473eeb9ffb012e1db8597d97c9f7fdde340485e
type: Code_Defect
status: Fixed
severity: Important
foundin: d5729c31b5
private_contact: e7d733707d8c126de4f080f5f958e762bfaa8983
resolution: Fixed
title: Configuration not pulled on clone
comment:
  When cloning some repositories, the above mentioned version of Fossil fails to pull configuration data. This results in the project appearing as unnamed with an empty homepage. Doing a pull of the config resolves this, but as was noted on the mailing list, it should happen on clone. Here are two repositories that are affected:

  http://spielproject.info
  http://dev.thewordnerd.info/touchtype

  Interestingly enough, cloning the main Fossil repository seems to work. I've experienced this same behavior on other servers, so I'm not necessarily sure it's my server's fault.

  <hr /><i>anonymous added on 2011-02-08 18:01:30 UTC:</i><br />
  I've done a bit more work to try specifying this problem. Today I've:

    *  Identified another repository where this happens, namely http://hermesgps.info. To be clear, the only repository that works is Fossil's. All of mine fail.
    *  Upgraded both my client and server to trunk.
    *  Rebuilt all repositories on the server.
    *  Dumped the offending configs. They are all default and appear OK.
    *  Cloned the repositories from another server with the same results.

  Any other advice on debugging this would be greatly appreciated, but as of now I've done all that I can think of on my end.


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: 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: cc8fb65705ef72a0d06dc07a3a0ac5c7f63b617c
type: Code_Defect
status: Fixed
severity: Severe
foundin: a4b0b7d9e9
private_contact: 9e3254e6e3c2643cc148bab2d55f46bb4c0446f4
resolution: Fixed
title: process_one_web_page crashes if zPathInfo is NULL
comment:
  If zPathInfo is NULL. Fossil crashes in process_one_web_page. This can be demonstrated by using a CGI script with directory: where no further path is specified.
  <verbatim>
  $ gdb --args ./fossil.exe cgi /c/Apache2.2/cgi-bin/fossil
  GNU gdb 6.8
  Copyright (C) 2008 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 "i686-pc-mingw32"...
  (gdb) r
  Starting program: c:\Users\MJanssen\Projects\fossil/./fossil.exe cgi c:/Apache2.
  2/cgi-bin/fossil
  [New thread 2100.0xce0]
  Program received signal SIGSEGV, Segmentation fault.
  process_one_web_page (zNotFound=<value optimized out>) at wbld/main_.c:897
  897         while( zPathInfo[i] && zPathInfo[i]!='/' ){ i++; }
  (gdb) q
  The program is running.  Exit anyway? (y or n) y
  </verbatim>

  <hr /><i>dmitry added on 2011-09-11 12:04:29 UTC:</i><br />
  Fixed in [0fc9b5e1f2].


tkt_uuid: 82196fbb41e356ae5306f6269d79ced115792590
type: Code_Defect
status: Open
severity: Minor
foundin: 356e877cea
private_contact: 27af9a1b51382dfc763a57a5bd314e241ced15d0
title: extras --ignore globbing behaves erratically (win7)
comment:
  I was not able to create the problem from scratch, so I pared down my current project to only 2 files (and the repository) to be able to reproduce the bug:

  http://mavra.perilith.com/~railed/fossil/bugtest.zip

  The directions (included in the .zip as well):

  -----------------------

  from inside the 'content' folder, open the bugtest repository:

     fossil open ..\bugtest.repo

  then try to view the extras. this should show both .pyc files:

     fossil extras

  now try globbing to hide both .pyc files:

     fossil extras --ignore *.pyc

  if the bug reproduces properly, only the first of the two files will be hidden, but not both.


tkt_uuid: 8c480d18328fe17543b4cd06f7b08920f2439a49
type: Feature_Request
status: Open
priority: Low
severity: Important
private_contact: b7569ea6d94b931c3e28b0619720d09f1f2bc911
resolution: Open
title: hook on wiki html rendering
comment:
  I'm looking for a uniform method of supplying fossil with different markup languages. There should be setting controllable pipe between plain text data and wiki.


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: baf9b6b11e08c1d0b151d52dd6392ffcb8d44590
type: Code_Defect
status: Fixed
severity: Severe
private_contact: 84f59114b7eee7088fd7e2932599c69c9ad0761b
resolution: Fixed
title: update/revert don't set permissions
comment:
  In reading through update.c, it doesn't look as though updates or reverts will set the permissions of files when recreating them.  Unlike checkout's code path, update/revert doesn't call checkout.c:checkout_set_all_exe() to set the permissions of files.  At first glance, it looks like the best place to check to see if permissions need to be updated is via vfile.c:vfile_check_signature() (in the call path for revert) or in vfile.c:vfile_compare_repository_to_disk() (not used other than in checkin).

  To reproduce:

  <pre># In a test repository with `alias fs fossil`
  printf '#\!/bin/sh\necho test script perms\n' > test.sh
  chmod 755 test.sh
  fs add test.sh
  fs ci -m "Adding a test script"
  rm -f test.sh
  fs revert test.sh
  # test.sh will be mode 644</pre>

  <hr /><i>anonymous added on 2011-02-15 00:06:57 UTC:</i><br />
  This is a real pain for me. I guess the work-around is a clean checkout ....

  <hr /><i>anonymous claiming to be rkeene added on 2011-02-27 20:45:10 UTC:</i><br />
  We are also having this issue in Tcl.


tkt_uuid: 741a0355a18796bae07abfb3cf370d3e5cf91215
type: Code_Defect
status: Open
severity: Minor
foundin: 49cbf5e519
private_contact: 84f59114b7eee7088fd7e2932599c69c9ad0761b
title: status reports unmodified files as EDITED
comment:
  I haven't been able to figure out how to reproduce this yet, but there's something odd with the <code>status</code> command with regards to files being reported as <code>EDITED</code> but their contents is identical to what's in trunk.  As near as I can tell, the command sequence went something like this:

  <pre>% cd ~/src/repo/contrib
  % rm -rf sub-module
  % mkdir ~/src/repo2
  % cd ~/src/repo2
  % fs open ~/src/.fossils/repo.fossil
  % mv contrib/sub-module ~/src/repo/contrib
  % cd ~/src/repo
  % fs stat | tail -1
  EDITED     contrib/sub-module/file.sh
  % fs di contrib/sub-module/file.sh
  %</pre>

  contrib/sub-module was imported on a vendor branch, if that makes any difference.  Comparing md5s, the files are identical, but everything in contrib/sub-module gets reported as EDITED right now.  It looks like checkin.c:status_report() is reporting the file as changed.  Looking in schema.c:

  <pre>@ -- Vfile.chnged is 0 for unmodified files, 1 for files that have
  @ -- been edited or which have been subjected to a 3-way merge.</pre>

  So it looks like there are some stale entries in vmerge (maybe?).  Hope this is useful enough.


tkt_uuid: 5f611295e3c2a8a900ce39e9a72ecd9aace4c59e
type: Code_Defect
status: Fixed
foundin: [6f42e76d80] 2011-01-13
private_contact: ccd87c60364e1d3e945b6f4d4874f5174b17cc43
resolution: Fixed
title: Cannot update to a branch leaf (due to events tagged as the branch)
comment:
  We have hit a problem where we cannot update to a branch we have. We have been using this branch for months.

  <verbatim>
  $ fossil update tai
  fossil: no such version: tai
  $ fossil branch list |grep tai
    tai
    tai_dll
  </verbatim>

  The branch has a single leaf. This command worked fine until yesterday. The latest change that may have done something is adding an event with the same tag as the branch name. We also had a double leaves yesterday late, and we changed one of the branches to "fork a new branch since this checkin" using the ui Edit button.

  The current leaf says in Tags and Properties:
  <verbatim>
      * bgcolor=#c0ffc0 inherited from [e6e7a07477]
      * branch=tai inherited from [e6e7a07477]
      * sym-delivered added by [401c9ad515] on 2011-02-09 02:54:05
      * sym-tai inherited from [e6e7a07477]
  </verbatim>

  Any idea? All our workstation fossil clients show the same behaviour (linux and cygwin).

  <hr /><i>anonymous claiming to be viric added on 2011-02-10 21:14:07 UTC:</i><br />
  I could reproduce this another time. An Event page with the same tag as the branch name triggers the problem: then 'fossil update XXX' will get the Event instead of the checkin of the leaf with the name XXX.

  <hr /><i>viriketo added on 2011-04-05 07:31:18 UTC:</i><br />
  This still happens with fossil version [1d93222627] 2011-03-01 19:04:32.

  "fossil update branchname" will fail if there is an event tagged with 'branchname' after the branch leaf.

  <hr /><i>viriketo added on 2011-06-01 12:29:19 UTC:</i><br />
  Fossil [d8221b9863] 2011-05-12 still has the problem.


tkt_uuid: c524bb591edcb3064b019c2969c8c1e84f5cd929
type: Code_Defect
status: Verified
severity: Minor
foundin: [356e877cea] 2011-01-13 19:55:28.947
private_contact: 72c73ce34e23821d1efcc88bc872fc296aabde7e
resolution: Open
title: default ticket tracker formats 'title' inconsistently if it contains symbols like &lt;
comment:
  When I use the ticket tracker with the default settings that fossil has "out of the box", and have a ticket whose title includes HTML markup (like this one), the markup is rendered in the 'status' view of the ticket, but the ticket summary line shows the entity literally. This leaves me confused as to whether I'm supposed to armor special characters in ticket summaries with HTML entities or not.


tkt_uuid: d9d3fd902a65e764c183b27f34d71cbdce03ade2
type: Code_Defect
status: Open
severity: Minor
foundin: [6f42e76d80]
private_contact: ccd87c60364e1d3e945b6f4d4874f5174b17cc43
title: The New Event page expects the time in UTC
comment:
  Although users may have chosen in the Admin page to have time in the local timezone, the New Event page always asks the time to be set in UTC.


tkt_uuid: c26c63eb1b36b9e043413f120ee68beb635dfde5
type: Code_Defect
status: Open
foundin: [6f42e76d80]
title: 'merge --backout' does not handle conflicts properly
comment:
  I had some checkin (A) that introduced a bad change.

  Then trying to fix it, I made a new checkin (B) with some changes in the lines introduced in (A).

  When I saw that the change B was not improving the situation... I decided to run "fossil merge --backout A". It took away all the lines introduced by A, but it did not say anything, that the lines in the working directory were not exactly those introduced by A.

  Shouldn't it say, that the change A cannot be backed out directly, as it has conflicts introduced by B?


tkt_uuid: 77ab05a0e9d890599c3241f7025de68f9c250604
type: Code_Defect
status: Open
severity: Important
foundin: 81ad6e2e20
private_contact: e7d733707d8c126de4f080f5f958e762bfaa8983
resolution: Duplicate
title: Moving files doesn'trespect directory structures
comment:
  Here is a transcript of me trying to move files to a new subdirectory in the latest Fossil:

  ]0;nolan@nolan-desktop: ~/Projects/Hermes/Webnolan@nolan-desktop:~/Projects/Hermes/Web$ fossil mv src/main/scala/info/hermesg 
  ps/web/* src/main/scala/code

  RENAME src/main/scala/info/hermesgps/web/api/V1.scala src/main/scala/code/V1.scala

  RENAME src/main/scala/info/hermesgps/web/comet/.keep src/main/scala/code/.keep

  RENAME src/main/scala/info/hermesgps/web/comet/Geolocation.scala src/main/scala/code/Geolocation.scala

  RENAME src/main/scala/info/hermesgps/web/comet/ImportMonitor.scala src/main/scala/code/ImportMonitor.scala

  RENAME src/main/scala/info/hermesgps/web/comet/Search.scala src/main/scala/code/Search.scala

  RENAME src/main/scala/info/hermesgps/web/lib/.keep src/main/scala/code/.keep


  fossil: SQLITE_CONSTRAINT: abort at 34 in [UPDATE vfile SET pathname='src/main/scala/code/.keep' WHERE pathname='src/main/scala/info/hermesgps/web/lib/.keep' AND vid=1042]: columns pathname, vid are not unique

  fossil: columns pathname, vid are not unique

  UPDATE vfile SET pathname='src/main/scala/code/.keep' WHERE pathname='src/main/scala/info/hermesgps/web/lib/.keep' AND vid=1042



  If you have recently updated your fossil executable, you might

  need to run "fossil all rebuild" to bring the repository

  schemas up to date.


  fossil: SQLITE_BUSY: statement aborts at 2: [ROLLBACK] cannot rollback transaction - SQL statements in progress

  ]0;nolan@nolan-desktop: ~/Projects/Hermes/Webnolan@nolan-desktop:~/Projects/Hermes/Web$ fossil rebuild

  ]0;nolan@nolan-desktop: ~/Projects/Hermes/Webnolan@nolan-desktop:~/Projects/Hermes/Web$ fossil rebuild
  ...
  $ fossil mv src/main/scala/info/hermesgp
  ps/web/* src/main/scala/code

  RENAME src/main/scala/info/hermesgps/web/api/V1.scala src/main/scala/code/V1.scala

  RENAME src/main/scala/info/hermesgps/web/comet/.keep src/main/scala/code/.keep

  RENAME src/main/scala/info/hermesgps/web/comet/Geolocation.scala src/main/scala/code/Geolocation.scala

  RENAME src/main/scala/info/hermesgps/web/comet/ImportMonitor.scala src/main/scala/code/ImportMonitor.scala

  RENAME src/main/scala/info/hermesgps/web/comet/Search.scala src/main/scala/code/Search.scala

  RENAME src/main/scala/info/hermesgps/web/lib/.keep src/main/scala/code/.keep


  fossil: SQLITE_CONSTRAINT: abort at 34 in [UPDATE vfile SET pathname='src/main/scala/code/.keep' WHERE pathname='src/main/scala/info/hermesgps/web/lib/.keep' AND vid=1042]: columns pathname, vid are not unique

  fossil: columns pathname, vid are not unique

  UPDATE vfile SET pathname='src/main/scala/code/.keep' WHERE pathname='src/main/scala/info/hermesgps/web/lib/.keep' AND vid=1042



  If you have recently updated your fossil executable, you might

  need to run "fossil all rebuild" to bring the repository

  schemas up to date.


  fossil: SQLITE_BUSY: statement aborts at 2: [ROLLBACK] cannot rollback transaction - SQL statements in progress

  <hr /><i>anonymous claiming to be nolan@thewordnerd.info added on 2011-02-11 16:00:31 UTC:</i><br />
  I did a bit more digging on this. What I'm attempting to do is to move a bunch of Scala code into another package, so I ran something like:

  fossil mv some/package/directory/* another/directory

  What I'd expect to happen is that Fossil will move all the files, honoring the directory structure. So if I had some/package/directory/lib/Lib.scala, I'd expect to find that in another/directory/lib/Lib.scala.

  What it did in this instance, unfortunately, was to attempt flattening the structure. That is, all files in the first directory were indiscriminately dumped into the second without subdirectories. Fortunately it failed or I might not have spotted it until I committed the change. The failure was caused by there being .keep files in some of the subdirectories such that they'll still exist even if empty. Fossil tried dumping these multiple files into the wrongly-flattened directory, and SQLite threw a constraint complaint.

  Thanks, let me know if you need any more details.

  <hr /><i>anonymous claiming to be sean added on 2011-02-11 18:33:03 UTC:</i><br />
  This is a duplicate of ticket [9f0120fb739aa19c3d4d84bf0fa5f289fd50d9c6] and should be closed.


tkt_uuid: 4b881458c3b93b88e7d7b3666162ba17711fe7fe
type: Feature_Request
status: Open
private_contact: 2f98bd34c080ac26bbeb8ea754dfd01c5d3a2018
resolution: Open
title: support for incremental import/export
comment:
  According to the [http://article.gmane.org/gmane.comp.version-control.fossil-scm.user/4141|post] which I sent to the mailing list, I believe it would be nice if Fossil would extend its current support for import/export from/to Git by adding support for incremental import/export according to the Git's fast-import/export docs:

  <verbatim>
   --export-marks=<file> 

  Dumps the internal marks table to <file> when
  complete. Marks are written one per line as :markid SHA-1. Frontends
  can use this file to validate imports after they have been completed,
  or to save the marks table across incremental runs. As <file> is only
  opened and truncated at checkpoint (or completion) the same path can
  also be safely given to --import-marks.

  --import-marks=<file> 

  Before processing any input, load the marks specified in <file>. The
  input file must exist, must be readable, and must use the same format
  as produced by --export-marks.
  </verbatim>

  This would (hopefully) enable Fossil users to keep using Fossil while collaborating with other SCM systems, something what one can e.g. achieve with Bazaar by using bzr-{hg,git,svn} plugins.

  <hr /><i>joerg added on 2011-09-12 13:19:30 UTC:</i><br />
  "fossil export" supports marker files. It doesn't work reliably for git though as it tends to fail on the git side during testing. It was complaining about missing objects, which are clearly part of an earlier import.


tkt_uuid: d9d1320e7bd397920726434eab1411908d88d50c
type: Feature_Request
status: Open
severity: Minor
foundin: [7bb3db9b64]
private_contact: ccd87c60364e1d3e945b6f4d4874f5174b17cc43
resolution: Open
title: Add a new checkin identifier: pivot:checkin1:checkin2
comment:
  When I want to see the differences between a branch and its parent, I find myself often preparing one directory at the branch leaf, and the other at the pivot with the parent:
  <verbatim>
  cd mybranch; fossil update mybranch; cd ..
  cd pivot; fossil test-find-pivot mybranch parentbranch; fossil update XXXXX
  meld mybranch pivot  # a program to show the differences between trees
  </verbatim>

  I'd like to be able to run:
  <verbatim>
  fossil update pivot:mybranch:parentbranch
  </verbatim>

  <hr /><i>anonymous claiming to be viric added on 2011-02-11 12:21:30 UTC:</i><br />
  Maybe it is not the best place to write this, but I'd also find comfortable "fossil update parent" working.


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: dd78d17ea903a6ec2d69c0a55b7d1971f9120c7a
type: Incident
status: Open
severity: Important
foundin: 79b7902cdd
private_contact: 4ef9c8ef6fd01155871a04c9b36d9387a315f2d4
resolution: Open
title: attachment problem
comment:
  I tried attaching a file to a ticket. There was no error that I could
  see, but neither could I find any evidence that the file was actually
  attached. I checked the ticket history, ticket time line and the main
  time line. Nothing there. Nor in View Ticket.

  <hr /><i>anonymous claiming to be viric added on 2011-02-12 11:00:59 UTC:</i><br />
  I remember this happening to me once. I related that to attaching a file 'too big'. Could it be the reason?
  I did not explore more, to confirm that hypothesis.

  <hr /><i>anonymous added on 2011-02-16 06:17:56 UTC:</i><br />
  It was a small text file created specifically to demo attachments to tickets, maybe 200 bytes in size.

  <hr /><i>anonymous added on 2011-05-09 12:37:06 UTC:</i><br />
  Seems as if problem is only with IE.  I'm running IE 7, attachments make it somehow into sqlite database but not completely back to the ui (stuck there in between).

  With Firefox 4 everything works fine.


tkt_uuid: 13b73889641e1b6c4f7ff9af23106e7034bb648c
type: Code_Defect
status: Fixed
severity: Minor
foundin: e7b6434112
private_contact: baf689df8a76164ce22b94c9dfd8eeb3a13e6730
resolution: Fixed
title: Commit comments with multi-byte character break
comment:
  I use windows command line prompt cmd to commit changes with command 
  <code>"fossil commit -m "修正问题。"</code>, and then use command <code>"fossil ui"</code> to view the commitment. And find chaos of comments, only after chosing the web page encoding to GBK and the comments seem OK.
  I had try following modify and it works fine.
  <pre>
  src/checkin.c 
  ========================================
  @@ -740,9 +740,11 @@
     blob_appendf(pOut, "Z %b\n", &mcksum);
     if( pnFBcard ) *pnFBcard = nFBcard;
   }
   
  -
  +#if defined(_WIN32)
  +extern char *sqlite3_win32_mbcs_to_utf8(const char*);
  +#endif
   /*
   ** COMMAND: ci
   ** COMMAND: commit
   **
  @@ -970,8 +972,16 @@
       if( blob_str(&ans)[0]!='y' ){
         fossil_exit(1);
       }
     }else{
  +#if defined(_WIN32)
  +    char *zConvertComment = sqlite3_win32_mbcs_to_utf8(blob_str(&comment));
  +    if (zConvertComment){
  +      blob_reset(&comment);
  +      blob_append(&comment, zConvertComment, -1);
  +      free(zConvertComment);
  +    }
  +#endif
       db_multi_exec("REPLACE INTO vvar VALUES('ci-comment',%B)", &comment);
       db_end_transaction(0);
       db_begin_transaction();
     }
  </pre>

  <hr /><i>jan.nijtmans added on 2012-10-22 08:00:09 UTC:</i><br />
  should be fixed in version 1.24


tkt_uuid: c64e665103f04fa390a16879cc9aaec6ac1f5c17
type: Code_Defect
status: Open
foundin: [6f42e76d80] 2011-01-13
title: Wiki conflicts go unnoticed
comment:
  If two users are writing a wiki page, and they both send their changes, none receives any warning, and the last POSTing sets the final contents.

  I think the best would be to do the same approach as in files, maybe treating any merge as conflict, and leaving lines with '<<<<<' and so on the pages.


tkt_uuid: 674d5d55562cf353265a115052fb500ea2b31597
type: Code_Defect
status: Fixed
severity: Minor
foundin: [6f42e76d80] 2011-01-13
resolution: Fixed
title: The timeline does not filter by an unexisting tag
comment:
  Filtering by a non existent tag gives results like if there was no tag filtering at all, and nevertheless the heading says "timeline events tagged by XXX".

  For example: [/timeline?t=potato]


tkt_uuid: d7169e51ebb3400f6fa54901c432f3a4eb86a8f3
type: Code_Defect
status: Fixed
severity: Severe
foundin: 400a07e4a5
private_contact: 84f59114b7eee7088fd7e2932599c69c9ad0761b
resolution: Fixed
title: vfile_scan.c closing unopened directory
comment:
  src/vfile_scan.c is using closedir(3) on an uninitialized value when an opendir(3) fails.

  <hr /><i>anonymous claiming to be sean added on 2011-02-16 19:01:50 UTC:</i><br />
  Please disregard the patch src-vfile.c.patch and use the src-opendir.patch. This should fix the problem when a user attempts to opendir(3) a directory that they don't have permission to examine.

  <verbatim>% cd /tmp/
  % mkdir fs-test
  % cd fs-test/
  % fs open ~/src/.fossils/
  % fs open ~/src/.fossils/fossil-test-repository 
  test.sh
  project-name: <unnamed>
  repository:   /Users/sean/src/.fossils/fossil-test-repository
  local-root:   /private/tmp/fs-test/
  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)
  % ll
  total 24
  -rw-r--r--  1 sean  wheel  7168 Feb 16 10:58 _FOSSIL_
  -rwxr-xr-x  1 sean  wheel    29 Feb 16 10:58 test.sh
  % mkdir enoperm
  % sudo chmod 700 enoperm
  Password:
  % sudo chown root:wheel enoperm
  % sudo touch enoperm/...
  % fs stat
  repository:   /Users/sean/src/.fossils/fossil-test-repository
  local-root:   /private/tmp/fs-test/
  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)
  % fs extra
  Segmentation fault
  Exit 139
  # test after patch
  % ~/src/fossil/fossil stat
  repository:   /Users/sean/src/.fossils/fossil-test-repository
  local-root:   /private/tmp/fs-test/
  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)
  % ~/src/fossil/fossil extra
  % 
  </verbatim>

  Thanks. -sc


tkt_uuid: 577663c2727505a0b5929ec5841fab68ec5f7404
type: Feature_Request
status: Fixed
severity: Important
foundin: 2a02aa49e1
private_contact: 84f59114b7eee7088fd7e2932599c69c9ad0761b
resolution: Fixed
title: Add support for the target attribute.
comment:
  The attached patch adds support for the target attribute. Using fossil as a wiki, it's pretty common to want to compile various external references to external sites.

  <verbatim><a href="https://www.example.org/some-page" target="_blank">Link to Some-Page</a></verbatim>

  The attached patch supports the above behavior.


tkt_uuid: 6673476941adf0aebd0ef04915850be1fcd7f229
type: Code_Defect
status: Fixed
foundin: [1d49c2f65c] 2011-02-20
resolution: Unable_To_Reproduce
title: Broken link to check-ins from ticket history
comment:
  Being in the page of the history of a ticket [http://fossil-scm.org/index.html/tkthistory/ce33b14f8f|like this], going to the Check-ins link results in a link with two question marks, like this: [http://fossil-scm.org/index.html/tkttimeline?name=ce33b14f8f?y=ci]

  <hr /><i>dmitry added on 2011-09-08 22:47:39 UTC:</i><br />
  No longer reproducible, perhaps, has been fixed.


tkt_uuid: 573727d6d93badc681bd957a8e0945b3d053d487
type: Feature_Request
status: Fixed
severity: Important
private_contact: 84f59114b7eee7088fd7e2932599c69c9ad0761b
resolution: Fixed
title: Default disallow local local users
comment:
  When using nginx to proxy back to a fossil repo, it's easy to either uncheck once in production or leave unchecked to start. Not unsolvable, but it would be ideal to have "Require password for local access" checked by default or removed all together in favor of the following behavior.

  I understand that option is there to facilitate local logins via "fs ui" but it seems like a better alternative would be to make "fs ui" perform the following:

  <ol>
  <li>User calls <code>fs ui</code> from the command line</li>
  <li><code>fs ui</code> injects a valid one-time use token in to the sessions table</li>
  <li><code>fs ui</code> then calls web-browser with something like <code>http://127.0.0.1:8080/my_repo/auto-login?token=abcdef0123456789abcdef0123456789</code> which issues the user a login cookie and removes the one-time use token from the database</li>
  </ol>

  This step would go a long ways towards a "secure by default" policy for Fossil.


tkt_uuid: a38bf4e32477adb54d5a0f7dfa96e7e7d573e7ea
type: Incident
status: Fixed
severity: Important
foundin: 6502627a3e
private_contact: e2354290d2108e0010a43c226b12cd6484362b78
resolution: Open
title: Fossil even does not try to connect to proxy.
comment:
  I am behind MS ISA proxy. So, in order to use Fossil, I tried to install second proxy on 127.0.0.1:80 - namely 'NTLM Authorization Proxy Server' (ntlmaps) that to provide authorization to the MS server. 
  So, ntlmaps have log that shows the clients requests. The proxy works - I tested it with several programs that does not support MS proxy.
  But Fossil does not works properly with such settings. 
  It returns an error: <b>unknown repository: 127.0.0.1:80</b> where 127.0.0.1 is actually the address of ntlmaps. I have tried all possible options: --proxy; setting the proxy from the fossil user interface, environment variables, etc.
  In the log of ntlmaps there is no any request from fossil. 
  It looks like fossil thinks 127.0.0.1 is the remote URL and tries to sync with it.

  <hr /><i>anonymous added on 2011-02-23 08:45:13 UTC:</i><br />
  I found the problem. The address of the proxy must begin with "http://" prefix.
  But IMHO, this fact must be thickly pointed in the documentation or/and FAQ.


tkt_uuid: 74cfdb438a246e462a9a860dff858aa0f773a508
type: Documentation
status: Fixed
severity: Important
foundin: 4f78571eb2
private_contact: 127204cd1ac207bde45a3475c9bf39db33e7d155
resolution: Fixed
title: `fs info FILENAME` appears to be broken
comment:
  Pretty easy to reproduce this one.

  <verbatim>% cd /tmp
  % mkdir bug-test
  % fs new fs-info-test.fossil
  % mkdir co
  % cd co
  % fs open ../fs-info-test.fossil 
  % echo bar > foo.txt
  % fs add foo.txt 
  ADDED  foo.txt
  % fs ci -m "Add a test file" foo.txt 
  New_Version: a152dde43c9bf3410205e98b7fee57555d92378a
  % fs info foo.txt 
  fossil: no such object: foo.txt

  Exit 1</verbatim>

  Getting in to feature request land that led to uncovering this bug.

  I was doing a vendor import of some code and started to apply a local patch to the new branch. I was hoping to be able to snag the contents of the patch from branch=trunk, but wasn't able to do so. While poking around to find an easy way to get the artifact-id from the command line, I stumbled across this bug not working.

  Ideally I'd like to be able to do something like:

  <verbatim>% fs finfo -p -r master some/path/foo.txt</verbatim>

  Without having looked at the code, it appears as though the arg to -r isn't performing a lookup of symbolic names.  Associating artifact-ids with filenames would be ideal.  Something like:

  <code>fs artifact some/path/foo.txt</code>

  And have it spit out a list of artifacts that match a given file, or "-r tip" and have it only spit out the artifact-ids of what's in tip.


tkt_uuid: d7866519465af9a74718fc42c44e6b31fbd8a879
type: Code_Defect
status: Closed
severity: Cosmetic
foundin: 4f78571eb2
private_contact: 84f59114b7eee7088fd7e2932599c69c9ad0761b
resolution: Works_As_Designed
title: wiki doesn't parse finfo links correctly
comment:
  If you try and create a wiki link to an finfo resource, you'll end up with an escaped URL.

  <verbatim>[finfo?name=some/path/foo.txt|some/path/foo.txt]</verbatim>

  will yield:

  <verbatim>/wiki?name=finfo%3Fname%3Dsome/path/foo.txt</verbatim>

  <hr /><i>drh added on 2011-02-24 16:53:23 UTC:</i><br />
  Put a "/" before the web method:

  <verbatim>
    [/finfo?name=some/path/foo.txt|whatever]
  </verbatim>


tkt_uuid: 7e5f093a231d88cbea06c81b073fd99786187d49
type: Feature_Request
status: Open
severity: Minor
foundin: Any
title: Automatically do "fossil open" after running "fossil new"
comment:
  Could I request "fossil new" do "fossil open" automatically as well? It seems running "open" after creating a new Fossil repo is created.

  It's probably useful to make a difference for cloning repos (since one might not necessarily want to place those files in the current directory), though. Thanks!


tkt_uuid: 831b932db4d1714780ad67d1e3abe353fffc8023
type: Feature_Request
status: Fixed
severity: Minor
foundin: babe3fb52a79603f781f077e0569584381132f8a
private_contact: 9789231ce371e5ff882a9f61a4c955c1d6f4cb63
resolution: Fixed
title: Fossil should support emitting ".tar.gz" output instead of (or in addition to) ".zip" output
comment:
  Fossil should support emitting ".tar.gz" output instead of (or in addition to) ".zip" output.

  <hr /><i>dmitry added on 2011-09-08 22:49:22 UTC:</i><br />
  Fixed by [d5d676f0c7].


tkt_uuid: 5f2f147f7efb71ae9778ab32aecbea99bec95958
type: Code_Defect
status: Closed
severity: Severe
foundin: 79b7902cdd
private_contact: 9789231ce371e5ff882a9f61a4c955c1d6f4cb63
resolution: Duplicate
title: Fossil forgets about executable bit when switching branches
comment:
  After a fresh checkout the executable bit is correctly recorded on files:<pre>
  $ ls -l unix/configure
  -rwxr-xr-x 1 rkeene users 581812 2011-02-26 22:37 unix/configure*
  $ fossil artifact 92caef797a838cf20af94cff7aea871580641c72 | grep unix/configure
  F unix/configure 35a077913fa8a27b6bdccf51ceb5999e3349f969 x
  $
  </pre>

  However, after updating to a tag that lacks the file, and then updating to a tag that includes it the executable bit is missing:
  <pre>
  $ fossil update core-8-0-2
  ...
  updated-to:   8ff5cdf418c32c02df18d1b756c3798fdc4de809 1998-04-29 17:09:47 UTC
  $ ls -l unix/configure
  ls: cannot access unix/configure: No such file or directory
  $ fossil update core-8-5-9
  ...
  updated-to:   7f1e1062ab6ea6810f9a764eab2702dde64680b3 2010-09-08 17:38:32 UTC
  $ ls -l unix/configure
  -rw-r--r-- 1 rkeene users 569172 2011-02-27 13:34 unix/configure
  $ fossil artifact 7f1e1062ab6ea6810f9a764eab2702dde64680b3 
  B 48191d397923759727b3231e19160d0d74bb722e
  ...
  $ fossil artifact 48191d397923759727b3231e19160d0d74bb722e | grep unix/configure
  F unix/configure 59a07ca641234778de582ca96b0296967f04ddf2 x
  </pre>

  <hr /><i>anonymous added on 2011-02-27 20:41:34 UTC:</i><br />
  Duplicate of [baf9b6b11e], closing.


tkt_uuid: c43d2d9477c2d59a7399201df600a43765a3a579
type: Code_Defect
status: Closed
severity: Critical
foundin: babe3fb52a
private_contact: 2f102b33d8f807336292e56ff47c6c59de4876c0
resolution: Fixed
title: segfault on attempted merge.
comment:
  attempting to merge an accidental branch results in segfault: backtrace (transcribed by hand):


  <pre>
  Program terminated with singal 11, Segmentation fault.
  #0 0x000000000042a058 in blob_merge (pPivot=0x7f7fffffdb50, pV1=ox7f7fffffda60, pV2=0x7f7fffffdb70, pOut=0x7f7fffffdb30) at ./bld/merge3_.c: 48
  #1 0x000000000042a210 in merge_3way (pPivot=0x7f7fffffdb50, zv1=0x7f7ff7b0ef80 "./path/to/file", pV2=0x7f7fffffdb70, pOut=0x7f7fffffdb30 at ./bld/merge3_.c: 398
  #2 0x00000000004295bb in merge_cmd () at ./bld/merge_.c:366
  #3 0x0000000000425e8f in main (argc=2, argv=0x7f7fffffdc70) at ./bld/main_.c:287
  </pre>

  size of file in merge attempt == 21472119 bytes.

  <hr /><i>bharder added on 2011-03-02 00:37:18 UTC:</i><br />
  Fixed per ci [e2122bd620]. Thx drh.


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: aa9a522e47d7aafd64cb7cbb120c536699811941
type: Feature_Request
status: Closed
severity: Cosmetic
resolution: Works_As_Designed
title: tif files have no preview
comment:
  see summary

  <hr /><i>anonymous added on 2011-03-06 16:06:58 UTC:</i><br />
  fossil doesn't include the tiff libraries as a dependency and with its current design it never will.


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: 77c58e1415e06fd3a34ca1456b2dcbf119560126
type: Code_Defect
status: Fixed
severity: Minor
foundin: ae89a7ce79
private_contact: ba07c6d5d3c5e044f8238154a7f39762cc1663cc
resolution: Fixed
title: fossil scrub --private fails when used from an open checkout
comment:
  When used from an open checkout, fossil scrub --private yields the following error:

  c:\Windows\System32\fossil.exe: SQLITE_ERROR: no such table: main.delta
  c:\Windows\System32\fossil.exe: no such table: main.delta
  CREATE INDEX IF NOT EXISTS delta_i1 ON delta(srcid);

  CREATE TABLE IF NOT EXISTS shun(uuid UNIQUE);

  CREATE TABLE IF NOT EXISTS private(rid INTEGER PRIMARY KEY);

  CREATE TABLE IF NOT EXISTS reportfmt(
     rn integer primary key,
     owner text,
     title text,
     cols text,
     sqlcode text
  );

  CREATE TABLE IF NOT EXISTS concealed(
    hash TEXT PRIMARY KEY,
    content TEXT
  );

  It does work when specifying the repository on the command line with the -R option though, so it's not critical.


tkt_uuid: 5f194e2c8f475ce9d5e8bde058c1e97d683f3ce5
type: Code_Defect
status: Fixed
severity: Important
foundin: ae89a7ce79
private_contact: ba07c6d5d3c5e044f8238154a7f39762cc1663cc
resolution: Fixed
title: fossil scrub --private sometimes remove private files that have been merged into public branches
comment:
  When:
    *  A file is added in a private branch
    *  This private branch is pushed to a remote server
    *  This branch is locally merged to a public branch
    *  The merge is pushed to the remote server

  A fossil scrub --private executed directly on the remote server will delete the content of the file.

  How to reproduce:
  <code>$ fossil new a.fossil

  $ fossil clone file://a.fossil b.fossil

  $ mkdir test

  $ cd test

  $ echo "abcd" >test.txt

  $ fossil add test.txt

  $ fossil commit -m"test" --private

  $ cd ..

  $ fossil sync -R a.fossil file://b.fossil --private

  $ cd test

  $ fossil checkout trunk

  $ fossil merge private

  $ fossil commit -m"test"

  $ cd..

  $ fossil sync -R a.fossil file://b.fossil --private

  $ fossil scrub b.fossil --private

  $ fossil ui b.fossil</code>

  Browse the files and observe that the content of test.txt is missing.

  I think that the problem is that when fossil receives a non-private manifest that points to a file that was previously private, it should mark that file's content as public and it doesn't.


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: 58290cd2975f5f2aaf2087d5fc0e9c291628033d
type: Code_Defect
status: Fixed
severity: Cosmetic
foundin: c7f07fe67d
resolution: Fixed
title: fossil stash produces a stash for unmodifed checkout
comment:
  In an unmodified checkout 'fossil stash' produces an noop stash
  whereas 'fossil stash save' doesn't produce a stash

  Also stash id simply keeps incrementing by one.  If you have four stashes with id's 1-4 and pop all of them to leave yourself with an emtpy stash stack you'd expect your next stash to have an id of 1 but instead its 5.


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: 91b3a6bfc1439f4cfda3c78e80bfb5e4bc7bd1d5
type: Code_Defect
status: Open
severity: Minor
foundin: c92ec16f81
private_contact: 84f59114b7eee7088fd7e2932599c69c9ad0761b
title: `fossil up VERSION filename` doesn't add the file to the current branch
comment:
  When merging files from different branches, fossil says it's adding a file but is only checking it out without adding it to the manifest. Test case:

  <verbatim>% fs branch list
    branch1
    branch2
  * trunk
  # The following version was for a checkin on branch1
  % fs up 9c21f3ec0f foo.txt
  Autosync:  http://user@127.0.0.1:9023/
                  Bytes      Cards  Artifacts     Deltas
  Sent:             130          1          0          0
  Received:         446          9          0          0
  Total network traffic: 340 bytes sent, 0 bytes received
  ADD foo.txt
  --------------
  updated-to:   9c21f3ec0ff598e7b24980e7c3fbe40556b2a5b1 2011-03-06 10:16:14 UTC
  tags:         branch1
  comment:      Create foo.txt on branch1 (user: user)
  "fossil undo" is available to undo changes to the working checkout.
  # Based on the above output, I would expect foo.txt to have been added to the repo
  % ll
  total 1
  -rw-r--r--  1 user  user    0 Mar 10 09:50 foo.txt
  % fs stat
  repository:   /usr/home/user/src/.fossils/test.fossil
  local-root:   /usr/home/user/src/test/
  server-code:  56efbf780dd31210ab1bd80be67ee2efc698440e
  checkout:     2f4775795dcc7eba912ebb7756e33f7d2b101427 2011-03-08 10:03:46 UTC
  parent:       f08368775537689a60c4b862c0896a33a23aa9dc 2011-03-08 09:56:13 UTC
  tags:         trunk
  comment:      Some checkin msg. (user: user)
  % fs add spammers.pftable 
  ADDED  foo.txt</verbatim>


tkt_uuid: b767f47cdefef120bc776e09ecbb75fda71a0f66
type: Code_Defect
status: Fixed
severity: Important
private_contact: 76518fb407f147a1d053c00b5b993281a339c0e3
resolution: Fixed
title: Tarball is missing the two zero filled records at the end
comment:
  According to Wikipedia:

  "The end of an archive is marked by at least two consecutive zero-filled records"

  The attached patch fixes this.

  -- tsbg

  <hr /><i>anonymous claiming to be mgagnon added on 2011-03-11 12:14:11 UTC:</i><br />
  I confirm, when extracting with BSD Tar (on OpenBSD) we get the following warning at the end:

  tar: End of archive volume 1 reached


tkt_uuid: d38c2c8795181cc3e197060917d59be830c67b1f
type: Code_Defect
status: Fixed
severity: Cosmetic
foundin: 2011.03.01.190432
private_contact: 6ba147a4218010d3c6ffddc5ed73dc017a44bf3c
resolution: Fixed
title: spelling corrections
comment:
  $ fossil diff

  <verbatim>
  Index: src/report.c
  ===================================================================
  --- src/report.c
  +++ src/report.c
  @@ -1121,11 +1121,11 @@
          "SELECT title, sqlcode, owner, cols FROM reportfmt WHERE title='%s'", zRep);
       }
       if( db_step(&q)!=SQLITE_ROW ){
         db_finalize(&q);
         rpt_list_reports();
  -      fossil_fatal("unkown report format(%s)!",zRep);
  +      fossil_fatal("unknown report format(%s)!",zRep);
       }
       zTitle = db_column_malloc(&q, 0);
       zSql = db_column_malloc(&q, 1);
       zOwner = db_column_malloc(&q, 2);
       zClrKey = db_column_malloc(&q, 3);

  Index: src/stash.c
  ===================================================================
  --- src/stash.c
  +++ src/stash.c
  @@ -333,11 +333,11 @@
   **     This command is undoable.
   **
   **  fossil stash apply ?STASHID?
   **
   **     Apply the identified stash to the current working check-out.
  -**     If no STASHID is specifed, use the most recent stash.  Unlike
  +**     If no STASHID is specified, use the most recent stash.  Unlike
   **     the "pop" command, the stash is retained so that it can be used
   **     again.  This command is undoable.
   **
   **  fossil stash goto ?STASHID?
   **

  Index: src/style.c
  ===================================================================
  --- src/style.c
  +++ src/style.c
  @@ -624,11 +624,11 @@
     { "span.ueditInheritAnonymous",
       "color for capabilities, inherited by anonymous",
       @   color: blue;
     },
     { "span.capability",
  -    "format for capabilites, mentioned on the user edit page",
  +    "format for capabilities, mentioned on the user edit page",
       @   font-weight: bold;
     },
     { "span.usertype",
       "format for different user types, mentioned on the user edit page",
       @   font-weight: bold;

  Index: src/tkt.c
  ===================================================================
  --- src/tkt.c
  +++ src/tkt.c
  @@ -852,11 +852,11 @@
   **           ?-q|--quote?
   **           ?-R|--repository FILE?
   **
   **         Run the ticket report, identified by the report format title
   **         used in the gui. The data is written as flat file on stdout,
  -**         using "," as separator. The seperator "," can be changed using
  +**         using "," as separator. The separator "," can be changed using
   **         the -l or --limit option.
   **         If TICKETFILTER is given on the commandline, the query is
   **         limited with a new WHERE-condition.
   **           example:  Report lists a column # with the uuid
   **                     TICKETFILTER may be [#]='uuuuuuuuu'
  </verbatim>


tkt_uuid: b277fe07a0b7eb4fdff4b2541147d43c1c972091
type: Code_Defect
status: Open
severity: Minor
foundin: c92ec16f81
private_contact: 84f59114b7eee7088fd7e2932599c69c9ad0761b
resolution: Open
title: Referencing a file with an absolute path inside of the repository doesn't work
comment:
  <verbatim>% fs di ~user/src/test/foo.txt
  fossil: file outside of checkout tree: /home/user/src/test/foo.txt
  Exit 1
  </verbatim>

  Super easy to reproduce. Pretty cosmetic, but it'd be nice to see fixed. When using deeply nested directories, this becomes a "nice to have." Using a relative path works:

  <verbatim>% fs di ../../../../../foo.txt
  # diff output</verbatim>

  <hr /><i>anonymous claiming to be mgagnon added on 2011-03-11 22:25:16 UTC:</i><br />
  Did your test was similar to this?

  <pre>
  $ pwd
  /home/mgagnon/fossil/fossil-scm/src/asd/fsad/fas/dfa/sdf/asdf/as/dfas/dfa/sdf/asdf/asd/fa/sdfa/sdf/asd/fas/df/asdf/asd/fas/df/asdf/d
  $ fossil di ~/fossil/fossil-scm/src/file.c
  --- /home/mgagnon/fossil/fossil-scm/src/file.c
  +++ /home/mgagnon/fossil/fossil-scm/src/file.c
  @@ -537,11 +537,11 @@
     }
   
     if( nFull<=n || memcmp(g.zLocalRoot, zFull, n) ){
       blob_reset(&full);
       if( errFatal ){
  -      fossil_fatal("file outside of checkout tree: %s", zOrigName);
  +      fossil_fatal("file outside of checkout tree: \"%s\", zLocalRoot: \"%s\", zFull: \"%s\"", zOrigName, g.zLocalRoot, zFull);
       }
       return 0;
     }
     blob_append(pOut, &zFull[n], nFull-n);
     return 1;
  </pre>

  It seems to work for me..

  <hr /><i>anonymous claiming to be seanc added on 2011-03-12 17:18:14 UTC:</i><br />
  Nope, most certainly broken. Here, try this:

  <verbatim>9:14 sean@somehost-98 % fs info
  project-name: <unnamed>
  repository:   /Users/sean/src/.fossils/fossil-test-repository
  local-root:   /private/tmp/fst/
  project-code: 70164ac6b1269749f782f3dfce03f9cae7fc0c64
  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:14 sean@somehost-98 % fs ls
  foo/bur/baz/file1.txt
  foo/bur/baz/file2.txt
  test.sh
  9:14 sean@somehost-98 % pwd
  /tmp/fst/foo/bur/baz
  9:14 sean@somehost-98 % echo asdf >> file1.txt 
  9:14 sean@somehost-98 % ll
  total 16
  -rw-r--r--  1 sean  wheel  11 Mar 12 09:14 file1.txt
  -rw-r--r--  1 sean  wheel   6 Mar 12 09:03 file2.txt
  9:14 sean@somehost-98 % fs di /tmp/fst/foo/bur/baz/file1.txt 
  fossil: file outside of checkout tree: /tmp/fst/foo/bur/baz/file1.txt
  Exit 1
  9:15 sean@somehost-98 % fs di file1.txt 
  --- file1.txt
  +++ file1.txt
  @@ -1,1 +1,2 @@
   test1
  +asdf
  </verbatim>

  <hr /><i>anonymous claiming to be mgagnon added on 2011-03-12 18:34:07 UTC:</i><br />
  ha, you Are on a Mac and your local dir. is /tmp.

  /tmp is a symlink to /private/tmp. Probably that's what cause the problem. This should be fixed on fossil I guess.. but if you try to specify /private/tmp/rest/of/path instead.. it should work..


tkt_uuid: cdfef046616e1ab47953f78dc2a139eab551784d
type: Feature_Request
status: Open
private_contact: e7d733707d8c126de4f080f5f958e762bfaa8983
title: Specify file or directory options on "fossil cgi" command line
comment:
  I'm trying to use Fossil's CGI mode, but with /index.cgi and other such artifacts of the hosting configuration removed from the URL. I currently have rewrites working in the server, and a shell script that munges the environment variables, but I'm having trouble bridging to "fossil cgi".

  In particular, because my shell script isn't the stock #!/usr/local/bin/fossil example, I can't pass the repository or directory options so it knows where to look for its data. An example in the cookbook writes a temporary compatible script containing the needed options and spawns an instance, but surely there has to be a better way.

  Can "fossil cgi" accept -r or -d options that correspond to the "repository:" or "directory:" values from the shell script, or perhaps use a single switch and intelligently set the right value? For instance:

  fossil cgi -r /home/fossil/myproject.fossil
  fossil cgi -d /home/fossil

  Or maybe something like:

  fossil -t /home/fossil/myproject.fossil
  fossil -t /home/fossil

  where "-t" means "target" and sets the correct option based on whether the target is a file or directory.


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: 40d9dbd3ade39488a6786cd4588c0915974a9961
type: Code_Defect
status: Open
severity: Minor
foundin: cdc4249268
private_contact: 84f59114b7eee7088fd7e2932599c69c9ad0761b
resolution: Open
title: ssh scheme incompatible with tcsh
comment:
  It looks like fossil is relying on some sh(1) or bash(1) specific semantic when it comes to syncing via ssh. Maybe using something like:

  <verbatim>/bin/sh -c 'exec /path/to/fossil'</verbatim>

  or threads?  Here's what's currently happening with tcsh:

  <verbatim>% fs remote-url 'ssh://usr@remote-host.example.com:4321/src/.fossils/proj.fossil?fossil=/usr/local/bin/fossil'
  password for usr: 
  ssh://usr:*@remote-url.example.com:4321/src/.fossils/proj.fossil?fossil=/usr/local/bin/fossil
  % fs pull
  Server:    ssh://usr@remote-host.example.com:4321/src/.fossils/proj.fossil?fossil=/usr/local/bin/fossil
  ssh -p 22 -t -e none -p 4321 usr@remote-url.example.com
  Pseudo-terminal will not be allocated because stdin is not a terminal.
  fossil: ssh connection failed: [Warning: no access to tty (Bad file descriptor).
  Thus no job control in this shell.]
  Killed by signal 2.
  Exit 1
  % fs set ssh-command 'ssh -p 4321 -T -e none'
  % fs pull
  Server:    ssh://usr@remote-host.example.com:4321/src/.fossils/proj.fossil?fossil=/usr/local/bin/fossil
  ssh -p 22 -T -e none -p 4321 usr@remote-url.example.com
  fossil: ssh connection failed: [Warning: no access to tty (Bad file descriptor).]
  Killed by signal 2.
  Exit 1
  % fs set ssh-command
  ssh-command          (local)  ssh -p 4321 -T -e none
  % fs sync
  Server:    ssh://remote-host.example.com/src/.fossils/project.fossil
  ssh -p 22 -T -e none -p 4321 remote-host.example.com
  fossil: ssh connection failed: [Warning: no access to tty (Bad file descriptor).
  Thus no job control in this shell.]
  Killed by signal 2.
  Exit 1</verbatim>

  Both client and server are running the same version of fossil.  When I change the shell to sh, I get the following output:

  <verbatim>% fs sync
  Server:    ssh://usr@remote-host.example.com:4321/src/.fossils/proj.fossil
  ssh -p 22 -T -e none -p 4321 remote-host.example.com
                  Bytes      Cards  Artifacts     Deltas
  Sent:            4005         85          0          0
  fossil: server says: 501 Not Implemented
  Total network traffic: 2341 bytes sent, 0 bytes received
  Closing SSH tunnel: Killed by signal 2.</verbatim>

  When I sync via http over an ssh tunnel, things work just fine:

  <verbatim>% fs remote-url http://usr@127.0.0.1:9099/
  password for usr:
  http://usr@127.0.0.1:9099/
  % fs sync
  Server:    http://usr@127.0.0.1:9099/
                  Bytes      Cards  Artifacts     Deltas
  Sent:            4005         85          0          0
  Received:        3820         83          0          0
  Total network traffic: 2368 bytes sent, 1275 bytes received</verbatim>

  <hr /><i>joerg added on 2011-03-25 01:44:09 UTC:</i><br />
  This is essentially a bug in tcsh. Consider running
  <verbatim>
  echo 'echo test' | tcsh -l > test.dmp 2>&1
  </verbatim>

  That should start a non-interactive shell, since neither stdin, stdout nor stderr is a tty. As a result, all start up scripts and the shell itself should be silent.
  tcsh doesn't do that and the output is confusing fossil. It works with sftp and scp since they use the subsystem mechanism from ssh and don't actually get a shell. The message about job control should be suppressed for the !isatty case too/


  <hr /><i>anonymous claiming to be seanc added on 2011-03-28 19:29:18 UTC:</i><br />
  I disagree that this is an external bug.

  fossil could/should execute the /bin/sh command as its command to execute on the remote side because fossil is requiring a particular shell, in this case, sh.

  Or, if that's not possible, have it fire off an 'exec bin/sh' as its first command upon establishing an ssh connection. Something like (one of the two options should work - dry coded, unfortunately):

  <verbatim>Index: src/http_transport.c
  ===================================================================
  --- src/http_transport.c
  +++ src/http_transport.c
  @@ -147,17 +147,23 @@
       }else{
         zHost = mprintf("%s", g.urlName);
       }
       blob_append(&zCmd, " ", 1);
       shell_escape(&zCmd, zHost);
  +    blob_append(&zCmd, " ", 1);
  +    shell_escape(&zCmd, "/bin/sh");
       printf(" %s\n", zHost);  /* Show the conclusion of the SSH command */
       free(zHost);
       popen2(blob_str(&zCmd), &sshIn, &sshOut, &sshPid);
       if( sshPid==0 ){
         fossil_fatal("cannot start ssh tunnel using [%b]", &zCmd);
       }
       blob_reset(&zCmd);
  +
  +    /* Start sh(1) */
  +    fprintf(sshOut, "exec /bin/sh\n");
  +    fflush(sshOut);
   
       /* Send an "echo" command to the other side to make sure that the
       ** connection is up and working.
       */
       fprintf(sshOut, "echo test\n");

  </verbatim>


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: 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: 7b55fd2958d8d4f7033ac3f6731157b3bc21be65
type: Incident
status: Open
severity: Minor
foundin: 1d93222627
private_contact: 79af641cb98a21e339ec709c11f451fabb9787c2
title: access_log problem after updating from older repository: SQLITE_ERROR: no such table: accesslog
comment:
  Preface: Updating from fossil version from (79b7902cdd) 2011-01-01 to (1d93222627) 2011-03-01 and issuing fossil all rebuild and restarting fossil.

  Problem: fossil complains in Admin / User-Log about a missing SQLITE table.
  <verbatim>SQLITE_ERROR: no such table: accesslog</verbatim>


tkt_uuid: 4a9072bcc0485462bf0f7b1f10cec4054058751d
type: Feature_Request
status: Fixed
severity: Important
private_contact: c8c316996d793b566c79354bb356261af9302e44
resolution: Fixed
title: fossil server /directory
comment:
  Hi,
  I'm using "fossil server /diretory" to handle multiple repos. It would be nice if fossil is also able to serve repos in sub-directories.
  /path/repo1.fossil
       /sub/repo2.fossil

  With "fossil server /path" I would then be able to access both repos using
  http://server:8080/repo1 and http://server:8080/sub/repo2

  Regards,
  daniel

  <hr /><i>joerg added on 2011-03-25 01:46:06 UTC:</i><br />
  Implemented in [d04fa1e143]


tkt_uuid: 9a8256d200a95589eb511fea5a24056bb0843579
type: Incident
status: Closed
severity: Important
foundin: 1d93222627]
private_contact: 039a24224b87bf3951b39fa6c5c3d18b206f0cda
resolution: Withdrawn
title: Clone of fossil repository is failing from windows executable
comment:
  I was doing some preliminary playing around with fossil to determine if it would be suitable for some projects I work on.  I am using a command prompt in Windows XP.  The first thing I tried was the clone suggested in the manual to get at the source for fossil.  But when I tried it, it repeatedly threw "clone aborted".

  Just to be sure, I tried all of the various servers, tried using -A anonymous, tried anonymous@www.fossil-scm..., tried adding a :8080 at the end, and none of these attempts allowed me to connect to the fossil servers.

  Here's an example of what I see in my command prompt:

  <verbatim>
  >fossil clone http://www.fossil-scm.org/ myclone.fossil
                  Bytes      Cards  Artifacts     Deltas
  Sent:              53          1          0          0
  H:\fossil\fossil.exe: cannot connect to host www.fossil-scm.org:80
  Total network traffic: 0 bytes sent, 0 bytes received
  H:\fossil\fossil.exe: server returned an error - clone aborted
  </verbatim>

  <hr /><i>anonymous added on 2011-03-16 18:55:54 UTC:</i><br />
  I discovered that the problem is a proxy server on my end.  I haven't figured out how to get around it, but at least I now know where the problem lies.


tkt_uuid: 4af785ba3cd957d9d259a41cb10f40f841f92719
type: Code_Defect
status: Fixed
severity: Cosmetic
foundin: cdc4249268
private_contact: e05c4b7600be973bfc338fbb2709b47357780bc8
resolution: Fixed
title: User specified with --user-override doesn't show up in commit msg
comment:
  <pre>
  $ whoami
  foo
  $ f commit --user-override bar
  # Enter comments on this check-in.  Lines beginning with # are ignored.
  # The check-in comment follows wiki formatting rules.
  #
  # user: foo
  # tags: trunk
  </pre>
  'bar' correctly shows up in timeline.  The only problem is cosmetic, shows up while editing the checkin message.

  <hr /><i>dmitry added on 2011-09-12 19:45:57 UTC:</i><br />
  Fixed in [7c82dbf546] .


tkt_uuid: adad418290de2b5f1c3aff6fb149e1268e8a635f
type: Code_Defect
status: Closed
severity: Important
foundin: 84e755e213
private_contact: 5d5ea52b4906e873c47375f6a28cc437961b0710
resolution: Rejected
title: missing file: fossil_server_P8080__inxxx.txt
comment:
  Hi,

  just installed fossil and playing with It.
  I'm spammed by these error messages:
       missing file: fossil_server_P8080__inxxx.txt

  by the way, It is impossible to commit files without create an empty fossil_server_P8080__in8.txt file, even with the --force flag.

  this file is deleted after the commit so, if I want to commit again, I need to recreate this file again.

  I'm on WinXP sp3 for information.

  <hr /><i>anonymous added on 2011-03-17 11:54:31 UTC:</i><br />
  oups, I think I've found the problem.
  It is my side :/ 

  I use winSCP to keep sync my tree between tw servers, the error messages comes from It ...

  really sorry for the sound.


tkt_uuid: eaf1c4fdbeeca8eb0dade325d8aa0746c948dc2e
type: Feature_Request
status: Open
severity: Minor
foundin: cdc4249268
private_contact: e05c4b7600be973bfc338fbb2709b47357780bc8
resolution: Open
title: Merge with --cherry-pick should be displayed on timeline
comment:
  I have two branches.  Let's call them trunk and prod_candidate.  I have a single fix that I want to pull from trunk into prod_candidate.  --cherrypick works great.  The only issue is that the merge not indicated in any way on the timeline graph, so there's no way to tell visually that a merge has been done.  A dotted or gray arrow to indicate a partial merge would be very helpful.

  <hr /><i>drh added on 2011-03-17 12:55:27 UTC:</i><br />
  Cherrypicks cannot be displayed because cherrypicks are not currently
  recorded anywhere. 

  I recently extended the file format to be able to record cherrypicks.
  But I cannot yet enable the code that actual uses that new part of the
  file format because older versions of Fossil would not be able to 
  interpret the newer repositories.  We need to wait a little while
  until everybody has updated to a newer version of Fossil that can 
  understand the enhanced format.  At that point, I can enable the code
  that records information about cherrypicks.  And then I can update the
  graph-drawing logic to display the cherrypicks.  This will all take time.


tkt_uuid: 82067d99225350060802d33f450b1c7539af58b9
type: Code_Defect
status: Closed
severity: Cosmetic
foundin: 1d93222627
private_contact: 620b50abb40c8bd86673a803ccbd0f35162f9714
resolution: Not_A_Bug
title: Partial logo when using CGI
comment:
  I only get a partial logo when using the CGI interface (just the tip of the nose). It works using the Fossil ui or server so I know the repository is not corrupted. To simplify troubleshooting, I requested just the logo.

  Using a new, empty repository, I captured the HTTP request/response packets:

  <b>GOOD LOGO</b> (using fossil server)<br/>
  http://myserver:8080/logo

  <b>REQUEST</b>:
  <pre>
  GET /logo HTTP/1.1
  Host: myserver:8080
  Connection: keep-alive
  Cache-Control: max-age=0
  Accept: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
  User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.224 Safari/534.10
  Accept-Encoding: gzip,deflate,sdch
  Accept-Language: en-US,en;q=0.8
  Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
  </pre>

  <b>RESPONSE</b>:
  <pre>
  HTTP/1.0 200 OK
  Date: Thu, 17 Mar 2011 17:50:20 GMT
  Connection: close
  Expires: Thu, 24 Mar 2011 17:50:20 GMT
  Content-Type: image/gif; charset=utf-8
  Content-Length: 866
  </pre>
  <pre>
  Version: GIF87a
  Screen width: 62
  Screen height: 71
  Global settings: (Global color table present) (7 bits per color) (5 bits per pixel)
  Background color index: 0
  Global color map: 5581955F889B638B9D6A90A27196A67498A87FA0AF8AA8B6...
  Image left position: 0
  Image top position: 0
  Image width: 62
  Image height: 71
  Local settings: (1 bit per color) (1 bit per pixel)
  LZW minimum code size: 5
  Data block (length = 255)
   0000   ff 60 64 8d 64 69 9e a8 25 29 84 c0 a4 70 2c cf
   0010   66 63 00 38 10 54 74 ef c7 8d 41 6e e8 f8 19 8d
   0020   c1 a1 52 71 6c ca 20 37 e5 d2 49 3d 29 a4 58 66
   0030   b5 0a 29 60 b3 5b 6a 23 f0 05 87 8f 89 f2 57 7b
   0040   f6 21 be 51 6c a3 ed c6 0e 1e 71 e9 83 4e 73 48
   0050   0b 73 57 65 13 7c 33 42 4a 08 13 10 43 64 4a 85
   0060   32 0f 65 87 38 0b 4a 06 8f 31 7e 6a 38 08 91 43
   0070   09 98 30 8b 9b 05 16 0d 4a 73 a1 29 93 65 0d 82
   0080   39 84 aa 28 a7 9b 00 5e 39 03 b2 30 b7 b5 39 a0
   0090   ba 28 13 8d bd 00 45 c0 28 10 c3 9b b9 c7 29 c9
   00a0   bd bf cd c1 bc 83 d2 31 af 58 d1 d6 26 13 03 0b
   00b0   13 6f 7f 3c db 27 37 cc 13 0b 06 64 05 0a e3 e4
   00c0   25 a3 00 ef 75 38 ee f3 31 c3 b1 f7 30 9e 38 fb
   00d0   32 d8 fe c5 38 80 6b 9e 02 7d ab 72 5c da f6 60
   00e0   42 03 04 32 86 b0 91 06 61 40 90 18 13 88 6c 5b
   00f0   b1 a0 00 c2 13 fd 00 d8 6b d6 e0 c0 81 05 10 53
  Data block (length = 255)
  Data block (length = 231)
  Data block (length = 0)
  Trailer (End of the GIF stream)
  </pre>

  <b>BAD LOGO</b> (using CGI):<br/>
  http://myserver/cgi-bin/Fossil.pl?repository=/Projects/Test/Test.fossil

  <p>
  Fossil.pl is a Perl script that takes the query string and creates a cookie that used for subsequent requests, creates the a Fossil.cgi file:
  </p>
  <pre>
     #!Fossil
     repository: \Projects\Test\Test.fossil
  </pre>
  <p>
  Next, it invokes Fossil, captures the output, logs it then sends it to stdout for the web browser.

  http://myserver/cgi-bin/Fossil.pl/logo  (uses cookie created above)
  </p>

  <b>REQUEST</b>:
  <pre>
  GET /cgi-bin/Fossil.pl/logo HTTP/1.1
  Host: vserver1
  Connection: keep-alive
  Cache-Control: max-age=0
  Accept: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
  User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.224 Safari/534.10
  Accept-Encoding: gzip,deflate,sdch
  Accept-Language: en-US,en;q=0.8
  Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
  Cookie: repository=\Projects\Test\Test.fossil
  </pre><pre>
  RESPONSE:
  HTTP/1.1 200 OK
  Content-Length: 866
  Content-Type: image/gif; charset=utf-8
  Expires: Thu, 24 Mar 2011 17:54:13 GMT
  Server: Microsoft-IIS/6.0
  Date: Thu, 17 Mar 2011 17:54:13 GMT
  </pre>
  <pre>
  Version: GIF87a
  Screen width: 62
  Screen height: 71
  Global settings: (Global color table present) (7 bits per color) (5 bits per pixel)
  LZW minimum code size: 5
  Data block (length = 255)
   0000   ff 60 64 8d 64 69 9e a8 25 29 84 c0 a4 70 2c cf
   0010   66 63 00 38 10 54 74 ef c7 8d 41 6e e8 f8 19 8d
   0020   c1 a1 52 71 6c ca 20 37 e5 d2 49 3d 29 a4 58 66
   0030   b5 <b>0d</b> 0a 29 60 b3 5b 6a 23 f0 05 87 8f 89 f2 57
   0040   7b f6 21 be 51 6c a3 ed c6 0e 1e 71 e9 83 4e 73
   0050   48 0b 73 57 65 13 7c 33 42 4a 08 13 10 43 64 4a
   0060   85 32 0f 65 87 38 0b 4a 06 8f 31 7e 6a 38 08 91
   0070   43 09 98 30 8b 9b 05 16 0d 4a 73 a1 29 93 65 0d
   0080   82 39 84 aa 28 a7 9b 00 5e 39 03 b2 30 b7 b5 39
   0090   a0 ba 28 13 8d bd 00 45 c0 28 10 c3 9b b9 c7 29
   00a0   c9 bd bf cd c1 bc 83 d2 31 af 58 d1 d6 26 13 03
   00b0   0b 13 6f 7f 3c db 27 37 cc 13 0b 06 64 05 <b>0d</b> 0a
   00c0   e3 e4 25 a3 00 ef 75 38 ee f3 31 c3 b1 f7 30 9e
   00d0   38 fb 32 d8 fe c5 38 80 6b 9e 02 7d ab 72 5c da
   00e0   f6 60 42 03 04 32 86 b0 91 06 61 40 90 18 13 88
   00f0   6c 5b b1 a0 00 c2 13 fd 00 d8 6b d6 e0 c0 81 05
  Data block (length = 16)
  Data block (length = 182)
  Data block (length = 65)
  Data block (length = 201)
  Data block (length = 10)
  Data block (length = 213
  [Malformed Packet: GIF image])
  </pre>
  <p>
  The <b>bold</b> data bytes exist in the bad image data but not in the good image data. 

  I only checked the first data block but my guess is that all the \n were converted into \r\n in the image data.
  </p>

  <hr /><i>anonymous added on 2011-04-01 21:00:30 UTC:</i><br />
  It was IIS!!!


tkt_uuid: ee97701f4c5a7db691baf1cf79bc9cc39fee56e0
type: Code_Defect
status: Fixed
severity: Minor
foundin: 9ca5bbf8a6
private_contact: 657fecc17bdc2306d28088355d2cfe0485c38cab
resolution: Fixed
title: "fossil add" broken for repos opened into "/"
comment:
  When a fossil repository has been opened from the root directory ("/"), the attempt to "fossil add" a file results in:
   
   fossil: file outside of checkout tree: <filename>

  Trying to add a whole subdir additionally prints out a SQL error message:
   
   fossil: SQLITE_BUSY: statement aborts at 2: [ROLLBACK] cannot rollback transaction - SQL statements in progress

  But once a file has been added (e.g. from a "mount -obind" of / to a subdir), it can be committed from / just fine.

  <hr /><i>anonymous added on 2011-05-03 15:40:34 UTC:</i><br />
  The issue likely comes from the use of 

    zPwdConv = mprintf("%/", zPwd);

  in db_must_be_within_tree()->db_open_local().

  This severely limits the usability of fossil for system configuration management. The mentioned workaround (mount -orebind) is only useful for Linux (FreeBSD's unionfs & nullfs do not allow such trickery with the root filesystem).


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: 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: 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: 4fe7de44f664077a5247a82059273b0acb91b13c
type: Feature_Request
status: Open
severity: Cosmetic
private_contact: 84f59114b7eee7088fd7e2932599c69c9ad0761b
title: Adding a mask for login cookie...
comment:
  I just read the checkin for [84e755e2139ca9cc2396c2cfa950f2ccffae1a61] and that seems rather lax to me. A /16 network is pretty big. A /24 would be more reasonable (much more standard for poorly configured firewalls to change IP addresses based on a /24), however most firewalls use a hash of internal_src_ip so the external_src_ip is always consistent. In either case, changing ipPrefix() to use a tunable for the mask would be the ideal.


tkt_uuid: e24ec32b1da5f8f5e4abe3b1eed6899f8be6f4cc
type: Code_Defect
status: Fixed
severity: Minor
foundin: 04ddad7ab8
resolution: Fixed
title: privateness not preserved
comment:
  When branching from a private branch via 
  "fossil branch new newBranchName current"
  the resultant branch is now visible.

  When doing the above this also pops up:
  "gpg: no default secret key: secret key not available
  gpg: out-770939853ADDB6FA703B: clearsign failed: secret key not available
  unable to sign manifest.  continue (y/N)? y"

  I've never touched the clearsign setting and as far as I know it defaults to off
  but just to make sure I turn it off locally and then globally and the clearsign prompt still pops up.

  Now when you do a branch from a private branch via:
  "fossil commit --branch stillPrivate -m 'some message'".
  privateness is preserved.

  Furthermore,  Dr. Hipp in an email response regarding converting private branches to public that you could do "DELETE FROM private" and then a fossil rebuild and all your private branches will be public.  I updated to versions of trunk from when he wrote the reply(Tue, 22 Feb 2011 03:37:18 -08) and this is indeed the case all private branches are then public.  Version 04ddad7ab8 doesn't display the same behaviour.  After the rebuild,  the private table is again populated with artifacts representing the manifests from the private branches.  Wondering if this unadvertised "dirty trick" just doesn't work anymore of if the rebuild process is doing something it shouldn't

  <hr /><i>anonymous added on 2011-03-23 20:15:49 UTC:</i><br />
  This patch seems to fix the problem with "fossil branch new" from a private checking not preserving said privateness.  Also fixes the problem with being prompted for a key even though the clearsign option is defaulted to off.

  Seems like the logic for cancelling propagating tags between checkin.c

      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

    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);

  is a bit different.  My sql is a bit rusty so i'm not sure if they accomplish the same things just in different manners.

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


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: d1ea61eecf935d6df7df8c70bc81736f3dc619e4
type: Feature_Request
status: Closed
severity: Minor
foundin: 84e755e213
private_contact: 97cbb53df18aa105825ffe84592a714675d7a090
resolution: Not_A_Bug
title: import does not support specifying a default user
comment:
  `fossil import` does not understand "-A USERNAME" command-line option anywhere in its arguments list when it creates a new repository from the data being imported.

  While it seems like just a minor inconvenience (it is), this also poses a problem for Windows users who happen to use Cyrillic login names as fossil does not seem to handle this case well and creates the default repo user whose username contains gibberish. As there's no way to expunge a once created user from the repo completely, there should be a way to specify such a user correctly at the repository creation phase.

  Hence I think it would be great if in the "create new repo" mode `fossil import` would behave more like `fossil new` in this regard.


tkt_uuid: a82652e2216d2cfefc9c4ee90aa31266dde7f5d4
type: Code_Defect
status: Open
severity: Critical
foundin: 4a2019ddd0
private_contact: 5997cbe2835ebb6f36685b0646aff444c56cd556
resolution: Open
title: `fossil annotate' is unusably slow
comment:
  I downloaded the NetBSD fossil repository at

  <http://ftp.NetBSD.org/pub/NetBSD/misc/repositories/fossil/src.fossil>,

  opened it with `fossil open ../src.fossil', chose a file at random, and
  tried to annotate it with `cd src/sys/dev/usb && fossil annotate
  uark.c'.  It took over an hour before `fossil annotate' began to write
  any output.

  Around forty minutes in, I ktraced the fossil process for a minute or
  so, which revealed that almost everything it was doing was pwrite.
  iostat reported that it was hammering the disk -- writing 20 megabytes
  per second.  (Nothing else on the machine was doing substantial disk
  I/O then.)

  After it completed, I started it up again with `fossil --sqltrace
  annotate uark.c', and all the output I have seen so far is of the form

  SELECT a.pid, b.mtime FROM plink a LEFT JOIN plink b ON b.cid=a.pid WHERE a.cid=N;
  INSERT OR IGNORE INTO ok VALUES(M);

  where N and M are positive integers that are nearby one another and
  both are decrementing but don't seem to be equal.

  <hr /><i>anonymous added on 2011-06-02 04:08:31 UTC:</i><br />
  I noticed that fossil prefers using /var/tmp over /tmp for temporary
  storage, in file.c and sqlite3.c.  This strikes me as strange: why
  would fossil (and sqlite3 in general) want its temporary storage to
  persist across reboots?

  Setting TMPDIR=/tmp made `fossil annotate' run tremendously faster for
  me, since my /tmp is a RAM-backed file system while my /var/tmp is a
  synchronous disk-backed file system on this machine -- the total time
  reduced from an hour to two and a half minutes.  Two and a half minutes
  is still pretty slow, though.

  While looking at this, I noticed that file_tempname in file.c does not
  appear to respect the TMPDIR environment variable at all.  Fortunately,
  this routine appears to be used only by `fossil diff' and only when an
  external diff program is configured.


tkt_uuid: 8b7d7d80f3574a949ba0c18eed2187de5df8962b
type: Code_Defect
status: Open
severity: Severe
foundin: 84e755e213
private_contact: d96c582a32f6f86479d94763a81705acaae38475
title: Can't open files by relative paths on Windows
comment:
  I can't open files using just the filename from the current directory. Output below:
  D:\Dropbox>fossil open test
  C:\WINDOWS\fossil.exe: SQLITE_ERROR: no such table: vvar
  C:\WINDOWS\fossil.exe: no such table: vvar
  REPLACE INTO vvar(name,value) VALUES('repository','D:/Dropbox/t

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

  D:\Dropbox>fossil open .\test
  C:\WINDOWS\fossil.exe: SQLITE_ERROR: table vvar already exists
  C:\WINDOWS\fossil.exe: table vvar already exists

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

  D:\Dropbox>fossil open D:\Dropbox\test
  C:\WINDOWS\fossil.exe: SQLITE_ERROR: table vvar already exists
  C:\WINDOWS\fossil.exe: table vvar already exists

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

  D:\Dropbox>cd ..

  D:\>fossil open Dropbox\test


tkt_uuid: 76c37652157d998a6ef026d9485b3135ac622b52
type: Feature_Request
status: Open
severity: Minor
foundin: ae84e6c7d1
private_contact: e33581e4165859602178a8051fc827bcbd3ca7a2
resolution: Open
title: There is no way to cleanly remove a user
comment:
  In admin -> users, I can see no way of removing a user.

  Obviously you can change the password for a user to deny them access.

  <hr /><i>anonymous added on 2011-04-07 03:10:44 UTC:</i><br />
  This is by design. Besides the fact that Fossil treats its artifacts as immutable, to keep the history of the commits requires that no user ID be reused for another person. (Though, of course, nothing truly preventing some one from giving their credentials to some one else.)


tkt_uuid: 66ce1088b63360e7bd4bbbebc3bb68e3331b5a47
type: Code_Defect
status: Fixed
severity: Minor
foundin: ae84e6c7d1
private_contact: e33581e4165859602178a8051fc827bcbd3ca7a2
resolution: Fixed
title: It is possible for the empty string to be a user id
comment:
  Admin -> users and click on a user to get to the  Edit User screen

  Delete the contents of the Login box and apply the changes.  Congratulations, you have now created a user with id consisting of the empty string.

  Try this again and you will get message to the effect that user "" already exists

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


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: 82cd90df7b2f2a176fa00468b3a740f82c97ded9
type: Code_Defect
status: Fixed
severity: Cosmetic
foundin: 51759d5248
private_contact: bdc990942928a0418f4d5406ebfe443f98cabed0
resolution: Fixed
title: fossil bisect segfault
comment:
  fossil bisect <no args>
  Segmentation fault (core dumped)

  strlen(NULL) is a bad idea, at least on OpenBSD and Solaris:-)

      - mho

  Index: src/bisect.c
  ===================================================================
  --- src/bisect.c
  +++ src/bisect.c
  @@ -88,10 +88,13 @@
   */
   void bisect_cmd(void){
     int n;
     const char *zCmd;
     db_must_be_within_tree();
  +  if (g.argc < 3) {
  +    usage("bad|good|next|reset|vlist ...");
  +  };
     zCmd = g.argv[2];
     n = strlen(zCmd);
     if( n==0 ) zCmd = "-";
     if( memcmp(zCmd, "bad", n)==0 ){
       int ridBad;


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: d8822cf402a7ea78511cbf23b3ed30805b000084
type: Code_Defect
status: Open
severity: Minor
foundin: 63ac111d5b
private_contact: ab5c04693d4ea3b3339a1e41947ceb8da8054625
title: global browser setting is ignored when not in open checkout
comment:
  'fossil ui' uses the global setting for web browser when in an open checkout, but not if the repository is specified on the command line.  In the latter case it always uses the built-in default of firefox.


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: 7d3ee4a517abb549e3c52cabd13937706833f448
type: Feature_Request
status: Open
severity: Cosmetic
private_contact: 622b22394a465a0dd73f4607a4e0adcff44febc2
title: Older button at end of timeline
comment:
  When viewing the timeline, it would be nice to have an "Older" button at the end of the page. This since you are typically scrolled down when you want to press it.


tkt_uuid: 7eab65a85880a10cc17e45c764acbc36bfa783a4
type: Code_Defect
status: Fixed
severity: Minor
foundin: bc427ad727
private_contact: fa971e47fbbff37de4fc4240a8837e8824ac0336
resolution: Fixed
title: crnl y/N/a unclear
comment:
  this is the first time i've gotten this prompt:

  <pre>
  C:/rev/src/trader/src/FactoryBase.cpp contains CR/NL line endings; commit anyhow (y/N/a)?a
  New_Version: 32177f91eafbe7f543d667b2cc25d3c7f225b19d
  </pre>

  i responded 'a' because i assumed it meant 'abort'.  'a' apparently means 'all'.  code inspection also reveals that 'n' would break the loop and not ask you about any more files.  so there is currently no way to say 'y' to some files and 'n' to others.  you have to commit all or none.  i propose that as a minimum, the prompt could be changed to (Yes/No/All) and perhaps be enhanced to (Yes/No/All/Cancel) and allow the user to hit 'n' for a subset of files and continue with committing other files and 'c' would cancel the process.

  <hr /><i>anonymous claiming to be Ingo Koch added on 2011-04-25 08:08:42 UTC:</i><br />
  I would consider this as a bug, not an incident. The behaviour is different from what the open command does for overwriting files. There an N skips only the file you're asked for and proceeds.

  With commit the N breaks the whole commit. A checkin with a CR/LF text file and a binary file commits none of them if N is answered for the text file.
  I also get an error message:

  D:/Daten/Projects/Privat/SharpFossil/Test/testdir/3.txt contains CR/NL line endings; commit anyhow (y/N/a)?
  N
  C:\Program Files (x86)\bin\fossil.exe: Abandoning commit due to CR+NL line endings in D:/Daten/Projects/Privat/SharpFossil/Test/testdir/3.txt
  C:\Program Files (x86)\bin\fossil.exe: SQLITE_BUSY: statement aborts at 2: [ROLLBACK] cannot rollback transaction - SQL statements
   in progress


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: 5927b038735a081b8490990fbff378178c6d7d20
type: Feature_Request
status: Closed
severity: Minor
foundin: bc427ad727
private_contact: e33581e4165859602178a8051fc827bcbd3ca7a2
resolution: Duplicate
title: Make timeline machine readable
comment:
  I would like timeline to produce output that is machine friendly to scripts
  that process it. 

  I am trying to automate the building process of my software and
  I would like to use tags of the form: RELEASE-1.6.10 which can be
  embedded in the program so that users get a nice human-friendly version 
  number.

  Timeline has the feature of showing all checkins that descend from current.
  The intention is to feed this into a script which cna detect if a RELEASE
  has already been used.

  The problem is that timeline sometimes splits a tag onto two lines.

  Here's an example:

  === 2011-04-10 ===
  20:44:26 [59a3f097fb] junk (user: davidevans tags: tiger-branch, RELEASE-
           1.6.10, jjjj)

  This makes life very difficult for script writers.

  Could we please have an option of timeline that produces machine-readable
  text ?

  example
  2011-04-10T20:46:20 [acdf123456] commit message (user: joe tags: RELEASE-1.6.99 tiger-branch )

  <hr /><i>anonymous added on 2011-04-11 10:45:51 UTC:</i><br />
  In my message, the posting software has gone and combined separate lines back into one.

  Believe me, fossil really does split RELEASE-1.6.10
  into

  RELEASE-

  and 

  1.6.10


tkt_uuid: f5672eff7e99045d6b732f38141ecdf4d69699a5
type: Feature_Request
status: Open
severity: Minor
foundin: 8caf7e1691
private_contact: 277de4eda861e8a6d011b60d4006a963a4c7c474
title: a « patch » command
comment:
  A “fossil patch” command could be of some use for many users in my opinion.

  The basic idea is: do whatever <tt>fossil merge --cherrypick</tt> does, but following multiple descendents at a time.

  The syntax would be:

    *  fossil patch --from A --to B ==> same as “fossil diff --from A --to B | patch -p0”
    *  fossil patch --to B ==> same as “fossil merge --cherrypick B”

  Of course it would honor merge_cmd and other settings!


tkt_uuid: a2e8c4cb92e55792390d384e9105ab8d7e2eafcd
type: Feature_Request
status: Open
severity: Minor
foundin: e5609b76cb
private_contact: e33581e4165859602178a8051fc827bcbd3ca7a2
resolution: Open
title: When creating tickets there should be an indication of what HTML tags can be used
comment:
  The subject says it all.

  The &lt;pre&gt; tag seems to work. 

  A list of allowable tags would be useful when posting tickets.

  Maybe Wiki formatting is allowed as well.  I do not know.

  <hr /><i>anonymous added on 2011-04-14 02:14:41 UTC:</i><br />
  This could be acomplished by editing the New Ticket page to include a link to Fossil's wiki_rules page.


tkt_uuid: dd5bb1fc73ec6ee821736c40851b0e6a7c7f049f
type: Code_Defect
status: Fixed
severity: Severe
foundin: 2011-04-13 12:05:18 (047e06193b65c535d845d10f6e64d8c467ef7524)
resolution: Fixed
title: Checking auto-sync instead of auto-shun
comment:
  In src/sync.c in the process_sync_args function, the following code:

    <tt>if( db_get_boolean("auto-sync",1) ) configSync = CONFIGSET_SHUN;</tt>

  should be testing "auto-shun" instead like so:

    <tt>if( db_get_boolean("auto-shun",1) ) configSync = CONFIGSET_SHUN;</tt>


tkt_uuid: c46b0f7bb7241a02a7165f108206f866e0f3f7b3
type: Feature_Request
status: Open
severity: Severe
foundin: 2011-04-13 12:05:18
title: Support HTTP Basic Auth for sync operations
comment:
  HTTP Basic Auth needs to be supported for sync operations in order to be compatible with any kind of user validation done by the web server hosting fossil.

  A patch was provided (6 lines of code) by mightyhe on Sun, 27 Mar 2011 07:45:06 -0700 and may be accessed at:

    <a href="http://www.mail-archive.com/fossil-users@lists.fossil-scm.org/msg04219.html">http://www.mail-archive.com/fossil-users@lists.fossil-scm.org/msg04219.html</a>

  and for convenience is included here (NOTE: a fix for an incorrect line terminator on the Proxy-Authorization header is also mixed in with this patch):
  <verbatim>
  Index: src/http.c
  ===================================================================
  --- src/http.c
  +++ src/http.c
  @@ -105,11 +105,19 @@
     }else{
       zSep = "/";
     }
     blob_appendf(pHdr, "POST %s%sxfer/xfer HTTP/1.0\r\n", g.urlPath, zSep);
     if( g.urlProxyAuth ){
  -    blob_appendf(pHdr, "Proxy-Authorization: %s\n", g.urlProxyAuth);
  +    blob_appendf(pHdr, "Proxy-Authorization: %s\r\n", g.urlProxyAuth);
  +  }
  +  // Basic HTTP Authorization
  +  if( g.urlUser && g.urlUser[0] && g.urlPasswd ){
  +      char *zpw = mprintf("%s:%s", g.urlUser, g.urlPasswd);
  +      char *zpw64 = encode64(zpw, strlen(zpw));
  +      free(zpw);
  +      blob_appendf(pHdr, "Authorization: Basic %s\r\n", zpw64);
  +      free(zpw64);
     }
     blob_appendf(pHdr, "Host: %s\r\n", g.urlHostname);
     blob_appendf(pHdr, "User-Agent: Fossil/" MANIFEST_VERSION "\r\n");
     if( g.fHttpTrace ){
       blob_appendf(pHdr, "Content-Type: application/x-fossil-debug\r\n");
  </verbatim>


tkt_uuid: b519c1a375c1060e3fd25edf6bad022c2608db9a
type: Code_Defect
status: Fixed
severity: Minor
foundin: 047e06193b
private_contact: 7dbf398b8524d19867c9afaa7207ea0a602e4458
resolution: Fixed
title: Fossil does not ask about modified files when opening repo
comment:
  <verbatim>C:\>mkdir foo && cd foo

  C:\foo>fossil new foo.fossil -A user && fossil open foo.fossil
  project-id: 5c85d18244ac61ce53663aaf9564ba425778ab05
  server-id:  7bf3921ae4405e639e511472090335b9b74518a2
  admin-user: user (initial password is "5e9829")

  C:\foo>echo 1 > foo.txt

  C:\foo>fossil add foo.txt
  ADDED  foo.txt

  C:\foo>fossil ci -m "1"
  New_Version: bb7214199269a72bc45a44a02d8e7c4969540687

  C:\foo>echo 2 > foo.txt

  C:\foo>fossil close -f

  C:\foo>fossil open foo.fossil
  foo.txt
  project-name: <unnamed>
  repository:   C:/foo/foo.fossil
  local-root:   C:/foo/
  user-home:    C:/Documents and Settings/user/Application Data
  project-code: 5c85d18244ac61ce53663aaf9564ba425778ab05
  server-code:  7bf3921ae4405e639e511472090335b9b74518a2
  checkout:     bb7214199269a72bc45a44a02d8e7c4969540687 2011-04-14 15:24:21 UTC
  parent:       700370b105b7705eddc4444ac10e7ade904fd9d1 2011-04-14 15:23:58 UTC
  child:        609b955cbbb03e0826167ef193b3c36d69c71646 2011-04-14 15:24:38 UTC
  tags:         trunk
  comment:      1 (user: user)

  C:\foo>type foo.txt
  1

  C:\foo>fossil ver
  This is fossil version [047e06193b] 2011-04-13 12:05:18 UTC
  </verbatim>

  I know that there's a --keep option. But is there a setting which would force a fossil to always ask when overwriting my files? (I have a fossil repository on a flash drive, a drive letter is different on different machines so I need to close a repository on my machine before using it on other machine).


tkt_uuid: cadc9aa78f754439d14325655756cafebeddc3e4
type: Feature_Request
status: Closed
severity: Critical
foundin: 047e06193b
private_contact: 5ec68f6383f77210eaf40f20a0618ad57a7f4ee8
resolution: Fixed
title: convert comment between utf8 and big5 on windows
comment:
  I'm a Taiwanese. I use linux,windows.  On linux, the default coding locale is zh_TW.utf-8.  It works well for fossil. But on windows, the default command line code page is 'cp950'(big5).  So, if I write comment, I must call my comment editor 'notepad2' to force write out utf8 comment. The utf8 comment display well on 'fossil ui' web page.  But, on cmd console which windows provide, it can only display big5.

  So, I suggest on windows, fossil should convert code page when display comment and check-in comment.  

  I think this issue should also happen on check Chinese file name.

  <hr /><i>anonymous added on 2011-04-17 23:45:18 UTC:</i><br />
  use the void WINAPI SetFileApisTo[OEM|ANSI](void); when using commandline under windows
  http://msdn.microsoft.com/en-us/library/aa365534%28v=VS.85%29.aspx
  But as usual with windows it is much more complicated! The above page is confusing! using ansi,oem and utf and I don't know if utf equals ansi

  A simple solution is to set the EDITOR variable or fossil editor setting to use notepad2 or to the editor you use for your programming and don't use the -m option when committing 

  <hr /><i>anonymous claiming to be BM added on 2011-04-18 09:17:04 UTC:</i><br />
  You can use <tt>chcp 65001</tt> in your console before you use fossil, and use a Unicode fixed-size font like Consolas, which will display your comments properly.

  <hr /><i>anonymous added on 2011-04-18 13:50:15 UTC:</i><br />
  I've tried chcp 65001 and choose font solution.
  But, it will causes three problems.

    #  Ugly output. It often display a part of Chinese sentences.
    #  Can not input Chinese on code page 65001.
    #  Can not run batch file on code page 65001.

  I've try to found solution from git/mercurial check in log, but failed.
  I guess, the solution may hidden on tortoiseSvn, tortoiseHG or tortoiseGit.

  <hr /><i>anonymous claiming to be dlin added on 2011-04-18 13:55:04 UTC:</i><br />
  I forgot to mention.  Even chcp to 65001, fossil can NOT handle Chinese file name.  I can not add/remove Chinese file name.  Especially, if the Chinese BIG5 code contains '\', the fossil will treat the Chinese char as a '?'. And then it can not found the correct file. 

  <hr /><i>anonymous claiming to be dlin added on 2011-04-24 13:49:08 UTC:</i><br />
  This problem maybe could use the same method which may solve [490b6c2edd]

  <hr /><i>jan.nijtmans added on 2012-10-22 07:52:58 UTC:</i><br />
  Proposed solution can be found in branch "use-utf8-in-win-external-editor"


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: e613f452fada00a99055c29e84e9685aa5254a04
type: Code_Defect
status: Fixed
foundin: [1d93222627] 2011-03-01
resolution: Fixed
title: On 'Edit checkin', checking Start a new Branch named... can be nameless
comment:
  In the 'Edit' page of the checkin ui page, checking "Make this check-in the start of a new branch named" without typing any name will create a void-name branch, and a void-name tag.


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: 40a7d777a46548727f3988ca26bbd824f1730813
type: Code_Defect
status: Fixed
severity: Important
foundin: cea065c7f2
private_contact: 0104dabff6057f27042b765f556ea05cb3727a5c
resolution: Fixed
title: fossil up doesn't recover deleted file (fossil up -v does....)
comment:
  if I delete one file from repository and I do a <b>fossil up</b> to recover it, it doesn't work (nothing happens). But <b>fossil up -v</b> recover the deleted file as expected... 

  Seems that <b>"-v"</b> does more than adding verbosity...

  <hr /><i>anonymous claiming to be Martin added on 2011-04-18 16:29:10 UTC:</i><br />
  Correction: When I say "Delete one file from repository", I mean Delete the file locally from file system..

  <hr /><i>drh added on 2011-04-18 18:25:49 UTC:</i><br />
  The problem with the -v switch has been fixed.

  For restoring a deleted file, you want the "revert" command, not "update".

  <hr /><i>anonymous added on 2011-04-18 19:38:59 UTC:</i><br />
  Ok.. now -v does the same as without it.. but may be a bit too much, we got identical outpout now. Before, we got bunch of <b>UNCHANGED: </b>" lines for every file in the repository with "-v". The new version doesn't show that anymore. Was it intentional ?

  Anyway, the <b>UNCHANGED</b>: lines was not very usefull for me.. But having the <b>MISSING:</b> and <b>EDITED:</b> lines with -v would be usefull (without the UNCHANGED ones)


tkt_uuid: a7e83b956a7b6b8116bc4b39ace7fa2f3b9f070b
type: Code_Defect
status: Closed
foundin: [cea065c7f2] 2011-04-18
resolution: Unable_To_Reproduce
title: I see the graph only partially
comment:
  I was looking at the '200 entries' 'only checkins' of the current fossil-scm.org timeline, and the graph stops earlier than the end of the page.

  <hr /><i>drh added on 2011-04-19 18:49:32 UTC:</i><br />
  I tried this on Firefox, Chrome, Safari, Opera, and IE.  Works fine on all browsers as far as I can see.

  <hr /><i>viriketo added on 2011-04-19 19:36:14 UTC:</i><br />
  Really?

  Have you really checked that '200 entries' and 'checkins only' are both enabled?

  I'm using firefox 3.6.15 on linux here.

  <hr /><i>viriketo added on 2011-04-20 07:36:06 UTC:</i><br />
  On firefox 3.6.16 I don't see it anymore.


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: dcd241ab527801bbcff91656ba79056fc537c10e
type: Code_Defect
status: Open
foundin: [047e06193b] 2011-04-13
title: 'fossil update' forgets about removed files in the checkout
comment:
  I had removed a file. Then issued a "fossil update", and the file was not in the list of files to be deleted on commit anymore.

  I've had a session like this:
  <verbatim>
  $ fossil rm MERGE.txt 
  DELETED  MERGE.txt
  $ fossil commit
  ...
  fossil: would fork.  "update" first or use -f or --force.
  $ fossil update
  ...
  $ fossil commit
  fossil: nothing has changed
  </verbatim>

  So I have to issue the <kbd>fossil rm MERGE.txt</kbd> again. The MERGE.txt file has not been touched in any commit other than this I planned to do.


tkt_uuid: b587c4fac3bf006f9f879c3cce437bbd7acabb85
type: Code_Defect
status: Closed
foundin: [047e06193b] 2011-04-13
resolution: Duplicate
title: 'fossil ui' does not login as admin in the release 20110413
comment:
  In the release 20110301 it worked fine. I have not tested the release 20110316.

  I've even rebuilt my repositories with the old 20110301, then run 'fossil ui', and it worked just fine. With the 20110314, no admin login. Regardless of the 'localauth' setting.

  <hr /><i>viriketo added on 2011-04-21 15:12:22 UTC:</i><br />
  I just tried the [085b6a1bbb] 2011-04-19 version, and it works. So I hope the next release will work.


tkt_uuid: 9b8333b29826deba9ddd6d3e4c6b26fc70e06e68
type: Code_Defect
status: Fixed
foundin: [047e06193b] 2011-04-13
resolution: Fixed
title: Cannot pull the up to date 'ticket' configuration
comment:
  In one computer, I cannot pull the up to date 'ticket' configuration from a central repository. It gets non-up-to-date 'ticket' configuration (ignoring all the changes I've done today, specifically). I've tried a fossil rebuild and then pulling again. When I run that first 'ticket pull', it had not run a 'fossil pull' since months. Can this affect anything?

  In another computer (same kind of linux x86_64, same version of fossil) I could pull that just fine. I'm using the same user for pulling in both computers, so that also should not be the difference.

  I think that '-httptrace' does not work on 'configuration ticket pull'. How should I debug what happens?

  Thank you,
  Lluís.

  <hr /><i>viriketo added on 2011-04-21 15:37:42 UTC:</i><br />
  I wanted to make clear that fossil gives no complain. It acts as if all the ticket configuration was pulled properly.

  <hr /><i>drh added on 2011-04-21 19:37:18 UTC:</i><br />
  The syntax is:

      fossil configuration pull ticket



  <hr /><i>viriketo added on 2011-04-21 19:56:24 UTC:</i><br />
  Sorry, that is what I meant I wrote.

  I just got a 2nd computer with the same trouble:
  <verbatim>
  $ fossil configuration pull ticket
                  Bytes      Cards  Artifacts     Deltas
  Sent:             336         11          0          0
  Received:       16284          6          0          0
  Total network traffic: 378 bytes sent, 2526 bytes received
  </verbatim>

  I check both the ticket part of the ui, and exporting the ticket configuration, and both are outdated. They don't have the last changes on the server: I had changed some ticket reports on the server.

  Maybe updates to ticket reports do not travel through configuration pull/push?

  <hr /><i>viriketo added on 2011-04-21 20:17:43 UTC:</i><br />
  Ok, reading a bit the code helped.

  On 'configuration pull', in xfer.c it sets <kbd>configure_prepare_to_receive(0);</kbd> (no replace).

  So, after knowing this, I remove the ticket report and then pull, to get it updated. And it works.

  Maybe the <kbd>fossil help configuration</kbd> should mention that 'pull' acts like 'merge', and not like 'import'.

  Thank you,
  Lluís.

  <hr /><i>anonymous added on 2011-04-23 00:17:46 UTC:</i><br />
  Have not yet encountered this behavior, because, so far, we've had no need to update any of the reports, since we worked through the various changes before general deployment.

  I assume this behavior is meant to preserve local changes?

  I think that when local changes have not been made, pull should bring in updates to the ticket configuration, including reports.

  <hr /><i>viriketo added on 2011-04-26 05:38:01 UTC:</i><br />
  As for me, I can't complain on the current behaviour, other than the documentation should specify that 'pull' acts as 'merge', and not as 'import'.

  The current implementation has some advantages in terms of simplicity of code. If someone wants to make it more complex, still with a clear comfortable behaviour, fine for me too.

  <hr /><i>drh added on 2011-04-27 12:17:35 UTC:</i><br />
  Check-in [1654456ef5aa8d38c809414a5345bd7f7e76d3c7] adds an "mtime" column
  to the table that holds report formats so that a "configuration sync"
  operation will always take the most recently edited report format from
  the two repositories being synced.  This should fix the problem described
  here.

  Note, however, that a 
  [/event/a1f9f17b603022c2b032bc3 | irreversible schema change]
  occurs when upgrading to the new version.  And you need to upgrade all
  participating repositories before the fix will take effect.

  Note also that when upgrading the "mtime" field is initialized to the
  time of the upgrade.  So after upgrading two repos A and B, the first
  time you do a configuration sync, the one that was updated second will
  have the most recent mtime values on all entries and hence its report
  formats will always dominate over the report formats in the other 
  repository.  So be careful that you do not overwrite report formats
  (or other configuration information such as user passwords and capabilities)
  that you care about.  Upgrade the definitive repository last.


tkt_uuid: e854101c4ffd83aba2c1d96e6b68a340eabeea6a
type: Code_Defect
status: Closed
severity: Important
foundin: 085b6a1bbb
private_contact: ab5c04693d4ea3b3339a1e41947ceb8da8054625
resolution: Fixed
title: http_proxy does not work with https
comment:
  The http proxy support does not with with https proxies using CONNECT.  It does not even give a useful error about it.


tkt_uuid: 5ff2043c966820498ce41c0dd425b4b2155fa025
type: Code_Defect
status: Fixed
severity: Important
foundin: 2011-04-19 20:30:31 085b6a1bbb
private_contact: ae1a74676bb0d1ac520802109f926567b1637ac7
resolution: Fixed
title: Invalid xhtml markup generated (with patch)
comment:
  While most of the generated fossil output is valid xhtml, there are still several places that aren't.

  These include not using &amp; instead of a plain & when generating URLs in href attributes, using &lt;br> and &lt;hr> instead of &lt;br /> and &lt;hr />, using &amp;nbsp; instead of &amp;#160; and finally the occasional &lt;img> instead of &lt;img />.

  The attached patch corrects these issues so that fossil can return valid application/xhtml+xml content.

  <hr /><i>dmitry added on 2011-09-08 23:11:38 UTC:</i><br />
  Please note that pages generated by Fossil has HTML5 doctype. HTML5 allows unclosed single tags such as &lt;br&gt;.

  <hr /><i>jan.nijtmans added on 2012-11-06 09:05:14 UTC:</i><br />
  Most of this patch just changes &amp;nbsp; to &amp;#160; which is just the same in html (not in xhmtl). The main part of the remaining has to do with the link
  generation using the function style_submenu_element(): This function should generate links with all &amp;'s escaped as &amp;amp;'s, but it doesn't.
  <p>
  Wouldn't it be better to modify style_submenu_element() such that it escapes all &amp;'s to &amp;amp;? Then those (minor) html5 violations are fixed all at once.

  <hr /><i>jan.nijtmans added on 2012-11-08 09:51:47 UTC:</i><br />
  Suggested fix committed to branch "ticket-5ff2043c96".

  I put many pages, such as "timeline" to the validator.w3.org, and
  it reduced dramatically the number of errors. The current "timeline"
  page dropped from 85 to only 4 errors. That's better than
  changing many &amp;'s to &amp;amp;'s in the source code, as this
  patch does. Changing only the href() and style_submenu_element()
  functions has much more effect.

  <hr /><i>jan.nijtmans added on 2012-11-08 10:31:49 UTC:</i><br />
  <pre>Note that xhtml errors can result in real bugs. For
  example have a look at the report list:
          [http://www.fossil-scm.org/fossil/reportlist]
  When logged in, this page contains links &#91;copy&#93; after each
  report. This link works fine on Firefox, but it doesn't work
  on Internet Explorer, and this time IE is not to blame ;-)

  The suggested patch makes the &#91;copy&#93; link on
  the reportlist page work on both Firefox and Internet Explorer.

  The reason is that the link has the form:
       http://www.fossil-scm.org/fossil/rptedit?rn=1&amp;copy=1
  But Internet Explorer interprets that as:
       http://www.fossil-scm.org/fossil/rptedit?rn=1©=1
  as &amp;copy is short for the copyright sign (the ';'
  is not mandatory in html5).

  See: [http://www.w3.org/TR/html5/named-character-references.html#named-character-references],
  and note that a "copy" named character reference exists without a final ';'.
  </pre>


tkt_uuid: 9fbc3fad8a30180effa7b55fc496e28987c6d98f
type: Code_Defect
status: Open
severity: Important
foundin: 2011-04-19 20:30:31 085b6a1bbb
private_contact: ae1a74676bb0d1ac520802109f926567b1637ac7
title: Fossil should deliver application/xhtml+xml when appropriate (with patch)
comment:
  Fossil currently always delivers web page content as text/html to the browser.

  Following the guidelines in <a href="http://www.w3.org/TR/xhtml-media-types/">http://www.w3.org/TR/xhtml-media-types/</a> the attached patch delivers the application/xhtml+xml content type instead when appropriate.

  This will allow the use of the <nowiki>&lt;![CDATA[ ... anything not escaped ... ]]></nowiki> construct in future fossil output which should facilitate embedding arbitrary command output into the returned web pages (such as for rebuild and sync when used from the web ui).

  NOTE: The patch attached to ticket [5ff2043c96] should also be applied or else invalid xhtml can be sent to the browser.


tkt_uuid: 8e5a24b49fcf5bc1c62f62b95c20a7c0458d6183
type: Code_Defect
status: Closed
severity: Important
foundin: 2011-04-19 20:30:31 085b6a1bbb
private_contact: ae1a74676bb0d1ac520802109f926567b1637ac7
resolution: Rejected
title: Comments are not properly escaped when displayed through the Web UI
comment:
  View the manifest at <a href="http://www.fossil-scm.org/index.html/artifact/7fca007538fea65f">http://www.fossil-scm.org/index.html/artifact/7fca007538fea65f</a>

  Notice the entity "&amp;egrave;" towards the end of the comment.

  Now view the checkin at <a href="http://www.fossil-scm.org/index.html/info/7fca007538">http://www.fossil-scm.org/index.html/info/7fca007538</a>

  Notice how the "&amp;egrave;" entity was not escaped and actually shows as a real grave accent (&#96;) instead of displaying literally.

  What happens if something like "&amp;what-kind-of-entity-is-this;" or "&amp;#2345234252342352342523423423425234;" should appear in a comment?

  Might trigger a browser crash or security hole.

  Comments should be displayed verbatim without any interpretation to prevent this potential problem.

  <hr /><i>drh added on 2011-04-22 11:36:53 UTC:</i><br />
  By design, commit comments are wiki text, which means HTML is allowed 
  within commit comments
  and is displayed as such.  This allows hyperlinks and rich formatting to be
  used within comments - a feature that we have made full use of over the past
  3.75 years.  It is not something we care to disable.

  Thanks for the suggestion, though.


tkt_uuid: 2cfd96b2ba71370fdaf3dd60d068f6987b1999d2
type: Feature_Request
status: Closed
severity: Important
foundin: 047e06193b
private_contact: f9dfc6dbcfe1f4499e7151278fe2f4ba55af9606
resolution: Fixed
title: Improve ignore-glob
comment:
  When working with multiple 3rdparty libraries and generated files the <code>ignore-glob</code> entry gets unwieldy. For instance my current:
  <blockquote><code>*~,*.org,*/tags,*/types_c.vim,*.dep,*.dll,*.exe,*.exp,*.idb,*.ilk,*.lib,*.manifest,*.ncb,*.o,*.obj,*.pdb,*.res,*.suo,*.user,*/Debug/*,*/Release/*,*/Win32_LIB_Debug/*,*/Win32_LIB_Release/*,*/debug/*,*/obj/*,*/release/*,*/BuildLog.htm,src/3rdparty/lua/work/*,src/3rdparty/ogre3d.org-out/*,src/3rdparty/MyGUI/MyGUI-src/Docs/Doxyfile,src/3rdparty/MyGUI/MyGUI-src/Docs/html/*</code></blockquote>
  While this is manageable with a decent text editor (<small><code>s/,/<c-v><cr>/g</code></small>), an expanded format would be very welcome.

  I propose little more than changing the setting page's <code>ignore-glob</code> input ctrl to a multi-line input ctrl, and accepting a pattern per line in addition to the comma separated list that is current.

  Further enhancement could include comments. (I found such rather handy when using Mercurial)

  Thank you for Fossil (=


tkt_uuid: 490b6c2eddccbc6a1cfa03cd4d1ecfd544b7e655
type: Code_Defect
status: Fixed
priority: Immediate
severity: Critical
foundin: all
private_contact: 1dca2ffc06084af8439f92609c6fb022126d94ed
resolution: Fixed
title: Chinese windows file name require convert from mbcs to utf8
comment:
  The problem is it require convert from mbcs file name into utf8 before added to sqlite db. It may use the same function which sqlite process the filename.

  Here is the log 

    *  Case 1:  It added to fossil repository, but can not display correct file name by 'fossil ui'.

  <verbatim>
  C:\tmp\s>echo. > 中文檔名.txt
  C:\tmp\s>fossil extra
  中文檔名.txt

  C:\tmp\s>fossil add .
  c:\bin\fossil.exe: cannot add _FOSSIL_
  c:\bin\fossil.exe: cannot add _FOSSIL_-journal
  ADDED  中文檔名.txt
  </verbatim>

    *  Case 2:  If Chinese file name contains '\', It can not added to fossil repository.

  <verbatim>
  C:\tmp\t>echo. > 許檔名.txt

  C:\tmp\t>dir
   磁碟區 C 中的磁碟沒有標籤。
   磁碟區序號:  2CA2-66A2

   C:\tmp\t 的目錄

  2011/04/24  下午 09:29    <DIR>          .
  2011/04/24  下午 09:29    <DIR>          ..
  2011/04/24  下午 09:29             7,168 _FOSSIL_
  2011/04/24  下午 09:29                 3 中文檔名.txt
  2011/04/24  下午 09:29                 3 許檔名.txt
                 3 個檔案           7,174 位元組
                 2 個目錄   2,522,914,816 位元組可用

  C:\tmp\t>fossil add .
  c:\bin\fossil.exe: cannot add _FOSSIL_
  c:\bin\fossil.exe: cannot add _FOSSIL_-journal
  ADDED  中文檔名.txt
  ADDED  ?檔名.txt

  C:\tmp\t>fossil ci
  C:\tmp\t>fossil ci

  # Enter comments on this check-in.  Lines beginning with # are ignored.
  # The check-in comment follows wiki formatting rules.
  #
  # user: dlin
  # tags: trunk
  #
  # ADDED      ?檔名.txt
  #
  # Since no default text editor is set using EDITOR or VISUAL
  # environment variables or the "fossil set editor" command,
  # and because no check-in comment was specified using the "-m"
  # or "-M" command-line options, you will need to enter the
  # check-in comment below.  Type "." on a line by itself when
  # you are done:
  insert special filename with \
  .
  c:\bin\fossil.exe: cannot open C:/tmp/t/?檔名.txt for reading
  c:\bin\fossil.exe: SQLITE_BUSY: statement aborts at 2: [ROLLBACK] cannot rollbac
  k transaction - SQL statements in progress
  </verbatim>

  <hr /><i>anonymous claiming to be dlin added on 2011-04-24 13:45:48 UTC:</i><br />
  I've tried to add sqlite3_win32_mbcs_to_utf8 code before add_one_file().
  But I'm stupid, it can not work by my direty patch.

  But, the result seems have some effect.

  <verbatim>
  C:\tmp\t>d:\fossil add .
  ADDED  閮望???txt

  C:\tmp\t>d:\fossil ci
  d:\fossil.exe: missing file: 閮望???txt
  d:\fossil.exe: aborting due to prior errors
  </verbatim>

  <hr /><i>jan.nijtmans added on 2012-10-22 07:54:24 UTC:</i><br />
  This should be fixed in (upcoming) version 1.24


tkt_uuid: a659e233cd79a0d4ecfe4d382c942ca0a59f32ed
type: Code_Defect
status: Fixed
severity: Important
foundin: 8ae917362c6
private_contact: e33581e4165859602178a8051fc827bcbd3ca7a2
resolution: Fixed
title: FreeBSD patch please apply tnx
comment:
  Please bear a thought for those of us with older compilers.  I submit an attached patch to make Fossil compile on FreeBSD 5.0   Yes, I know it's old.


tkt_uuid: 7e0e4755c6d0b4e7ebea28617eac25eb17a50bcc
type: Incident
status: Open
severity: Severe
foundin: 047e06193b
private_contact: 7dbf398b8524d19867c9afaa7207ea0a602e4458
title: Problem with mv and merge
comment:
  Not sure if this should go here or in the mail-list, but I've encountered the following
  problem:

  <verbatim>C:\test>fossil new test.fossil && fossil open test.fossil
  project-id: 0ee562040ef8d3f09796012b3a2695a6f6be535f
  server-id:  f2268a01c5c2ca258f893483398f677e26d12743
  admin-user: User (initial password is "62d5e3")

  C:\test>echo A>foo.txt && fossil add foo.txt
  ADDED  foo.txt

  C:\test>fossil ci -m "Added foo.txt"
  New_Version: 77476f7b51d992410a2e5c29bbecd3407d642fc5

  C:\test>echo B>foo.txt

  C:\test>fossil ci -m "Branching off the trunk" --private
  New_Version: b3311a70dbc8c5584373300f6a64e60d57e63c32

  C:\test>echo C>foo.txt && fossil ci -m "Working"
  New_Version: 43453f074f5f874d1dd65f494282f99972864404

  C:\test>move foo.txt bar.txt && fossil mv foo.txt bar.txt
  RENAME foo.txt bar.txt

  C:\test>fossil ci -m "Renaming"
  New_Version: e079ebf753cb630acfab51c272ef5a915a63d1bd

  C:\test>echo D>foo.txt && fossil add foo.txt
  ADDED  foo.txt

  C:\test>fossil ci -m "Adding (new) foo.txt"
  New_Version: 99c5b0ffa3f88a38bea6d0f7323669122c3e0c54

  C:\test>fossil co trunk
  foo.txt

  C:\test>fossil merge private
  UPDATE foo.txt
  RENAME foo.txt -> bar.txt
  "fossil undo" is available to undo changes to the working checkout.

  C:\test>fossil ci -m "Private changes"
  New_Version: acf09654a00da5ee5633ce90d32d27332b95668e

  C:\test>fossil ls
  bar.txt
  </verbatim>

  then foo.txt was restored from an extrenal source (same version as in private brunch) because I had no time to check what was happened; and
  now I cannot merge at all:</em>

  <verbatim>
  C:\test>fossil ci -m "Added back foo.txt"
  New_Version: 310e7a6762e0e1df88f5b9e21d560ce77e6c2d83

  C:\test>fossil co private
  bar.txt
  foo.txt

  C:\test>echo E>foo.txt && fossil ci -m "WIP"
  New_Version: f7edf6d1669aa61b88630bd10a657099d25cd2e3

  C:\test>fossil co trunk
  bar.txt
  foo.txt

  C:\test>fossil merge -n private
  MERGE bar.txt
  MERGE foo.txt
  ***** 1 merge conflicts in foo.txt
  RENAME foo.txt -> bar.txt
  C:\WINDOWS\system32\fossil.exe: SQLITE_CONSTRAINT: abort at 37 in [UPDATE vfile SET pathname='bar.tx
  t', origname=coalesce(origname,pathname) WHERE id=8 AND vid=12]: columns pathname, vid are not uniqu
  e
  C:\WINDOWS\system32\fossil.exe: columns pathname, vid are not unique
  UPDATE vfile SET pathname='bar.txt', origname=coalesce(origname,pathname) WHERE id=8 AND vid=12

  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:\WINDOWS\system32\fossil.exe: SQLITE_BUSY: statement aborts at 2: [ROLLBACK] cannot rollback trans
  action - SQL statements in progress
  </verbatim>

  Was it my fault or is it a bug? <strong>What should I do now</strong> to continue working with this repository?


tkt_uuid: b49849a350d040bc8c6d8aeb43d03ae95e9c87c9
type: Feature_Request
status: Fixed
severity: Important
foundin: e17fc71319
private_contact: d65c8f42ef81f14ced10171bf205f9a35ce6dff4
resolution: Fixed
title: `fossil clean` needs awareness of --nested checkouts
comment:
  Since `fossil open --nested` has been added to support
  nested checkouts from multiple repositories, the search
  performed by `fossil clean` for unmanaged files should be
  updated to skip the nested checkout directories and not
  attempt to remove the files of the nested checkout.


tkt_uuid: a21625c5072e39b881bb22708b033e3a1d0a5f43
type: Documentation
status: Fixed
severity: Important
foundin: 1654456ef5
private_contact: 2f102b33d8f807336292e56ff47c6c59de4876c0
resolution: Fixed
title: Summarize new config-sync changes in one place, explain pros/cons.
comment:
  Hi drh.

  Would you summarize what the new config-sync changes really mean? Your note re: irreversible schema changes make it sound a bit ominous.

  -bch

  <hr /><i>drh added on 2011-04-27 12:04:27 UTC:</i><br />
  See [/event/a1f9f17b603022]


tkt_uuid: 4108dfd6b717f1516b7a2dfb856257afc3012d65
type: Code_Defect
status: Fixed
severity: Minor
foundin: [989fc1f2b6] 2011-04-27 16:07:15 UTC
resolution: Fixed
title: Sqlite error on latest Fossil build
comment:
  I'm getting the following error after rebuilding two repos (one of them being a clone of Fossil) and when running "fossil ui" on these rebuilt files:

  <verbatim>
  D:\ARNEL\projs
  $ fossil rebuild fsl.fsl
    100.0% complete...
  D:\ARNEL\sw\tools\cli\fossil.exe: SQLITE_IOERR: os_win.c:32109: (158) unlockReadLock(D:\ARNEL\projs\fsl.fsl) - The segment is already unlocked.
  D:\ARNEL\sw\tools\cli\fossil.exe: SQLITE_IOERR: os_win.c:32109: (158) unlockReadLock() - The segment is already unlocked.

  D:\ARNEL\projs
  $ fossil ver
  This is fossil version [989fc1f2b6] 2011-04-27 16:07:15 UTC</verbatim>

  <hr /><i>anonymous added on 2011-04-27 19:01:41 UTC:</i><br />
  This appears to happen only on the Fossil version mentioned above. Going a step back to "[e3efeb6f29] 2011-04-27 14:36:45 UTC" produces no errors when rebuilding any repo.


tkt_uuid: cc52573686df73c71c4a5b2396033612df47c238
type: Feature_Request
status: Open
foundin: [047e06193b]
resolution: Fixed
title: Add an 'annotate' in the Artifact web page
comment:
  I'd find it very comfortable to have an Annotate link there.

  When I want an annotate of a file, I use to go to Files, click the file, and the Artifact shows up. I'd like here an Annotate link. 

  Until now, I've to click the File path, then find the branch I'm working on (we have many branches), and I get the annotated version. I find these last steps annoying.

  Thank you,
  Lluís.

  <hr /><i>viriketo added on 2011-05-05 20:38:13 UTC:</i><br />
  Done in [030a048697]. Great!

  <hr /><i>viriketo added on 2011-06-15 14:16:31 UTC:</i><br />
  I see that the [Annotate] appears for every "piece" of the artifact.

  I meant a single [Annotate] button for the page of the artifact, although that page cannot be related to a single checkin, as the artifact can be of many checkins.

  Maybe, an [Annotate] can be for every "piece" artifact, but those "pieces" be ordered by time. Is it easy to achieve?

  Moreover, I don't like those "pieces" shown without any newline between them; I consider them very hard to read.


tkt_uuid: a9b07eebe1e3fae28bb2c1888dde03b693e40ada
type: Feature_Request
status: Fixed
foundin: [1654456ef5] 2011-04-27
resolution: Fixed
title: Have the artifact sources in an HTML list
comment:
  I find the current artifact sources paragraph hard to read, as every involved checkin comes separated by a hyphen only.

  Wouldn't an HTML list be more comfortable for reading? I don't think having all the information compact in a single paragraph helps much.

  Thank you.

  <hr /><i>dmitry added on 2011-09-08 23:16:01 UTC:</i><br />
  Fixed by [49402fc722].


tkt_uuid: 72c7d223d525852bcedb21ff1d4cc7f05608de82
type: Documentation
status: Fixed
severity: Minor
foundin: [047e06193b]
private_contact: 7be07bc80105bf630696b8453a1f46a9df23453d
resolution: Fixed
title: CGI Server 'directory' mode requires ".fossil" extension on repositories
comment:
  I was trying to setup a cgi-bin server for some projects I want to share. I have a cgi command named 'fossil'

  <pre>#! /path/to/fossil
  directory: /path/to/repsitories</pre>

  I created a test repository "fossil new test" in the repository folder, and then tried to go to my.domain/fossil/test, and no go. Renaming the test repository to test.fossil made the same url work. This seems to contradict:[http://fossil-scm.org/index.html/doc/trunk/www/server.wiki]

  <hr /><i>drh added on 2011-05-02 14:38:17 UTC:</i><br />
  Documentation is wrong.  Repository names must end in ".fossil" when
  serving multiple repositories from the same CGI.


tkt_uuid: 55fa8c23e301823f93edc530b2cac77ad8259d10
type: Feature_Request
status: Open
severity: Minor
foundin: [047e06193b] 2011-04-13
resolution: Open
title: Broken propagate colour to descendants, if there is a new colour in the middle
comment:
  I have a branch in a specific colour, with its first checkin having the color set and the 'propagate to descendants' enabled.. Then I change one of the checkin colours of the middle to a specific colour, and all next checkins get 'color none'.

  I'd expect that the original color set to propagate is what goes to the next checkins of the branch.

  In fossil-scm, there is some approach like that in trunk for the releases, but making such coloured 'released' checkins from a coloured non-trunk would not work that easy, in the current fossil version.

  <hr /><i>drh added on 2011-05-02 14:39:14 UTC:</i><br />
  This is the way it is designed to work.

  Retagging this ticket as a low-priority feature request.


tkt_uuid: d299fb9842d6bc6500fc7f3065b02863d4262ded
type: Feature_Request
status: Fixed
severity: Minor
foundin: ae84e6c7d1
private_contact: d65c8f42ef81f14ced10171bf205f9a35ce6dff4
resolution: Fixed
title: failed `fossil open` - delete _FOSSIL_
comment:
  dgp	Sometimes I mistype a tag name durin `fossil open`:
  dgp	fossil open /path/to/tcl.fr core-8-5-brunch
  dgp	It fails, gives me a good message.
  dgp	So I try again, taking care to type it right, and it fails because I can't `fossil open` into a directory where there's already been a `fossil open` -- even though it failed.
  dgp	My simple minded fix would be to delete the _FOSSIL_ file when a `fossil open` fails, but dunno what implications that has.

  <hr /><i>anonymous claiming to be Arnel added on 2011-04-30 13:00:28 UTC:</i><br />
  Deleting _FOSSIL_ is similar to what "fossil close" does, so in your case it should not have any harmful effects whatsoever.


tkt_uuid: 7326efdc56644af3ea859e98b822c169e69c9092
type: Code_Defect
status: Closed
foundin: [047e06193b] 2011-04-13
resolution: Duplicate
title: Misleading summary of merge troubles at the end of merge
comment:
  After doing a branch merge, I noticed the output has been:
  <verbatim>
  $ fossil merge trunk
  WARNING - no common ancestor: drivers/a.cpp
  WARNING - no common ancestor: drivers/b.cpp
  WARNING - no common ancestor: drivers/c.cpp
  WARNING - no common ancestor: drivers/d.cpp
  WARNING - no common ancestor: drivers/e.cpp
  WARNING - no common ancestor: drivers/f.cpp
  WARNING - no common ancestor: drivers/g.cpp
  WARNING - no common ancestor: drivers/h.cpp
  ADDED cmake/FindXXX.cmake
  ....
  many ADDED/UPDATE
  "fossil undo" is available to undo changes to the working checkout.
  fos
  $
  </verbatim>

  I thought that on merge troubles, 'fossil merge' was giving a warning about the troubles at the end of the merge, but in this case it did not.

  Shouldn't it give a warning, as when there are other conflicts?

  Thank you.


tkt_uuid: 9bf1f9d502f6a5e409c2fb7e3df9a7ce67b8b3c7
type: Code_Defect
status: Open
foundin: [047e06193b] 2011-04-13
resolution: Open
title: Misleading summary of merge troubles at the end of merge
comment:
  After doing a branch merge, I noticed the output has been:
  <verbatim>
  $ fossil merge trunk
  WARNING - no common ancestor: drivers/a.cpp
  WARNING - no common ancestor: drivers/b.cpp
  WARNING - no common ancestor: drivers/c.cpp
  WARNING - no common ancestor: drivers/d.cpp
  WARNING - no common ancestor: drivers/e.cpp
  WARNING - no common ancestor: drivers/f.cpp
  WARNING - no common ancestor: drivers/g.cpp
  WARNING - no common ancestor: drivers/h.cpp
  ADDED cmake/FindXXX.cmake
  ....
  many ADDED/UPDATE
  "fossil undo" is available to undo changes to the working checkout.
  fos
  $
  </verbatim>

  I thought that on merge troubles, 'fossil merge' was giving a warning about the troubles at the end of the merge, but in this case it did not.

  Shouldn't it give a warning, as when there are other conflicts?

  Thank you.

  <hr /><i>viriketo added on 2011-05-02 08:38:55 UTC:</i><br />
  And as a question apart, how could I set the common ancestor for the files? I can make the *equal* at some point, but I can't think of a way of making them come from a common ancestor.


tkt_uuid: 8d916f5fc30be34eb232cd9aca97ecc92769e8b4
type: Code_Defect
status: Fixed
severity: Severe
foundin: eea6449098
private_contact: 24b67375dd2ec6c7381a5ad34cfcf006f0b9c260
resolution: Fixed
title: Issues with branch windows-i18n
comment:
  <pre>
  Pull command fails on Czech XP windows.
  c:\soft\bin>ver
  Microsoft Windows XP [Verze 5.1.2600]
  (Czech version of XP with SP3) 
  Command window use configuration with current code page 852:
  c:\soft\bin>MODE CON
  Stav zařízení CON:
  ------------------
      Řádků:                      300
      Sloupců:                    80
      Rychlost opakování:         31
      Prodleva před opakováním:   1
      Znaková stránka:            852
  c:\soft\bin>fossil.exe ver
  This is fossil version [eea6449098] 2011-05-02 13:31:01 UTC

  Pulling data from canonical fossil repository fails with following messages (Czech part of OS messages is displayed also incorrectly - wrong console codepage):
  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.
  --
  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.

  If I chage code page to Eastern Europe 1250
  c:\soft\bin>MODE CON CP SELECT=1250
  Stav zařízení CON:
  ------------------
      Řádků:                      300
      Sloupců:                    80
      Rychlost opakování:         31
      Prodleva před opakováním:   1
      Znaková stránka:            1250

  The messages after attempt to pull data from fossil repository indicate the same error, only Czech parts on display are now correct:
  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\ron\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.

  Issue with problematic path to _fossil file is discussed also in [http://www.fossil-scm.org/fossil/wiki?name=Windows+XP] 
  </pre>

  <hr /><i>anonymous added on 2011-05-03 19:48:17 UTC:</i><br />
  fossil from latest windows-i18n branch still suffers with troubles on non English windows systems.
   
  <pre>
  c:\soft\bin>fossil ver
  This is fossil version [48f5dadafd] 2011-05-03 18:32:00 UTC

  c:\soft\bin>fossil.exe pull http://www.fossil-scm.org/ -R myfossilclone_canonical.fossil
  c:\soft\bin\fossil.exe: invalid home directory: C:\Documents and Settings\user\Data aplikac
  (again, there is í missing, correct path should read "C:\Documents and Settings\user\Data aplikací")

  c:\soft\bin>fossil init test.fossil
  c:\soft\bin\fossil.exe: invalid home directory: C:\Documents and Settings\user\Data aplikac
  </pre>

  <hr /><i>anonymous added on 2011-05-03 21:55:38 UTC:</i><br />
  <pre>
  c:\soft\bin>fossil ver
  This is fossil version [b7df0b9ce6] 2011-05-03 20:25:03 UTC
  c:\soft\bin>fossil.exe pull http://www.fossil-scm.org/ -R myfossilclone_canonical.fossil
                  Bytes      Cards  Artifacts     Deltas
  Sent:             177          2          0          0
  Received:        1412         31          0          0
  Total network traffic: 291 bytes sent, 908 bytes received

  Pull from canonical repository is working. Thanks.

  It is possible to create new repository:
  c:\soft\bin>fossil init test.fossil
  project-id: 1077e040e493ef0a887a53c16df935bfe9fd8edb
  server-id:  c01f4ddc57b5d22f0f7684e7f9382902433ea912
  admin-user: user (initial password is "eb5efc")

  Now, I can open it and check on its status
  c:\soft\bin>fossil open test.fossil
  c:\soft\bin>fossil status
  repository:   c:/soft/bin/test.fossil
  local-root:   c:/soft/bin/
  server-code:  c01f4ddc57b5d22f0f7684e7f9382902433ea912
  checkout:     20f3504f47010db5c249061bb3604f85a293716d 2011-05-03 21:37:24 UTC
  tags:         trunk
  comment:      initial empty check-in (user: user)

  If I try to add file with a name containing letters with diacritics "test_šťěk.txt" in my case
  c:\soft\bin>dir test*.txt
  03.05.2011  23:40                39 test_šťěk.txt
                 1 souborů,             39 bajtů

  It fails, because it try to open file under mungled name               
  c:\soft\bin>fossil add .\test_šťěk.txt
  c:\soft\bin\fossil.exe: cannot open c:/soft/bin/test_ÜŁýk.txt

  </pre>

  <hr /><i>anonymous added on 2011-05-04 18:04:28 UTC:</i><br />
  <pre>
  It seems that data into repository go OK (as seen in browser), 
  just display on command line is mungled. In fact in two different 
  flavors. Also status command might be showing  EDITED even file 
  was not edited after commit was made.
  Please see details below.

  c:\soft\bin>fossil ver
  This is fossil version [503a0ef555] 2011-05-04 11:16:53 UTC

  In command window using codepage 852:
  c:\soft\bin>MODE CON
  Stav zařízení CON:
  ------------------
      Řádků:                      300
      Sloupců:                    80
      Rychlost opakování:         31
      Prodleva před opakováním:   1
      Znaková stránka:            852

  I can add file with name containing diacritics, ADDED message shows name mungled

  c:\soft\bin>fossil add .\test_šťěk.txt
  ADDED  test_ÜŁýk.txt

  stat command show name mungled but now it is a different one
  c:\soft\bin>fossil stat
  repository:   c:/soft/bin/test.fossil
  local-root:   c:/soft/bin/
  server-code:  c01f4ddc57b5d22f0f7684e7f9382902433ea912
  checkout:     20f3504f47010db5c249061bb3604f85a293716d 2011-05-03 21:37:24 UTC
  tags:         trunk
  comment:      initial empty check-in (user: user)
  ADDED      test_+í+ą¦Ťk.txt

  I can check in file with a note containing diacritical message

  c:\soft\bin>fossil ci -m "added file .\test_šťěk.txt"
  New_Version: edcc37190a355d6f099e88b5de44c1720f03766e

  ls shows name again mungled
  c:\soft\bin>fossil ls
  test_ÜŁýk.txt

  stat shows message EDITED, even file was not changed since  commit, name is mungled
  c:\soft\bin>fossil stat
  repository:   c:/soft/bin/test.fossil
  local-root:   c:/soft/bin/
  server-code:  c01f4ddc57b5d22f0f7684e7f9382902433ea912
  checkout:     edcc37190a355d6f099e88b5de44c1720f03766e 2011-05-04 17:27:07 UTC
  parent:       20f3504f47010db5c249061bb3604f85a293716d 2011-05-03 21:37:24 UTC
  tags:         trunk
  comment:      added file .\test_ÜŁýk.txt (user: user)
  EDITED     test_+í+ą¦Ťk.txt

  info command shows incorectly user-home path and comment
  c:\soft\bin>fossil info
  project-name: <unnamed>
  repository:   c:/soft/bin/test.fossil
  local-root:   c:/soft/bin/
  user-home:    C:/Documents and Settings/user/Data aplikacÝ
  project-code: 1077e040e493ef0a887a53c16df935bfe9fd8edb
  server-code:  c01f4ddc57b5d22f0f7684e7f9382902433ea912
  checkout:     edcc37190a355d6f099e88b5de44c1720f03766e 2011-05-04 17:27:07 UTC
  parent:       20f3504f47010db5c249061bb3604f85a293716d 2011-05-03 21:37:24 UTC
  tags:         trunk
  comment:      added file .\test_ÜŁýk.txt (user: user)

  Displayed commit message in Timeline as seen in browser(firefox 3.6.12)  looks OK  
  [edcc37190a] Leaf: added file .\test_šťěk.txt (user: user, tags: trunk) 

  content of the file in browser is correct:
  Artifact 8a24e0763f7eadac5cea150bf1942bb2b4855356

      File test_šťěk.txt part of check-in [edcc37190a] - added file .\test_šťěk.txt by user on 2011-05-04 17:27:07. [annotate] 

      name of this file means bark in English

  Repository Statistics page
  Repository Size:	56320 bytes
  Number Of Artifacts:	3 (stored as 3 full text and 0 delta blobs)
  Uncompressed Artifact Size:	147 bytes average, 240 bytes max, 443 bytes total
  Compression Ratio:	0:10
  Number Of Check-ins:	1
  Number Of Files:	1
  Number Of Wiki Pages:	0
  Number Of Tickets:	0
  Duration Of Project:	1 days or approximately 0.00 years
  Project ID:	1077e040e493ef0a887a53c16df935bfe9fd8edb
  Server ID:	c01f4ddc57b5d22f0f7684e7f9382902433ea912
  Fossil Version:	2011-05-04 11:16:53 [503a0ef555] (mingw32)
  SQLite Version:	2011-04-27 19:54:44 [f55156c519] (3.7.6.1)
  Database Stats:	55 pages, 1024 bytes/page, 0 free pages, UTF-8, delete mode 

  </pre>

  <hr /><i>anonymous added on 2011-05-04 18:56:55 UTC:</i><br />
  <b>Here my observations:</b>
  (using version: [503a0ef555])

  On cmd.exe, I type: chcp 65001 and I use lucida console font instead of the default Rasters font to be able to use utf-8 on console. in that mode, fossil status will print filename correctly on the console. But not the fossil add command: since it print on screen before the conversion to utf-8. (I believe).


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: 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: 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: f0f9aff371f26b4eebb1ded3cabc70c956c6cae7
type: Code_Defect
status: Closed
severity: Important
foundin: [047e06193b] 2011-04-13
resolution: Fixed
title: 'annotate' misses changes.
comment:
  I've a branch where I'm interested on the source of this line of code, at point
  2011-04-28:
  <verbatim>
  const bool debugErrorToFile = true;
  </verbatim>

  Looking at annotate, I see:
  <verbatim>
  ad13e86e1e 2010-09-28  llbatlle:     const bool debugErrorToFile = true;
  </verbatim>

  I don't trust it.. and I find a commit in the same branch, on 2011-04-08, that
  introduced the change. So, annotate was not showing it.

  I write a commit today (2011-05-05), setting back the debugErrorToFile to
  false. Then I test annotate again, expecting to see the very recent commit. But
  I get:
  <verbatim>
  8c918ba0e2 2010-10-25  llbatlle:     const bool debugErrorToFile = false;
  </verbatim>

  So, annotate is getting confused somehow. I can completely reproduce it, but I
  cannot give the repository as it contains private files.

  <hr /><i>viriketo added on 2011-05-05 15:16:35 UTC:</i><br />
  Just testing the most recent commit in this repository: [74c86dd1da6]

  Notice that the diff says:
  <verbatim>
  +  if( showClosed ){
  +    db_prepare(&q,
  +      "SELECT value FROM tagxref"
  +      " WHERE tagid=%d AND value NOT NULL "
  +      "EXCEPT "
  </verbatim>

  while annotate says
  <verbatim>
  74c86dd1da 2011-05-04       drh:   if( showClosed ){
  518439507a 2010-08-15       drh:     db_prepare(&q,        <== This line
  74c86dd1da 2011-05-04       drh:       "SELECT value FROM tagxref"
  74c86dd1da 2011-05-04       drh:       " WHERE tagid=%d AND value NOT NULL "
  74c86dd1da 2011-05-04       drh:       "EXCEPT "
  </verbatim>

  <hr /><i>viriketo added on 2011-05-05 21:43:57 UTC:</i><br />
  I think the problem has to do with line numbering. Look at this: [/artifact/99f393dce665c790?ln|version of the branch.c above] looking at all the lines and their numbers. There are many wrong line numbers.

  <hr /><i>viriketo added on 2011-05-05 21:48:17 UTC:</i><br />
  Sorry. Reloading the page I see the line numbers fine. I think my previous comment misleads, as I think it was due to a problem in my browser, and not in fossil.

  <hr /><i>viriketo added on 2011-05-05 22:00:38 UTC:</i><br />
  From what I see in [/artifact/d9bd197c10a97fb9e7f3f8d88be457738b3cc7b1?ln=688|diff.c:688] and [/artifact/d9bd197c10a97fb9e7f3f8d88be457738b3cc7b1?ln=771|diff.c:771], the annotate procedure goes by looking at older and older commits, and when parts of the lines are equal, the older commit is taken.

  I think that this makes the 'annotate' show, sometimes, "the earliest commit with that change", instead of "the last commit with that change".

  Other VCS show in 'annotate' the last change in every given line. This is the behaviour I'd prefer, but I barely know anything about diff algorithms, so I hope someone takes the job of implementing this usual kind of annotate.

  <hr /><i>viriketo added on 2011-05-06 19:15:41 UTC:</i><br />
  Sorry, but I reopen the ticket.

  I'm trying the fossil version [9a63d1f048] 2011-05-06, which should have the changes that brought the ticket into Fixed.

  As I said in the initial ticket entry, I had committed <kbd>const bool debugErrorToFile = false;</kbd> in 2011-05-05. If I use 'annotate' on that file with the new fossil version, I get:
  <verbatim>
  f794dd718d 2011-03-01  llbatlle:     const bool debugErrorToFile = false;
  </verbatim>

  which is different than before your changes, but still wrong.

  <hr /><i>viriketo added on 2011-05-06 19:18:48 UTC:</i><br />
  I'm trying <code>fossil annotate --limit 1 FILE</code>, and although the file was modified on 2011-05-05, it shows all the file annotations in 2011-03-01. So there may be a problem on getting the initial version.

  <hr /><i>viriketo added on 2011-05-06 19:27:18 UTC:</i><br />
  I just noticed that the *web* annotate shows good results. It's only the *commandline* annotate showing the troubles.

  <hr /><i>viriketo added on 2011-05-07 14:14:54 UTC:</i><br />
  I investigated a bit more... the terminal 'annotate' uses a query like this:
  <verbatim>
    mid = db_int(0, "SELECT mid FROM mlink WHERE fid=%d AND fnid=%d", fid, fnid);
  </verbatim>

  that does not give a SINGLE result. Different checkins may have the very same file artifact, and it needs further code to decide what checkin is of interest.

  Then, it needs some code to choose what is of the interest of the requester.

  <hr /><i>viriketo added on 2011-10-19 20:16:18 UTC:</i><br />
  Merged to trunk on [e161670939].


tkt_uuid: b733bba0b7319ef2dc9d74526dab7eec29460fcd
type: Code_Defect
status: Fixed
severity: Important
foundin: [b951baa5c9] 2011-05-02 14:37:40 UTC
resolution: Fixed
title: Fossil crash when doing addremove/add/extras
comment:
  Fossil crashes when performing commands that involves checking new files (extras, addremove, add) within a checkout of a recently-rebuilt repo. This is on Windows 7 Ultimate x64.

  If I use the last release ([047e06193b] 2011-04-13 12:05:18) I experience no issues.

  <hr /><i>anonymous claiming to be Ingo Koch added on 2011-05-05 21:08:24 UTC:</i><br />
  The bug was introduced with version [53aef2dee1] in  
  <verbatim>int vfile_top_of_checkout(const char *zPath)</verbatim>

  The mprintf is called without zPath. I added some debug output and saw that the first zFile contains a valid path but the second one contained garbage.

  I don't know why it works for the first call, but the second crashes fossil under Windows.

  Here is a correction:
  <verbatim>
  Index: src/vfile.c
  ===================================================================
  --- src/vfile.c
  +++ src/vfile.c
  @@ -301,15 +301,15 @@
   */
   int vfile_top_of_checkout(const char *zPath){
     char *zFile;
     int fileFound = 0;
   
  -  zFile = mprintf("%s/_FOSSIL_");
  +  zFile = mprintf("%s/_FOSSIL_",zPath);
     fileFound = file_size(zFile)>=1024;
     fossil_free(zFile);
     if( !fileFound ){
  -    zFile = mprintf("%s/.fos");
  +    zFile = mprintf("%s/.fos",zPath);
       fileFound = file_size(zFile)>=1024;
       fossil_free(zFile);
     }
     return fileFound;
   }
  </verbatim>


tkt_uuid: 7567c8daf92d906fd070c0eae77e070506b87a80
type: Feature_Request
status: Open
severity: Important
foundin: All
private_contact: 4fb704518b71c2323c6d385b4b350196930ec29d
resolution: Duplicate
title: Tickets Cannot be searched from Web UI
comment:
  Text descriptions of tickets cannot be searched from web UI.

  <hr /><i>anonymous added on 2011-05-08 04:50:51 UTC:</i><br />
  Testing


tkt_uuid: e95f7c93370be8c868958b48c8c4bf94ef9d0f46
type: Code_Defect
status: Fixed
severity: Important
foundin: 047e06193b
private_contact: 50da7412b8b802b1c9f7ddc204270d069d3c2e2b
resolution: Fixed
title: HTTPS CGI variable might be "ON", not "on".
comment:
  The Jetty web server sets the CGI HTTPS environment variable to 'ON', not 'on' like other web servers. This breaks redirects as fossil gets the base URL wrong.

  Changing line 811 of main.c to

      if( strcmp(zMode,"on")==0 || strcmp(zMode,"ON")==0 ){

  solves the problem.


tkt_uuid: 8545675748012f9c3df2872255d9f6f8b5b6d1bc
type: Code_Defect
status: Open
severity: Critical
foundin: E47e06
private_contact: 220c1bddaa872e02712f12bedc2aece71f1ad5d5
title: Checking out a version back 3 commits still regains changes after those 3.
comment:
  If I want to back up getting rid of all changes past 3 commits, i check out
  version , say, 2. Then I update and/or commit. All changes past 2 get flushed to
  the lastest commit. Also, please email me my password. thanks.
  john


tkt_uuid: da3e0fb4b9241b55073a73d7b0cff5ad511e7835
type: Code_Defect
status: Fixed
severity: Important
foundin: 8f41b2fa75 onwards
private_contact: 7d42fc55d7da05139a841a32bcc23997f91bbdbb
resolution: Fixed
title: "out of memory" error via apache cgi-bin.
comment:
  After downloading recent src and updating my fossil executable, I am no longer able to use via cgi-bin.  I get an 'out of memory' error. All actions appear to work fine at a server level using fossil command line.

  I have managed to traced this to the changes made in 8f41b2fa75 (15-Oct-2010) where fossil-malloc() was introduced, and more specifically, the change to the  xMalloc function in th_main.c.
  If this is reverted back to simply use malloc() the problem goes away and the cgi access works as expected.

  I am using Apache/1.3.33 (Unix) on AIX 5.2.0.0

  <hr /><i>anonymous added on 2011-05-16 08:34:36 UTC:</i><br />
  The changes to fossil_malloc in [6b382b0818] fixed this.


tkt_uuid: f91862eed36716dec2129daf75060e4905cbc409
type: Code_Defect
status: Fixed
severity: Important
foundin: 9a63d1f048
private_contact: d65c8f42ef81f14ced10171bf205f9a35ce6dff4
resolution: Fixed
title: annotations assign lines to incorrect checkin
comment:
  From the Tk chat:

  <pre>
  dgp	I think something is wrong with fossil annotations.
  dgp	Looking at [http://core.tcl.tk/tcl/ci/4683efaee9ca414d4ff2690ba19b3b7a6d1afaed]
  dgp	it's a small patch to tclListObj.c.  Introduces only five new lines.
  dgp	Then open [http://core.tcl.tk/tcl/artifact/31d1cfe5711802cce0d1ac7fa7a48c4c0607a63f]
  dgp	to see what tclListObj.c created by that checkin looks like.
  dgp	Then click the &#91;annotate&#93; link to reach [http://core.tcl.tk/tcl/annotate?checkin=4683efaee9ca414d&filename=generic/tclListObj.c]
  dgp	I would expect to see only those five new lines marked with 4683efaee9 but I see many more than that.
  dgp	starting with lines 21 & 22 or so which are nowhere near the patch.
  dgp	Conversely, those five new lines are marked with something else
  dgp	403736bc07 - which is the same patch, but the checkin applying it to core-8-5-branch.
  dgp	I'd have expected annotations to trace back the primary parent links, not the merges.
  </pre>

  <hr /><i>drh added on 2011-05-12 00:50:48 UTC:</i><br />
  The following is an explanation of the problem; not a solution.  I'm still
  not sure what the correct solution is.  The bottom line is that "annotate"
  or "blame" becomes complicated when you have lots of branching and merging...

  Refer to the history graph of the tclListObj.c source file here:
  [http://core.tcl.tk/tcl/finfo?name=generic/tclListObj.c&b=2011-04-28&a=2011-04-24]

  The current implementation of "annotate" starts with the requested node
  (31d1cfe5711802cc) and then works downward from there on the same branch
  to (66e766cf759f85cf) and (52cc348a24f17bca) and so forth.  But the five-line
  change mentioned in the problem statement above comes in from a different
  branch, specifically from (e25d618ef36a26ce) on the core-8-5-branch.  So the
  five-line change does not appear in the "annotate" output because it is
  a diff from one branch into another, whereas the current "annotate" only
  shows changes from versions on the same branch.

  It is unclear, yet, whether or not it is desirable to include "annotate"
  changes from other branches.  Perhaps this should be an option on the display.
  Further research is necessary...

  <hr /><i>drh added on 2011-05-12 01:13:35 UTC:</i><br />
  I'm no longer able to produce the original problem.  I think there was
  something wrong with the Fossil installed on core.tcl.tk and when I
  upgraded with the file history display enhancements, that fixed the
  issue.


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: 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: 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: 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: da3fef0b21c37d7e4aa611ec08076fe8af2eee35
type: Code_Defect
status: Fixed
severity: Minor
foundin: 2011-05-12 14:56:52 d8221b98636b76cfd99cb6ccce0e24f5baaafe51
resolution: Fixed
title: Bug in http.c: missing \r for Proxy-Authorization header
comment:
  Easiest to show the bug by just showing the patch:

  <nowiki><pre>
  --- src/http.c
  +++ src/http.c
  @@ -100,11 +100,11 @@
     }else{
       zSep = "/";
     }
     blob_appendf(pHdr, "POST %s%sxfer/xfer HTTP/1.0\r\n", g.urlPath, zSep);
     if( g.urlProxyAuth ){
  -    blob_appendf(pHdr, "Proxy-Authorization: %s\n", g.urlProxyAuth);
  +    blob_appendf(pHdr, "Proxy-Authorization: %s\r\n", g.urlProxyAuth);
     }
     if( g.urlPasswd && g.urlUser && g.urlPasswd[0]=='#' ){
       char *zCredentials = mprintf("%s:%s", g.urlUser, &g.urlPasswd[1]);
       char *zEncoded = encode64(zCredentials, -1);
       blob_appendf(pHdr, "Authorization: Basic %s\r\n", zEncoded);
  </pre></nowiki>

  All HTTP headers should be terminated by a CRLF combination, not just an LF.  Without the proper termination, some servers may reject the header.


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: ef25a83cce0aab78eedc937abfb4788a2c5ca614
type: Documentation
status: Fixed
severity: Minor
foundin: current site
private_contact: 7c314290d66d6e80f54e57ac6aa8dc635bfbc6c4
resolution: Fixed
title: typo in http://www.fossil-scm.org/index.html/help?cmd=configuration
comment:
  first line in the blue box:
  Usage: fossil configure METHOD ... ?-R|--repository REPOSITORY?

  should read:
  Usage: fossil configuration METHOD ... ?-R|--repository REPOSITORY?

  thanks,

  marc 

  ps is this in the running for cheesiest patch of the week?

  <hr /><i>dmitry added on 2011-09-08 23:26:24 UTC:</i><br />
  Fixed in [cd8041b159].


tkt_uuid: c56156282342a51b8ec2f54e271907f05a63f468
type: Code_Defect
status: Closed
severity: Important
foundin: seems all?
private_contact: f1e65591b77ff063f200da2f01850fae1c4f3ba0
resolution: Open
title: database corruption error on amd64
comment:
  1) While trying to open existing or cloned repo (tried 3 last versions for amd64 and 32bit systems on amd64 mashine):

  <verbatim>
  fossil open noviasmoda.fossil
  fossil: SQLITE_CORRUPT: database corruption at line 49437 of [f55156c519]
  fossil: SQLITE_CORRUPT: statement aborts at 1: [BEGIN EXCLUSIVE] database disk image is malformed
  fossil: SQLITE_CORRUPT: database corruption at line 49437 of [f55156c519]
  fossil: SQLITE_CORRUPT: database disk image is malformed
  fossil: database disk image is malformed
  </verbatim>

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

  2) While trying open just created repo (last amd64 version):

  <verbatim>
  fossil new noviasmoda.fossil
  project-id: 8377c5d189cb99dc8619419aaaaad08e573f213e
  server-id:  561f83674fa3a95f096eccee8344395c85b3fa95
  admin-user: alexey (initial password is "79f998")
  alexey@alexey-desktop:~/www/noviasmoda/www$ fossil open noviasmoda.fossil
  fossil: SQLITE_CORRUPT: database corruption at line 49437 of [f55156c519]
  fossil: SQLITE_CORRUPT: statement aborts at 1: [BEGIN EXCLUSIVE] database disk image is malformed
  fossil: SQLITE_CORRUPT: database corruption at line 49437 of [f55156c519]
  fossil: SQLITE_CORRUPT: database disk image is malformed
  fossil: database disk image is malformed
  </verbatim>

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

  Braked my brain #(

  <hr /><i>drh added on 2011-05-18 11:44:06 UTC:</i><br />
  The error reports above indicate that the SQLite database file that contains
  the repository is being truncated.

  What operating system are you using?  And what filesystem?

  <hr /><i>anonymous added on 2011-05-20 17:38:54 UTC:</i><br />
  I'm on Ubuntu 10.04/amd64 and Lubuntu 11.04/i686. FS both are ext4.
  Phrase "database corruption at line 49437" is the same, regardless the repo file. It's different only if fossil version is different. 
  So, the problem isn't so clear like it looks.
  Any other suggestions?

  <hr /><i>anonymous added on 2011-05-20 18:13:06 UTC:</i><br />
  I wasn;t clear above - error appears only on amd64. The same version of fossil on Lubuntu i686 is OK.

  <hr /><i>anonymous added on 2011-05-22 19:26:06 UTC:</i><br />
  Somebody on amd64: are your fossil work properly? Is it my CPU?

  <hr /><i>drh added on 2011-05-23 15:18:20 UTC:</i><br />
  One of three primary development platforms on which Fossil is coded:

  <blockquote><verbatim>
  Linux amd2008 2.6.24-19-generic #1 SMP Wed Jun 18 14:15:37 UTC 2008 x86_64 GNU/Linux
  </verbatim></blockquote>

  <hr /><i>anonymous added on 2011-05-23 20:30:06 UTC:</i><br />
  OK, seems like it's my personal problem. Will think more. ;(


tkt_uuid: 9ae4043d8b2d4419609091d08caf1585be0e08f0
type: Code_Defect
status: Fixed
severity: Critical
foundin: trunk
private_contact: 50da7412b8b802b1c9f7ddc204270d069d3c2e2b
resolution: Fixed
title: Please merge fixes for Solaris 10 into trunk
comment:
  Please merge the solaris10 branch into trunk. This fixes problems on Solaris 10:

  * Doesn't build. Makefile used non-standard syntax for getting value of uname -s. Changed to use standard syntax. Checked build on Solaris 10, Mac OS X, FreeBSD and Ubuntu Linux.

  * Doesn't support passwords > 8 chars, because getpass() truncates to 8 chars. Fixed by adding conditional #define getpass getpassphrase in config.h

  Thanks.

  <hr /><i>anonymous added on 2011-05-23 03:01:28 UTC:</i><br />
  About the changes in [9ef38b6b6d]:

  At least the <tt>VAR != shell command</tt> is documented in BSD make, but the <tt>VAR :sh = shell command</tt> sure doesn't seem to be (although it does seem to work with BSD make).  In addition, neither syntax works with GNU make.  To get the equivalent with GNU make the syntax is <tt>VAR = $(shell shell command)</tt> instead.

  <hr /><i>ben added on 2011-05-23 07:07:00 UTC:</i><br />
  Because the makefile has to work with 'all' variations of make with varying compliance to varying standards, the options open are a bit limited. It's only important that shell commands are executed on the platforms using non-GNU makes - the BSDs and Solaris.

  A better way would be to start adding to the build system with configure scripts and the like. However, this is a far bigger change and would break anything which assumes you just run make, such as packaging systems.


tkt_uuid: 7c25821f6a1be7f0cbbb47698235e45f1b874816
type: Code_Defect
status: Open
foundin: d8221b9863
private_contact: 22e3b7a55e291d179313f4c2e34877f09743ee31
title: fossil stuck in cgi mode
comment:
  I am trying to run fossil within a cgi script using the "http" subcommand.  Fossil thinks it is in cgi mode and gives error "no such file: http".  That is, it thinks the "http" subcommand is the location of the script file required for cgi mode operation.

  When I unset the GATEWAY_INTERFACE env variable, I get a "404 not found" error.

  When I unset all environment variables, fossil reverts to the above "no such file: http" error.

  After scanning the ticket database, I tried the "-nocgi" option in various positions and permutations in the command (as its use is undocumented, even in the ticket introducing it), but nothing I tried worked.

  My code works flawlessly when run from a command line.  How do I convince fossil it really shouldn't be running in cgi mode?


tkt_uuid: b67996c1e6d0e38827a61ca17e176dfc5f864ea2
type: Code_Defect
status: Closed
severity: Important
foundin: fossil version [d8221b9863] 2011-05-12 14:56:52 UTC
private_contact: 9d51a8b06966fd2ab0f28ccfb14200a7623c7eed
resolution: Fixed
title: Fossil can no longer find files in open checkouts with non-ascii chars in directory
comment:
  Fossil version [d8221b9863] 2011-05-12 14:56:52 UTC on Windows 7, 64-bits.

  I upgraded to the latest version (mentioned above), and did an <tt>all rebuild</tt>.  But now, fossil can no longer find any file in the current directory or below it if that directory's path contains a non-ASCII character (which it does in my main source tree).  My previous version, from about a month ago (April 2011), worked fine in that identical setup.

  Here's a command line session illustrating the problem.  Notice that "Voronwë" gets mangled to "Voronw´┐¢", which looks suspiciously like converting Ansi to UTF8 once too often (topped with a CharToOem if I’m not mistaken; but hey, that's the Windows console for you).

  <pre>
  C:>cd C:\MC\Code\Projects\Voronwë\GUI\Applications\Presence
  C:\MC\Code\Projects\Voronwë\GUI\Applications\Presence>fossil changes
  C:\MC\Run\Prog\Fossil\fossil.exe: SQLITE_CANTOPEN: os_win.c:33310: (3) winOpen(C:\MC\Code\Projects\Voronw´┐¢\GUI\Applications\Presence\_FOSSIL_) - The system cannot find the path specified.
  C:\MC\Run\Prog\Fossil\fossil.exe: SQLITE_CANTOPEN: os_win.c:33310: (3) winOpen(C:\MC\Code\Projects\Voronw´┐¢\GUI\Applications\Presence\_FOSSIL_) - The system cannot find the path specified.
  C:\MC\Run\Prog\Fossil\fossil.exe: SQLITE_CANTOPEN: cannot open file at line 33316 of [f55156c519]
  C:\MC\Run\Prog\Fossil\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:\MC\Code\Projects\Voronwë\GUI\Applications\Presence>cd C:\MC\Code\Projects\VORONW~1\GUI\APPLIC~1\Presence

  C:\MC\Code\Projects\VORONW~1\GUI\APPLIC~1\Presence>fossil changes
  DELETED    src/SQL.rc
  EDITED     src/UI/F_Server.dfm
  EDITED     src/UI/F_Server.pas
  EDITED     src/prj/D2009/PresenceServer.dproj
  EDITED     src/prj/D2009/PresenceServer.res

  C:\MC\Code\Projects\VORONW~1\GUI\APPLIC~1\Presence>
  </pre>

  I've set the severity to 'important' because while I can get it to work by using this workaround, this only works when using fossil from command-line.  I've integrated fossil in my IDE's tools menu, which always passes the long path.  This issue breaks this integration with my IDE.

  <hr /><i>drh added on 2011-05-25 14:12:15 UTC:</i><br />
  Please try again with the 2011-05-23 release.

  <hr /><i>anonymous claiming to be tsul added on 2011-05-26 05:51:43 UTC:</i><br />
  Fell into the same situation on fossil version [d8221b9863] 2011-05-12 14:56:52, problem's not arised on version [474850cff5] 2011-05-23 15:11:12.

  <hr /><i>anonymous claiming to be Martijn Coppoolse added on 2011-05-26 12:28:30 UTC:</i><br />
  It appears to have been fixed in fossil version [474850cff5] 2011-05-23 15:11:12 UTC.

  I hadn't noticed that there was a new release already.  Thanks!


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: 49db5c3993bef2e8e6d0c921e19f070e5ec4b90f
type: Code_Defect
status: Fixed
severity: Important
foundin: [474850cff5] 2011-05-23 15:11:12
private_contact: 9d51a8b06966fd2ab0f28ccfb14200a7623c7eed
resolution: Fixed
title: windows-i18n: "fossil extras" does not see files with non-ascii chars in their name
comment:
  On Windows 7, 64-bits.

  After upgrading from fossil version [d8221b9863] 2011-05-12 14:56:52 UTC to [474850cff5] 2011-05-23 15:11:12, I noticed that a few files were reported as DELETED (using addremove), whereas they still existed on disk.

  The problem is fairly easy to duplicate with a fresh repository, but querying extras in a directory containing one file with non-ascii char (², subscript two), and one file with no such character.  The file with NO non-ascii char is listed, the other one isn't.

  Steps to reproduce:

  <pre>
  C:\data>dir
   Volume in drive C is OS
   Volume Serial Number is ADDE-9D00

   Directory of C:\data

  27-mei-2011  13:16    <DIR>          .
  27-mei-2011  13:16    <DIR>          ..
  10-dec-2009  12:02             1.615 ax²+bx+c=0.png
  08-apr-2010  17:42               760 bbc-logo-in-qr-code.png
                 2 File(s)          2.375 bytes
                 2 Dir(s)  301.619.884.032 bytes free

  C:\data>fossil init repo
  project-id: 99811bf16b717813968b01f962b55d18c86c2f52
  server-id:  bdccb49160204a9f8edd6ad3890d39801085e668
  admin-user: MCo (initial password is "82150c")

  C:\data>fossil open repo

  C:\data>fossil extras
  bbc-logo-in-qr-code.png

  C:\data>fossil addremove
  ADDED  bbc-logo-in-qr-code.png
  added 1 files, deleted 0 files
  </pre>


  What puzzles me somewhat, is that <code>extras</code> doesn't see the special filename, but once I've added the file manually, it doesn't get removed either:

  <pre>
  C:\data>fossil add ax²+bx+c=0.png
  ADDED  ax²+bx+c=0.png

  C:\data>fossil commit -m "test"
  New_Version: 0b5214ea3fff07515e5a498d7521edb05582727a

  C:\data>fossil addremove
  added 0 files, deleted 0 files
  </pre>


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: 5a96dd5f528606db7addd8156bb7b5d5fdda158f
type: Code_Defect
status: Fixed
severity: Important
foundin: 0448438c56d836a8a8261a
private_contact: 2f102b33d8f807336292e56ff47c6c59de4876c0
resolution: Fixed
title: non-portable Makefile
comment:
  Tested and seemed to work with both BSD make and gnu make on NetBSD system.

  <pre>
  --- Makefile
  +++ Makefile
  @@ -58,11 +58,11 @@
   
   # You should not need to change anything below this line
   ###############################################################################
   #
   # Automatic platform-specific options.
  -HOST_OS :sh = uname -s
  +HOST_OS= $(uname -s)
   
   LIB.SunOS= -lsocket -lnsl
   LIB += $(LIB.$(HOST_OS))
   
   TCC.DragonFly += -DUSE_PREAD
  </pre>

  <hr /><i>ben added on 2011-05-28 21:08:47 UTC:</i><br />
  That was changed recently for Solaris compatibility.

  According to the NetBSD man pages it should work on that system. Did you encounter a problem?

  <hr /><i>bharder added on 2011-05-29 18:21:17 UTC:</i><br />
  <pre>
  kamloops$ uname -a 
  NetBSD kamloops 5.99.52 NetBSD 5.99.52 (kamloops) #80: Sat May 28 14:09:40 PDT 2011  root@kamloops:/usr/obj/sys/arch/amd64/compile/kamloops amd64
  kamloops$ which make
  /usr/bin/make
  kamloops$ make
  make: don't know how to make sh. Stop

  make: stopped in /home/bch/work/fossil
  kamloops$ 
  </pre>

  With gnu make (gmake on my system), builds fine. The patch I submitted was tested on my system with both BSD make and GNU make and both built fine.

  <hr /><i>ben added on 2011-05-30 07:21:37 UTC:</i><br />
  I've created a configure-make branch which adds a ./configure step to building, and removes the non-cross-platform requirement for the Makefile to set a variable to the output of a shell command.

  This will break any packaging scripts, which is unfortunate. I'm not sure there's an alternative other than choosing a platform which requires patching to build -- which may be completely acceptable if that platform is a minority platform. (revert [9ef38b6b6d] and break Solaris?)

  <hr /><i>ben added on 2011-05-30 07:28:45 UTC:</i><br />
  BTW, I tried the alternative synax suggested in the ticket. While it works on Solaris, it doesn't work on FreeBSD. No error, but it doesn't include the extra -DUSE_PREAD for the compiler.

  <hr /><i>drh added on 2011-05-30 12:52:50 UTC:</i><br />
  No configure scripts, please.  If no makefile can be devised that works for
  Solaris and NetBSD, then we'll create separate Makefile.solaris and Makefile.netbsd files for those platforms.

  <hr /><i>ben added on 2011-05-30 16:49:12 UTC:</i><br />
  I've committed a Makefile which works on (at least) Mac OS X, Linux, FreeBSD, NetBSD and Solaris.

  For the *BSDs and Solaris, it won't work if GNU make is used. However, this is no worse than it was before I messed with it to get it to work under Solaris.

  <hr /><i>joerg added on 2011-05-30 16:51:59 UTC:</i><br />
  Well, the original syntax was working with all modern make implementations. Only the broken make on Solaris has issues with it. I'm quite more in favour of just accepting that Solaris userland is broken...

  <hr /><i>ben added on 2011-05-30 17:10:40 UTC:</i><br />
  The original syntax wasn't working with a 'modern' GNU make, but that didn't matter as it's only the non-GNU platforms which need these tweaks. (You'd only get a build as intended on those platforms if you used the normal make, not gmake.)

  <hr /><i>anonymous claiming to be mgagnon added on 2011-05-31 02:31:49 UTC:</i><br />
  I confirm, on version [3abab7e177] makefile tested and work with no problem on:

    - OpenBSD 4.9 using bsd make and gnu make

    - QNX 6.4.1 (which use gnu make)
   
  So, it seems to be the way to go.


tkt_uuid: 8967ea1df4f51af1ad3cbad78e0bcc582c6418b6
type: Code_Defect
status: Fixed
severity: Minor
foundin: [ea2698e9c7] 2011-05-27
private_contact: 850c5f99a9d5ee011d6d3c66667f269661e34325
resolution: Fixed
title: i18n, webui: link to tag with non-ascii chars is broken in timeline
comment:
  My OS is Windows XP. I've created some simple test repo with one file.
  If I added the tag with non-ascii chars (using fossil WebUI) to the checkout, it's shown right on the "Timeline" page, the "Tags" page and the checkout page.

  Let the tag be <tt>пуск</tt> (eight bytes: <tt>D0-BF-D1-83 D1-81-D0-BA</tt> in UTF8). Then links from the two latter pages behave correct: they lead to this url:
  <verbatim>http://127.0.0.1:8081/timeline?t=%D0%BF%D1%83%D1%81%D0%BA</verbatim> 

  But the former link (on "Timeline" page) looks broken (encoded tag name is truncated):
  <verbatim>http://127.0.0.1:8081/timeline?r=%D0%BF%D&nd&c=2011-05-29%2000:20:05</verbatim>
  We see, that encoded tag name is truncated to eight chars that is the length in bytes of the tag name in UTF8.

  Maybe this helps to solve the problem.

  <hr /><i>anonymous added on 2011-05-29 07:58:37 UTC:</i><br />
  The truncate length of uri-encoded tag seems to be considered right:<br>
  There will 21 chars in the same scenario with the tag <u><tt>Очень круто</tt></u>, which is 5 non-ascii chars + space + 5 non-ascii chars = 21 bytes in UTF8.

  <hr /><i>anonymous claiming to be tsul added on 2011-05-30 17:18:04 UTC:</i><br />
  Also tested on Fedora 12 x86_64 with fossil version [0448438c56] 2011-05-28 18:51:22, same effect.

  <hr /><i>anonymous claiming to be tsul added on 2011-05-31 06:31:40 UTC:</i><br />
  There is a bug in the <code>timeline.c:www_print_timeline()</code> with a call to <code>blob_appendf</code>: the format specifier '%t' (httpize) is used with the precision of the input string length. But the output string can obviously be larger.

  Here is the working solution removing the precision specifier from the '%t':
  <verbatim>
  V:\dvcs\src>fossil info
  project-name: Fossil
  repository:   R:/distr/lang/dvcs/fossil/fossil.fsl
  local-root:   V:/dvcs/
  user-home:    C:/Documents and Settings/Tsul/Application Data
  project-code: CE59BB9F186226D80E49D1FA2DB29F935CCA0333
  server-code:  dde830bac2d739261e1afb9192dd3facad083e62
  checkout:     0448438c56d836a8a8261a0dd97bd82f320d832a 2011-05-28 18:51:22 UTC
  parent:       6d35cde78d475f86f75746e65b6e37ca71f8406b 2011-05-28 17:56:04 UTC
  child:        0e23d0721318eecdfef70e23da71dfb32110ecfb 2011-05-29 07:39:25 UTC
  child:        3abab7e177f063e158fea94cfd13ab5d184f6266 2011-05-30 16:46:50 UTC
  child:        62284df93a91fbb86ebb66a645891900c559d840 2011-05-30 07:04:26 UTC
  tags:         trunk, release
  comment:      Release (user: drh)

  V:\dvcs\src>fossil diff timeline.c
  --- timeline.c
  +++ timeline.c
  @@ -300,12 +300,12 @@
           blob_zero(&links);
           while( z && z[0] ){
             for(i=0; z[i] && (z[i]!=',' || z[i+1]!=' '); i++){}
             if( zThisTag==0 || memcmp(z, zThisTag, i)!=0 || zThisTag[i]!=0 ){
               blob_appendf(&links,
  -                  "<a href=\"%s/timeline?r=%.*t&nd&c=%s\">%.*h</a>%.2s",
  -                  g.zTop, i, z, zDate, i, z, &z[i]
  +                  "<a href=\"%s/timeline?r=%t&nd&c=%s\">%.*h</a>%.2s",
  +                  g.zTop, z, zDate, i, z, &z[i]
               );
             }else{
               blob_appendf(&links, "%.*h", i+2, z);
             }
             if( z[i]==0 ) break;
  </verbatim>

  <hr /><i>drh added on 2011-05-31 12:58:03 UTC:</i><br />
  The patch above is incorrect.  A correct patch is shown on 
  check-in [e5e6ca46597a50d215fa08a6ef1bd7b7939e3dea].

  The following link demonstrates the error:

      [/timeline?c=2011-05-28+17%3A56%3A04&n=4]

  I added the "test-%-&amp;-tag" tag to that check-in.  The % and &amp; characters
  on that tag must be escaped when it is used inside HTML, which increases the
  length of the rendered text.  Without the fix, the hyperlink is rendered
  incorrectly.


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: e9ce8c8a9312e79f1c5e7c086650a6af32ecfe1d
type: Feature_Request
status: Closed
severity: Cosmetic
foundin: next
private_contact: 77e476a4e2375fcb4a72f9bcda37587eee054dc3
resolution: Not_A_Bug
title: Does fossil have this function ?
comment:
  In git , I can change to another branche in the same folder.  But i can't do this in fossil. What about adding this fuction to fossil? Soryy about my poor english.

  <hr /><i>drh added on 2011-06-01 09:53:37 UTC:</i><br />
  Tickets are for reporting bugs.
  Please ask question about how to operating Fossil on the public mailing list.


tkt_uuid: 9bed1f604e07738d18b4a8d18c542b16dde1b529
type: Feature_Request
status: Fixed
severity: Minor
foundin: [d8221b9863] 2011-05-12 14:56:52
resolution: Fixed
title: 'fossil tag find' does not allow distinguishing events and checkins
comment:
  'fossil timeline' allows -t TYPE, but fossil tag find does not allow that. Then, events and checkins are listed without any distinction in the terminal.


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: 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: d13e296bd543b43070e7049d17eb60a111c43edf
type: Code_Defect
status: Closed
foundin: e5e6ca4659
resolution: Works_As_Designed
title: can't browse tickets without logging in
comment:
  Reading a ticket works without logging in, but only if you know the URI (e.g., https://www.fossil-scm.org/index.html/tktview?name=...).  If you don't know it, then the list of tickets tantalizes you with a summary and a hex name but there is no link to the full ticket page.  Why disable the links for users who haven't logged in?  I know I can log in anonymously, but having to do so just to browse tickets seems an arbitrary and superfluous barrier.  It probably also means that search engines won't index the tickets.

  <hr /><i>drh added on 2011-06-02 18:52:24 UTC:</i><br />
  Providing open access to tickets without anonymous login is a configuration
  option:  Simply turn on "History" privilege to the special user "nobody".

  We deliberately choose to not do that on the Fossil website because the 
  internet is a hostile place and spiders would overrun our bandwidth quota if
  we did.  


tkt_uuid: d1b50f4d06579e43c24d0e35f9d28d9562e95126
type: Feature_Request
status: Open
priority: Low
resolution: Open
title: finfo and timeline commands are cryptic
comment:
  The finfo and timeline commands are cryptic.  `Finfo' isn't a meaningful English word, and its decomposition into `file info' gives no indication that it has anything to do with history.  Why can't I just type `fossil log' like every other revision control system out there, or `fossil log foo.c' to limit the output to changes affecting foo.c?


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: 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: a9210adfea45bd36aa682c2d0d4a6cb2d9090642
type: Feature_Request
status: Closed
severity: Minor
resolution: Withdrawn
title: "uncommit" or "rollback" command
comment:
  I'd like to request a new command that allows users to rollback or uncommit the last check-in, if possible. This can be useful to edit commit messages, or make some last-minute changes to the files when necessary. This should work only with the last commit, not with older ones.

  <hr /><i>anonymous added on 2011-06-06 18:58:18 UTC:</i><br />
  I've seen the discussion on ticket [83af1f5]. Closing this request.


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: cb0b73e747a662159005864219200b8970560807
type: Build_Problem
status: Closed
severity: Minor
foundin: f1efc90595
private_contact: 481f3560ef506266e325518f83fffaf73b492a99
resolution: Fixed
title: Cannot create manifest.uuid file
comment:
  I have set up a local mirror of the FOSSIL repository and always pull from the FOSSIL upstream mirror before I build a new local version.

  This has always worked in the past, but since FOSSIL versions newer than f1efc90595 (as of 2011-01-19) it does no longer work.

  The problem: Obviously, newer versions of FOSSIL automatically create files "manifest" and "manifest.uuid" in the checkout tree, and the Makefile refuses the build without them.

  Is there a FOSSIL command how to recreate those files somehow manually, so that I can build the new version of FOSSIL?

  I tried copying the missing files from directly from the upstream repository. Although this allowed me to build a new version of FOSSIL (after upgrading the old repository to a newer schema version), the new FOSSIL executable still does not create the "manifest" and "manifest.uuid" files when I do a "fossil open" on my repository mirror.

  I have updated my mirror to the lastest version, which is:

   $ fossil status
  repository:   /home/user/fossy/work/fossil-src/upstream_mirror.fossil
  local-root:   /home/user/fossy/work/fossil-src/upstream_mirror/
  server-code:  2bb8473d03cd922084926d901100f017d9db36f4
  checkout:     621be704940afeef6d02c3615c07a2ee4f54edfc 2011-06-07 15:51:01 UTC
  parent:       fbf417b681c35b9c4ec415bb3bd906a796ab263d 2011-06-07 02:09:13 UTC
  tags:         trunk
  comment:      Improvements to the "annotate" algorithm: Only search primary
                ancestors; ignore branchs. (user: drh)

  I guess I could just download a new binary executable in order to resolve those problems, but I really would like to build FOSSIL from source already present in my repository mirror.

  After all, FOSSIL is a self-hosted source code control system, and therefore it should be possible to rebuild it somehow from the mirror contents alone if an older version of the executable (which matches the mirror schema) is already available.

  There should be a migration path from older versions of the fossil executable to newer version using a local mirror of the FOSSIL repository which is updated by "pull" only.

  Summing up, the problems are: The files manifest and manifest.uuid are missing, but even if I copy them manually from upstream's zip file the resulting executable does not create those files when "fossil open" is used.

  <hr /><i>anonymous added on 2011-06-08 03:12:53 UTC:</i><br />
  I was finally able to track down the problem by looking at the source code.

  All I had to do was enabling the "manifest" setting for the local repository mirror.

  Although I find it strange that building the source code depends on a *local* setting of the repository, nevertheless this solved by build problem.

  <hr /><i>anonymous added on 2011-06-08 03:13:39 UTC:</i><br />
  Closing bug.


tkt_uuid: 9c3e2a224b6b0055b6bce9f46aafc03248f30524
type: Code_Defect
status: Fixed
severity: Severe
foundin: 621be704940afeef6d02c3615c07a2ee4f54edfc
private_contact: ddae85699df0ae84ab8e0a6a6dacf72bab6d4a7a
resolution: Fixed
title: SIGSEGV on pull
comment:
  Doing a simple 'fossil pull' on my reva repo (http://dev.ronware.org/p/reva) gave me a segv:

  <verbatim>
  Program received signal SIGSEGV, Segmentation fault.
  fossil_strcmp (zA=<value optimized out>, zB=<value optimized out>) at ./bld/printf_.c:862
  862           b = *zB++;
  (gdb) bt
  #0  fossil_strcmp (zA=<value optimized out>, zB=<value optimized out>) at ./bld/printf_.c:862
  #1  0x0807f816 in manifest_file_seek_base (p=0x841ac60, zName=0xb7afd14e <Address 0xb7afd14e out of bounds>) at ./bld/manifest_.c:1162
  #2  0x080827a7 in manifest_file_seek (pid=<value optimized out>, pParent=0x841ac60, cid=3871, pChild=0x8411a58) at ./bld/manifest_.c:1199
  #3  add_mlink (pid=<value optimized out>, pParent=0x841ac60, cid=3871, pChild=0x8411a58) at ./bld/manifest_.c:1301
  #4  0x08083eea in manifest_crosslink (rid=3893, pContent=0xbffff368) at ./bld/manifest_.c:1566
  #5  0x080b346a in xfer_accept_file (pXfer=0xbffff430, cloneFlag=<value optimized out>) at ./bld/xfer_.c:182
  #6  0x080b5762 in client_sync (pushFlag=<value optimized out>, pullFlag=<value optimized out>, cloneFlag=0, privateFlag=0, configRcvMask=0, 
      configSendMask=0) at ./bld/xfer_.c:1463
  #7  0x0809a953 in pull_cmd () at ./bld/sync_.c:164
  #8  0x0807e0f5 in main (argc=2, argv=0xbffff714) at ./bld/main_.c:290

  </verbatim>

  <hr /><i>ron added on 2011-06-08 18:00:38 UTC:</i><br />
  Doing a 'clone' against that repo works fine, it's just 'pull' that segvs

  <hr /><i>drh added on 2011-06-09 19:45:06 UTC:</i><br />
  Note:  The OP sent me the faulty repository.

  The segfault is fixed by [05389804886bba19776938c5350e0043a1f97239].  After
  applying that fix, the "pull" operation goes into an infinite loop.  This
  was traced to the fact that the repository database is corrupt.  (Dunno how
  that happened!)  The corruption can be fixed by running "REINDEX" in the
  SQLite shell for the repository.  Once the corruption is repaired, the
  "pull" command works.

  <hr /><i>anonymous added on 2011-06-11 05:07:49 UTC:</i><br />
  <br><b>test</b>


tkt_uuid: 5124563ac13e2b3f02d8d3449142d14040116899
type: Code_Defect
status: Fixed
severity: Critical
private_contact: e16bca9376b716bf489a593de88e7b2760905520
resolution: Fixed
title: stash save fails after file remove
comment:
  While implementing and testing the stash commands in WinFossil I produced a fossil crash when using stash save or stash snapshot on a checkout where I did a fossil rm.
  Fossil isn't terminated but hangs after this operation.

  How to reproduce:

  <verbatim>
  D:\My Checkouts\StashFail>fossil new stashfail.fsl
  project-id: 6dd53c6e54872799343990ed3dc3448c7df28035
  server-id:  eda5824fca27982b3f0bdb25afe68eadb9537b96
  admin-user: Ingo (initial password is "668ada")

  D:\My Checkouts\StashFail>fossil open stashfail.fsl


  D:\My Checkouts\StashFail>fossil add 1.txt 2.txt
  ADDED  1.txt
  ADDED  2.txt

  D:\My Checkouts\StashFail>fossil commit -m "added 1.txt and 2.txt"
  D:/My Checkouts/StashFail/1.txt contains CR/NL line endings; commit anyhow (yes/no/all)?
  a
  New_Version: 57f36cf2c33c2d2c5cd1a4922208c999db48c9d8

  D:\My Checkouts\StashFail>fossil rm 1.txt
  DELETED 1.txt

  D:\My Checkouts\StashFail>fossil stash
  Assertion failed: (pBlob)->xRealloc==blobReallocMalloc || (pBlob)->xRealloc==blobReallocStatic, file wbld/blob_.c, line 184

  This application has requested the Runtime to terminate it in an unusual way.
  Please contact the application's support team for more information.
  </verbatim>

  <hr /><i>anonymous added on 2011-07-22 20:20:14 UTC:</i><br />
  Same as ticket [3ce0ea97522581], fixed by checkin [336e194c4d]


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: 5ad1d9a23ca5a8462fb6058efdb8a56489c3ed0c
type: Build_Problem
status: Open
severity: Important
private_contact: d91f4b46f6a4e7c071173444645f09807bb42bc0
resolution: Open
title: Makefile fails to run uname with GNU Make 3.82
comment:
  When trying to build Fossil on Haiku (ticket 084eedc010), I run into a problem with the Makefile. The following syntaxes do not seem to be supported by GNU Make 3.82:

  HOST_OS :sh = uname -s

  and

  HOST_OS = $(uname -s:sh)

  The following does work (but breaks things for other make variants, I assume):

  HOST_OS = $(shell uname -s)

  <hr /><i>ben added on 2011-06-13 15:28:00 UTC:</i><br />
  I believe you've tried to edit the Makefile to add the changes in ticket [084eedc010].

  Currently the only platforms which need these additions use BSD make, where this works. So currently it hasn't mattered that this doesn't work on platforms which use GNU make. Changes to work with GNU make break non-Linux platforms -- the current syntax works on as many as possible.

  Given the project wants to avoid a configure step, it might be necessary to add a Makefile.haiku.

  <hr /><i>anonymous claiming to be brecht added on 2011-06-13 21:23:11 UTC:</i><br />
  Perhaps the following offers a solution:

  <verbatim>
  HOST_OS_CMD = uname -s
  BSD_HOST_OS = $($(HOST_OS_CMD):sh)
  GNU_HOST_OS = $(shell $(HOST_OS_CMD) )
  HOST_OS = $(BSD_HOST_OS)$(GNU_HOST_OS)
  </verbatim>

  It works for GNU Make, as BSD_HOST_OS will be empty. I'm hoping GNU_HOST_OS would be empty when using BSD Make.

  <hr /><i>steveb added on 2011-07-22 22:43:01 UTC:</i><br />
  As of [c32b23d626] fossil builds on Haiku R1/Alpha 3 with ./configure; make


tkt_uuid: 554f44ee74e3d3b9b24edd358f2bc3d8284f9ce5
type: Code_Defect
status: Open
foundin: [d8221b9863] 2011-05-12
resolution: Open
title: Interbranch interference with merges and renames
comment:
  Finally I managed to reproduce the trouble I mentioned in [http://www.mail-archive.com/fossil-users@lists.fossil-scm.org/msg03885.html].

  I'll attach a repository.

  <hr /><i>viriketo added on 2011-06-14 15:17:02 UTC:</i><br />
  Notice in 'tmp.fossil' how I created a branch named "branch". This has a rename from 'a' to 'b', and is never merged *into* trunk.

  While working on the "branch2", and updating branch2 from trunk, the file 'a' gets deleted when running: "fossil merge trunk".

  <hr /><i>viriketo added on 2011-06-15 07:43:05 UTC:</i><br />
  Notice that you have just done the checkin [1c4d1272a6] for this ticket. This change is the opposite to that done in checkin [ff2a87103b] to fix the behaviour described in ticket [74413366fe].

  <hr /><i>viriketo added on 2011-06-21 08:17:16 UTC:</i><br />
  I think even a cherrypick merge (if it sets an arrow in the checkin graph) can disrupt the renames.

  <hr /><i>viriketo added on 2011-10-12 16:23:12 UTC:</i><br />
  It may be fixed by [0b93b0f958].


tkt_uuid: ffa87168ce1b5528e9cfb7b1f41b292af8cf2bb4
type: Code_Defect
status: Fixed
severity: Important
foundin: 6ed7ceb1dee5b273d02aca78a2b313e443e9f98f
private_contact: ddae85699df0ae84ab8e0a6a6dacf72bab6d4a7a
resolution: Fixed
title: Update after clone requires reset of login information
comment:
  When doing "upd" after having done a "clone", the first time, one needs to enter password information again (actually, the stored password info is incorrect).

  I have attached a bash script to show the problem.

  Here is the output from the script:

  <verbatim>
  lap: ~/tmp$ ./testfossil.sh 
  project-id: 8a46654dc533fbd7a53f43a56919e4fe19ea590c
  server-id:  fce4372a0950404edb9eea18118d1a737694ce9e
  admin-user: tester (initial password is "8ad07e")
  password for tester: 
                  Bytes      Cards  Artifacts     Deltas
  Sent:              53          1          0          0
  Received:         342          5          1          0
  Sent:              58          2          0          0
  Received:         634          2          0          0
  Total network traffic: 540 bytes sent, 1129 bytes received
  Rebuilding repository meta-data...
    100.0% complete...
  project-id: 8a46654dc533fbd7a53f43a56919e4fe19ea590c
  server-id:  96dcfa3eeda2dd9b6a15cd4fcc5f2fc4270ea2b1
  admin-user: ron (password is "0b7842")
  Autosync:  http://tester@localhost:8080/
                  Bytes      Cards  Artifacts     Deltas
  Sent:             130          1          0          0
  Error: login failed    
  Received:          52          1          0          0
  Sent:             130          1          0          0
  Error: login failed    
  Received:          52          1          0          0
  Sent:             130          1          0          0
  Error: login failed    
  Received:          52          1          0          0
  Total network traffic: 1036 bytes sent, 804 bytes received
  fossil: Autosync failed
  </verbatim>


tkt_uuid: d06e5d462b1aca3e47e897f5b0af534cbaa57d3c
type: Code_Defect
status: Closed
severity: Minor
foundin: 0448438c56
private_contact: 28b4f1873839f0f7d467637c702a78d6f813d67c
resolution: Fixed
title: * is not accepted as a parameter for crnl-glob on command line
comment:
  *, which is the value for most of my projects, is not accepted as a parameter for crnl-glob on command line. It has to be set through the browser. As ui/server command do not work too well when a vpn is installed, I need to set the settings from command line only, which is not possible.

  Command:
  fossil settings crnl-glob *
  Here is the output:
  d:\tools\fossil.exe: Usage: d:\tools\fossil.exe settings ?PROPERTY? ?VALUE?

  <hr /><i>anonymous claiming to be Martin added on 2011-06-15 05:29:02 UTC:</i><br />
  You might want to read this thread from mailing list:

  [http://www.mail-archive.com/fossil-users@lists.fossil-scm.org/msg04322.html]



  <hr /><i>anonymous added on 2011-06-15 08:12:51 UTC:</i><br />
  Ah, My apologies. I should have searched the mailing list first. So, this is a MinGW error instead. The problem is, on a specific system, the ui command fails. And I can't set the settings with command line also. So, as of now, I have no way of setting the value to *.

  <hr /><i>stephan added on 2011-09-14 18:16:18 UTC:</i><br />
  This is not a bug: the problem is that your SHELL is resolving '*' before fossil ever gets it. You have to escape * by wrapping it in quotes.

  <hr /><i>mistachkin added on 2011-09-14 18:52:30 UTC:</i><br />
  This may still be an issue on Win32, where a naked * is not actually interpreted by the shell (yet should be accepted by Fossil as valid).

  <hr /><i>stephan added on 2011-09-15 09:08:23 UTC:</i><br />
  i got an email from the poster, who reports:

  <hr>
  <pre>
  I don't know exactly what changed, but in version 1.18 or 1.19, the commands:
  fossil setting crnl-glob *
  fossil setting crnl-glob "*"
  work perfectly.
  </pre>
  ... (weird - fossil is prematurely ending my PRE block...)
  <pre>
  And BTW, previously neither single quotes or double quotes
  worked to set the value to *. Single quotes were taken in
  the value and double quotes gave the same error which I
  mentioned in the thread.
  </pre>
  <hr>

  Changing status from not-a-bug to fixed.

  @Yogesh - if this comes back, please let us.


tkt_uuid: f38602af0a3627dfc8e3023924e20328fc4ee24d
type: Feature_Request
status: Open
severity: Minor
foundin: 0448438c56
private_contact: 28b4f1873839f0f7d467637c702a78d6f813d67c
title: Option for auto-sync or command to sync settings
comment:
  Please add a feature to auto-sync the settings with the master repository or add a command to sync settings whenever needed.


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: f628d183c958c5b12fccb42f4b52a7c94031e07e
type: Code_Defect
status: Fixed
severity: Minor
foundin: [dbe1e68e43]
resolution: Fixed
title: pwd too big: max 1999
comment:
  In file.c, getcwd() can return NULL by different causes.

  One that got me mad is that a shell is in a directory that someone removed. 'ls' still works there, but any fossil operation returns 'pwd too big: max 1999'.

  Showing strerror(errno) would have tought me what to do, as I only discovered the cause of getcwd()==0 through gdb. My pwd was '/tmp/f', that isn't very big. :)

  <hr /><i>viriketo added on 2011-06-17 20:14:54 UTC:</i><br />
  I don't see anything using strerror() in fossil, so I'm not sure how to fix this.


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: fca5ce18c07c290f4a9939022165425de132284f
type: Code_Defect
status: Fixed
foundin: [dbe1e68e43] 2011-06-15
resolution: Fixed
title: The timeline per user does not take into account user changes in checkins
comment:
  For example:

  [http://fossil-scm.org/index.html/timeline?u=viric&c=2011-06-17+20%3A13%3A42&nd]

  [http://fossil-scm.org/index.html/timeline?u=viriketo&c=2011-06-17+19%3A09%3A45&nd]


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: 45a1b87a23afc27c8c59aaca225ea55bb7187faa
type: Code_Defect
status: Open
foundin: [74cbfc69ad] 2011-06-21
title: fossil merge should trigger pull with autosync
comment:
  I've had a problem running "fossil merge mainbranch", while in the upstream server (not in the local repository) there was a card that changed the "mainbranch" last checkin to a new branch, as you do with 'mistake'.

  I use autosync on, and if "fossil merge mainbranch" had triggered a pull before merge, this problem would not have happened.

  Do you find it reasonable to trigger a pull on merge?


tkt_uuid: 09dd81856447fd978166908538d96f55739d0d4e
type: Code_Defect
status: Closed
severity: Important
foundin: [0448438c56] 2011-05-28 18:51:22 UTC OS X build from Website
private_contact: 35bf4e913c2736f70ece3c4ca516bbc0554ca488
resolution: Duplicate
title: "fossil: manifest file" "is malformed" when commiting
comment:
  I had a bunch of files and folders (website) i wanted to track in fossil. However i couldn't commit anything, because during the commit process right after "New version..." line i got the following error:

  "fossil: manifest file (931) is malformed"

  It turned out to be one of my files contained a german umlaut "ö" in the file name...as soon i renamed the file (removed the german umlaut), i could successfully commit.
  Probably same error might appear with all other special german characters "öäüß".
  The error message about a malformed manifest file is not very conclusive and does not give me any clue that the problem is not with the manifest file but with the characters in the filename of my files.


tkt_uuid: 53ed528478dbc423562ddaa21cb032de78bad806
type: Code_Defect
status: Fixed
severity: Minor
foundin: [081a29c0b7]
private_contact: ed685438f367f4147cdb8507d634250f1fbc14d6
resolution: Fixed
title: Bad href in tkthistory_page
comment:
  In tkthistory webpage bad href for submenu element "Check-ins", symbol '?' is used instead of '&':
  <verbatim>
  /*
  ** WEBPAGE: tkthistory
  ** URL: /tkthistory?name=TICKETUUID
  **
  ** Show the complete change history for a single ticket
  */
  void tkthistory_page(void){
    Stmt q;
    char *zTitle;
    const char *zUuid;
    int tagid;

    login_check_credentials();
    if( !g.okHistory || !g.okRdTkt ){ login_needed(); return; }
    zUuid = PD("name","");
    zTitle = mprintf("History Of Ticket %h", zUuid);
    style_submenu_element("Status", "Status",
      "%s/info/%s", g.zTop, zUuid);
    style_submenu_element("Check-ins", "Check-ins",
      "%s/tkttimeline?name=%s?y=ci", g.zTop, zUuid);
  </verbatim>
  Must be
  <verbatim>
    style_submenu_element("Check-ins", "Check-ins",
      "%s/tkttimeline?name=%s&amp;y=ci", g.zTop, zUuid);
  </verbatim>


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: e5b941cb0c90ba43c17c5eedce8a60cd96d303bf
type: Code_Defect
status: Fixed
severity: Important
foundin: 745db63526
private_contact: 6984f5ff2d3f66a87d3c6ddcf777c37b54e478f0
resolution: Fixed
title: fossil sqlite3 is not working
comment:
  sqlite3.h and sqlite3.c are not from the same sqlite version.

  $ fossil sqlite3
  <br/>
  SQLite header and source version mismatch
  <br/>
  2011-06-24 11:29:51 9b191bb4c7c1e1b12b188c0b3eee1f8f587887c8
  <br/>
  2011-06-03 14:19:10 0206bc6f87bb9393218a380fc5b18039d334a8d8
  <br/>
  $

  <hr /><i>drh added on 2011-06-28 00:18:02 UTC:</i><br />
  The problem was a missing dependency in the makefiles.  It is fixed now.
  But even without the fix, you can work around the problem by doing

     make clean; make


tkt_uuid: 8114eb06cb9d8d4e8ec676cc21abda6c9c3bd87a
type: Code_Defect
status: Closed
priority: Low
severity: Minor
foundin: [0448438c56] 2011-05-28
private_contact: c97e843f081690f85b74af2f555ebcc5dd57f8be
resolution: Withdrawn
title: Can't logout or change user using fossil ui
comment:
  I create a brand new fossil repository foo.fossil, then use "fossil ui foo.fossil" to open a browser. On home page it says "Logged in as victorl".  I click on Logout and get a page that says "To log off the system (and delete your login cookie) press the following button".  I press the button, and the page is closed, but homepage still says "Logged in as victorl"

  <hr /><i>anonymous added on 2011-06-28 13:55:45 UTC:</i><br />
  Next, I create a new user and go to Logout page.  It says "You are currently logged in as victorl", and "To change your login to a different user, enter your user-id and password at the left and press the Login button". I enter the user-id and the password, press the button and the page closes.  Still, Home pages says I'm logged in as victorl.

  Next I remove all cookies.  Same result.

  <hr /><i>anonymous added on 2011-06-28 14:24:29 UTC:</i><br />
  Workaround found in the mailing list

  [fossil-users] Login/Logout while on localhost
  Jeremy Cowgar
  Wed, 09 Dec 2009 11:56:02 -0800

  In another discussion, I read:

  > i noticed a similar problem a couple days ago - it is impossible to log out
  > when connecting to a local fossil server over the localhost IP. i wanted to
  > test the anonymous captcha filler and had to log in over the IP my NIC gets
  > from my WLAN router in order to be able to log in and out. Any connections
  > over localhost were automatically my admin account, and i couldn't log out.
  > 

  If you turn on the "Require password for local access" option found under 
  Admin>Access, then you will be able to login/logout while connecting via 
  localhost.

  Jeremy


tkt_uuid: 5982aa506467d6acd1f426b10ce3eab14e7e79ac
type: Code_Defect
status: Fixed
severity: Important
foundin: [32ad9a1584]
private_contact: 5e4b94f2022a3718674d2037a39dd914dce7cdba
resolution: Fixed
title: Malformed manifest error when committing non-ascii-named files
comment:
  Problem is actual since check-in [32ad9a1584] after closing ticket [3f0216560679fd41]. When using only ascii (ansi) names all's ok.

  How to reproduce:
  <verbatim>
  $ fossil new local.fossil
  project-id: 6ebb7aa8bba00a717242424eb34e5210a90e3551
  server-id:  1f0d2c5e79252d625ddd9db92be893702b4e394a
  admin-user: flanker (initial password is "******")
  $ fossil open local.fossil
  $ fossil add "Приложение 3.doc"
  ADDED  Приложение 3.doc
  $ fossil commit -m "test"
  New_Version: d709fe4fa6e2e544ccdc170bce9ee7025273ce95
  $ fossil add 123.txt 
  ADDED  123.txt
  $ fossil commit -m "test2"
  New_Version: 8f10304d006b7c39d9ed422985a67604863a4290
  fossil: manifest file (5) is malformed
  </verbatim>

  The most sensitive change in this check-in was:
  <verbatim>
  +int fossil_strcmp(const char *zA, const char *zB){
  +  if( zA==0 ){
  +    if( zB==0 ) return 0;
  +    return -1;
  +  }else if( zB==0 ){
  +    return +1;
  +  }else{
  +    int a, b;
  +    do{
  +      a = *zA++;
  +      b = *zB++;
  +    }while( a==b && a!=0 );
  +    return a - b;
     }
   }
  </verbatim>

  Author said that this function can compare strings without considering locale. Maybe problem is here.


tkt_uuid: 9a64ad5d8f35047056d146826d88584753d17c94
type: Code_Defect
status: Fixed
severity: Critical
foundin: [0448438c56] 2011-05-28 18:51:22 UTC
private_contact: 5385150ae9b30a8416ec6409a2d3e76c86a2f439
resolution: Duplicate
title: Fossil new version doesn't understand utf-8 characters for filenames
comment:
  I recently upgraded my fossil for the new version, and i've lost almost a year of code, restoring backups i've came back to the previos version and created a new repository with the new version, and got the an error when adding the files, the error follows:
  malformed header.

  it happens when you try to add a utf-8 filename to the repository, like é á $ í or anything-else.
  because that error I almost changed to git, but the export system is for the new version, and the new version is droping my code out.

  <hr /><i>anonymous added on 2011-06-30 03:29:15 UTC:</i><br />
  Already fixed in [f23e90da8a].


tkt_uuid: fc825dcf52c4932a38138101b2a9899ce3c0fbc3
type: Code_Defect
status: Fixed
severity: Important
foundin: any
private_contact: ddae85699df0ae84ab8e0a6a6dacf72bab6d4a7a
resolution: Fixed
title: "config pull all" asks to approve ssl cert
comment:
  I have a repo on an https: address which uses a self-signed certificate.

  When I do a "fossil config pull all", fossil asks if I want to accept the certificate (even though I've already accepted it (and "fossil pull" works fine).  I get this every time I do a config pull.


tkt_uuid: fc0838fc72f079d2033ae32aba72cdf3c5e30bb9
type: Documentation
status: Closed
severity: Cosmetic
private_contact: c97e843f081690f85b74af2f555ebcc5dd57f8be
resolution: Fixed
title: Trivial typo in help text
comment:
  <verbatim>
  C:\Users\victorl>fossil help deconstruc
  Usage C:\Users\victorl\fossil.exe deconstruct ?OPTIONS? DESTIONATION
                                                              ^^^^
  </verbatim>

  <hr /><i>bharder added on 2011-06-30 17:42:06 UTC:</i><br />
  Fixed w/ [e50813e19b5adaaf]


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: f358c9fdbfb796e44fa3d7eace9b6f8669d72c9b
type: Feature_Request
status: Open
severity: Important
foundin: all
private_contact: e16bca9376b716bf489a593de88e7b2760905520
title: Read a list of files to act on from a file
comment:
  The Windows command line has a max length of 8191 characters. If one wants to provide a list of individual files to fossil commands which exeeds this limit, the command fails. This is not a bug in fossil but in Windows. 

  Nevertheless it affects working with fossil. Today I wanted to check in a huge list of automatically generated files without checking in other changes of the project with the same commit. Unfortunately the command line exceeded the Windows limit and fossil stopped the operation with the comment that it doesn't know anything about file xyz (the filename was cut in the middle).

  It isn't possible to commit only a specific subdirectory of a project (If you use a directory name as file argument for commit it again complains about knowing nothing about the directory, which I understand, because the directory is not an artifact).

  Changing into a subdirectory and issuing the fossil commit from there doesn't help either. Anything which has changed in the project is committed.

  The workarounds for this are to commit all other chages first and then commit the remaining files at once with a fossil commit without file names or to split the huge list into chunks with less than 8191 characters. The second would generate multiple entries for a commit which should be one and the first somehow interfers with the workflow.

  The probably best way to handle it would be an additional commandline switch to use a file containing the list of files which should be handled by the fossil commands.


tkt_uuid: 675f36eac4902cfb5b4602059281e19adedce4b1
type: Code_Defect
status: Fixed
severity: Important
foundin: e50813e19b5adaafc8c58716586ddcf5d9720272
private_contact: e1a76b04ade74efe2373e16e03024d160f2f960a
resolution: Fixed
title: "/doc/ckout" doesn't work under chroot
comment:
  "/doc/ckout" fails when running under forced chroot (because fossil is running as root). Failure happens inside doc_page, when trying to do db_open_local --> thus "ckout" is always converted to "tip" instead.

  db_open_local fails because file_getcwd (which is just a wrapper for getcwd) always return "/" under chroot, thus db_open_local cannot locate the _FOSSIL_ database.

  Observed when running fossil as root, using "fossil server" command from within a checkout directory, from the versions available on the official download page (May 28 and May 23), as well as latest version as of today - the bug probably originates much earlier. 

  Workaround:
  If I disabled enter_chroot_jail (by returning zRepo immediately) - ckout works.

  cheers!


tkt_uuid: 4060715d461650592727162777797ace6fb83d7b
type: Feature_Request
status: Open
severity: Minor
private_contact: b0d539d482373c5e82293a809870b429a9a7db56
resolution: Open
title: Implement FastCGI interface
comment:
  Running Fossil as a standalone service is often undesirable and running it using CGI can also cause performance, security or configuration issues. I suggest implementing [http://www.fastcgi.com/|FastCGI interface] (see also [http://en.wikipedia.org/wiki/FastCGI|the Wikipedia article] for overview). It is supported by majority of todays web servers, it is efficient and easy to implement. I suppose that modifying Fossil standalone web server to implement FastCGI interface could be quite easy using [http://www.fastcgi.com/drupal/node/5|FastCGI devkit] and it would be quite nice complement to <i>server</i> and <i>cgi</i> commands.

  There has been a discussion concerning [http://www.mail-archive.com/fossil-users@lists.fossil-scm.org/msg02068.html|SCGI] and also a [http://www.mail-archive.com/fossil-users@lists.fossil-scm.org/msg00194.html|question about FastCGI] on the mailing list, but AFAIK without a definite conclusion.

  If it is difficult to implement for some reason, please add a notice into FAQ or somewhere else in the documentation. Thanks.

  <hr /><i>stephan added on 2011-09-14 18:13:47 UTC:</i><br />
  Just some random notes:

  - FastCGI requires the global use of FastCGI drop-in replacements for read/write calls. ALL code using the fread/fwrite/and friends APIs must use the FastCGI replacements.

  - The FastCGI wrapper for fwrite() has a broken type signature, possibly requiring a kludge in the client code:

  #  define FWRITE(p, s, n, f) FCGI_fwrite((void *)p, s, n, f)

  FCGI_fwrite() is defined to take a _non-const_ pointer as the src memory address, which is incompatible with fwrite() and breaks code which references fwrite via function pointer.

  Additionally, FastCGI requires per-app-run state, which fossil's architecture cannot handle (it makes heavy use of global state). That said, DRH once suggested the fork()ing each instance as a workaround. The cost of fork()ing _might_, however, be as high as _not_ using FastCGI.


  <hr /><i>lrem added on 2011-11-19 13:32:54 UTC:</i><br />
  Apart from being somewhat intrusive, usage of FastCGI devkit would require its authors to submit the copyright releases (which, I don't know why, I feel to be unlikely).

  While I've always been happy with FastCGI, I don't feel it's actually needed for Fossil. It seems to be efficient enough to use a proxy pass to a standalone Fossil server.

  <hr /><i>drh added on 2011-11-25 15:31:22 UTC:</i><br />
  A reasonable implementation of FastCGI for Fossil would be:

    1.  Capture the FastCGI parameters and query content
    2.  Write the query parameters and content into a temporary file
        formatted as a normal HTTP request
    3.  Use fossil_system() to recursively invoke Fossil to process
        the generated HTTP request, writing the results into another
        temporary file.
    4.  Read back the reply out of the second temporary file
    5.  Reformat and send the reply back to the FastCGI requestor
    6.  Delete the two temporary files.

  The above is basically the procedure used to implement the "ui" and
  "server" commands for windows, as shown in the
  win32_process_one_http_request() function in the winhttp.c source file.  The
  main difference is that in the case of the "ui" and "server" commands,
  the incoming request is already a valid HTTP request and does not need
  to be translated as it is moved in and out of the temporary
  files.  So, in other words, a Fossil FastCGI implementation would basically
  be the same as the windows ui/server implementation with some extra
  coding and decoding logic thrown in.

  Note that the above implementation is completely isolated and does
  not require any changes to any existing parts of Fossil.  One has
  merely to add a new "fastcgi.c" source file that implements the above.
  All of the FastCGI decoding and translation and protocol handling would
  be contained entirely in that one source file.

  I think the only reason for wanting to support FastCGI is so that you
  can run Fossil more easily using nginx.  FastCGI won't be any more efficient.
  In fact, if you consider the extra encoding and decoding logic that has
  to run, FastCGI will probably be less efficient than simply configuring
  nginx to relay requests to a running Fossil "server" instance.



  <hr /><i>jeremy_c added on 2011-11-26 15:45:25 UTC:</i><br />
  I think the SCGI may be a viable alternative as well? SCGI as of the last few years has gained much popularity while FastCGI seems to have dwindled in popularity. SCGI is a simpler protocol and from my experience has more web server support than FastCGI.


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: f24f11f538a60e39f10eea22491567bb7d3f69d8
type: Feature_Request
status: Open
severity: Minor
foundin: [35ecc92b69]
resolution: Open
title: --name-only option in fossil diff
comment:
  A --name-only (or -q) option to fossil diff command will be useful to get only the names  of files changed / added / removed between two tags.

  <hr /><i>drh added on 2011-07-12 00:07:42 UTC:</i><br />
  How is that any different from the "fossil changes" command?

  <hr /><i>altufaltu added on 2011-07-13 01:25:52 UTC:</i><br />
  Does fossil changes take --from/--to arguments (like diff command) to list files changed between two revisions/tags? I don't see that in help message.

  I think this command operates only on checkout.


tkt_uuid: d9040c134bf41bdaa6344073a4d9368cf90f92c9
type: Code_Defect
status: Fixed
severity: Minor
private_contact: ed685438f367f4147cdb8507d634250f1fbc14d6
resolution: Fixed
title: Export wiki pages in Windows
comment:
  When export wiki pages to file in Windows symbols "\r\n" replaces on "\r\r\n".
  Perhaps need open file for export in "wb" mode, not "w" ?


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: 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: bcd3cdebf287987406eebfdafe62badfb51d6392
type: Incident
status: Fixed
severity: Minor
foundin: 1.18 [06e9ca23e7] 2011-07-18 20:04:34 UTC
resolution: Fixed
title: Fossil insists on using the same username during cloning
comment:
  Fossil keeps on using the same username (from my user profile) even though I specified a different one to use during cloning a repo:

  <verbatim>
  D:\ARNEL\projs\h3x
  $ fossil clone test.fossil h3x.fossil -A acl
  Repository cloned into h3x.fossil
  Rebuilding repository meta-data...
    100.0% complete...
  project-id: ddc3c316878802432631ac6922beb4d1ab1f6e4e
  server-id:  dc0168e957f0d9017b8af58800e3ce08fa7297cc
  admin-user: Arnel (password is "c9bf99")

  D:\ARNEL\projs\h3x
  $ fossil clone test.fossil h3x.fossil --admin-user acl
  Repository cloned into h3x.fossil
  Rebuilding repository meta-data...
    100.0% complete...
  project-id: ddc3c316878802432631ac6922beb4d1ab1f6e4e
  server-id:  67d12c281cae1539d60ce569b4b6c2cc07fe5707
  admin-user: Arnel (password is "c9bf99")

  D:\ARNEL\projs\h3x
  $ fossil clone test.fossil h3x.fossil -A "acl"
  Repository cloned into h3x.fossil
  Rebuilding repository meta-data...
    100.0% complete...
  project-id: ddc3c316878802432631ac6922beb4d1ab1f6e4e
  server-id:  a49c69b4fa7212825286025f69d3465fedd02d8f
  admin-user: Arnel (password is "c9bf99")
  </verbatim>

  <hr /><i>anonymous claiming to be Arnel added on 2011-07-19 18:17:34 UTC:</i><br />
  Edited the title for clarity.


tkt_uuid: 5947ace466c571d55fb49ffbc7e1b65d3fd300d7
type: Build_Problem
status: Fixed
severity: Cosmetic
foundin: 1.19 [4adc11edb7]
private_contact: 21a77b59726532a584297d2c90634b2ba5fe10be
resolution: Fixed
title: Target "realclean" in Windows makefile misses an executable
comment:
  The 'realclean' target in file win\Makefile.msc erroneously tries to delete "version$E" instead of "mkversion$E" (didn't review the Mingw makefile, might have the same problem).


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: ad56e8db1e94f8352646e9b9fdd6455c27e373bf
type: Feature_Request
status: Open
priority: High
severity: Important
foundin: 1.18
private_contact: a7b2d8b6ab30c3903287a3262d14a0ed2a82ef5a
resolution: Open
title: Windows Activity Directory Integration
comment:
  I'd like to introduce Fossil to be the new DVCS into IT department of Huawei (http://www.huawei.com). Most of IT applications in the intranet of Huawei use Windows Activity Directory to authentication. Without the support on Windows Activity Directory, it will be very hard to implement the transform.
  I strongly suggest put this request as a high priority task in the to-do list. :)

  <hr /><i>ben added on 2011-07-21 12:03:27 UTC:</i><br />
  One simple way of implementing this:

  Fossil is set to use delegated authentication. This requires a shared secret and an "authentication URL". When a user asks to log on, fossil redirects to that authentication URL.

  In this case, it'd be a script running on a Windows IIS server, which uses "Integrated Windows Authentication" to authenticate the user. If a user authenticates successfully, it SHA1-HMAC signs the username and current time with a shared secret, then redirects the user back to the fossil server.

  The fossil server checks the signature is correct, the time is within a few seconds of the current time, and if so, logs the user on.



  <hr /><i>anonymous added on 2011-07-22 09:24:36 UTC:</i><br />
  Thanks for your suggestion. But I do not know where to find the configuration of fossil to support authentication delegate in [fossilbook.pdf].

  <hr /><i>anonymous added on 2011-07-25 09:04:17 UTC:</i><br />
  Google "Sample SSPI Code" to implement doamin user authentication under Windows.


tkt_uuid: f3e3caed6162baf641626f88c27e846f9783f5b7
type: Code_Defect
status: Open
severity: Minor
foundin: 1.18
private_contact: 8d4a206846568eca9e5dad90d8b0c2a9cf680333
resolution: Open
title: Markup not interpreted in file history
comment:
  See for example [http://www.fossil-scm.org/index.html/finfo?name=src/branch.c] and scroll down to 2011-02-02. Bold markup is shown as raw text. Timeline is OK.


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: 45d4c64a2363049dc38739f93b9ef649319a8be8
type: Feature_Request
status: Open
title: show ticket statistics
comment:
  what about having a ticket created vs ticket resolved chart and other useful statistics like on i.e. http://jira.codehaus.org/browse/JRUBY

  looking forward for that

  thanks


tkt_uuid: be95038383b3b21eac12c6caab54c8f4977e54c0
type: Code_Defect
status: Closed
severity: Important
foundin: 1.18
private_contact: 1d6cb52720d1f4a804829c111ca918c4a125bf0b
resolution: Duplicate
title: Fossil generates invalid markup...
comment:
  Look at: http://validator.w3.org/check?uri=fossil-scm.org

  <hr /><i>dmitry added on 2011-09-10 21:07:46 UTC:</i><br />
  Duplicate with patch [5ff2043c96].


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: acc4d41ed861c4419a4312bb00dfbb5afe5e12bf
type: Code_Defect
status: Closed
severity: Important
foundin: 303dd442fe
private_contact: ddae85699df0ae84ab8e0a6a6dacf72bab6d4a7a
resolution: Not_A_Bug
title: RSS feed over https is 'invalid'
comment:
  Attempting to add an RSS feed to my fossil repo which is under SSL (with a self-signed cert) fails in Thunderbird with "invalid feed".  I don't know what that means, exactly; my other fossil repos which are not under SSL work fine.

  <hr /><i>dmitry added on 2011-08-25 12:36:36 UTC:</i><br />
  I cannot reproduce exactly this, but Thunderbird shows me an error "feed uses invalid security certificate" for self-signed certs: http://i.imgur.com/FIEQ8.png. Such certificates should be used with caution, and rejecting self-signed feeds by default is a good thing to do for average users.

  If I add the feed https://www.fossil-scm.org/index.html/timeline.rss into OS X Mail, it does the same: "The certificate for this server is invalid. You might be connecting to a server that is pretending to be “www.fossil-scm.org” which could put your confidential information at risk.".

  However, feeds delivered via HTTPS with CA-signed certificates work well (example: https://codingrobots.org/qlfossil/timeline.rss).

  I suggest you to get a CA-signed certificate (http://www.startssl.com gives them for free -- I use their certificate on my website without problems), or find a way to enable self-signed certs in Thunderbird.

  <hr /><i>lrem added on 2011-08-26 15:08:57 UTC:</i><br />
  As explained by <em>dmitry</em>, this is not a Fossil bug. But as described in [109ae2e904], the RSS feed can in fact be invalid.


tkt_uuid: 4cec2370f1910f78256f80ac6a7e4461f047056c
type: Code_Defect
status: Open
severity: Cosmetic
foundin: b968f023a88a6
private_contact: 2f102b33d8f807336292e56ff47c6c59de4876c0
resolution: Open
title: Typo?
comment:
  <pre>
  --- src/update.c
  +++ src/update.c
  @@ -577,11 +577,11 @@
       zFile = db_column_text(&q, 0);
       zFull = mprintf("%/%/", g.zLocalRoot, zFile);
       errCode = historical_version_of_file(zRevision, zFile, &record, &isExe,2);
       if( errCode==2 ){
         if( db_int(0, "SELECT rid FROM vfile WHERE pathname=%Q", zFile)==0 ){
  -        fossil_print("UNMANAGE: %s\n", zFile);
  +        fossil_print("UNMANAGED: %s\n", zFile);
         }else{
           undo_save(zFile);
           file_delete(zFull);
           fossil_print("DELETE: %s\n", zFile);
         }

  </pre>

  <hr /><i>drh added on 2011-08-11 01:24:21 UTC:</i><br />
  I don't know if this is wrong or not.  What it is saying is "I am going to stop
  managing this file now."   Not "this file has not been managed previously".
  So I think "UNMANAGE:" without the final D is right.


  <hr /><i>bharder added on 2011-08-11 06:14:40 UTC:</i><br />
  The scenario when I encountered this was:
  I had temporarily nuked part of my source tree; I knew I'd be able to recover it, so <tt>rm -fr ./fu/bar/subdir</tt>. Now, when I tried restoring it, what I did was <tt>fossil chan | grep MISSING | awk '{print "fossil revert "$2}' | sh</tt> (roughly). The missing files were displayed as <tt>fu/bar/subdir/file.a</tt>, for example, but I wasn't in the toplevel dir when trying to restore them; lets say I was in ./fu. I'd be trying to restore <tt>./fu/fu/bar/subdir/file.a</tt>. I was initially shocked when I saw lines of <tt>UNMANAGE: ...</tt>. It looked to me like it was a verb.

  I'm not sure my "D" patch wouldn't be interpretted similarly if the error said "UNMANAGED: " ("oh my, these files are now unmanaged!"), but when I wrote this ticket, it seemed like a better idea. I think there may be room for improvement over both cases, upon reflection. Are we limiting ourselves to a single-word description?

  I'll leave this open for now, in case there are more comments. This seems like a really, really small deal on one hand, but I think may be able to improve the user-experience, which is always a good thing.

  <hr /><i>bharder added on 2011-08-11 06:22:54 UTC:</i><br />
  Rereading your comment drh, I think that the way I'm interpreting "manage" is "this was part of the repo; I'm now ceasing to recognize it as such: I'm unmanaging this file.", which isn't what's really happening. "Manage" is a loaded word; I'd almost rather see ENOTMANAGED (to borrow C inspired error codes). In fact, for the case I described, ENOSUCHFILE would have been more appropriate.


tkt_uuid: bc0d0f5642eaf9b2184ebed79ea218301770a2e7
type: Code_Defect
status: Open
severity: Important
foundin: df9da91ba8
private_contact: 7fc919d435f1811d4661bfce7f21478020a21a5a
resolution: Open
title: Communication failure does not lead to exit(EXIT_FAILURE)
comment:
  [http://www.mail-archive.com/fossil-users@lists.fossil-scm.org/msg05416.html|Reported on the mailing list] together with an example of why that's bad...

  <hr /><i>martin.weber added on 2011-08-17 02:20:43 UTC:</i><br />
  ISTM (by looking at src/http_transport.c) that errors from the communication on either level (http; socket) will not get propagated to the state (struct state in the given file); and as the functions that are doing the (http transport) work do not return a status indicator whether or not operations worked (returning void instead of int, ssize_t or the like) the caller won't know. 

  For error handling, there is access to the error code / message on the socket layer, but aside from "not having a socket open" no error state gets propagated to the http/transport code layer AFAICS.

  client_sync() still returns the amount of errors that have accumulated during attempting the sync (with not having a socket connection being one of the potential errors), but the return value from it is being ignored in callers pull/push/sync_cmd. So the path to fixing this problem would be to start paying attention what client_sync() actually is returning...


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: d94b0934861d970a5a0868a9c0962befab60c98d
type: Feature_Request
status: Fixed
severity: Minor
foundin: 1.18
private_contact: 05f652db744266759b20d248ec2f451629420388
resolution: Fixed
title: Show events for edited user field in user's timeline
comment:
  Currently timeline with u=<i>username</i> argument doesn't show events for which "edited user" has been set to the requested <i>username</i>.

  <h3>Example:</h3>

  I mistakenly commited [c57830bec2] under username "dchest", while my real username here is "dmitry". I then edited username for this commit, it now shows:

  <b>Edited user:</b> dmitry<br>
  <b>Original user:</b> dchest

  However, timeline for "dmitry" doesn't show this commit:

  [http://www.fossil-scm.org/index.html/timeline?u=dmitry]

  It's correctly listed under "dchest", though:

  [http://www.fossil-scm.org/index.html/timeline?u=dchest]

  I propose listing such events in timelines for both original and edited users:

  <verbatim>

  --- src/timeline.c
  +++ src/timeline.c
  @@ -1081,11 +1081,11 @@
         }else if( zType[0]=='e' ){
           zEType = "event";
         }
       }
       if( zUser ){
  -      blob_appendf(&sql, " AND event.user=%Q", zUser);
  +      blob_appendf(&sql, " AND (event.user=%Q OR event.euser=%Q)", zUser, zUser);
         url_add_parameter(&url, "u", zUser);
         zThisUser = zUser;
       }
       if ( zSearch ){
         blob_appendf(&sql,
  </verbatim>

  <hr /><i>martin.weber added on 2011-08-23 01:36:42 UTC:</i><br />
  same happened to me; drh suggested the same change (for a test run locally, which I haven't done yet). I'm also augmenting checkin.wiki right now to remind people of fossil user default / the localauth setting.

  <hr /><i>dmitry added on 2011-08-23 01:36:52 UTC:</i><br />
  Found out that this is a duplicate of ticket [fca5ce18c07c29].


tkt_uuid: ee9243c5c77572b490093937c3b0d8041c9a60f4
type: Code_Defect
status: Open
severity: Minor
foundin: 1.18
private_contact: d38fef6d436c103985ac22b73ebb173fb648156c
title: fossil update -n clutters checkout on failed merge
comment:
  (as reported by Marty Backe)
  <blockquote>
  For files that have a merge conflict, the 'baseline', 'original', and
  'merge' files get created on my local file system. All other files that
  would get updated do not get updated (the expected result with the -n
  option).
  </blockquote>

  Either those files shouldn't be created for -n, or, if they are a necessity, be deleted afterwards. I agree with Marty that the state of the checkout should be the same before and after fossil update -n.


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: 953031915f4ccf471f2fdb68fa840447090ee1be
type: Code_Defect
status: Fixed
foundin: 1.18
resolution: Fixed
title: Lack of warning when overwriting extra files
comment:
  If I have an file <code>a.txt</code> in my checkout, and I run "fossil update" and the update adds the <code>a.txt</code>, fossil silently overwrites my original <code>a.txt</code>.

  There is no fossil undo that can roll back this operation.

  <hr /><i>drh added on 2011-08-30 14:09:06 UTC:</i><br />
  I tried this with the latest code on trunk.  "fossil undo" restored the
  prior content of the file that was updated by the "fossil update".  So this
  problem appears to have already been fixed.

  <hr /><i>viriketo added on 2011-08-30 16:35:45 UTC:</i><br />
  Shouldn't fossil emit a warning at least, though?

  I did not try the 'undo' - I assumed it would not work. :)


tkt_uuid: 4df5f38f1e564d2970c269bf5ea1d2aec5173dc9
type: Feature_Request
status: Review
foundin: 1.18
resolution: Rejected
title: Troubles merging a file delete with a file change
comment:
  I have a branch where I have modified <code>a.cpp</code>. If in trunk someone deleted that file, and I run <code>fossil update trunk</code>, fossil will silently merge the branch modifications and the trunk delete silently into a file delete.

  Fossil should report this as a conflict.

  <hr /><i>drh added on 2011-08-30 14:22:37 UTC:</i><br />
  Whether or not this should be reported as a conflict is a matter of
  opinion.  Technically, whenever two people make any changes to a file
  in parallel, the resulting merge is a conflict.  We <i>choose</i> not
  to report conflicts that can be cleanly joined together.  For example,
  we choose not to report conflicts when the two edits are in different
  parts of the same file.  Just because two edits happen to merge together
  cleanly and without overlap does not mean that the resulting code will
  still run, after all.

  Even edits in separate files are potentially a conflict, since while both
  edits might work fine separately, their combination might make the software
  fail.  So, technically, any parallel change to the project is a conflict.
  But we choose not to make a big deal out of most of these conflicts since
  most of the time they are benign.

  The tricky part in a merge algorithm is to identify and announce conflicts
  that are likely to require programmer intervention and resolution, versus
  conflicts that the software is probably able to deal with itself. You don't
  want to announce too many conflicts, because - as with the boy who cried
  "Wolf!" - users quickly develop conflict-fatigue and end up ignoring real
  problems.

  In the case of an edit/delete conflict, the software currently thinks 
  it can deal with that itself.  If you want to disagree, then give us
  some specific cases where that policy causes issues and argue your case.
  In the absence of a more compelling rationale, I don't think this complaint
  warrants any changes to the current merge logic.


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: 666072edfcdb33172e5f4724ff5e14da4d7099b5
type: Feature_Request
status: Open
foundin: 1.18
title: Add a UI view of file history from a checkin, backwards in time
comment:
  Now we have the finfo page, that shows all the history related to a path. That can have lots of unuseful information, if we want to know the history that brought a file its state in a given checkin.

  I think that we should have a page that takes 'checkin' and 'path' as parameters, and shows something like the 'finfo' page, but traversing only parents of the 'checkin'. We could have links to this page in the same places we have links to 'annotate'.

  Is there anything like that ready that I've missed?


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: 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: b64435dba9cceb709bd54fbc5883884d73f93491
type: Feature_Request
status: Closed
severity: Critical
private_contact: f5490989678d6f2e65f1273b6b2da3228454b23b
resolution: Works_As_Designed
title: How to checkout a folder, but all of the files in repository?
comment:
  I've got a huge repository and I don't want all of the files, but only some of them. How can I do with it?

  <hr /><i>stephan added on 2011-09-20 09:35:22 UTC:</i><br />
  Fossil cannot do a partial checkout of a repo - it's all or nothing. In order to check out a copy you must have the repo opened, and opening it will already check out all files for the opened branch (default=trunk).

  <hr /><i>lrem added on 2011-11-18 00:01:26 UTC:</i><br />
  Closing, seems that stephan forgot to. Fossil (at least for now) is supposed to deal with autonomous and integral projects. This request is out of scope.


tkt_uuid: fd7ad198e58e6f63fabdb79c48d417ea925b7664
type: Code_Defect
status: Open
severity: Important
foundin: 1.19 [080d27a6b2] 2011-10-05 08:00:00 UTC
private_contact: 799fcce709e3f04aa96834caec7945b22b8b6a57
resolution: Open
title: out of memory (can't allocate region)
comment:
  I can't sync on Mac OS X Lion. sync crash with out of memory message.

  <pre>
  gdb --args /Users/navratil/src/fossil/fossil sync
  GNU gdb 6.3.50-20050815 (Apple version gdb-1705) (Fri Jul  1 10:50:06 UTC 2011)
  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 "x86_64-apple-darwin"...Reading symbols for shared libraries ...... done

  (gdb) break malloc_error_break                                                                                                                                              
  Breakpoint 1 at 0x7fff8a1986c0
  (gdb) run                     
  Starting program: /Users/navratil/src/fossil/fossil sync
  /Users/navratil/src/fossil/fossil: 5 scan steps for 1 rows in [SELECT 1 FROM main.sqlite_master WHERE name=='stashfile' AND sql GLOB '* isLink *']
  /Users/navratil/src/fossil/fossil: 5 scan steps for 1 rows in [SELECT 1 FROM main.sqlite_master WHERE name=='stashfile']
  /Users/navratil/src/fossil/fossil: 5 scan steps for 1 rows in [SELECT 1 FROM main.sqlite_master WHERE name=='undo' AND sql GLOB '* isLink *']
  /Users/navratil/src/fossil/fossil: 5 scan steps for 1 rows in [SELECT 1 FROM main.sqlite_master WHERE name=='undo']
  /Users/navratil/src/fossil/fossil: 5 scan steps for 1 rows in [SELECT 1 FROM main.sqlite_master WHERE name=='undo_vfile' AND sql GLOB '* islink *']
  /Users/navratil/src/fossil/fossil: 5 scan steps for 1 rows in [SELECT 1 FROM main.sqlite_master WHERE name=='undo_vfile']
  Server:    http://navratil@192.168.1.249:8098
                  Bytes      Cards  Artifacts     Deltas
  Sent:             648         12          0          0
  Received:         898         11          0          1
  Total network traffic: 576 bytes sent, 712 bytes received
  fossil(78531) malloc: *** mmap(size=18446744067267100672) failed (error code=12)
  *** error: can't allocate region
  *** set a breakpoint in malloc_error_break to debug

  Breakpoint 1, 0x00007fff8a1986c0 in malloc_error_break ()


  (gdb) bt
  #0  0x00007fff8a1986c0 in malloc_error_break ()
  #1  0x00007fff8a15b477 in szone_error ()
  #2  0x00007fff8a15d404 in allocate_pages ()
  #3  0x00007fff8a15dba4 in large_malloc ()
  #4  0x00007fff8a163dee in szone_malloc_should_clear ()
  #5  0x00007fff8a164972 in szone_realloc ()
  #6  0x00007fff8a198243 in malloc_zone_realloc ()
  #7  0x00007fff8a199032 in realloc ()
  #8  0x000000010002e59e in fossil_realloc (p=Cannot access memory at address 0x0
  ) at main_.c:510
  #9  0x000000010000f79e in content_get (rid=1606416160, pBlob=0x7fff5fbff720) at content_.c:275
  #10 0x000000010005222f in verify_rid [inlined] () at /Users/navratil/src/fossil/bld/verify_.c:48
  #11 0x000000010005222f in verify_at_commit () at verify_.c:79
  #12 0x0000000100011262 in db_end_transaction (rollbackFlag=8) at db_.c:142
  #13 0x000000010005afb1 in client_sync (pushFlag=1606417040, pullFlag=1606417040, cloneFlag=1606417040, 
  privateFlag=1606417040, configRcvMask=1606417040, configSendMask=1606417040) at xfer_.c:1728
  #14 0x0000000100044ad4 in sync_cmd () at sync_.c:233
  #15 0x000000010002be07 in main (argc=1606417602, argv=0x7fff5fbffcc2) at main_.c:378
  </pre>

  <hr /><i>drh added on 2011-10-10 11:44:14 UTC:</i><br />
  Nobody else has so far been able to replicate this problem.

  <hr /><i>navratil added on 2012-04-06 13:58:19 UTC:</i><br />
  I still have this problem. What I can add to hte ticket, that this problem can be reproducible?

  <pre>
  fossil version
  This is fossil version 1.22 [82f5663270] 2012-03-31 19:15:36 UTC

  fossil sync
  Server:    http://navratil@xxxxxxxxxx
                  Bytes      Cards  Artifacts     Deltas
  Sent:            3638         77          0          0
  Received:        4140         78          0          1
  Sent:            3715         78          0          0
  Received:        4340         79          2          0
  Total network traffic: 4461 bytes sent, 4911 bytes received
  fossil(27670) malloc: *** mmap(size=18446744067267100672) failed (error code=12)
  *** error: can't allocate region
  *** set a breakpoint in malloc_error_break to debug
  fossil: out of memory
  </pre>

  <hr /><i>stephan added on 2012-08-29 09:18:23 UTC:</i><br />
  How many checkins does that repo have?

  in content_get (rid=1606416160, pBlob=0x7fff5fbff720) at content_.c:275

  that rid seems _extremely_ high and (coincidentally???) the high bits match the masks being passed in the client_sync() call. The rids are sequentially-generated, which implies that either this repo has over a billion artifacts or that there is an overflow/underflow happening somewhere.


  sqlite3 ../fossil.fsl 
  sqlite> select max(rid) from blob;
  16854
  sqlite> select count(rid) from blob;
  16854


tkt_uuid: 61e137bfd734ab61f777cb3c0fb662cfa82bd67f
type: Code_Defect
status: Open
severity: Important
foundin: 6517b5c857
private_contact: a7ec239b1a3401c4229e18dead1ea4225e287fb9
title: Incorrect relative paths
comment:
  In windows, if local-root (local checkout) is at root of a drive, 'status' command when run from root shows additional '../' in file names, which is incorrect.

  Recipe:
  <verbatim>
  cd /d d:
  fossil new test.fossil
  fossil open test.fossil
  echo root > root.txt
  mkdir dir
  echo subdir > dir/subdir.txt
  fossil add root.txt dir/subdir.txt
  fossil commit -m "test"
  echo changed > root.txt
  echo changed > dir/subdir.txt
  fossil status
  </verbatim>

  The output shows:
  <verbatim>
  repository:   d:/test.fossil
  local-root:   d:/
  ...
  EDITED     ../dir/subdir.txt
  EDITED     ../root.txt
  </verbatim>


tkt_uuid: e5999e25eedeb7809939a93306ba26c6a4b7dbf2
type: Code_Defect
status: Closed
severity: Important
foundin: 1.20
private_contact: 277de4eda861e8a6d011b60d4006a963a4c7c474
resolution: Fixed
title: side by side diffs on ci page when not logged in behave as unified diffs
comment:
  When accessing a check-in details via a timeline rss feed, and being not logged in (thus, inheriting privileges of <tt>nobody</tt>, it is still possible to click on the “unified diff” or “side-by-side diff” buttons.

  Yet, both pages generated are unified diffs.

  <hr /><i>jan added on 2011-10-19 08:11:38 UTC:</i><br />
  I'll look at this later today.

  <hr /><i>jan added on 2011-10-19 19:02:47 UTC:</i><br />
  Should be fixed -- please confirm.

  <hr /><i>mortgat added on 2011-10-20 07:39:58 UTC:</i><br />
  it works well. thank you.


tkt_uuid: 60211effbd2c6e3f823b4fadbbe9b29e1cc12a10
type: Code_Defect
status: Open
severity: Minor
foundin: 1.19 [080d27a6b2]
private_contact: 799fcce709e3f04aa96834caec7945b22b8b6a57
resolution: Open
title: fossil mv nonexistentfile newfilename
comment:
  I did by mistake
  <pre>
  fossil mv nonexistentfile newfilename
  </pre>
  and fossil didn't complained about renaming nonexistent file. 

  I expect, that fossil will refuse that command.

  <hr /><i>dmitry added on 2011-10-24 18:15:59 UTC:</i><br />
  I think leaving it as is, issuing a warning, or asking a user to confirm the action instead of failing is better, because I sometimes first do

  <verbatim>
  mv file renamedfile
  </verbatim>

  and then remember to mv it in Fossil:

  <verbatim>
  fossil mv file renamedfile
  </verbatim>

  If Fossil didn't allow this, I'd have to rename the file back to the original name, then do `fossil mv`, and rename it again.


tkt_uuid: 620506c3b211ff839d11230a6e2a31128de94bf4
type: Feature_Request
status: Closed
severity: Important
foundin: 1.20
private_contact: b3f3f0eaabcdc34f384a64b35b934859bb811f9e
resolution: Rejected
title: Need a "read only my tickets" permission
comment:
  There should be an option to give users a way to add tickets and then read <em>only their own tickets</em>. This is useful if we want the users isolated. For now it seems that it is possible to let user add tickets and not read any. But then he can't see any response to the problem he reported.


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: 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: 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: 5a855f1bc6351f50e9686ca3b95553135fb30fef
type: Code_Defect
status: Closed
severity: Important
foundin: 8a8685d103
private_contact: 2f102b33d8f807336292e56ff47c6c59de4876c0
resolution: Fixed
title: "changes", "diff" not properly reporting.
comment:
  [8a8685d103] and [058e287edb] both exhibit this issue.

  [058e287edb] On merge, "fossil chan" properly displays changed files (2 files). "fossil revert ./onefile", and "fossil chan" displays no files. "fossil diff" displays no files.

  [8a8685d103] On merge, (no "revert" applied), neither "fossil chan" nor "fossil diff" report what's expected.

  <hr /><i>bharder added on 2012-01-06 05:06:00 UTC:</i><br />
  This buggy behaviour began at [b9227b85cb|status improvements].

  <hr /><i>bharder added on 2012-01-06 06:30:34 UTC:</i><br />
  See [d7ff893259] for branch w/ offending code removed (wholesale). Will need to be reviewed/replaced.

  <hr /><i>drh added on 2012-01-08 20:18:48 UTC:</i><br />
  The [b9227b85cb|status improvements] was to fix an issue.  Perhaps the fix was
  incorrect.  But removing the fix is not right either.  The right thing to do is to
  fix the fix.

  Is there an easily reproducible test case that demonstrates the problem with
  [b9227b85cb|status improvements]?

  <hr /><i>bharder added on 2012-01-10 17:25:13 UTC:</i><br />
  > Perhaps the fix was incorrect. But removing the fix is not right either.

  I agree completely. What I've done here is provide a branch to isolate comparing these differences, and revert the way fossil behaves on the command line (by eliminating that original feature's side-effect); Am hoping to get the original fix back in, w/o it's side-effect, merge back to trunk.

  <hr /><i>bharder added on 2012-01-12 00:35:27 UTC:</i><br />
  This [bcd718e924|change] appears to work.


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: 67a47646ea38c7ed77112b579a6f7dce84e4eda9
type: Code_Defect
status: Fixed
severity: Severe
foundin: trunk
private_contact: 88dd45b41c4c2c9de79828b446518623552710a5
resolution: Fixed
title: commit failure after merge
comment:
  I ran into a strange problem which results in "fossil commit" failure
  after a specific type of merge. Below I included a self-contained shell script that reproduces the problem. Tested with trunk version of fossil on Linux.
  Here is the problem's description.
  A fossil repository T.fossil contains two brunches "trunk" and "next".
  In both branches there are two files "foo" and "bar". At some point in
  development process I merge branch next into the trunk. The contents
  of the files are such that "fossil merge next" successfully
  auto-merges changes in bar but has merge conflicts in foo that has to
  be manually resolved. So far so good.
  <verbatim>
  $ fossil cha
  UPDATED_BY_MERGE bar
  EDITED     foo
  </verbatim>

  The project's internal logic dictates that while fixing merge
  conflicts in foo I have to make some changes to bar.
  After any changes to "bar" fossil refuses to commit claiming that
  "working checkout does not match what would have ended up in the repository".

  I think this behavior is incorrect, for it forces me to commit a
  broken state of the project, let say code does not compile.
  Please, run an attached shell script to reproduce the problem.

  <verbatim>
  ----%<--------%<----
  #!/bin/bash
  ################################################################################
  # Demonstrates "fossil commit" failure after merge.
  # We have a repo with two files bar, foo which is being developed in branches 
  # trunk and next. At some point next is merged into trunk. bar is successfully 
  # automerged while foo has merge conflicts requiring manual resolution. 
  # From internal logic of the project resolving conflicts in foo requires 
  # modifications to bar. After bar is edited "fossil commit" fails!
  ################################################################################

  # Preamble to setup directories and output redirection
  BNAME=merge-conflict
  RTDIR="/tmp/fossil-tests/$BNAME"
  rm -rf   "$RTDIR"
  mkdir -p "$RTDIR"
  exec 2>&1
  exec 1>& >(tee "$RTDIR/T.log")
  echo "**************************************************************************"
  echo "**  $RTDIR/T.log     -- this log"
  echo "**  $RTDIR/T.fossil  -- test repo"
  echo "**  $RTDIR/T         -- checkout"
  echo "**************************************************************************"
  set -x

  # Test case
  cd "$RTDIR"			# Now in $RTDIR
  fossil new T.fossil
  mkdir -p T
  cd T				# Now in $RTDIR/T
  fossil open ../T.fossil
  echo "foo in the branch trunk" > foo
  echo "bar in the trunk" > bar
  fossil add foo bar
  fossil ci -m 'added foo, bar to the trunk'
  echo "foo in the branch next" > foo
  echo "line added to bar in branch next" >> bar
  fossil ci --branch next -m 'commit to newly created branch next'
  # go to the trunk 
  fossil co trunk
  fossil inf
  # make changes to trunk
  echo "new foo version in the trunk" > foo
  fossil ci -m 'foo changed in trunk'
  # merge next into trunk
  fossil merge --detail next
  fossil cha
  echo "merged version of foo" > foo
  echo "resolving merge conflicts in foo required changes in bar" > bar
  # trying to commit. GETTING ERRORS!!!
  fossil ci --force -m 'resolved conflicts in foo'

  #EoF
  ---->%-------->%----
  </verbatim>

  <hr /><i>drh added on 2012-02-10 14:40:18 UTC:</i><br />
  Problem introduced by check-in [b9227b85cbd78].

  Hurray for the [/doc/a932b744332916c58/www/selfcheck.wiki | self-check] logic
  that blocked the commit and thus prevented this bug from causing permanent
  damage to the repository.


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: 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: 8bc7e15ce0b99a97749fccbfc5aba2edf57a3fb7
type: Feature_Request
status: Open
severity: Minor
private_contact: 657fecc17bdc2306d28088355d2cfe0485c38cab
title: Allow setting the foreground color for branches in the timeline
comment:
  For branches like "mistake" it would be good if they could be made almost invisible by a pastel forground color rather than the current practice on core.tcl.tk to use black as a background color, which makes them stick out very prominently when looking at the time line.


tkt_uuid: a6e558ffdaf79a9de13a1d2837ef13ed8190947f
type: Feature_Request
status: Open
severity: Minor
private_contact: 657fecc17bdc2306d28088355d2cfe0485c38cab
title: Allow "fossil changes" between two checkins
comment:
  Currently "fossil changes" only shows changes that were made in the local working area, but it would be nice to have --from and --to switches to it like in "fossil diff" to list the files that changed between two particular checkins.


tkt_uuid: c2efdd64bff166c33d3336989b86dcae277dc247
type: Feature_Request
status: Fixed
priority: High
severity: Important
foundin: trunk
private_contact: 657fecc17bdc2306d28088355d2cfe0485c38cab
resolution: Fixed
title: Allow for replay-style imports to the ticket system
comment:
  While exploring ways to get Tcl/Tk's ticket history ported from SF to fossil, I thought of doing it by replay, i.e. parse the XML dump of the SF tracker and feed every action recorded there into the command line interface of fossil. This will probably take longer to run than a converter that works directly on the SQLite database, but it requires less knowledge of fossils internals for writing the converter.

  I spotted two (hopefully small) additions to the ticket commands that would be needed to do this, but more might turn up on the way.
    1.  Add an option to <b>ticked add</b> to specify the Id of the newly created ticket instead of auto-generating one, so that the SF ticket numbers can be retained and existing references to them don't break.
    2.  Add an option to <b>ticket add</b> and <b>ticket set</b> to specify the timestamp for the change to be added, so that it appears in the correct historic context.

  <hr /><i>mistachkin added on 2012-08-08 03:41:09 UTC:</i><br />
  Upping priority, this feature is critical to migrating off of SF.


tkt_uuid: 6dba56543b89dc41463174c63c9f11e798c9cfb4
type: Code_Defect
status: Closed
severity: Important
foundin: d982f8944c
private_contact: 657fecc17bdc2306d28088355d2cfe0485c38cab
resolution: Fixed
title: fossil ticket --quote segfaults when adding to the comment
comment:
  <pre>
  $ fossil new foo.fossil
  ...
  $ fossil ticket -R foo.fossil add title test
  ticket add succeeded for UID a0e7afe56ceaf2e28dfa79bc1db34aa2a767e7c1
  $ fossil ticket -R foo.fossil change a0e7afe56 comment 'foo' --quote
  ticket set succeeded for UID a0e7afe56ceaf2e28dfa79bc1db34aa2a767e7c1
  $ fossil ticket -R foo.fossil change a0e7afe56 +comment 'foo' --quote
  segmentation fault
  </pre>

  <hr /><i>mistachkin added on 2012-08-08 03:47:31 UTC:</i><br />
  Reading the code, I'm somewhat confused about the proposed fix.  Perhaps it be something like this instead, given the nature of the other <b>if</b> block enclosed with <b>if( tktEncoding == tktFossilize )</b>?

  <verbatim>
  Index: src/tkt.c
  ==================================================================
  --- src/tkt.c
  +++ src/tkt.c
  @@ -1167,11 +1167,11 @@
           }else{
             blob_appendf(&tktchng, "J%s%s %#F\n", zPfx,
                          azField[i], strlen(zValue), zValue);
           }
           if( tktEncoding == tktFossilize ){
  -          free(azValue[i]);
  +          free(zFValue);
           }
         }
         blob_appendf(&tktchng, "K %s\n", zTktUuid);
         blob_appendf(&tktchng, "U %F\n", zUser);
         md5sum_blob(&tktchng, &cksum);
  </verbatim>


  <hr /><i>rmax added on 2012-08-08 11:18:20 UTC:</i><br />
  Indeed, the distinction whether it is azAppend&#91;i&#93; or azValue&#91;i&#93; that needs to be freed is already being made two if blocks above, so we don't need to repeat it here and can just free zValue.

  <hr /><i>drh added on 2012-08-08 12:35:16 UTC:</i><br />
  Nothing needs to be freed here.  Remember that an instance of Fossil runs
  a single command the exits.  We don't need to worry about leaking a few
  bytes of memory associated with a ticket field.  The OS will clean it up
  for us.

  The simplest and safest fix is to simply omit the free() call.

  <hr /><i>rmax added on 2012-08-08 12:52:38 UTC:</i><br />
  Yes, [0bc2a94104] fixes it.


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: 6e23fe110139615d5a6966506e5c4fd8129e1a62
type: Code_Defect
status: Fixed
severity: Minor
foundin: 1.23
private_contact: 657fecc17bdc2306d28088355d2cfe0485c38cab
resolution: Fixed
title: "make install" dosn't create the target directory
comment:
  <verbatim>
  --- src/main.mk
  +++ src/main.mk
  @@ -269,6 +269,7 @@
   all:   $(OBJDIR) $(APPNAME)
   
   install:       $(APPNAME)
  +       mkdir -p $(INSTALLDIR)
          mv $(APPNAME) $(INSTALLDIR)
   
   $(OBJDIR):
  </verbatim>


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: 906c533302203a0997738b21e434fe4791cd90f0
type: Code_Defect
status: Closed
priority: Low
severity: Minor
foundin: 1.23
private_contact: cd7093095d9cfcb1d94e1ac96bf5d520b20d5cd7
resolution: Fixed
title: Mingw broken command-line parsing
comment:
  MinGW parses the Windows command line different than MS or MinGW-w64 does, See
  [http://core.tcl.tk/tcl/info/f0cb3345b4040a71ce3b062f118c357363e820e2].
  <p>
  The setargv workaround, is taken over from Tcl 8.6 (win/tclAppInit.c). It was already part of the initial import in CVS in 1998, so it is impossible to know who wrote the original setargv()
  function. But I (jan nijtmans) adapted it to be useful as unicode
  command line parser as well. MinGW doesn't support unicode command
  line parsing (unline VS and MinGW-w64), so the setargv() function
  is the only known workaround to get it done.

  <hr /><i>jan.nijtmans added on 2012-09-12 06:57:12 UTC:</i><br />
  fixed now in trunk


tkt_uuid: 711d04b6d8577d9b061cba94cc503b95b0a41767
type: Feature_Request
status: Closed
severity: Important
foundin: 1.23
private_contact: cd7093095d9cfcb1d94e1ac96bf5d520b20d5cd7
resolution: Fixed
title: only bail out from commit when no selected files are changed
comment:
  When committing a group of files, e.g.
  <pre>fossil commit *.c</pre>
  fossil bails out if any of the *.c files is not changed.
  The -f flag even doesn't work to force this to happen.
  Normally I do this when the directory contains a lot of
  *.c files, and I'm lazy to remember (or type) which ones
  I changed, I only know that ALL files I changed in this
  directory should be committed.

  So, I request to:
  <ul><li>Only bail out if NONE of the selected files changed.
  <li>Use the -f flag to allow committing even if none of
    the selected files changed.</ul>

  Suggestion committed in branch [ticket-711d04b6d8]


tkt_uuid: 897c39d28408da2ef2d475e9e69bf0f3bc240098
type: Code_Defect
status: Closed
severity: Important
foundin: 1.24
private_contact: 991285e9851026b2f86eddfd739553edc20d94d1
resolution: Fixed
title: Wiki name restriction
comment:
  <pre>On Sun, Oct 21, 2012 at 3:12 AM, K <k@lightpowered.org> wrote:

      Hello,

      I'm new to Fossil.

      I'm beginning a project with Fossil, a command program. It'll be used on Unix-like systems. The name is 2 characters in length. During the set up of my repository I gave its project name and now see the following error on my index wiki page:

      ****

      The wiki name "kk" 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.

      ****

      Is someone able to explain to me why there is a 3-character minimum to wiki names? This seems to me like a strange arbitrary constraint to impose.


  The minimum-3-chararacter rule is subjective.  When I wrote Fossil (6 years ago) it never occurred to me that anybody would want a wiki page name of less than 3 characters. 

  The patch to relax that rule should be trivial.</pre>


tkt_uuid: 8ca2aae39172f90c314256deda71e006cb2f38bf
type: Code_Defect
status: Fixed
severity: Important
foundin: 1.24
private_contact: 67aadfe5f22f1ea223577cb8273772921fb9baf4
resolution: Fixed
title:
  Command-line wildcards broken with Fossil 1.24 on Windows, in some cases crashing Fossil (1.23 was OK)

comment:
  There appears to be a regression introduced with Fossil 1.24 on Windows regarding command-line wildcard parsing.

  Fossil 1.23 behaves as expected:
  > fossil-123 md5sum common\*
  2a9d384b95db916a22cc05b7227ab55b  common\fileutils.cpp                       
  eb7ae4d4d206c73079faa4bfb4d737ca  common\fileutils.h

  However, under 1.24:
  > fossil md5sum common\*
  Assertion failed: (p)->xRealloc==blobReallocMalloc || (p)->xRealloc==blobReallocStatic, file ./src/blob.c, line 273
                                                            
  This application has requested the Runtime to terminate it in an unusual way.
  Please contact the application's support team for more information.

  Wildcards also fail, but less spectacularly, with other Fossil commands:

  Fossil 1.24:
  >fossil add gui\forms.*
  fossil: not found: C:/Projects/InkSpector2/src/gui/forms.*    

  Fossil 1.23:
  >fossil-123 add gui\forms.*
  ADDED  src/gui/forms.cpp                                             
  ADDED  src/gui/forms.h

  Thanks
  Mark.

  <hr /><i>drh added on 2012-11-02 21:46:52 UTC:</i><br />
  Working now for MinGW.  Need to fix the parse_windows_command_line() function
  to do wildcard expansion in order to fix the problem for non-mingw windows
  compilers.

  <hr /><i>jan.nijtmans added on 2012-11-03 11:21:18 UTC:</i><br />
  Note: Mingw is the only toolset which does command line expansion in crt0, mingw-w64 and msvc do not. It is really a problem of the Windows console: Shells are supposed to do their own command line expansion. Cygwin and Msys do that, but the Windows console does not do that. Therefore the mingw people decided to build it into crt0, but it makes mingw incompatible with msvc.
  <p>
  Unfortunately, mingw doesn't have an unicode-aware crt0, that would solve everything. Mingw-w64 and msvc have it, but those don't do command line expansion.
  <p>
  I would recommend to build command line expansion into fossil. It would make command line expansion available to mingw-w64 and msvc builds on the Windows console as well. The risk is that when using Msys or Cygwin, the command line
  expansion is done twice, I don't know exactly what possible problems that could give.

  So, the easiest workaround would be: use the Msys or Cygwin or any other shell, just not the Windows console.

  <hr /><i>drh added on 2012-11-03 12:47:01 UTC:</i><br />
  Maybe the right thing to do is add a new "fossil glob CMD ARG1 ARG2 ...." command.  The glob command applies file globing to all arguments, then runs CMD with the globed arguments.  This is similar to how the "glob" command worked in very early Unix systems, before globing got built into the shell.

  Unix, Msys, and cygwin shells would continue to operate normally.  Users on a windows shell, however, would need to add the "glob" keyword if they want globing to occur in their command.

  <hr /><i>anonymous added on 2012-11-03 14:30:05 UTC:</i><br />
  Hi,

  I'm not sure if it's been mentioned before, but msvc does support expanding command-line wildcards into separate argv strings:
  [http://msdn.microsoft.com/en-us/library/8bch7bkk%28v=vs.80%29.aspx]

  Mark.

  <hr /><i>jan.nijtmans added on 2012-11-04 21:04:47 UTC:</i><br />
  Regarding the assertion:
  <pre>However, under 1.24: > fossil md5sum common\* Assertion failed: (p)->xRealloc==blobReallocMalloc || (p)->xRealloc==blobReallocStatic, file ./src/blob.c, line 273</pre>
  Shouldn't fossil be compiled without assertions, so with -DNDEBUG? That should fix the mentioned crash.



  <hr /><i>drh added on 2012-11-04 21:36:42 UTC:</i><br />
  The "fossil md5sum" segfault has already been fix by
  check-in [52199a504a9c7c20].

  I think we want to continue to run with assert()s enabled.
  This gives better visibility to mistaken assumptions in the code.


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: 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: 4e2afbb41cfcf9205d7025cab0cbd3b6f9e51428
type: Code_Defect
status: Closed
severity: Important
foundin: 1.24
private_contact: 8e36f66e02d47fe3335fde85004118e39e0703fd
resolution: Unable_To_Reproduce
title: fossil stash save can lose file modifications
comment:
  I did "fossil stash save <file1> <file2>"  file1 was reverted and there was an issue with file2 (file was missing and needed to be removed from fossil control).  However, at this point, the modified file1 is gone and all that is left is the original file1 from the archive.

  <hr /><i>drh added on 2012-11-05 21:18:30 UTC:</i><br />
  Could not reproduce the problem from the sketchy description.  Every scenario
  I could think of always preserved the edited content of file1.


tkt_uuid: 7541963870703f09cd5bce54b3977bb2cb8e40eb
type: Code_Defect
status: Fixed
severity: Minor
private_contact: 84f59114b7eee7088fd7e2932599c69c9ad0761b
resolution: Fixed
title: diff doesn't show newline
comment:
  Pretty easy to reproduce, but rather irritating when you can't get back any status as to what exactly changed.

  <pre>% printf "some file with\nno trailing newline on the last line" > foo.hpp
  % fs ci -m "Test file with no trailing space" foo.hpp
  % echo >> foo.hpp
  % fs status
  EDITED     foo.hpp
  % fs diff --brief foo.hpp
  CHANGED  foo.hpp
  % fs di foo.hpp
  % </pre>

  Even `fossil gdiff` doesn't show the normal diff(1) output:

  <pre>% printf "foo\nhere" >> t1
  % printf "foo\nhere\n" >> t2
  % diff -u t1 t2 
  --- t1	2012-11-05 23:47:39.000000000 -0800
  +++ t2	2012-11-05 23:47:44.000000000 -0800
  @@ -1,2 +1,2 @@
   foo
  -here
  \ No newline at end of file
  +here</pre>

  While it makes sense that it wouldn't, the UI also doesn't show the newly added newline in the UI's diff.


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: 724d7b74311f9b99dc5e892d57d505d7a35ac506
type: Incident
status: Closed
severity: Minor
foundin: 9e0da27437
private_contact: 0f366eb3e9e2fcab52b8ebacd197db9047186a5f
resolution: Not_A_Bug
title: Documentation access URL changes space in "_"
comment:
  The documentation pages of tclws are at:
  [http://core.tcl.tk/tclws/doc/tip/docs/index.html].

  The file names of all subpages contain spaces.

  When accessing them (for example by
  [http://core.tcl.tk/tclws/doc/tip/docs/Embedded%20Web%20Service.html] )
  the spaces (%20 in the URL) are turned to "_" and not found
  (at least this is what the error page reports).

  Is there any way to access those files containing spaces or do we have to rename the files?

  Thank you,
  Harald

  <hr /><i>drh added on 2012-11-08 18:45:10 UTC:</i><br />
  The problem reported above has nothing to do with Fossil.  The web server
  at core.tcl.tk does not allow characters other than alphanumerics and underscores
  in the URL pathname. It converts any such characters into an underscore.  This
  is a security measure that defines a host of nefarious attacks against
  websites.

  Work around the security restrictions on the web server by changing the document name to a query parameters:

     [http://core.tcl.tk/tclws/doc?name=tip/docs/Calling+a+Web+Service.html]


tkt_uuid: 7d790e7e5e0f701e01c10746f717d124c0b9de79
type: Code_Defect
status: Fixed
severity: Minor
foundin: 1.24 [8d758d3715]
private_contact: 84f59114b7eee7088fd7e2932599c69c9ad0761b
resolution: Fixed
title: `fossil extras` shows metadata files...
comment:
  At somepoint in the recent past, I tossed off a fossil upgrade, updated my repositories, and I have some interesting artifacts when I run <code>fs extras</code>:

  <pre>% fs rebuild --cluster --compress --pagesize 8192 --vacuum --wal --stats
  % fs extras
  ../foo-project.fossil-shm
  ../foo-project.fossil-wal</pre>

  Not a big deal, but those two files definitely don't exist, but are showing up in the <code>extras</code> output.


tkt_uuid: 9d4cb9cf117b10a6842163388ae1758bd92c3ae5
type: Code_Defect
status: Fixed
severity: Minor
foundin: 1.24 [8d758d3715]
private_contact: a83a2a28d2194050d2b7ee0c4d8756ad175d2e32
resolution: Fixed
title: WYSIWYG: Label-Text for Indentation Buttons is Swapped
comment:
  Using the new WYSIWYG editor, there are two buttons to change the level of indentation. These buttons work fine. If you hover with the mouse over them, a little yellow text box shows up. For the left button to decrease the indentation, it says "add Indentation", for the right button to increase indentation, it says "delete Indentation" - which is incorrectly swapped.

  Fix should be a one or two liner, i'm not familiar with the sources, though, so i leave it to you guys. :-)


tkt_uuid: c30d7c8c632d4dfedf4057eecd7aa2f26129e868
type: Code_Defect
status: Closed
severity: Minor
foundin: 1.21
private_contact: a3f9bb81e58d0893fc9338b98ddc62e27a349b16
resolution: Overcome_By_Events
title: newbiest help is mistaken about most basic more help
comment:
  Running fossil without arguments usefully suggests how to get help on commands.  It also claims that running 'fossil commands' will produce a list of all commands.  But that is presently false.  To get that list, it seems running 'fossil help commands' is necessary.  The 4th line of output from bare 'fossil' needs to be changed.  Instead of reading:
    "or: fossil commands       -- for a list of all commands"
  it should read:
    "or: fossil help commands  -- for a list of all commands"
  or perhaps:
    "or: fossil help --all     -- for a list of all commands"
  .

  (This is not cosmetic when help is viewed as actual functionality.)

  <hr /><i>drh added on 2012-11-11 17:52:42 UTC:</i><br />
  Fixed in version 1.22 (and also 1.23 and 1.24).


tkt_uuid: 63cc656c9dfef126817a50e207f1170bb6f8b979
type: Feature_Request
status: Fixed
severity: Important
foundin: current
private_contact: 4be7b397cc5beaa1407baac7b9ae5129f1b0226d
resolution: Fixed
title: Option to force binary file commits
comment:
  I am writing a Windows-based GUI front-end to your excellent DVCS. My aim is to allow "ordinary" users the benefit of revision management on any file they choose. I also have selfish reasons as a developer to maintain local changes for my employment (we use Subversion).

  My front-end calls FOSSIL.EXE to perform the work and is working beautifully for basic usage. However, when attempting to commit binary files I need a way to force the commit without having to answer this question:

  ./pic.png contains binary data.  commit anyhow (a=all/y/N)?

  <hr /><i>mistachkin added on 2012-11-11 03:28:58 UTC:</i><br />
  This can be bypassed by setting the "binary-glob" setting to include the necessary file types, either using the versioned setting file (i.e. and checking it into the repository itself, see "http://www.fossil-scm.org/xfer/doc/trunk/www/settings.wiki") or via the admin settings interface.


tkt_uuid: 10aee063c413c107e3164cd8d07fa7d9e8a807c2
type: Code_Defect
status: Fixed
severity: Critical
foundin: all
private_contact: 9fe6310800b1726f3547ec9650bd8e77ed1325f2
resolution: Fixed
title: Fossil didn't support for UTF8 to storage filenames.
comment:
  Add a file named with 中文.txt
  then fossil can not add it.
  under win32, GBK ANSI.

  <hr /><i>jan.nijtmans added on 2012-11-18 22:33:12 UTC:</i><br />
  This worked in version 1.24, but now it is temporary
  disabled since [fca9c52637]. Hopefully a solution
  for [8ca2aae391] will be found soon, so this can be
  enabled again.

  <hr /><i>anonymous added on 2012-11-19 07:31:25 UTC:</i><br />
  It's not because of UTF8, it's because of []

  <hr /><i>jan.nijtmans added on 2012-11-19 11:15:03 UTC:</i><br />
  I don't believe it's because of &#91;&#93;
  <p>The hex representation of those Chinese characters in UTF-8 is
  "e4 b8 ad e6 96 87", there's no &#91;&#93; in there.
  <p>Still it's important to know exactly what fossil version the 'bug' was encountered. Without that, we are only guessing.

  <hr /><i>anonymous added on 2012-11-19 12:04:28 UTC:</i><br />
  This bug is reported by me, and I know that it's because of '[' and ']'.

  D:\CI\tools>cd ..

  D:\CI>fossil open tools.db

  D:\CI>fossil add tools\中文.txt
  ADDED  tools/中文.txt

  D:\CI>cd tools

  D:\CI\tools>copy 中文.txt 中文[1].txt
          1 file(s) copied.

  D:\CI\tools>cd ..

  D:\CI>fossil add "tools\中文[1].txt"
  fossil: filename contains illegal characters: tools/中文[1].txt

  D:\CI>


tkt_uuid: f687f1eb987148448aaef6eaae33909472292d54
type: Code_Defect
status: Fixed
severity: Minor
foundin: d13143
private_contact: 2a7c6fd6dcc73b4e4468cb4ea6ca63573039a28e
resolution: Fixed
title: Missing closing tags in page setup_login_group
comment:
  There are missing closing tags <verbatim></blockquote> </div> </form></verbatim> for the form on page <i>setup_login_group</i>. The following patch should fix it:

  <verbatim>
  --- setup.orig	2012-11-25 11:37:53.000000000 +0100
  +++ setup.c	2012-11-25 16:46:03.000000000 +0100
  @@ -1047,7 +1047,7 @@
       @
       @ <tr><td colspan="3" align="center">
       @ <input type="submit" value="Join" name="join"></td></tr>
  -    @ </table>
  +    @ </table></bockquote></div></form>
     }else{
       Stmt q;
       int n = 0;
  </verbatim>

  <hr />
  <i>anonymous added on 2012-11-25 16:09:01 UTC:</i><br />
  Additionally, there's a typo in the same section (src/setup.c, line 1029):

  <verbatim>
      @ <blockquote><table broder="0">
  </verbatim>

  It should be border.


  <hr />
  <i>drh added on 2012-11-25 18:06:34 UTC:</i><br />
  Also added some missing &lt;tr&gt; elements.


tkt_uuid: 1038e224fa3956f9c004a714f40a4a42c9ba1a1c
type: Code_Defect
status: Fixed
severity: Minor
foundin: 1.24
private_contact: dd31bce8c8757196e5e2e9600603152d1b3fe3c1
resolution: Fixed
title: problems setting admin user at init
comment:
  Maybe I'm missing something, but it worked before.

  When setting up a repository with a custom admin user Like thus:

  fossil init --admin-user=myadmin test.fossil

  I get the error:

  Cannot figure out who you are!  Consider using the --user<br>
  command line option, setting your USER environment variable,<br>
  or setting a default user with "fossil user default USER".<br>
  fossil: cannot determine user<br>

  This did however work on Ubuntu's default version 1.21. What changed and what am I doing wrong?

  Not setting a user simply works.

  OS: Ubuntu 12.04.1-64


tkt_uuid: e399bc1edfe45b2edb56eb037f63a6bf4cdbc211
type: Code_Defect
status: Fixed
severity: Critical
foundin: 1.24
private_contact: ffceeb1d0da9622e4433fa953987140f70adc8e7
resolution: Fixed
title: Non-ASCII characters in file and folder names are not handled correctly
comment:
  Using the latest version 1.24 the issue occurs after the following steps:

  A. For the folder and filenames:

    #  Create a folder named "MañósosCarácteres"
    #  Create a file named "cönáñón" inside the new folder
    #  fossil addremove
    #  fossil commit -m "Añadí una carpeta y un archivo con tildes"

  B. then on a different machine
    #  fossil update
  The new folder named "MañósosCarácteres" is now available
    #  Add a new file called "éstedesdemác.rst" to the folder "MañósosCarácteres"
    #  fossil commit -m "Añadí nuevo archivo con tildes desde mi mac"

  C. Back to the first machine
    #  fossil update
  A second folder with the name "MañósosCarácteres" has been added. How it can add a folder with exactly the same name and have the file system accept this I do not understand. It happens on both Ubuntu 12.04LTS and OSX10.7.

  One folder contains both files, and the other contains only the first file ("cönáñón").

  In batch of files I was working on for a customer, that contained many non-ASCII characters, sometimes the file names would suddenly duplicate with inverse accents (going from á to à). If you need more examples let me know and I will do a similar run with all non-ascii characters that we use in Spanish.


