# ticket

tkt_uuid: 7b9be0b1276cc217db7031232e45ef1456717859
type: Feature_Request
status: Fixed
severity: Minor
private_contact: 24b67375dd2ec6c7381a5ad34cfcf006f0b9c260
resolution: Fixed
title: direct link to embedded wiki pages
comment:
  I have two remarks to ticket [4f6b211d6b2fa9eb632e031645075904c2bb561c]

  First, is it possible to add something to existing ticket while logged as anonymous? It seems akward if one after commiting ticket is left without any means to extend information once entered.

  Second, I was refereing to embeded wiki without realizing it was it. Nevertheless url's provided were just copyed from links generated by fossil while browsing fossil web site.

  Now I see I shoud have check this link:
  [http://www.fossil-scm.org/fossil/doc/tip/www/reference.wiki]

  But what confuses me is the fact, that if I check fossil generated page e.g this one (Timeline - Wiki Only):
  [http://www.fossil-scm.org/fossil/timeline?n=20&y=w]

  it links to load of links of type:
  [http://www.fossil-scm.org/fossil/wiki?name=Reference]

  showing just empty pages.

  Well perhaps I know now, it just reflect now empty, nonversioned Reference wiki page.
  Still it would be nice to have direct link to show embedded wiki file as wiki page on its "File History" page.  

  Thanks.

  <hr><i>eric added on 2008-11-15 18:19:37:</i><br>
  reference.wiki is <b>not</b> a wiki page, it is an embedded doc in wiki format. The only connection to the wiki page titled "Reference" is that content has been moved from one to the other. There is nothing to allow the sort of link you ask for to be generated.

  <hr><i>drh added on 2008-11-15 21:21:26:</i><br>
  As Eric points out, there are two pages:  the References wiki page and the
  References embedded documentation page.  They have separate URLs.

  The first complaint - that anonymous users cannot edit tickets - has been
  fixed by check-in [ed5179db1f].

  <hr><i>anonymous added on 2008-11-15 22:37:46:</i><br>
  Many thanks for adding ability to add to existing tickets for anonymous users.
  Here is my last remark about <b>embedded<b> documentation pages (I am aware of the difference between wiki pages and embedded documentation page in wiki format)

  I was addressing those with suggestion to generate another link to be able to see such pages interpreted instead just displayed/diffed or annotated. Such link could fit on e.g. "File History" page where are already links for [view] [diff] [annotate] generated.

  Thanks. 


tkt_uuid: 7bb8f2359a681082fd94f26180c06c8d4ca2fed6
type: Feature_Request
status: Closed
severity: Important
foundin: 37f295c310
private_contact: cfcf19d860dc668ea6bb4cf4d3dff6a844a5a286
resolution: Overcome_By_Events
title: please add a fossil command to retrieve the history for a given file
comment:
  I would like a fossil command that allows me to retrieve the timeline/revision history for a given file from the command line, e.g.:

     fossil timeline foo.txt

  <hr><i>drh added on 2009-11-09 21:25:49:</i><br>
  The "finfo" command was added on 2009-10-31.  See in check-in [8c8f8616a64]


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: 7c3ca0eae8287e75f79fdb05f2ed4942dcd2c0a0
type: Code_Defect
status: Fixed
severity: Important
foundin: 20100213123048
private_contact: 22e3b7a55e291d179313f4c2e34877f09743ee31
resolution: Fixed
title: "not a ordinary file" errors in update command
comment:
  With reference to ticket 15f8f4a425248c35fe0babfcb6ccf45f1d5b9932, the "not a ordinary file" problem is not restricted to the rm command.  Attempting to do "fossil update" or "fossil checkout --latest" when any file has been deleted will cause a similar error.

  This change in behavior appears to remove all straightforward means of restoring deleted files; multiple commands or extra scripting will be needed if one wishes to restore several files.

  Not to mention that it breaks existing scripts written to automate fossil processes, for unclear reasons.

  <hr><i>drh added on 2010-02-25 12:59:37:</i><br>
  "fossil update" now reverts files that are missing from the filesystem.
  I was unable to reproduce the problem with "fossil checkout".


tkt_uuid: 7c700d2f28838490fc5625779315576a8d657988
type: Code_Defect
status: Fixed
severity: Important
foundin: 15b293259d
private_contact: 277de4eda861e8a6d011b60d4006a963a4c7c474
resolution: Fixed
title: Cannot rebuild a repository that has been ANALYZE'd by SQLite
comment:
  After I have opened a repository with SQLite to run ANALYZE on it, which was probably stupid, I cannot run fossil rebuild anymore. It attempts to drop table sqlite_stat1 and fails.

  <hr><i>BMorgat added on 2010-06-23 07:30:31:</i><br>
  A solution to come over this problem is to run:

  echo .dump | sqlite repository > dump.sql

  then edit dump.sql to delete SQL statements from ANALYZE sqlite_master; to last INSERT INTO sqlite_stat1

  then rm repository && sqlite repository < dump.sql


tkt_uuid: 7c88d109236f329cd67eb6dcbe386b2f036bc42b
type: Feature_Request
status: Open
severity: Minor
title: Define branch access rules per user
comment:
  It would be nice to have an branch access definition per user, might be as simple as a optional value for the pull and push security, a commaseperated list of branches names for pull and push. such as:
    *  <b>*</b> matches all branches
    *  <b>!</b> excludes a branch 
    *  <b><branchname></b> includes a branch explicit

  examples:<br><br>
  "" Would not define any branch access rules<br>
  "*,!secret" Would give access to all branches except for branch secret<br>


  /Henrik


tkt_uuid: 7cb0e01aab61756aa60d95e2fb406aa363f365cf
type: Code_Defect
status: Closed
severity: Minor
foundin: 12a79e5b93
private_contact: ccd87c60364e1d3e945b6f4d4874f5174b17cc43
resolution: Duplicate
title: "<!--" in .wiki files is translated to visible code
comment:
  If an embedded doc .wiki file has some text in the shape of html comments (<!-- blabla -->) it appears translated to &lt;!-- and therefore visible.

  I think it should not be shown and maybe kept as html comments visible in the source of the page, but not rendered by the browser.

  For example, see how could I write it even in this ticket.

  <hr /><i>dmitry added on 2011-09-08 23:14:33 UTC:</i><br />
  Duplicate with more discussion: [3e6775edfe].


tkt_uuid: 7d2bdb0e232918793c8f291553dddb83b38c0ab0
type: Feature_Request
status: Open
severity: Cosmetic
resolution: Open
title: square brackets in $manifest_version are a problem
comment:
  It would be better if the $manifest_version variable returned only the version and not the surrounding square brackets.  Then it could be used eg

  <a href="http://fossil-scm.org/index.html/vinfo/$manifest_version">[$manifest_version]</a>

  Or perhaps another variable $clean_manifest_version?

  Or perhaps there is an easy way to strip the square brackets in <th1>?

  <hr><i>anonymous added on 2009-09-27 18:51:14:</i><br>
  I meant eg:<br>

  <nowiki>
  &lt;a href="http://fossil-scm.org/index.html/vinfo/$manifest_version">
  [$mainifest_version]&lt;/a>
  </nowiki>


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: 7d997b447fbea2a83d051127f5974f35d3e0c0fb
type: Documentation
status: Closed
subsystem: one
priority: Zero
severity: Important
private_contact: da39a3ee5e6b4b0d3255bfef95601890afd80709
resolution: Works_As_Designed
title: push/pull with the local directory
comment:
  I had a remote repository at the flash-card. So when I clone it to the local repository command looks like this "fossil clone /media/sdb1/work/repo repo.fossil". And it works fine.
  But when I tried to pull changes from the remote repository with the command "fossil pull /media/sdb1/work/repo" fossil wrote "fossil: network sync only" and do nothing.
  Thank you

  P.S. i can't find how to edit opened "Feature_Request" ticket

  <hr><i>drh added on 2008-10-18 13:26:28:</i><br>
  Your workaround, of course, is to start a server on the flash repository:

  <blockquote><pre>
  fossil server /media/sdb1/work/repo &
  fossil pull http://localhost:8080/ -R ./repo.fossil
  killall fossil
  </pre></blockquote>



  <hr><i>kkinnell added on 2008-12-09 16:16:36:</i><br>
  The 'workaround' is the solution; <b>fossil</b> <code>push</code>es and <code>pull</code>s from a server; the operations don't make sense in a file-system context.


tkt_uuid: 7dc10e5daf3051bae7c4ae5e9775b64c2c54e271
type: Code_Defect
status: Open
severity: Important
foundin: [8474ca6747] 2010-08-23 22:24:16 UTC
private_contact: 46288be69e27505ec62204ecee889870e84b970e
resolution: Open
title: Initial import failed most likely due to brackets in file name
comment:
  <verbatim>
  fossil add .
  ...
  fossil: filename contains illegal characters: Development/TypeConverter/Source/TestResults/genericADO2-sqlanywhere[10].trx
  fossil: SQLITE_BUSY: statement aborts at 2: [ROLLBACK] cannot rollback transaction - SQL statements in progress
  fossil: unfinalized SQL statement: [SELECT x FROM sfile ORDER BY x]

  fossil version
  This is fossil version [8474ca6747] 2010-08-23 22:24:16 UTC
  </verbatim>


tkt_uuid: 7df27f52365b73a9fb90c78a66105fc5928b2fce
type: Documentation
status: Fixed
severity: Minor
private_contact: 4ac216cd4a476212bdd26164b937bf1723ad48fb
resolution: Fixed
title: sentence needs rewording
comment:
  In the documentation "Branching, Forking, Merging, and Tagging", in the "Tags and Properties" section, the following sentence should lose the "either", as there are more than three options:

  <i>"A tag can be either a one-time tag or an propagating tag or a cancellation tag."</i>

  This just caught my eye as I was reading through the docs.

  <hr><i>ron added on 2010-01-24 07:51:49:</i><br>
  Fixed by [6bbb22d4fa4285ee47a94658105b4be4f5a22cc1]


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: 7e32f0c17941a8f04ae372c7de8ca97572176bab
type: Code_Defect
status: Open
severity: Minor
foundin: current trunk
private_contact: 5ddc9ef2cc5a1544558a56a3cba910a0ba4d422a
resolution: Open
title: Memory leak
comment:
  I have fixed some memory issue. And I attach it.

  But all place of calling "db_get" have not been fixed yet. This is in progress.

  The function "cgi_replace_parameter" simply discard old value "aPramQP[[idx]].zValue", this will result memory leak.

  <hr><i>drh added on 2010-08-17 11:05:19:</i><br>
  Fossil is a command-line tool that runs a single task (quickly) and then exits.  
  Memory leaks, as long as they do not occur inside a loop, are harmless and
  unimportant.  Memory leaks of 40 or 50 bytes that are limited in number are
  particularly unimportant and should be ignored.

  Do any of these leaks you identify consume large amount of memory (megabytes)
  or can any of them occur an unbounded number of times depending on the size
  of the repository or other input factors?  If so, please let us know and we
  will have a look.  Otherwise, this is not a problem and is not something 
  we intend to fix.

  Thanks for the report.

  <hr><i>anonymous added on 2010-08-18 02:09:24:</i><br>
  If fossil will have a FastCGI version in future？ It will have a better performance, and so can serve more user.


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: 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: 7ef970e4a28d77b9f29c91923f502bc7d810abac
type: Code_Defect
status: Fixed
severity: Important
foundin: f6a071cef1
private_contact: c3ed16ab09f3e591c59c7b1aaabf359125183f9b
resolution: Fixed
title: "fossil server" gives an error under winxp
comment:
  I was trying to run fossil server -P 2020 <repository>
  and got an error: "fossil.exe: error from accept()"
  running fossil server -P 8080 <repository> gives the same error, but if port is not specified everything works fine. Annoying issue.

  <hr><i>drh added on 2008-11-19 23:44:47:</i><br>
  A similar bug exists in the unix side.  Fixed by
  check-in [53db9rcd41].


tkt_uuid: 7f02ac0ae9d5d0d6f871daaef4f2484955b890c8
type: Incident
status: Closed
severity: Minor
foundin: 9e80dc66cf
private_contact: fa3d79500802fb558cdda589d6f03fdcc3496420
resolution: Overcome_By_Events
title: Prebuilt fossil-w32 uses old checkout
comment:
  The prebuilt binary in fossil-w32-9e80dc66cf.zip (Created: 2008-10-18 13:06:19 UTC) contains an older version of fossil.

  The executable is newly built, but seems to use an older checkout:

  <nowiki><pre>
  # dir fossil.exe

  2008-10-18  09:04  742.400 fossil.exe
  (I am in UTC+02:00)

  # fossil help
  [snip]
  This is fossil version [3d62a9fb39] 2008-10-06 11:33:23
  </pre></nowiki>

  <hr><i>drh added on 2008-11-01 19:06:27:</i><br>
  Newer prebuilt binaries are now available.


tkt_uuid: 7ffe8a6cee913ff75b2636ef03dd425b5317c786
type: Feature_Request
status: Fixed
severity: Severe
private_contact: 4de91f48ceab788649292e850559a96cc7e17039
resolution: Fixed
title: User registration
comment:
  Having everyone outside the team to log in as anonymous is somewhat awkward. Some way for new users to register themselves would be generally nice.

  Presumably it's a fast edit for someone familiar with the code base. If it's a problem, I may prepare a patch by myself (but then some pointers would be welcome).

  <hr /><i>anonymous claiming to be lrem added on 2010-12-05 15:44:34:</i><br />
  Hi, I added this functionality in version 8533aa0b48 (merged with current trunk). Please pull from http://dev.lrem.net:8004/ - the new version is self-serving there.


tkt_uuid: 806c4358cddf8dcfa879c9a26db2a23de69f536f
type: Documentation
status: Fixed
severity: Minor
resolution: Fixed
title: Wrong anchor on 'settings'' in reference (settings vs. setting)
comment:
  Wrong anchor on 'settings' in reference.wiki.

  http://www.fossil-scm.org/fossil/doc/tip/www/reference.wiki#setting
  vs.
  http://www.fossil-scm.org/fossil/doc/tip/www/reference.wiki#settings

  One can observe the behavior also on the command line.

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


tkt_uuid: 807ca32b8095b2297fd4aabb0aef5c5856867b15
type: Documentation
status: Closed
severity: Important
foundin: 0a523be389
resolution: Not_A_Bug
title: "j" permission doesn't extend to embedded doc files.
comment:
  Hmmmm.... documenting a documentation problem...

  I hate to have to report this, but the <i><b>j</b></i> permission doesn't allow
  "nobody" to see links to embedded documentation or other internal pages (e.g.
  &#91;./login&#93;).

  I'm confused about whether this is bug or not.  It looks like 
  <code>index.wiki</code> is set up assuming that "nobody" will be able to follow a
  &#91;./whatever&#93; link, but that seems like a pretty big policy change.

  Fix with a disclaimer?  (I have one, but haven't pushed it yet.)

  <hr><i>drh added on 2008-11-22 12:32:11:</i><br>
  Reading embedded documentation should require check-out privilege ("o")
  since the user is reading files out of the source tree.  Any file in any
  check-in can be read using the embedded documentation URLs.  So if we allow
  users with Read-Wiki privilege ("j") to read embedded documentation, that
  essentially makes "j" and "o" the same thing.


tkt_uuid: 809a9612055340d06e46619be18133d7d4a85549
type: Code_Defect
status: Fixed
severity: Severe
foundin: 66d93f33d5
private_contact: 63070188043a9522ca95dca0d28c3b9eff7a697b
resolution: Fixed
title: "fossil update" resets mtime in _FOSSIL_'s vfile
comment:
  The vfile table in _FOSSIL_ of a working copy contains the expected time stamp of each file. This time stamp is lost for unmodified files during an update. The next "fossil status" has to read all unmodified files and compute the SHA1 hash to repopulate the table. This has a dramatic impact on larger trees.


tkt_uuid: 80a524317d2fbbeeab3bb76ce702ebbf34511b5a
type: Feature_Request
status: Open
private_contact: bfe18fbf3677b2933b8003f336ea606efcd4a006
title: An alias for the command 'help' like in subversion.
comment:
  As a wish: one '?' as an alias for the command 'help' like in subversion would be nice. Thank you very much.


tkt_uuid: 80d3ba8b0ff0098d33350f24a37982f396b45e15
type: Code_Defect
status: Fixed
severity: Severe
foundin: 1efd09ed4f
private_contact: 2359089ef753bc96e12743e299243d5232c749fa
resolution: Fixed
title: fossil add can't add two files whose names only differ by an underscore or dash
comment:
  the following steps reproduce this problem.  in summary, when adding two files whose names differ only by a dash and underscore, e.g. a-1.txt and a_1.txt, only the file with the dash in its name will be added, even though fossil add reports that both were added.  this test was conducted using powershell on windows 7 64 bit.  i can test it on windows xp later this week.  i don't have a non-windows box to test this on.

  <pre>
  PS C:\rev\src> fossil new test.fossil
  project-id: 9968296e3e87d77b514493152ecc682e94e015cc
  server-id:  37ea13bc92c88ff92f41f5ec8c921a88eeca87a8
  admin-user: rev (initial password is "4cabdf")
  PS C:\rev\src> md test
  PS C:\rev\src> cd test
  PS C:\rev\src\test> fossil open ..\test.fossil
  PS C:\rev\src\test> echo "hello" > a_1.txt
  PS C:\rev\src\test> echo "goodbye" > a-1.txt
  PS C:\rev\src\test> ls

      Directory: C:\rev\src\test

  Mode                LastWriteTime     Length Name
  ----                -------------     ------ ----
  -a---         2/28/2010   6:23 PM         20 a-1.txt
  -a---         2/28/2010   6:22 PM         16 a_1.txt
  -a---         2/28/2010   6:22 PM       7168 _FOSSIL_

  PS C:\rev\src\test> fossil add *.txt
  ADDED  a-1.txt
  ADDED  a_1.txt
  PS C:\rev\src\test> fossil extras
  a_1.txt
  PS C:\rev\src\test> fossil ls
  a-1.txt
  PS C:\rev\src\test> fossil commit -m "underscore omitted"
  New_Version: e6cb6574e973b8743701ec4e8f7cfaa61066c99a
  PS C:\rev\src\test> fossil extras
  a_1.txt
  PS C:\rev\src\test> fossil ls
  a-1.txt
  PS C:\rev\src\test>
  </pre>

  <hr><i>rwilson added on 2010-03-02 17:17:01:</i><br>
  in the windows build, fossil uses the LIKE operator to compensate for the fact that windows has a case-insensitive file system.

  from add.c:
  <pre>
  #ifdef __MINGW32__
      if( db_exists("SELECT 1 FROM vfile WHERE pathname LIKE %Q", zPath) ){
        db_multi_exec("UPDATE vfile SET deleted=0 WHERE pathname LIKE %Q", zPath);
      }
  #else
      if( db_exists("SELECT 1 FROM vfile WHERE pathname=%Q", zPath) ){
        db_multi_exec("UPDATE vfile SET deleted=0 WHERE pathname=%Q", zPath);
      }
  #endif
  </pre>

  the problem is that LIKE treats dash and underscore oddly:

  <pre>
  PS C:\Documents and Settings\ma088024> sqlite3
  SQLite version 3.6.22
  Enter ".help" for instructions
  Enter SQL statements terminated with a ";"
  sqlite> create table test (path);
  sqlite> insert into test values("a-1.txt");
  sqlite> insert into test values("a_1.txt");
  sqlite> select * from test;
  a-1.txt
  a_1.txt
  sqlite> select * from test where path like 'a-1.txt';
  a-1.txt
  sqlite> select * from test where path like 'a_1.txt';
  a-1.txt
  a_1.txt
  sqlite> .quit
  </pre>

  apparently, "-" is NOT LIKE "_", but "_" is LIKE "-".  this latter condition results in the confusion that this ticket describes.

  <hr><i>rwilson added on 2010-03-02 18:05:30:</i><br>
  sigh, '_' is a wildcard character in LIKE.  using LIKE to compare files in fossil add proves problematic because underscores are valid characters in file names.


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: 812379bd1ac5b2b21dbfc169495df3bf672679cc
type: Feature_Request
status: Open
severity: Important
foundin: f969b6cdde
private_contact: 09bcfe9beb6bd1f9361d71b153c193630ed2ac65
resolution: Open
title: "fossil ui" network interface option
comment:
  Currently there is "--port" option to set port number. To accomplish, there should be also --interface option to bind only to selected interface. To hide server from some networks. Or to start different instances on single port.

  <hr><i>anonymous added on 2010-02-10 20:11:36:</i><br>
  Actually quite simple (at least for Unix). I'm just fiddling around with it.  So far I added -IP parameter and parsing via
  <br>
  <tt>
  zIP = find_option("IP", 0, 1);
  </tt>
  <br>
  and changed call to
  <br>
  <tt>
  cgi_http_server(zIP, iPort, mxPort, zBrowserCmd)
  </tt>
  <br>
  Next step, change <tt>INADDR_ANY</tt> in cgi.c to
  <br>
  <tt>inaddr.sin_addr.s_addr = inet_addr(zIP);</tt>
  <br>
  So far so good. But now it's about dealing with defaults (ie no -IP parameter), dealing with "localhost" instead of "127.0.0.1", having a default in the global fossil db. That's where I am having troubles now.

  Anyway, specifying an listening IP address is actually piece of cake :-)

  <hr><i>anonymous added on 2010-02-10 20:14:07:</i><br>
  Ooops, I forgot: another step might be to default to 127.0.0.1 when invoking with "fossil ui" instead of "fossil server". That's at least the behaviour I prefer with those different invocations.

  <hr><i>anonymous claiming to be ge added on 2010-02-11 01:41:54:</i><br>
  New code should really use the <em>getaddrinfo</em> call to convert the address and port information into one or more <em>struct&nbsp;sockaddr</em> values. It's a bit more involved but it gets you compatibility with IPv6 almost for free.


tkt_uuid: 816f1656883efb1c250a0a216e476d155261d101
type: Code_Defect
status: Fixed
resolution: Fixed
title: Changing a file to a directory causes cksum error on commit
comment:
  If there is a file in the check-out that is changed into a directory,
  then when fossil goes to commit the changes, fossil will not realize that
  the file has been changed into a directory and the commit will not work.

  It is not clear what the correct behavior here should be.  Perhaps there
  should simply be an error message explaining what has gone wrong.  Or
  perhaps files that have become directories should be dropped from the
  check-out, either with or without a warning.

  <hr><i>anonymous claiming to be Michael McDaniel added on 2009-12-16 20:31:50:</i><br>
  I like the idea of providing an informative error message.  And some way to complete the intent of the original command.  In the described case, 'fossil rm' the file name, and then 'fossil add X' where X is now_dirname/new_file1 now_dirname/new_file2 ...

  <hr><i>drh added on 2009-12-18 00:05:38:</i><br>
  Fixed by check-in [d861fe77fbeb26a31c79d5ce39c1eeb0242e506d]


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: 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: 8292d797975834d5d42797d5f40ca0dfe6553cea
type: Documentation
status: Closed
severity: Important
private_contact: 3a7ff532bd72d1303de4d7d205d31a527353fc36
resolution: Unable_To_Reproduce
title: Mailing list subscription page inexistent
comment:
  I'd like to subscribe the fossil mailing list, but the page 
  [http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users]
  referenced from [http://www.fossil-scm.org/index.html/wiki?name=MailingList]
  times out.

  Thanks

  <hr><i>drh added on 2009-08-13 16:06:01:</i><br>
  It works when I try it here.  Are you, perhaps, behind a firewall that does
  not allow HTTP requests to TCP ports other than port 80?  


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: 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: 83af1f5401a4cb9ba9943d0ec122ce721693bd9e
type: Feature_Request
status: Open
subsystem: one
priority: Immediate
severity: Important
private_contact: 5c164664f608e8049128be696a3d13e04aa6fafd
resolution: Open
title: fossil rollback
comment:
  `fossil rollback` - undo the commit but leave files modication

  <hr><i>drh added on 2008-10-18 13:34:09:</i><br>
  A "fossil rollback" command is problematic, for two reasons.

  The first and less serious reason is that removing information from a
  fossil repository goes against the fossil philosophy of preserving all
  changes.  There are other mechanisms in place to remove content from
  a fossil repository (ex: the "shun" mechanism) but these things are 
  intended to combat spam.  We have concerns about users routinely 
  backing out their changes.

  The second problem is that the rollback can only occur on the local
  repository.  If a sync has occurred since the commit, then the commit
  has already been replicated onto other repositories.  The next time
  the local repository syncs, the commit will reappear from the remote
  repository and the rollback will be undone.  Note also that the default
  behavior is for the local repository to sync automatically after each
  commit, so there is a strong change that a sync will have occurred in
  between the commit and the rollback.

  What exactly is the OP hoping to accomplish with a "rollback" command
  in fossil?  There are two opportunities during the commit process to
  abandon the commit - while editing the check-in command and while
  entering the GPG password - so it seems unlikely that a commit might
  occur by accident.  What problem would the "rollback" command solve?


  <hr><i>anonymous claiming to be lRem added on 2009-04-08 15:45:30:</i><br>
  I second this feature request. It happens from time to time that a bad commit happens. The line
  <verbatim>
  # EDITED   some_file
  </verbatim>
  does not prevent you from revealing your CC number you put there as a test string ;)

  Now if I want to rollback a bad commit the only way to do it is to remove the local repository, pull and apply my changes once again. This is a lot of work that could be avoided. As you wrote nothing can be done about changes that were pushed somewhere. But that is acceptable - one has to look out for his own autosync...

  <hr><i>drh added on 2009-04-08 16:22:34:</i><br>
  If, as you say, you accidently check in a file that contains your CC numbers,
  you can use the "Shun" mechanism to remove that file from the repository, and
  to prevent it from being added again in the future (for example due to a
  sync.)

  The Shun mechanism was created for this and related purposes:  to remove
  wiki-spam or inappropriate or obscene comments or remarks or to remove
  copyrighted material or material that contains trade secrets.

  Shunning can be done from the web UI.  For some screens that show a single
  artifact, there is a "Shun" submenu option.  (You have to have Admin privilege
  to see it, I think.)  Or you can type in the SHA1 id of an artifact in the
  Shun screen which is found off of the main Admin page.  Shunning takes effect
  the next time the repository is rebuilt.



  <hr><i>bharder added on 2009-04-08 17:19:16:</i><br>
  Perhaps call it "fossil rewind" to "unplay" the commits, up to a certain point? I.e. if "<b>fossil timeline</b>" initially displays something like this:

    *  <nowiki>[beddable]</nowiki> checkin of big fix
    *  <nowiki>[deadbeef]</nowiki> code change xyz...
    *  <nowiki>[cafebabe]</nowiki> update code for new password changes...
    *  <nowiki>[debac1e5]</nowiki> Closed ticket xyz...
    *  <nowiki>[f005ba11]</nowiki> correct feature A as per ticket debac1e5...
    *  <nowiki>[decaf000]</nowiki> update supporting libabc to version 2...

  "<b>fossil rewind debac1e5 -m 'password accidentally checked-in with code'</b>" would leave the repository in a state where <nowiki>ticket [debac1e5]</nowiki> is the last entry. The manifest would be rebuilt to reflect repo state. I'd hope that syncing the checked-out files would not be done automatically. From there, a user could "<b>fossil commit</b>" to commit current diffs again, or re-checkout whatever baseline they want reflected on disk...

  As I think of it, perhaps a "rewind" entry could be installed as an artifact, too. So, after the above operation the "<b>fossil timeline</b>" might read:

    *  <nowiki>[c0ffee55]</nowiki> Rewind: (to <nowiki>[debac1e5]</nowiki>) password accidentally checked-in with code
    *  <nowiki>[debac1e5]</nowiki> Closed ticket xyz...
    *  <nowiki>[f005ba11]</nowiki> correct feature A as per ticket debac1e5...
    *  <nowiki>[decaf000]</nowiki> update supporting libabc to version 2...

  I'm guessing, too, that the "rewind" entries would *absolutely* need to be immutable (ie: non-rewindable themselves).


  ...as I think about this more, it could also be nice to rewind artifacts to a temp storage, fix the point-in-time error (ie: take out the CC#, or password), then replay the temp storage <i>back</i> to the main repo... correctly only the mistake of entering a CC# or password, etc., but allowing the repo to otherwise easily be brought back to initial (pre-rewind) state. That's <b>really</b> breaking the "must not be mutable" philosophy of drh's though.

  <b>fossil rewind debac1e5</b> ;# rewinds main repo to "debac1e5", storing unwound items on temporary stack

  <nowiki>[do local edits]</nowiki> ;# i.e.: remove the CC#

  <b>fossil commit</b> ;# now there is no embedded CC#, or secret password

  <b>fossil replay deadbeef</b> ;# replays stack taken with "fossil rewind", starting with deadbeef, to end (beddable)

  <b>fossil timeline</b> ;# new state after rewind/edit/replay
    *  <nowiki>[be55077d]</nowiki> Replay: end of replay <nowiki>[ca5caded]</nowiki>
    *  <nowiki>[ace55ab1]</nowiki> checkin of big fix
    *  <nowiki>[defaced1]</nowiki> code change xyz
    *  <nowiki>[ca5caded]</nowiki> Replay: start
    *  <nowiki>[1dec0ded]</nowiki> password changes in code, but didn't commit actual password this time
    *  <nowiki>[c0ffee55]</nowiki> Rewind: (to <nowiki>[debac1e5]</nowiki>) password accidentally checked-in with code
    *  <nowiki>[debac1e5]</nowiki> Closed ticket xyz...
    *  <nowiki>[f005ba11]</nowiki> correct feature A as per ticket debac1e5...
    *  <nowiki>[decaf000]</nowiki> update supporting libabc to version 2...

  I'm sure there are corner cases, and details to be worked-out, but it sounds interesting...

  <hr><i>bharder added on 2009-04-08 17:24:24:</i><br>
  If this discussion continues, it should be moved to a [rewinding] wiki page...

  <hr><i>anonymous claiming to be lRem added on 2009-04-08 19:37:56:</i><br>
  Ok, I've missed the <em>shun</em> feature. It's all that <em>I</em> need in this matter.


tkt_uuid: 83e9e0016b65721084ef29b466c1a7ea59ea7d7e
type: Feature_Request
status: Open
severity: Important
foundin: current
private_contact: 9271333c277938acfba7db515d7eb25b37a30122
resolution: Open
title: html tags are apparently not escaped or converted when presented via timeline.rss
comment:
  A fossil commit with a comment such as the following,

  ---
  Note that couchdb document field names are now contained in priv/project.conf file. The strings within the <<>> are the names which should be used in html documents, e.g. <<"_id">> or <<"iata_code">> and the name to POST from a form would be "_id" or "iata_code" respectively.
  ---

  will break my RSS reader when I read timeline.rss ; though I use liferea on GNU/Linux, I believe (though do not know) that illegal XML is being presented by timeline.rss by not escaping or encoding html tags and characters.  For the above comment, liferea says that <<>> is an invalid element name.  I can easily cause breakage by simply adding a commit comment such as

  ---
  bugfix, added the opening &lt;h1&gt; tag in widget.html
  ---

  in which case the RSS reader complains about an open tag with no closing tag.  I then have to wait 20 new commits for the "bad" comment to roll out of the timeline.rss data before I can again read the fossil feed in my RSS reader.

  NOTE that I wrote the above tag using encoded less than and greater than signs so that I could create this bug report.  I cannot expect my fossil users (nor myself) to remember to write out ampersand g t ; etc. whenver an html tag is referenced in a commit comment.

  Click edit for this report to see the actual text to which I am referring regarding "encoded less than and greater than signs".

  My feature request is that timeline.rss present valid parseable XML atom or RSS data.

  <hr><i>anonymous claiming to be Michael McDaniel added on 2010-01-22 16:02:36:</i><br>
  Single tag in commit comment still breaks timeline.rss xml feed; note that in this ticket addendum I wrote the html encoded list tag using "&" "lt" ";" otherwise when reading the ticket it is misleading.  I cannot expect my users to html encode their comments (myself included).

  I committed my project with comment 

  "... and fixed the misplaced &lt;li&gt; from previous checkin"

  and have RSS reader error

  XML Parser: Could not parse document:
  Entity: line 10: 
  parser 
  error : 

  Opening and ending tag mismatch: li line 10 and title

        <title>... and fixed the misplaced &lt;li&gt; from previous checkin</title>

  Entity: line 12:

  If I remembered C well enough (I don't) I would dig in to the code.


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: 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: 855375dc57fb2fd96274b83a48544a7674b56989
type: Code_Defect
status: Closed
foundin: 711675774b
private_contact: f33437152151a7ffe4cdce87383155dd9c0f8d50
resolution: Unable_To_Reproduce
title: can't clone remotely
comment:
  on trunk but on various other versions I've tried.

  <pre>
  User ID	 	Capabilities	 	Contact Info
  anonymous	   	ghmncz	   	Anon
  blackdog	   	gv	   	blackdog
  </pre>

  but

  <pre>
   fossil clone http://blackdog@xx.yy.zz.dd:8080/ test
                  Bytes      Cards  Artifacts     Deltas
  Send:              49          1          0          0
  Received:         120          2          0          0
  Send:             625         25          0          0
  password for blackdog: 
  Error: login failed
  </pre>

  <hr><i>benoit added on 2010-07-18 07:17:52:</i><br>
  You should use
  http://blackdog<strong>:password</strong>@server:8080

  <hr><i>drh added on 2010-07-25 21:00:09:</i><br>
  I just tried this and it works fine for me.  Please verify that both the
  client and the server have the most recent version of Fossil installed.
  If that does not clear the problem, the please reopen the ticket providing
  additional information on how to reproduce the problem.


tkt_uuid: 867f23ff79fe52aacff390f93dc3186ed9981b60
type: Code_Defect
status: Closed
severity: Critical
foundin: 713b8be852
private_contact: 21c0f447532234366dbec18d60d747db150b5faa
resolution: Overcome_By_Events
title:
  Assertaion failed: (pBlob)->xRealloc==blobReallocMalloc || (pBlob)->xRealloc==blobReallocStatic, file blob_.c, line 170.

comment:
  I used checkout to try to only checkout a specific file and it gave me this error and erased almost all my project files in my root project directory/subdirectories.  I won't do it again.  Are we suppose to be able to just checkout one file?  If not can a protection be put on doing so?  

  The following is what was output in the command window.

  Assertaion failed: (pBlob)->xRealloc==blobReallocMalloc || (pBlob)->xRealloc==blobReallocStatic, file blob_.c, line 170.

  This application has requested the Runtime to terminate it in an unusal way.  Please connact te application's support team for more information.

  <hr><i>drh added on 2009-09-18 21:04:07:</i><br>
  I'm not sure what the OP means by the sentence: "I used checkout to try to only 
  checkout a specific file...."  But I did observe that little error checking is
  done on the "checkout" command and so if you give it the artifact ID for 
  something that is not a check-out, it will not give a reasonable result and
  will often segfault.  That defect, at least,
  has be fixed as of check-in [c774e298c3f213f7487fb0ba638edfa3f1b89edf].  But
  it is unclear whether or not that will fix the OP's problem.

  We do see clearly that the "checkout" command will not modify any files in
  a check if those files have changed in any way, unless the "--force" flag is
  used.  So I do not thing the OP lost any work.  All the deleted files can be
  recovered simply by doing a "checkout" of the version that was in the repository
  prior to the failed checkout.


tkt_uuid: 869729204ab5e201064d4f3208c805cad94f89a0
type: Feature_Request
status: Open
severity: Important
resolution: Fixed
title: Fossil does not trace file removal.
comment:
  If a file in local tree have removed, at commit stands out:

  fossil: no such file: /home/napa3um/workspace/Disco/agent/Win32-Release/rpcagent.exe

  <hr><i>anonymous added on 2009-10-22 12:35:47:</i><br>
  "fossil clean" not the necessary variant since besides a file "/Disco/agent/Win32-Release/rpcagent.exe" he suggests to remove all files from the catalogue "/Disco/" (and in rep I store while only the catalogue "/Disco/agent/")


  <hr><i>anonymous added on 2009-10-22 12:39:56:</i><br>
  Sorry, "fossil clean" at all has to it no relation.


  <hr><i>anonymous claiming to be Dmitry Chestnykh added on 2009-10-22 14:01:22:</i><br>
  Use <code>fossil rm FILENAME</code> to remove it.

  <hr><i>anonymous added on 2009-10-23 06:13:30:</i><br>
  for what reason fossil does not do it automatically?

  <hr><i>anonymous added on 2009-10-23 06:14:11:</i><br>
  for what reason fossil does not do it automatically?

  <hr><i>anonymous claiming to be Dmitry Chestnykh added on 2009-10-23 06:25:03:</i><br>
  There's a discussion currently in mail list about UI changes and an option to rm missing files automatically  (see home page for links). Let's discuss it there and come back to file a feature request for agreed changes.

  <hr><i>anonymous claiming to be Dmitry Chestnykh added on 2009-10-23 06:25:43:</i><br>
  There's a discussion currently in mail list about UI changes and an option to rm missing files automatically  (see home page for links). Let's discuss it there and come back to file a feature request for agreed changes.

  <hr><i>anonymous claiming to be Dmitry Chestnykh added on 2009-10-23 06:26:07:</i><br>
  There's a discussion currently in mail list about UI changes and an option to rm missing files automatically  (see home page for links). Let's discuss it there and come back to file a feature request for agreed changes.

  <hr /><i>dmitry added on 2011-09-08 20:31:53 UTC:</i><br />
  There is now [http://www.fossil-scm.org/index.html/help?cmd=addremove | addremove] command.


tkt_uuid: 86985f82583ce56540ca913f38c3d1dd87e925d3
type: Feature_Request
status: Open
severity: Minor
private_contact: ddae85699df0ae84ab8e0a6a6dacf72bab6d4a7a
resolution: Open
title: Add a 'forum' or 'discussion list' capability to fossil
comment:
  There are many times when a fossil-based project has need for an associated 'forum' ([http:///dev.ronware.org/p/reva|Reva Forth] being one example :) ).  Integrating external forum software with fossil is difficult; in addition, the knowledgebase provided by the discussions is then external to the repo.

  I would like to have some manner of 'forum' capability inside fossil.  It need not be very complex, but having the ability to have groups of discussions, and show the contents grouped by discussion threads would be extremely useful to me.

  I'm willing to work on adding such a feature if nobody else has; but I'm not sure what the proper underpinnings should be (and how to make sure the forum information gets properly cloned etc).

  <hr /><i>anonymous added on 2011-02-17 05:29:00 UTC:</i><br />
  Since Fossil wiki page support comments, a forum interface could be written in Javascript. Each forum would be a wiki page. Adding a new topic would add a comment to the forum page, referencing the new topic, then add a topic page. Replies would then be added as comments to the topic pages.

  Of course, given that Fossil is a developers' tool, I would expect most discussion to be attached to tickets, so really only need a simplified way to append new comments to tickets.


tkt_uuid: 86eb5f92f589d3d3efcddab05beb4ad55e18e1f3
type: Feature_Request
status: Fixed
subsystem: one
priority: Immediate
severity: Cosmetic
foundin: dec2c22d9d
private_contact: 21e3ee7060dead77e727910d6020a9996455e4a5
resolution: Fixed
title: Make bug reports "just work" without configuration.
comment:
  Thanks for writing fossil and making it available!

  If you download fossil and run
  "fossil new something"
  "fossil ui"
  and then navigate to the "Enter a New Bug Report" page,
  there's a big red "ERROR" at the bottom of the "Enter A New Bug Report" page.

  Similarly, there are zero bug report formats at the beginning.

  It isn't hard to configure things, (there are those pleasant defaults),
  but it caused me to stumble and thrash for a bit. Something like "No bug report table is configured yet. Configure bug report table with defaults?" would be smoother and more pleasant for adopters.

  Thanks again.

  <hr><i>drh added on 2008-08-18 23:29:46:</i><br>
  I think these issue with the ERROR might be fixed in the later versions
  of Fossil.  The solution here is probably to put up fresh precompiled
  binaries.

  <hr><i>anonymous added on 2008-11-23 06:00:17:</i><br>
  These issues still exist as of dec2c22d9d.

  <hr><i>drh added on 2008-11-26 02:04:38:</i><br>
  Works for me with after check-in [024859fff2].


tkt_uuid: 874d5360fc0926006271fd37ef74238800057640
type: Code_Defect
status: Fixed
severity: Critical
foundin: d8ceb4ad47
private_contact: b060c7801d9aa35179e5b9af3c79b6c2693068bc
resolution: Fixed
title: Opening a repository gives a runtime error.
comment:
  Steps:

    *  downloaded fossil-linux-x86-d8ceb4ad47.zip , unzipped in <code>/usr/local/bin</code>

    *  <code>$ fossil clone http://kkinnell@www.fossil-scm.org ~/repos/Fossil.fsl</code>

    *  <code>$ cd ~/fossil</code>

    *  <code>$ fossil open ~/repos/Fossil.fsl</code>

  The response from this is

      <code>fossil: near "(": syntax error</code>

  Looks like a parser error to <i>me</i>.  ;)

  This was all on a fossil-clean machine, it had no previous version or any repos.  For what it's worth, it's an AMD-64x2 (Turion), but I doubt that matters.  GNU/Linux, Kubuntu Hardy distro (32 bit).

  Tried rebuilding the repo, no joy.<br>
  <code>
  kejoki@dadhp:~/repos$ cp Fossil.c6a9.fsl Fossil-d8ce.fsl<br>
  kejoki@dadhp:~/repos$ fossil-d8ceb4ad47 rebu Fossil-d8ce.fsl<br>
  3771 (100%)...<br>
  kejoki@dadhp:~/repos$ cd ..<br>
  kejoki@dadhp:~$ mkdir foss2<br>
  kejoki@dadhp:~$ cd foss2<br>
  kejoki@dadhp:~/foss2$ fossil-d8ceb4ad47 open ~/repos/Fossil-d8ce.fsl<br>
  fossil-d8ceb4ad47: near "(": syntax error<br>
  </code>

  Time to go digging.

  The code that produces the error message is in the <code>expr.c</code>
  chunk in the sqlite3 amalgam. 
  The function is <code>sqlite3RegisterExpr</code>.

  Pretty clearly won't have time to gdb this until later.

  <hr><i>eric added on 2008-11-10 19:33:07:</i><br>
  This also happens with my newly-built 9fd8009007 (Linux-from-scratch 6.1), and also opening a brand-new repository.

  <hr><i>drh added on 2008-11-10 21:13:49:</i><br>
  Fixed by check-in [c66ffba6da].


tkt_uuid: 87f7cebc27d15049398e21474af1b243c56959a4
type: Code_Defect
status: Open
severity: Minor
foundin: b48f78964e
private_contact: ccd87c60364e1d3e945b6f4d4874f5174b17cc43
resolution: Open
title: Wiki page names starting with '.' don't work
comment:
  I can link to a page with a starting dot like [.this], but it is not understood as a wiki page apart.

  <hr /><i>stephan added on 2011-09-15 22:01:36 UTC:</i><br />
  Why would you expect a page name starting with a non-letter to work? i'm not aware of ANY wiki which allows wiki works to start with non-alpha characters (and most require CamelCaseWords). Fossil doesn't have a 100% generic document management system - it has a wiki, and wiki conventions call for certain naming patterns. Granted, fossil's naming conventions are "more flexible" than most wikis, but i would never expect a page name starting with a dot to work.

  <hr /><i>dmitry added on 2011-09-16 10:00:41 UTC:</i><br />
  I agree with the strangeness of the name, but the problem is that we have inconsistent behaviour. Currently Fossil:

    *  Allows creating a new page with dot in the beginning here: [http://www.fossil-scm.org/index.html/wikinew] Note that there are rules for names listed on this page; and ".Pagename" is okay by these rules.
    *  But when linking to such pages via <nowiki>[.Pagename]</nowiki> syntax, links don't work correctly (should point to http://www.fossil-scm.org/index.html/wiki?name=.Pagename, but point to http://www.fossil-scm.org/index.html/.Pagename).

  We should either disallow creating wiki pages with "." in the beginning and update the rules, or fix the link formatting.

  <hr /><i>stephan added on 2011-09-16 10:31:49 UTC:</i><br />
  i would vote for requiring the name to start with a letter, but that requires more code for the validation and error handling :/. i think allowing any character as the start character will lead to ambiguities downstream at some point. e.g. if the first letter is '#', how do we distinguish that from an anchor link?


tkt_uuid: 8832434e32be0b842628df624b41ceb30928f83a
type: Build_Problem
status: Closed
priority: Immediate
severity: Critical
foundin: 4fff366109
private_contact: 5c164664f608e8049128be696a3d13e04aa6fafd
resolution: Fixed
title: build error with checkoutable() function
comment:
  <pre>checkout_.c:192: error: too few arguments to function 'checkoutable'
  *** Error code 1
  </pre>

  <hr><i>bch added on 2009-04-19 06:15:55:</i><br>
  fixed with commit [ab6a293182e196259]


tkt_uuid: 884c40589fcee6fa54d18eb3e8db1d1ba337a294
type: Code_Defect
status: Open
severity: Important
foundin: 20b2767f46a79e845c319bd7aadec34d84ff9bca
private_contact: 9e3254e6e3c2643cc148bab2d55f46bb4c0446f4
resolution: Open
title: ssh clone fails from Ubuntu 10.10
comment:
  This issue seems different from [115e95ac11631d0f3f2cf2427f1a7212999b079e]

  If I use fossil clone it seems I get the MOTD. This could be related to the sshd config

  <pre>
  mjanssen@Juno:~/Projects$ fossil clone ssh://mjanssen@localhost/home/mjanssen/Repos/tcltk.fsl test.fsl
  Enter passphrase for key '/home/mjanssen/.ssh/id_rsa':
  fossil: ssh connection failed: [Linux Juno 2.6.35.8-bfs #1 SMP Wed Jan 19 17:16:18 CET 2011 i686 GNU/Linux
  Ubuntu 10.10

  Welcome to Ubuntu!
   * Documentation:  https://help.ubuntu.com/

  4 packages can be updated.
  0 updates are secur]
  </pre>

  <hr /><i>mjanssen added on 2011-02-01 08:14:39 UTC:</i><br />
  It seems the echo of test is not displayed on first read from the ssh pipe. Applying the following patch makes ssh clone work (buffer zIn is enlarged for big MOTDs):


  <pre>
  mjanssen@Juno:~/Projects/fossil$ fossil diff src/http_transport.c
  --- src/http_transport.c
  +++ src/http_transport.c
  @@ -109,11 +109,11 @@
       ** and run an SSH command to talk to the remote machine.
       */
       const char *zSsh;  /* The base SSH command */
       Blob zCmd;         /* The SSH command */
       char *zHost;       /* The host name to contact */
  -    char zIn[200];     /* An input line received back from remote */
  +    char zIn[32000];     /* An input line received back from remote */

       zSsh = db_get("ssh-command", zDefaultSshCmd);
       blob_init(&zCmd, zSsh, -1);
       if( g.urlPort!=g.urlDfltPort ){
   #ifdef __MINGW32__
  @@ -152,10 +152,12 @@
       popen2(blob_str(&zCmd), &sshIn, &sshOut, &sshPid);
       if( sshPid==0 ){
         fossil_fatal("cannot start ssh tunnel using [%b]", &zCmd);
       }
       blob_reset(&zCmd);
  +    /* eat preamble on login */
  +    sshin_read(zIn, sizeof(zIn));

       /* Send an "echo" command to the other side to make sure that the
       ** connection is up and working.
       */
       fprintf(sshOut, "echo test\n");


  </pre>

  <hr /><i>mjanssen added on 2011-02-01 08:36:39 UTC:</i><br />
  Fix also works from windows using plink.exe with an MinGW fossil build

  <hr /><i>mjanssen added on 2011-02-02 01:00:34 UTC:</i><br />
  After closer reading: [115e95ac11631d0f3f2cf2427f1a7212999b079e] does seem very similar.


tkt_uuid: 886c302b3fab0212423e27e8c5dfb40a610b5541
type: Documentation
status: Closed
severity: Cosmetic
foundin: f969b6cdde
private_contact: 2359089ef753bc96e12743e299243d5232c749fa
resolution: Fixed
title: add <nowiki>[#INTERNAL]</nowiki> form to wiki_rules page
comment:
  if the wiki_rules page was a wiki page, i would have just updated it... hehe.

  <hr><i>jeremy_c added on 2009-12-31 04:36:14:</i><br>
  This is in the doc page, I am unsure if it was added after this ticket was created or if it was already there.

  <hr><i>jeremy_c added on 2009-12-31 04:43:00:</i><br>
  Opps, I mis-read. I added the documentation in commit [dddc514053].


tkt_uuid: 891cd78969e03ec3009be583653dd6f524a160a3
type: Code_Defect
status: Fixed
severity: Important
foundin: bd75ea06b8
private_contact: 24b67375dd2ec6c7381a5ad34cfcf006f0b9c260
resolution: Fixed
title:
  Error: cannot close database "unable to close due to unfinalised statements" with fossil sqlite3 command

comment:
  Closing fossil sqlite session will show error if content(uuid) function was used.
    
  <pre>
  c:\soft\msys\home\user\fossil>fossil ver
  This is fossil version [bd75ea06b8] 2010-12-04 19:25:04 UTC
  c:\soft\msys\home\user\fossil>fossil sqlite3
  SQLite version 3.7.4
  Enter ".help" for instructions
  Enter SQL statements terminated with a ";"
  sqlite> select * from blob where uuid='2e68abae2f7da03c7418cfe4eedc11c484fbee82';
  9935|622|2886|2e68abae2f7da03c7418cfe4eedc11c484fbee82|
  sqlite> select content('2e68abae2f7da03c7418cfe4eedc11c484fbee82');
  ...
  there is a content of artifact [2e68abae2f7da03c7418cfe4eedc11c484fbee82] listed
  ...
  sqlite> .quit
  Error: cannot close database "unable to close due to unfinalised statements"

  c:\soft\msys\home\user\fossil>
  </pre>


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: 89b54e57b464fa8a51515295ae9be9da014f6024
type: Code_Defect
status: Closed
severity: Minor
foundin: cabf810b0b
private_contact: 735ae1c8a572d669bafab35cf8b1f5116c325c86
resolution: Duplicate
title: branch new asks to sign although clearsign says not to sign
comment:
  I'm always asked to sign my branch (not using omitsign) Is this intentional or should branch new obey the global clearsign setting like commit does?

  <hr /><i>drh added on 2010-10-03 18:12:08:</i><br />
  My personal opinion is that the "branch new" command should be removed.
  I don't see the point it in.  One does not have to "create" branches in
  Fossil - they spring into existence on their own as they are needed.

  I suspect that the "branch new" command stems from prior exposure to other
  VCSes (svn perhaps?) where branches do have to be explicitly created prior
  to use.  But Fossil does not work that way.  My suspicion is that the
  "branch new" command was added for familiarity for people coming from other
  VCSes.  I did not have anything to do with the "branch" command myself.

  Looking further, I see that the "branch list" command does not appear very
  helpful either, at least not in its current form.  Perhaps if "branch list"
  actually returned a list of branches, rather than a timeline, it would be
  useful for something.  But in its present form, my preference would be to
  remove the entire "branch" command - both "branch new" and "branch list".

  So, are there any objections to solving this ticket simply by removing
  the "branch" command?  What arguments are there in favor of keeping the
  "branch" command around?  

  <hr /><i>wolfgang added on 2010-10-03 18:36:42:</i><br />
  I would prefer to have a command like branch new. Before i start a new development step, which will become a branch, i usually
    *  open a new checkout
    *  define the branch
    *  update to the newly created branch

  So i prevent to checkin something on the main trunk, which shouldn't be there.

  Without defining the branch at the development start, i have to remember to give my 'branch' a name and a background color - until first commit.

  This working style is inspired by cvs, but i think, it works well with fossil.

  Instead of "fossil branch list" i always use the gui, so i don't need this command.

  best regards
  Wolfgang

  <hr /><i>renez added on 2010-10-04 20:22:02:</i><br />
  I have no proble with removing the branch command.
  In fact you can still do the cvs branch way but have to use
    *  open a new checkout
    *  define the branch like so: fossil commit --branch rene --comment "just an other branch"

  Would it be logical if you could do also:
    *  fossil commit --tag rene --comment "just an other tag"



  <hr /><i>wolfgang added on 2010-10-04 20:48:34:</i><br />
  adding the branch at commit time is possible, but doesn't match the working style, to start with a branch! The branch itself is an important step in this working style. We document the fact, that there is active development by starting the branch - without any changes!

  OK, we can do a commt with branch and force. This would be a proper replacement for the branch new command. But in this case, it should be mentioned in the documentation - maybe as a table of command replacements:

    *  scm (example: <kbd>CVS</kbd>)
    *  scm command(<kbd>cvs tag -b branch</kbd>)
    *  fossil replacement(<kbd>fossil commit -m "start new branch" -b branch -f</kbd>)

  <hr /><i>dmitry added on 2011-09-08 21:21:36 UTC:</i><br />
  Duplicate of [5e624dbfca4c].


tkt_uuid: 89bec0d9aa9f306d13eefc3384aa8b07746c10d5
type: Feature_Request
status: Fixed
severity: Important
foundin: 20090828225927
private_contact: 387f907ad9f7647071f9afb4fddaa14d5f5cff5b
resolution: Fixed
title: OS/2 support
comment:
  Hi for OS/2 support we need a couple of minor patches. For binary file support,

  <verbatim>
  --- main.c.orig Fri Aug 28 16:17:16 2009
  +++ main.c      Fri Aug 28 19:14:00 2009
  @@ -627,6 +627,11 @@
     setmode(_fileno(g.httpOut), _O_BINARY);
     setmode(_fileno(g.httpIn), _O_BINARY);
   #endif
  +#ifdef __EMX__
  +  /* Likewise for OS/2 */
  +  setmode(fileno(g.httpOut), O_BINARY);
  +  setmode(fileno(g.httpIn), O_BINARY);
  +#endif
     g.cgiPanic = 1;
     blob_read_from_file(&config, zFile);
     while( blob_line(&config, &line) ){
  </verbatim>

  We also don't have socklen_t, I did this, might not be the best spot for a typedef,

  <verbatim>
  --- cgi.c.orig  Fri Aug 28 16:17:16 2009
  +++ cgi.c       Fri Aug 28 18:54:38 2009
  @@ -48,6 +48,10 @@
   #include <unistd.h>
   #include "cgi.h"

  +#ifdef __EMX__
  +typedef int socklen_t;
  +#endif
  +
   #if INTERFACE
   /*
   ** Shortcuts for cgi_parameter.  P("x") returns the value of query parameter
  </verbatim>

  Also ideally the build process for translate etc should build translate$(E), I added -Zexe to the CFLAGS which is a workaround to force building foo and foo.exe.

  Sorry for the badly formatted patches, without the extra lines they ran together as one line and I couldn't see any where to attach them.

  <hr><i>drh added on 2009-08-29 17:02:58:</i><br>
  Patches implemented in [df97fae2bd9f248be08]


tkt_uuid: 8a41d37834c4614089369aa1c63fbeb24e0ad74b
type: Incident
status: Open
severity: Cosmetic
foundin: ca08c1d1b3
private_contact: 6b7d8d19b3584e0b0b59ee79d0f778ecd9f60111
title: 'configure pull' command accept --proxy option, but ignore it.
comment:
  need 'url_enable_proxy(0)' after uri_parse() called.<br>
  configure.c / configuration_cmd()
  <blockquote><verbatim>--- ../Fossil-ca08c1d1b3/src/configure.c 2009-09-24 01:54:53.000000000 +0900
  +++ src/configure.c 2009-10-08 08:49:20.000000000 +0900
  @@ -457,6 +457,7 @@
         }
       }
       url_parse(zServer);
  +    url_enable_proxy(0);
       user_select();
       if( strncmp(zMethod, "push", n)==0 ){
         client_sync(0,0,0,0,mask);
  </verbatim></blockquote>


tkt_uuid: 8a7a49c47d7f200126402c10803e40dbad595c52
type: Code_Defect
status: Fixed
severity: Important
foundin: ce5eb40702
private_contact: 5c164664f608e8049128be696a3d13e04aa6fafd
resolution: Fixed
title: Error reported for missing/non-readable repo during sync is not good
comment:
  related to ticket [045f23be75]. The error reported in that previous ticket is a sub-set of an html string returned. That returned error should be something more useful, and probably not even html. See [045f23be75] for how to generate an error, and what is returned as error msg.

  <hr><i>drh added on 2009-08-01 13:44:36:</i><br>
  The error was occurring prior to parsing the HTTP request header and so the
  server did not know that it was dealing with sync protocol - it figured the
  request was an ordinary HTTP/HTML browser request.  So it generates an HTML
  error message.  The fix is to modify the client to detect HTML error messages
  and try to do something reasonable with them.

  See check-in [80457ec79be10b32f372c69e0093c8fea7f0471b].


tkt_uuid: 8ae201d843649b3073f3a5e92b994194a13a9405
type: Incident
status: Fixed
subsystem: one
priority: Immediate
severity: Important
foundin: 28e5
resolution: Fixed
title: Bug tracker is not working
comment:
  Chose Bugs on the menu at http://www.fossil-scm.org/fossil, got this:

  Enter a new bug report:

     0. New bug report

  SELECT rn, title, owner FROM reportfmt ORDER BY title no such table: reportfmt

  But the link works, so here I am trying to raise the first bug!

  <hr><i>drh added on 2008-07-20 15:12:00:</i><br>
  I think I have the bug-tracking system working now.


tkt_uuid: 8b3c5d30f7e63cd7ed4fe0c48b1c970a58464d38
type: Build_Problem
status: Fixed
severity: Critical
foundin: 63d31b0448
private_contact: 63f4cb9d6971f7dbdee05412b8546975182b32e4
resolution: Fixed
title: Cannot build under MacOS/X 10.4 ... missing 'gethostuuid'
comment:
  If I try to build the mentioned version of Fossil under MacOS/X Tiger, the build process comes to a grinding halt due to missing symbol

     <code>gethostuuid()</code>

  referred to by <samp>sqlite.c</samp>.

  This function seems not to be available under Tiger.

  <hr><i>drh added on 2010-03-04 13:42:22:</i><br>
  Try updating the makefile to include:

  <blockquote>
  <tt>TCC += -U__APPLE__</tt>
  </blockquote>

  <hr><i>bharder added on 2010-03-04 18:14:51:</i><br>
  This fix does correct this error for me. I'd experienced same issue on my OS X 10.4.11.

  <hr><i>anonymous added on 2010-03-05 09:19:59:</i><br>
  Thanks for the quick reaction ...

  but unfortunately now it does not fail to link but to compile :-(

  <verbatim>
  gcc -g -Os -Wall -DFOSSIL_ENABLE_SSL  -I. -I./src -DSQLITE_OMIT_LOAD_EXTENSION=1 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -Dlocaltime=fossil_localtime -c ./src/sqlite3.c -o ./obj/sqlite3.o
  ./src/sqlite3.c: In function 'unixOpen':
  ./src/sqlite3.c:25814: error: storage size of 'fsInfo' isn't known
  ./src/sqlite3.c:25815: warning: implicit declaration of function 'fstatfs'
  ./src/sqlite3.c:25814: warning: unused variable 'fsInfo'
  make: *** [obj/sqlite3.o] Error 1
  </verbatim>

  Sorry for the mess ...



  <hr><i>anonymous added on 2010-03-05 09:32:59:</i><br>
  Sorry, I did try the revision associated with that ticket, but did not follow the solution description here.

  Now as I did, all compiles fine. Sorry for the noise!


tkt_uuid: 8b46db87f1bfa942b48169ef7a8e8d69df8bd2d5
type: Incident
status: Closed
severity: Important
foundin: d0753799e4
private_contact: 194c9ef8edbd9a57ef36f4f18fde1d57ce26e1e5
resolution: Open
title: fossil update reporting 'login failed' despite local repo having a password for the account used
comment:
  I made my first commit to fossil in a long time, and started from a fresh clone.
  1. So, to be able to push I did:
       fossil push http://aku@www.fossil-scm.org/fossil
       typed the password, and of I went.
     OK

  2. Later I ran
       fossil update
     and got back:
      Autosync:  http://aku@www.fossil-scm.org/fossil
                      Bytes      Cards  Artifacts     Deltas
      Sent:             193          3          0          0
      Error: login failed    fossil: 
     BAD

  3. I should note, when I do a
       fossil pull
     I get asked for the password again, and then the pull works.

  I suspect that something is wrong with the local password storage, or how it is used by the transfer code. ... Looking into the user table fossil has stored a HASH of my password ... The last-sync-url contains my user name ... Oh, it is some mismatch between client and server about password vs hash usage.

  While this can have a severe impact on usability I decided to set the priority of this ticket only to important because of 3.

  Last note: I ran a 'fossil rebuild' and then the above again, this had no effect on the problem.

  <hr /><i>aku added on 2010-11-12 23:03:20:</i><br />
  Thanks Richard. Tried this using the binary built from [328fc92ceb318278b] and the problem with update is gone.

  I came to wonder why pull and sync (maybe push) ask for the password tough, given that it is known. The modified 'update' shows that fossil can find the information somewhere for an automatic pull/push cycle.


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: 8bc2549cedcd599556bbaf131f03b96588701f20
type: Code_Defect
status: Fixed
severity: Minor
foundin: 879e8c5f32
private_contact: ace2a438fb254e5d21ba2ed1295b2da8392d271c
resolution: Fixed
title: "fossil ui" expects firefox to exist
comment:
  <pre>
  djbclark@tux:~/gnupure$ fossil ui gnupure.fossil-scm
  sh: firefox: not found
  (hangs)
  </pre>

  It would be good if fossil had a built-in list of web browsers to search for in the user's $PATH. Debian, Ubuntu, gNewSense, and probably other .deb-based GNU/Linux distributions have the concept of the alternatives system - "x-www-browser" exists, which the user can set to be whatever they want, but usually has a sane default. So IMHO a good order to try would be:

  <pre>x-www-browser icecat iceweasel firefox konqueror dillo www-browser elinks links2 links-hacked links w3m lynx</pre>

  Reasoning: If x-www-browser exists, it should be what the user wants to use. If icecat exists, it is most likely because the user has made a choice to use it, as it's not default in any distros I know of. If iceweasel exists, firefox probably doesn't, as it is usually just in Debian instead of firefox. Next, firefox, then if that doesn't exist, try KDE's browser, konqueror, and then dillo, a lightweight browser which is the only option on some USB/CD bootable distributions. If none of those exist, the user may be on a box without X-Windows; try www-browser, which should be what the user wants to use, followed by the web browsers that can do full-screen GUI to frame buffer, elinks, links2, links-hacked, and links, followed by text-only web browsers, w3m and lynx.

  <hr><i>drh added on 2009-04-18 19:21:49:</i><br>
  If you can suggest code for linux that finds the users preferred webbrowser,
  I would really like to see it.  The web browser selection already works well
  in OSX (it invokes "open") and in windows (where it invokes "start").  But
  the linux web browser selection logic is lacking.

  Note, however, that as a work-around, you can say:

     fossil setting web-browser WHATEVER -global

  Do the above once, and be forevermore happy.

  <hr><i>anonymous claiming to be lRem added on 2009-04-20 15:06:10:</i><br>
  You could just use:
  <verbatim>kfmclient exec 'http://lrem.net'</verbatim>
  Or its GNOME counterpart. This is the native way of using the browser the user chose in his system settings.

  <hr><i>anonymous claiming to be lRem added on 2009-04-20 15:10:52:</i><br>
  The GNOME counterpart is:
  <verbatim>gnome-open 'http://lrem.net/'</verbatim>
  One of these is expected to fail in normal circumstances. 

  <hr><i>bharder added on 2009-04-21 18:32:14:</i><br>
  Both would fail in my normal circumstance, as I run niether Gnome or KDE; I think this is drh's point; there really is not a standard *nix way of doing this.

  <hr><i>drh added on 2009-04-21 19:16:39:</i><br>
  Some code that would try various things until it found one that worked, would
  be nice.  I eagerly await your suggestions :-)

  <hr><i>anonymous claiming to be lRem added on 2009-07-08 18:47:08:</i><br>
  After a bit of research I found out that there already is an universal solution. It's called <em>xdg-open</em>. It is present in every Linux system with Firefox on board I have access to at this moment. So all you have to do is call:
  <verbatim>
  xdg-open http://lrem.net/
  </verbatim>
  And there you have my home site in your favorite browser ;)

  If you still want some code that keeps falling back until it finds something I can just write that. But I personally don't believe that we need such boilerplate.

  <hr><i>drh added on 2009-07-08 19:41:01:</i><br>
  xdg-open does not exist on my SuSE system - my primary desktop
  on which I do most SQLite and Fossil development.

  I think what we really need here is a little subroutine that tries several different commands to launch the web browser, and keeps trying until it finds
  one that works.  Perhaps "xdg-open" is what it tries first, but "firefox" 
  needs to be on the list somewhere.  What else do we try?

  <hr><i>drh added on 2009-07-29 13:10:22:</i><br>
  See check-in [3a7e3e427d19e9b1ab1c4d8017d53c5a58122091]


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: 8d073be8808beaa7b614b6d489e729dfb51ac114
type: Code_Defect
status: Fixed
severity: Important
foundin: 713b8be852
private_contact: 2359089ef753bc96e12743e299243d5232c749fa
resolution: Fixed
title: diff/editor/gdiff settings don't support paths with spaces
comment:
  for the diff-command, gdiff-command, and editor settings, assigning a path with spaces causes failures when fossil attempts to launch the external tools.  i even tried to assign the settings with quotes but they are (probably) stripped by the OS on the command line.  this was observed using windows xp and powershell.<br>
  <br>
  RW<br>
  <pre>PS C:\svn\rpw\Zyrain\Test> fossil setting gdiff-command "C:\Program Files\Beyond Compare 3\BComp.exe"
  PS C:\svn\rpw\Zyrain\Test> fossil settings
  autosync             (local)  1
  diff-command
  editor               (local)  C:\Program Files\JGsoft\EditPadPro6\EditPadPro.exe
  gdiff-command        (local)  C:\Program Files\Beyond Compare 3\BComp.exe
  http-port
  localauth            (local)  0
  clearsign            (local)  off
  pgp-command
  mtime-changes
  proxy
  web-browser
  PS C:\svn\rpw\Zyrain\Test> fossil gdiff sct.txt
  'C:\Program' is not recognized as an internal or external command, operable program or batch file.
  PS C:\svn\rpw\Zyrain\Test> fossil ver
  This is fossil version [713b8be852] 2009-08-28 22:59:27 UTC
  </pre>

  <hr><i>drh added on 2009-09-10 23:01:15:</i><br>
  Fixed by check-in [aeaee1f38512181e].

  <hr><i>anonymous added on 2009-09-11 01:32:34:</i><br>
  drh - i noticed in checkin <a href=./info/aeaee1f38512181e>aeaee1f38512181e</a> that you quoted the entire command for windows, including parameters.  i don't think that is what you need.  for example, your patch would do this for gdiff-command:<br>
  <pre>"C:\Program Files\Beyond Compare 3\BComp.exe file1.cpp file2.cpp"</pre>
  the above would still result in the OS thinking that C:\Program was the command you were executing and Files\Beyond etc. is a space delimited parameter list.  for commands with spaces in them, you need to quote the command and then quote any parameters with spaces in them.  to be safe, you can just quote all parameters separately, so what you want is one of these:<br>
  <pre>"C:\Program Files\Beyond Compare 3\BComp.exe" file1.cpp file2.cpp
  "C:\Program Files\Beyond Compare 3\BComp.exe" "file1.cpp" "file2.cpp"</pre>

  <hr><i>anonymous claiming to be alison.rowland@filollc.com added on 2009-09-14 18:40:57:</i><br>
  This is still broken under Cygwin, with the latest Fossil version ([eb1db585a5] 2009-09-14 16:56:29 UTC).


  <hr><i>drh added on 2009-09-14 19:50:27:</i><br>
  I have retested and I am unable to reproduce the problem.  I'm setting
  gdiff-command to

      C:\Program Files\WinMerge\WinMergeU.exe

  And then I run "gdiff" from both a cygwin shell and a regular DOS box and
  it works great in both cases.


tkt_uuid: 8d6efe4f9272f12e123dc1224414d640c8b0d4fc
type: Code_Defect
status: Fixed
severity: Severe
foundin: [90048e0b30]
private_contact: 24b67375dd2ec6c7381a5ad34cfcf006f0b9c260
resolution: Fixed
title: fossil version [90048e0b30] will not save zip archive on winXP
comment:
  When using fossil [90048e0b30] click on "ZIP archive" link in Check-in [90048e0b30] pop up a few windows error message boxes and finally creates zero sized zip file.

  Using CLI shows:
  <verbatim>
  C:\soft\bin>fossil ver
  This is fossil version [90048e0b30] 2009-08-15 02:17:27 UTC

  C:\soft\bin>fossil new qqq.foss
  fossil: unable to open database file

  there are created files:
  c:\soft\bin\qqq.foss-journal
  c:\soft\bin\qqq.foss

  with older version:
  C:\soft\bin>fossil ver
  This is fossil version [c15ec20d5a] 2009-08-12 17:35:02 UTC

  C:\soft\bin>fossil new qqq.foss
  fossil: table blob already exists

  C:\soft\bin>fossil new qqq1.foss
  project-id: 218e401e23a79e77f74e6a00e07f4b992ebde5a4
  server-id:  01ad0641ed66067354b27334453f976b72c2c8ec
  admin-user: usr (initial password is "b6e282")

  C:\soft\bin>fossil ui qqq1.foss
  Listening for HTTP requests on TCP port 8080
  Launch webbrowser: start http://127.0.0.1:8080/
  Type Ctrl-C to stop the HTTP server
  empty repo could be browsed
   
  C:\soft\bin>fossil open qqq1.foss
  fossil: unable to find the name of a repository database

  C:\soft\bin>fossil status
  fossil: unable to find the name of a repository database

  </verbatim>

  <hr><i>drh added on 2009-08-15 12:05:54:</i><br>
  I am unable to replicate this problem.  Fossil version [90048e0b30] is working
  fine for me on winXP.  The "ZIP Archive" link works fine too.

  Please provide addition information on how to cause the problem.

  <hr><i>anonymous claiming to be tsbg added on 2009-08-15 12:29:36:</i><br>
  When I try to download a Zip archive from the following link:
  [http://www.fossil-scm.org/index.html/info/90048e0b30], after some time the
  following message gets displayed:

  <VERBATIM>
  *** glibc detected *** /usr/bin/fossil: realloc(): invalid next size: 0x081726f8 ***
  ======= Backtrace: =========
  [0x80d8a5b]
  [0x80db45e]
  [0x80dc462]
  [0x8071771]
  [0x8071a59]
  [0x8071bbe]
  [0x805b0fe]
  [0x805b3c8]
  [0x805bc67]
  [0x80bde75]
  [0x8048131]
  ======= Memory map: ========
  </VERBATIM>

  It seems there is something broken on the fossil web server.

  HTH

  -- tsbg


  <hr><i>anonymous claiming to be PF added on 2009-08-15 12:51:53:</i><br>
  I can confirm the same situation, downloading from link:

  http://www.fossil-scm.org/fossil/zip/Fossil-292e585661.zip?uuid=292e585661b01026cf550a6000311947c64d4e75

  creates zip file containing only following lines:<br>
  <verbatim>
  *** glibc detected *** /usr/bin/fossil: realloc(): invalid next size: 0x08181298 ***
  ======= Backtrace: =========
  [0x80d8a5b]
  [0x80db45e]
  [0x80dc462]
  [0x8071771]
  [0x8071a59]
  [0x8071bbe]
  [0x805b0fe]
  [0x805b3c8]
  [0x805bc67]
  [0x80bde75]
  [0x8048131]
  ======= Memory map: ========
  </verbatim>

  <hr><i>drh added on 2009-08-15 13:24:12:</i><br>
  Fixed by check-in [5b91887495c]


tkt_uuid: 8d786b9ab1228fdf6214776dfe0490191b426fd9
type: Feature_Request
status: Closed
severity: Important
foundin: 3ad5891c72
private_contact: 09d09b41d94be1b9adea78189eb3c716b5267367
resolution: Duplicate
title: Should be ability to translate into Russian(other languages)
comment:
  How can i trunslate fossil into Russian ?

  <hr /><i>anonymous claiming to be здесь вам не тут added on 2010-12-04 09:23:44:</i><br />
  You can't. Every programmer must at least read English.

  <hr /><i>anonymous claiming to be gour added on 2010-12-04 09:54:00:</i><br />
  <blockquote>Every programmer must at least read English.</blockquote>

  What about people contributing to the project via web by e.g. submitting tickets?



  <hr /><i>anonymous added on 2010-12-07 15:07:09:</i><br />
  I favour the possibility to translate fossil.

  If any responsible of Fossil makes a claim such as "Every programmer has to know English, and that's why we don't plan to do anything to allow translations", please put that on the front page of fossil so people can choose another VCS and blame fossil publicly, instead of setting it in hiding.

  I really hope the main developers don't have this point of view on "English über alles".

  On the other hand, I understand it requires some effort to allow a program to interact in the user language of choice.

  <hr /><i>dmitry added on 2011-09-08 22:15:52 UTC:</i><br />
  Duplicate of [91683f49e8].


tkt_uuid: 8e13d170f2d6d6e3c5386b7a4177bc21fa9ba28b
type: Code_Defect
status: Fixed
severity: Minor
foundin: f7cff4ad13
resolution: Fixed
title: File list UI does not show files with similar extensions
comment:
  Steps to reproduce:
    *  Add files test.c and test.cpp to the repository.
    *  Start UI and view Files.

  Expected results:
    *  Files test.c and test.cpp are both listed.

  Actual results:
    *  Only file test.c is listed.

  It seems like only the first file (in collating order) is listed for multiple files with the same name and different extensions with a common initial substring. Clicking on "All" to show the union of all files from all check-ins displays both files.

  <hr /><i>anonymous added on 2011-01-24 18:24:36 UTC:</i><br />
  on the Files view, if you click "All", you will see it.. 

  it seems that when you see only one of them because by default, you see only file for one checkin...

  I made the same test as you and I'm was confused too...

  <hr /><i>anonymous added on 2011-01-24 18:56:02 UTC:</i><br />
  In my case, I tried to edit the file that was not shown on the default view, I commit it and after, I still don't see the file I just commit. And the checkin id is show on top was good. 

  Step by step from beginning:

  <pre>
  # fossil new test.fossil
  # mkdir repo
  # cd repo
  # fossil open ../test.fossil
  # echo "a source file" > test.c
  # cp test.c test.cpp
  # fossil add test.c test.cpp 
  # fossil commit
  </pre>

  I put some comment...

  <pre>
  fossil ui
  </pre>

  I see only test.c in "Files"

  Then I edit test.cpp, I commit again, I do fossil ui again, I still only see test.c even if on top the checkin number shown on top of the page correspond to the latest commit when I modified test.cpp.

  <hr /><i>anonymous claiming to be Joerg Sonnenberger added on 2011-01-24 22:36:14 UTC:</i><br />
  I can reproduce the problem with the commands given.

  <hr /><i>anonymous claiming to be Joerg Sonnenberger added on 2011-01-24 22:42:56 UTC:</i><br />
  browse.c line 215 should be a strcmp. There might be a missing check for removed files in base revisions too?

  <hr /><i>anonymous claiming to be mgagnon added on 2011-01-25 21:22:31 UTC:</i><br />
  It seems that the problem happens when a file name is shorter than another, but all the characters are the same as the longer one (first characters).

  <b>example:</b>

    *  <b><em>test.c</em></b> and <b><em>test.cpp</em></b>   will cause the problem
    *  <b><em>test.h</em></b> and <b><em>test.c</em></b> will be ok
    *  <b><em>test</em></b> and <b><em>testt</em></b> will have the same problem

  So it's not really related with extension...


tkt_uuid: 8e20a6f5d180605b6748cb621de4c841d1433495
type: Incident
status: Closed
resolution: Duplicate
title: testing a feature request fix.
comment:
  testing to see if initial user name shows up

  <hr><i>kejoki added on 2008-11-25 04:31:56:</i><br>
  Oh well.


tkt_uuid: 8e291053ef80e56d06ad9c192ea80ce94e04d762
type: Feature_Request
status: Open
severity: Cosmetic
foundin: b48f78964e
resolution: Open
title: Color picker (edit check-in properties)
comment:
  Is it doable to include code from http://jscolor.com/ in the check-in properties page?

  I think there might be a license issue… please tell me

  <hr /><i>BMorgat added on 2010-09-23 08:46:58:</i><br />
  In particular, example at [http://jscolor.com/try.php#setting-color] seems interesting

  <hr /><i>wolfgang added on 2010-09-25 11:16:58 / edited on 15:20</i><br />
  i think, it should be possible by adding some scripting to the footer. there is an example for syntax highlighting in editor fields in the documentation.

  The new button could be added by a pre/post entry in the css for the editor box.  Eventually we have to add a new id to the color input. I´ll take a look at the sources.

  Using css/javascript in the footer enables us to have a small binary and prevent any licence problems, because adding code is an user decission inside fossil configuration.

  <hr /><i>Ratte added on 2010-09-26 11:38:55:</i><br />
  with my commit 	[5b2c837336] on my branch, i've added a version, with an user defined color edit on the checkin edit page.

  With this change, you can add jscolor's script to the header and let the script generate the color picker. The classname/id of the input are documented in the default css view on admin/edit-css. For example, you can add the following to your footer:

  <pre>
  <th1>
    if { "$current_page" eq "ci_edit" } {
      html "<script src=\"http://jscolor.com/jscolor/jscolor.js\" type=\"text/javascript\"></script>"
      html "<script type=\"text/javascript\">"
      html "var myPicker = new jscolor.color(document.getElementById('clrcust'), {hash:true})"
      html "</script>"
    }
  </th1>
  </pre>


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: 8e9136e80ca3eeb053329bc0c829f5280ae2ab17
type: Incident
status: Fixed
subsystem: one
priority: Immediate
severity: Severe
foundin: 2ecc407d9b
private_contact: c.hintze@gmx.net
resolution: Fixed
title: Fossil allow to add own repository to itself (similar to bug c7b35be88)
comment:
  This bug is similar to the one mentioned under <a href="tktview?name=c7b35be884">c7b35be884</a>. Here Fossil allow to add a repository db (that is contained in the same directory tree as the checkout) to itself like this:
  <pre>
    mkdir test1
    cd test1
    fossil new myrepo
    fossil open myrepo
    fossil add myrepo
    fossil commit
    fossil commit
    :
  </pre>
  ad infinitum. In spririt of the commands <tt>clean</tt> and <tt>extra</tt> Fossil should not allow to add its own repository database to itself.

  <hr><i>drh added on 2008-07-23 17:39:00:</i><br>
  Fixed by check-in [141c31792b]


tkt_uuid: 8f1632a3f73afd1f000dc301b3385223b1055eac
type: Feature_Request
status: Open
severity: Minor
foundin: 472f9411ee
private_contact: d6e3dc5a1be453a53ddbc40f3b13dd2f051d19a8
resolution: Open
title: export function not yet implemented
comment:
  I would like to have the possibility to export files from the repository (similar to the Subversion 'export' command). I glanced over the documentation but was uable to find a command resembling this.

  <hr><i>ron added on 2010-03-08 05:30:12:</i><br>
  I think modifying the "push" command to accept a list of files or artifact IDs to deconstruct would be just the thing.  Then one could 'push' to the URL named on the command-line just exactly those artifacts one wished to transfer.  Perhaps also allowing a '--with-history' or something option would transfer the entire history of the named items.


tkt_uuid: 8f7e657c693bfb49282f6ad99b7616a4eff0faa6
type: Code_Defect
status: Open
severity: Minor
foundin: 37f295c310
private_contact: 194c9ef8edbd9a57ef36f4f18fde1d57ce26e1e5
title: Example for report coloring by priority is wrong
comment:
  The example below is wrong.
  The reason ?
  According to the common TH1 code for reports priority is a TEXT column with values 'Immediate' ... 'Zero'. The example on the other hand assumes priority to be INT in range 1 ... 5.

      SELECT
        CASE priority WHEN 1 THEN '#f2dcdc'
             WHEN 2 THEN '#e8e8bd'
             WHEN 3 THEN '#cfe8bd'
             WHEN 4 THEN '#cacae5'
             ELSE '#c8c8c8' END as 'bgcolor',
      ...
      FROM ticket

  The code I am now using my ticket setup is

      CASE priority
         WHEN 'Immediate' THEN '#f2dcdc'
         WHEN 'High'      THEN '#e8e8bd'
         WHEN 'Medium'    THEN '#cfe8bd'
         WHEN 'Low'       THEN '#cacae5'
         ELSE                  '#c8c8c8'
         END as 'bgcolor',


tkt_uuid: 8f8083f23038c3b5c67146b8ee1e9e0fd2e947a1
type: Code_Defect
status: Open
severity: Important
foundin: [4e1241f323] 2010-10-31 21:51:11 UTC
private_contact: 799fcce709e3f04aa96834caec7945b22b8b6a57
resolution: Open
title: commit not possible
comment:
  <pre>
  I was'n able to commit added files in version
  fossil version [d8f8932ff2] 2010-08-13 07:07:08 UTC

  and succedd with older version
  fossil version [fb5f0c2580] 2010-07-03 15:33:59 UTC

  fossil commit --comment "úvodní naplnění databáze"
  Autosync:  file:///Users/navratil/fossil/bin.fsl
                  Bytes      Cards  Artifacts     Deltas
  Send:             146          2          0          0
  Error: Database error: database is locked
  COMMIT



  /Applications/fossil commit
  Autosync:  file:///Users/navratil/fossil/bin.fsl
                  Bytes      Cards  Artifacts     Deltas
  Send:             146          2          0          0
  Received:         108          3          0          0
  Total network traffic: 252 bytes sent, 282 bytes received
  /usr/bin/vim "/Users/navratil/bin/ci-comment-0D37EFA17E26.txt"
  New_Version: 074b99d7792352ff4363ff80f2cceb833168d342
  Autosync:  file:///Users/navratil/fossil/bin.fsl
                  Bytes      Cards  Artifacts     Deltas
  Send:          500258         72          3          0
  Error: Database error: SQL error: database is locked
  </pre>

  <hr /><i>anonymous claiming to be arichardson added on 2010-11-11 12:01:59:</i><br />
  I'm occasionally seeing this error in my Buildbot logs.

  <pre>
  fossil pull && fossil update
   in dir /var/lib/buildbot/Reu2/slave/bin/nikko/build (timeout 1200 secs)
   watching logfiles {}
   argv: fossil pull && fossil update
   environment:
    HOME=/var/lib/buildbot
    LANG=en_GB.UTF-8
    LOGNAME=buildbot
    LS_COLORS=&lt;snip very long string&gt;
    MAIL=/var/mail/fatman
    PATH=&lt;snip very long string&gt;
    PWD=/var/lib/buildbot/Reu2/slave/bin/nikko/build
    SHELL=/bin/bash
    SUDO_COMMAND=/usr/bin/buildbot start /var/lib/buildbot/Reu2/slave/
    SUDO_GID=1000
    SUDO_UID=1000
    SUDO_USER=fatman
    TERM=screen-bce
    USER=buildbot
    USERNAME=buildbot
   closing stdin
   using PTY: False
  Server:    http://fatman@dreamtrack.dnsalias.com/fossils/reu2.cgi
                  Bytes      Cards  Artifacts     Deltas

  Sent:             146          2          0          0
  waiting for server...
  processed: 100%         fossil: 
  Error: Database error: database is locked
  DELETE FROM unclustered WHERE rid IN (SELECT rid FROM private)
  program finished with exit code 1
  elapsedTime=0.172838
  </pre>

  The build runs every 8 hours. Usually it's fine, but sometimes this happens and causes the build to fail.


  <hr /><i>drh added on 2010-11-11 12:09:26:</i><br />
  Recommended fix in both cases above:

    1.   Run the <tt>fossil sql</tt> command to get an interactive SQLite shell.

    2.   Type "<tt>PRAGMA journal_mode=WAL;</tt>"


tkt_uuid: 901936cf06df1b9b9a93e7b6001f61d59f8fb53f
type: Code_Defect
status: Fixed
severity: Minor
foundin: [7c37b46b12] 2010-04-15 23:53:15
private_contact: ae1a74676bb0d1ac520802109f926567b1637ac7
resolution: Fixed
title: web interface behaves badly
comment:
  Going to this URL:
  <pre>
    [http://www.sqlite.org/src/artifact/c167e90]
  </pre>
  Produces a non-themed white page with this text on it:
  <pre>
    Document Not Found
    The document /home is not avaivable on this server
  </pre>
  (The URL causes a redirection to /home which then produces the above page.)

  Older versions of fossil used to do something different that was less confusing.

  In the case of an ambiguous hash prefix like this that matches multiple hashes in the fossil db, it would be most helpful if the result page simply showed a list of the possible hash matches and their types so that it's a simple matter to click on the one you want to go there.

  <hr><i>anonymous added on 2010-04-20 15:53:00:</i><br>
  Still Open.  Just trying to modify an existing ticket


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: 91683f49e8c168ba8f349a1e83cc36a2b7b249c1
type: Feature_Request
status: Open
severity: Minor
resolution: Open
title: Mechanism for i18n the product UI
comment:
  There is no obvious mechanism by which one might localize the UI in Fossil.  If I want to have Spanish-speakers (who don't know English well) use the product, I currently need to go through all the menus etc., and manually change them.  This is extremely time-consuming and prone to failure.

  I would like to request we use something like GNU gettext (which is very easy to use), and then whoever wants to contribute a localization may do so.  Then, one only needs a way to indicate to Fossil that it should use a specific locale (for example, adding "locale=es" as query parameters).

  <hr><i>ron added on 2010-02-10 11:06:23:</i><br>
  It occurs to me that it might be difficult to deploy a gettext type of solution across platforms; though if the "mo" files are deployed relative to the executable in a known manner, that's not a problem.

  Another possibility might be to leverage the SQLite backend and just store the translations there; but then, we would have to engineer a reasonable way for the data to get populated, and that adds (I think) quite a bit of complexity.

  <hr><i>anonymous added on 2010-02-19 12:29:49:</i><br>
  Whilst gettext is certainly a good practice towards i18n/l13n, it's certainly not the be-all and end-all of dealing with multiple languages. I'd be in favour of the languages being done at compile time, not inside the repository as much as possible. Constants, templates and lots of #define are suitable work arounds.


tkt_uuid: 9195b1e5f38f15acf19b6e629fbacb122665dabc
type: Feature_Request
status: Closed
severity: Minor
foundin: 5d16ca43f1
private_contact: be550bfd65ad2b35c5af076e5620344955089a2e
resolution: Fixed
title: Support "fossil new myfossil.fsl user=root password=test1234"
comment:
  Beside the auto generated account/password, please add user specified account/password when creating a new fossil repository.

  <hr><i>jeremy_c added on 2010-01-02 21:08:55:</i><br>
  My preference would be if the user/password were supplied at the command line then the auto-user would not be created. This is a good idea, not once has my "Windows" user name been what I wanted to really use.

  <hr><i>jeremy_c added on 2010-01-26 14:41:14:</i><br>
  I implemented --admin-user|-A when creating a new repo file. I did not implement supplying the password on the command line. That can be changed easily enough in the ui or via fossil user password USERNAME PASSWORD. Setting the default user could not be altered before history was already created for that user.

  As for adding a user in addition to the default admin user, you can do that after the repo is created via the ui or fossil user new ?USERNAME? ?CONTACT-INFO? ?PASSWORD?. Therefore, I am going to close this ticket.

  <hr><i>jeremy_c added on 2010-01-26 14:41:36:</i><br>
  Fixed in [b8d812efb9]

  <hr><i>anonymous added on 2010-01-26 15:06:47:</i><br>
  Thanks for fixing on account part of request, following log is a test.

  <pre>
  root@600m:/pub/fossil.checkout/fossile.clone# fossil new t.fsl -A myadmin
  project-id: ce14a6df0274e3b938efdd5f63bf806aba3768f4
  server-id:  225fdc67e6dc811e7db0d1084c44fde38e3ddbf7
  admin-user: myadmin (initial password is "e037e5")
  root@600m:/pub/fossil.checkout/fossile.clone#
  </pre>

  Is there a technical reason the password can't be manually specified as well ?


  <hr><i>anonymous added on 2010-01-26 15:12:41:</i><br>
  I am closing this ticket, since password change can be done easily by following command.
  <pre>
  root@600m:/pub/fossil.checkout/fossile.clone# fossil user password myadmin test -R t.fsl
  root@600m:/pub/fossil.checkout/fossile.clone#
  </pre>


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: 923872a184b6ef77ef18c9c164a652a0ced34bc2
type: Feature_Request
status: Open
severity: Important
foundin: 0018d724b3
private_contact: 09d09b41d94be1b9adea78189eb3c716b5267367
resolution: Open
title: Ability to search tickets on website
comment:
  Searching by id(name=#),summary  and detailed description and comments

  <hr /><i>anonymous added on 2011-01-06 02:48:17 UTC:</i><br />
  Ability to sort by any field listed in the report would be necessary too. I'm considering using fossil purely as a ticket tracker, but search/sort functions are too lacking for an otherwise very attractive solution.


tkt_uuid: 923a9123096ae70e565558a274522fecc5c73771
type: Incident
status: Fixed
severity: Important
foundin: e124881a70
private_contact: 36f0fb79a71d7f6f746a9380e7eab81fa1eb1b8a
resolution: Fixed
title: osx will not unzip the zip files created by fossil
comment:
  osx will not unzip the zip files created by fossil

  to replicate the problem ; 

  1. login as anonymous to fossil-scm.org


  2. choose either timeline or leaves

  3. click on a 'version'(?) to open the summary page

  4. click on 'ZIP archive' to start download. 

  5. download completed; either 

      a) choose unzip as the default action, or

      b) double-click from finder. 

  (behaviour noted in osx 10.5)

  <hr><i>drh added on 2009-07-13 14:13:50:</i><br>
  This is a known problem.  If you run "unzip" from the command-line it works.  
  But if you double-click on the icon it does not.  I have no idea what the
  difference is and since I don't have source code to Apple's unzip utility,
  I cannot run it in a debugger to find out.  Any suggestions on how to proceed
  are welcomed.

  <hr><i>anonymous added on 2009-07-16 22:48:57:</i><br>
  The bug exists within ditto, the utility that BOMArchiver (the graphical front-end for zip extraction on OS X) uses.  The error reporting on the Console is "Couldn't read pkzip signature."  A quick investigation reveals that this occurs when the data descriptor flag is set (see http://www.info-zip.org/board/board.pl?m-1198023427/).  However, a quick overview of Fossil's zip files doesn't appear to indicate that this bit <i>is</i> set, so I'm at a loss.

  <hr><i>anonymous claiming to be Dmitry Chestnykh added on 2009-10-18 15:31:44:</i><br>
  If we use deflateInit2 instead of deflateInit, zlib will not append Adler32 CRC to the end of compressed stream, and also it will not prepend 2-byte signature to the beginning of compressed stream.

  This fixes the issue with ditto.

  (As discussed [http://www.mail-archive.com/fossil-users@lists.fossil-scm.org/msg00644.html | here])

  <verbatim>
  --- src/zip.c
  +++ src/zip.c
  @@ -126,11 +126,10 @@
   ** that the file should be saved as.
   */
   void zip_add_file(const char *zName, const Blob *pFile){
     z_stream stream;
     int nameLen;
  -  int skip;
     int toOut;
     int iStart;
     int iCRC = 0;
     int nByte = 0;
     int nByteCompr = 0;
  @@ -177,53 +176,37 @@
     blob_append(&body, zHdr, 30);
     blob_append(&body, zName, nameLen);
     blob_append(&body, zExTime, 13);
   
     if( nBlob>0 ){
  -    /* The first two bytes that come out of the deflate compressor are
  -    ** some kind of header that ZIP does not use.  So skip the first two
  -    ** output bytes.
  -    */
  -    skip = 2;
  -
       /* Write the compressed file.  Compute the CRC as we progress.
       */
       stream.zalloc = (alloc_func)0;
       stream.zfree = (free_func)0;
       stream.opaque = 0;
       stream.avail_in = blob_size(pFile);
       stream.next_in = (unsigned char*)blob_buffer(pFile);
       stream.avail_out = sizeof(zOutBuf);
       stream.next_out = (unsigned char*)zOutBuf;
  -    deflateInit(&stream, 9);
  +    deflateInit2(&stream, 9, Z_DEFLATED, -MAX_WBITS, 8, Z_DEFAULT_STRATEGY);
       iCRC = crc32(0, stream.next_in, stream.avail_in);
       while( stream.avail_in>0 ){
         deflate(&stream, 0);
         toOut = sizeof(zOutBuf) - stream.avail_out;
  -      if( toOut>skip ){
  -        blob_append(&body, &zOutBuf[skip], toOut - skip);
  -        skip = 0;
  -      }else{
  -        skip -= toOut;
  -      }
  +      blob_append(&body, zOutBuf, toOut);
         stream.avail_out = sizeof(zOutBuf);
         stream.next_out = (unsigned char*)zOutBuf;
       }
       do{
         stream.avail_out = sizeof(zOutBuf);
         stream.next_out = (unsigned char*)zOutBuf;
         deflate(&stream, Z_FINISH);
         toOut = sizeof(zOutBuf) - stream.avail_out;
  -      if( toOut>skip ){
  -        blob_append(&body, &zOutBuf[skip], toOut - skip);
  -        skip = 0;
  -      }else{
  -        skip -= toOut;
  -      }
  +      blob_append(&body, zOutBuf, toOut);
       }while( stream.avail_out==0 );
       nByte = stream.total_in;
  -    nByteCompr = stream.total_out - 2;
  +    nByteCompr = stream.total_out;
       deflateEnd(&stream);
   
       /* Go back and write the header, now that we know the compressed file size.
       */
       z = &blob_buffer(&body)[iStart];
  </verbatim>


tkt_uuid: 926a1b1639a1ee373968727940d5f6a6124c92ae
type: Documentation
status: Fixed
severity: Cosmetic
foundin: trunk
private_contact: 24b67375dd2ec6c7381a5ad34cfcf006f0b9c260
resolution: Fixed
title: new diff options -N or --new-file not defined in fossil help diff
comment:
  New options for fossil diff command as described in [/event?name=d6ba73e22bf6ecbac3b6debb47ca2e15d5e63630|Release notes] are not documented in command line help accessible with: 
  <pre>
  fossil help diff
  </pre>
  Perhaps I am overlooking something, but it would be helpful, to have also somewhere consistently documented hyper-linking to other repository elements like [/timeline?c=2010-11-01+17:24:02|Timeline entries]   

  It took me some try and error iteration to figure it out. [/timeline?r=StvPrivateHook2+|StvPrivateHook2] contains very helpful command help browser, perhaps it could be merged into trunk. 

  Thanks.


tkt_uuid: 929dd38716bf1f7297880b80229560d39ebe6414
type: Code_Defect
status: Closed
foundin: e0eceb7892
private_contact: 285d50b7823bcc6fb606209ae580c53cd440652c
resolution: Not_A_Bug
title: NOWIKI tag has no effect
comment:
  The nowiki tag is having no effect in my wiki pages. A simple example:

  <nowiki>[SomeotherPage]</nowiki>

  (Put NOWIKI tags around that - they're apparently hidden in the ticket viewer.)

  The wiki viewer is still processing that link.

  i'm trying to use the nowiki tag as a workaround for plugging in a google-code-compatible wiki parser (implemented in JS, as i posted to the mailing list earlier tonight).

  Fossil version [e0eceb7892] 2010-11-12 15:17:56

  <hr /><i>drh added on 2010-11-13 12:25:49:</i><br />
  How, exactly, is the wiki viewer still processing the link
  inside of &lt;nowiki&gt;...&lt;/nowiki&gt;?  It appears that
  wiki is disabled to me.

  <hr /><i>stephan added on 2011-09-14 17:55:23 UTC:</i><br />
  This appears to have been a denkfehler on my part.


tkt_uuid: 92d3a03459bc6560711471d8344c8ce834976d0f
type: Code_Defect
status: Open
severity: Important
foundin: 15b293259d
private_contact: cfcf19d860dc668ea6bb4cf4d3dff6a844a5a286
resolution: Open
title: problems with "fossil wiki delete"
comment:
  I added a wiki page using "fossil wiki create." The page is listed in the output of "fossil wiki list," but I'm unable to delete it:

  <b>c:\dev2\view1>fossil wiki create User_fred fred.txt</b>

  Created new wiki page User_fred.

  <b>c:\dev2\view1>fossil wiki list</b>

  User_fred

  <b>c:\dev2\view1>fossil wiki delete User_fred</b>

  Usage: fossil wiki delete PAGENAME

  <hr><i>anonymous added on 2010-07-05 20:45:06:</i><br>
  I just saw in the source code that "wiki delete" isn't implemented yet.


tkt_uuid: 930a168303fd3c71c39001fb8c4cd16fb37d959d
type: Build_Problem
status: Fixed
foundin: 2010.02.13.123048
private_contact: 6ba147a4218010d3c6ffddc5ed73dc017a44bf3c
resolution: Fixed
title: fossil is GPLed, openssl is GPL-incompatible, suggest adding clause to license
comment:
  fossil is licensed under the GNU GPL v2.
  unfortunately, openssl, while free, has a GPL-incompatible license.
  this means that distributors (like, say, debian) cannot ship fossil binaries linked to openssl.

  UNLESS you add an "exception" clause to the fossil license.
  Many programs have such an exception clause, e.g., wget has one,
  which I include below.  (This is an FSF-approved thing to do, BTW;
  the wording below is the wording the FSF uses when they add such
  a clause, and which they have recommended to others.)

  "In addition, as a special exception, the Free Software Foundation
  gives permission to link the code of its release of Wget with the
  OpenSSL project's "OpenSSL" library (or with modified versions of it
  that use the same license as the "OpenSSL" library), and distribute
  the linked executables.  You must obey the GNU General Public License
  in all respects for all of the code used other than "OpenSSL".  If you
  modify this file, you may extend this exception to your version of the
  file, but you are not obligated to do so.  If you do not wish to do
  so, delete this exception statement from your version."

  If the above is unclear (or unconvincing!) please do not hesitate to email.
  --
  Barak A. Pearlmutter <barak@cs.nuim.ie>


tkt_uuid: 93112ea7e802f65c763bb4067f7831dae4117546
type: Code_Defect
status: Closed
severity: Cosmetic
foundin: d0753799e4
private_contact: fac97f23def2edef326f318462266407c69e540f
resolution: Works_As_Designed
title: Timeline graph for trunk not straight
comment:
  Screenshot: [http://imgpaste.com/i/mqnwd.png]

  Normal branch, do a few check-ins, then merge branch with trunk. Would expect graph for trunk (white) to stay as a straight line on the left while the branch (pink) behaves as it does. Trunk curving around the right of the branch and then back seems a bit odd and visually confusing.

  <hr /><i>drh added on 2010-11-16 12:09:43:</i><br />
  The thin line represents a merge.  You didn't merge your branch back into
  the trunk - you renamed your branch as "trunk" beginning at check-in
  <nowiki>[6523fd3854]</nowiki> and then merged the old trunk into your branch (now called "trunk").

  That's an interesting way of doing it.  But it should give the same result
  as if you had merge the branch into the trunk.  So no harm done.

  The graph correctly shows what you did.  The thin merge-lines never stay on
  the same "rail" as the thicker ancestry lines.  That is by design.


tkt_uuid: 93166ec5cc5b429090137e6d65a8fc9f3cf31118
type: Code_Defect
status: Closed
severity: Severe
foundin: 0f27a59808
private_contact: 89fb7932f6cf1ff580ce979fd5eefb40af6860a4
resolution: Not_A_Bug
title: disk I/O error on commit (AIX)
comment:
  I have been getting a 'disk I/O error' when performing commits on an AIX system.
  The error prevents the autosync-push from taking place. A manual push works just fine.


  After a fair bit of tracking down, I found it is caused by the fsync(fd) call in unixDelete().

  <nowiki><pre>
  DBA0035:/home/dba0035/code/fossil-scm.org >fsl commit -m "where is>
  New_Version: ba79ed2621c11aad28ed30d6d3de9f922a5c445c
  dt: unixDelete(1) rc:0 zPath:/home/dba0035/code/fossil-scm.org/_FOSSIL_-mj544AAF
  2B fd:7
  dt: unixDelete(2) rc:1290 errno:9
  fossil: disk I/O error
  COMMIT

  If you have recently updated your fossil executable, you might
  need to run "fossil all rebuild" to bring the repository
  schemas up to date.
  DBA0035:/home/dba0035/code/fossil-scm.org >
  </pre></nowiki>

  Tracked using the following patch
  <nowiki><pre>
  --- src/sqlite3.c
  +++ src/sqlite3.c
  @@ -25516,20 +25516,18 @@
     unlink(zPath);
   #ifndef SQLITE_DISABLE_DIRSYNC
     if( dirSync ){
       int fd;
       rc = openDirectory(zPath, &fd);
  +printf("dt: unixDelete(1) rc:%d zPath:%s fd:%d\n", rc, zPath, fd);
       if( rc==SQLITE_OK ){
   #if OS_VXWORKS
         if( fsync(fd)==-1 )
   #else
         if( fsync(fd) )
   #endif
         {
           rc = SQLITE_IOERR_DIR_FSYNC;
  +printf("dt: unixDelete(2) rc:%d errno:%d\n", rc, errno);
         }
         if( close(fd)&&!rc ){
           rc = SQLITE_IOERR_DIR_CLOSE;
         }
       }
  </pre></nowiki>

  The errno of 9 is <nowiki><pre>
  DBA0035:/usr/include >grep EBADF *
  errno.h:#define EBADF   9       /* Bad file descriptor                  */
  </pre></nowiki>



  To get around this I have applied the following patch to bypass the dirSync processing...  Not sure of the implications but nothing has broken yet!
  <nowiki><pre>
  --- sqlite3.c
  +++ sqlite3.c
  @@ -48918,13 +48918,12 @@
       }

       /* Delete the master journal file. This commits the transaction. After
       ** doing this the directory is synced again before any individual
       ** transaction files are deleted.
  +    rc = sqlite3OsDelete(pVfs, zMaster, 1);
  +    */
  +    rc = sqlite3OsDelete(pVfs, zMaster, 0);
  -    */
  -    rc = sqlite3OsDelete(pVfs, zMaster, 1);
       sqlite3DbFree(db, zMaster);
       zMaster = 0;
       if( rc ){
         return rc;
       }</pre></nowiki>

  <hr><i>drh added on 2010-02-24 21:51:43:</i><br>
  Seems like an easier fix is to simply recompile with 
  the -DSQLITE_DISABLE_DIRSYNC compile-time option.



  <hr><i>anonymous added on 2010-02-25 08:40:04:</i><br>
  Sometimes you cant see the answer for looking... :)

  Recompiled as suggested and autosync now working beautifully!!! Suddenly fossil comes alive.
  <nowiki><pre>
  Autosync:  http://nnn.nnn.nnn.nnn:8080/
                  Bytes      Cards  Artifacts     Deltas
  Send:             130          1          0          0
  Received:        1196         26          0          0
  Total network traffic: 315 bytes sent, 831 bytes received
  New_Version: 4d9585118174ba091078318d13942715b662c86b
  Autosync:  http://nnn.nnn.nnn.nnn:8080/
                  Bytes      Cards  Artifacts     Deltas
  Send:            2763         31          1          2
  Received:        1334         29          0          0
  Total network traffic: 1713 bytes sent, 903 bytes received
  </pre></nowiki>


tkt_uuid: 935f17dc4b5b724da966f845a62f222b11443e1a
type: Feature_Request
status: Fixed
subsystem: one
priority: Immediate
severity: Important
private_contact: da39a3ee5e6b4b0d3255bfef95601890afd80709
resolution: Fixed
title: timeline with the commits only
comment:
  something like `hg log`

  <hr><i>drh added on 2008-10-18 02:37:19:</i><br>
  You can already do this by appending:

     ?y=ci

  To the end of the timeline URL.  But there needs to be form entry or button
  to do this for you.

  <hr><i>drh added on 2008-11-02 18:26:07:</i><br>
  See check-in [c9cd128c2c]


tkt_uuid: 93fef9f3c8649f8e00c672e698ee59c659129d84
type: Code_Defect
status: Open
severity: Important
foundin: 2010-09-18 15:51:43
private_contact: ccd87c60364e1d3e945b6f4d4874f5174b17cc43
resolution: Open
title: fossil clone -A username does not work
comment:
  In windows we have usually the login name 'developer'. For clones not to set the fossil 'developer' user to the local repository administrator, we want to use: "fossil clone -A admin URL FILE".

  But after doing that, fossil keeps using 'developer' as the repository administrator.

  <hr /><i>anonymous added on 2010-09-30 09:06:19:</i><br />
  Sorry, I see that the username said with '-A' works fine, but after the clone, fossil does not say about the new admin user and its password, but about the system user name, and its password.

  So, on "fossil clone -A admin URL FILE" it does not say the password of 'admin', but the password for the name of the current system user.

  <hr /><i>anonymous added on 2010-09-30 13:50:38:</i><br />
  As an additional note, running:

  fossil -A admin URL
  (Note I did not write any FILE name)

  this makes a file named 'admin'.

  <hr /><i>renez added on 2010-09-30 21:41:04:</i><br />
  The problem is in

  void db_create_default_users(int setupUserOnly, const char *zDefaultUser)

  It first checks for the default user in the database

  it should check zDefaultUser first and if that is empty go for the 
  default user in the database


tkt_uuid: 950a80de558a10637b36ff8cb14bb141721122a5
type: Feature_Request
status: Fixed
severity: Minor
foundin: Fossil version [fb5f0c2580] 2010-07-03 15:33:59
private_contact: f1eecd4609fe3c20ca482b5b80c54e8f2393c215
resolution: Fixed
title: "branch --private" option
comment:
  It's not at all obvious from the documetation how to create a private branch.  The closest I could get by experiment was "fossil commit --private --branch NEWNAME", but that doesn't work if there are no changes to commit.

  It would be nice if we could create new private branches using a "--private" option with the "fossil branch new" command.

  <hr /><i>dmitry added on 2011-09-08 20:47:13 UTC:</i><br />
  Fixed by [2b33781694].


tkt_uuid: 950d0186f84f38d27558f2453ff6eff2651e6730
type: Build_Problem
status: Fixed
severity: Minor
foundin: d16ccde510
private_contact: d66ecbed41cfc11708f85c2d7a607eb4c13c38e6
resolution: Fixed
title: Leftover dSYM directories
comment:
  On Mac OS X directories with .dSYM extension are created during build. The latest fossil builds everything in the $OBJDIR now and make clean therefor fails on rm -f $OBJDIR/* since it contains the dSYM directories. Adding -r to the rm should fix this.


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: 95ab8f02c3b8eb314cae8962d8b8ed8a45abde42
type: Code_Defect
status: Fixed
severity: Critical
foundin: 915bfd99fe
private_contact: 63f4cb9d6971f7dbdee05412b8546975182b32e4
resolution: Fixed
title: Bus error in SQLite under Solaris 9 (sparc)
comment:
  To develop another project under Solaris 9 (sparc), I decided first to build Fossil to use it as VCS for my project. Unfortunately it was not possible to build it streight ahead. Following was necessary:

    1  <samp>sha1.c</samp> ought to be patched via <verbatim>--- src/sha1.c  Thu May 28 02:44:38 2009
  +++ ../fossil/src/sha1.c        Sat Jun  6 18:07:39 2009
  @@ -2,7 +2,12 @@
   ** This implementation of SHA1 is adapted from the example implementation
   ** contained in RFC-3174.
   */
  -#include <stdint.h>
  +#ifdef __sparc__
  +  typedef unsigned int uint32_t;
  +  typedef unsigned char uint8_t;
  +#else
  +# include <stdint.h>
  +#endif
   #include <sys/types.h>
   #include "config.h"
   #include "sha1.h"</verbatim>

    2  The binary <samp>fossil</samp> has to be linked with <samp>-lsocket -lnsl</samp>

  After these, the binary could be built. But using it to e.g. clone or rebuild an existing repository, will result in a bus error with core dump. A debugger excerpt shows:<verbatim>bash-2.05$ ./fossil clone ~/repos/t3x.fsl t3x.fsl
   Repository cloned into t3x.fsl
   Rebuilding repository meta-data...
  Bus Error (core dumped)
  bash-2.05$ gdb fossil core
  GNU gdb 5.0
  Copyright 2000 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 "sparc-sun-solaris2.9"...
  Core was generated by `./fossil clone /export/home/cle/repos/t3x.fsl t3x.fsl'.
  Program terminated with signal 10, Bus Error.
  Reading symbols from /usr/lib/libz.so.1...done.
  Loaded symbols for /usr/lib/libz.so.1
  Reading symbols from /usr/lib/libsocket.so.1...done.
  Loaded symbols for /usr/lib/libsocket.so.1
  Reading symbols from /usr/lib/libnsl.so.1...done.
  Loaded symbols for /usr/lib/libnsl.so.1
  Reading symbols from /usr/lib/libc.so.1...done.
  Loaded symbols for /usr/lib/libc.so.1
  Reading symbols from /usr/lib/libdl.so.1...done.
  Loaded symbols for /usr/lib/libdl.so.1
  Reading symbols from /usr/lib/libmp.so.2...done.
  Loaded symbols for /usr/lib/libmp.so.2
  Reading symbols from /usr/platform/SUNW,Ultra-5_10/lib/libc_psr.so.1...done.
  Loaded symbols for /usr/platform/SUNW,Ultra-5_10/lib/libc_psr.so.1
  #0  sqlite3RowSetInsert (p=0x10e7a0, rowid=16) at src/sqlite3.c:30020
  30020     pEntry->v = rowid;
  (gdb) bt
  #0  sqlite3RowSetInsert (p=0x10e7a0, rowid=16) at src/sqlite3.c:30020
  #1  0x71410 in sqlite3VdbeExec (p=0xff568) at src/sqlite3.c:54628
  #2  0x6c4dc in sqlite3Step (p=0xff568) at src/sqlite3.c:49092
  #3  0x6c624 in sqlite3_step (pStmt=0xff568) at src/sqlite3.c:49168
  #4  0x85f5c in sqlite3_exec (db=0xf54f8, zSql=0xff668 "DROP TABLE 'filename'",
      xCallback=0, pArg=0x0, pzErrMsg=0xffbffa3c) at src/sqlite3.c:5421
  #5  0x29af4 in db_multi_exec (zSql=0xc2ae0 "DROP TABLE %Q") at db_.c:390
  #6  0x3cdc4 in rebuild_db (randomize=0, doOut=1039808) at rebuild_.c:221
  #7  0x27288 in clone_cmd () at clone_.c:94
  #8  0x3579c in main (argc=0, argv=0xffbffc5c) at main_.c:248
  (gdb) p pEntry
  No symbol "pEntry" in current context.
  (gdb) list
  30015       p->pFresh = pNew->aEntry;
  30016       p->nFresh = ROWSET_ENTRY_PER_CHUNK;
  30017     }
  30018     pEntry = p->pFresh++;
  30019     p->nFresh--;
  30020     pEntry->v = rowid;
  30021     pEntry->pRight = 0;
  30022     pLast = p->pLast;
  30023     if( pLast ){
  30024       if( p->isSorted && rowid<=pLast->v ){
  (gdb) info loc
  pLast = (struct RowSetEntry *) 0x0
  (gdb) quit</verbatim>

  However, if I took the file <samp>sqlite3.c</samp> of revision [767ae79c3d] replacing the actual file of revision [915bfd99fe], then all will run correctly without any fault!

  So I assume, the error was introduced in revision [3b76c0474e] (SQLite 3.6.14.1), as replacing the faulty file with that revision's one, also caused a bus error.

  If further information is necessary, please let me know ...

  Ciao,
  chi :-)

  <hr><i>drh added on 2009-06-07 17:07:10:</i><br>
  This is a problem in SQLite.  It is fixed there.  The fix in fossil is to
  use the latest version of SQLite.

  See [http://www.sqlite.org/cvstrac/tktview?tn=3869] for additional information.

  <hr><i>chi added on 2009-06-08 03:32:35:</i><br>
  Now it works smoothly ...

  Thank you very much!

  Ciao,
  chi.


tkt_uuid: 95d893c20763eab69663b618ff076f82faac60af
type: Feature_Request
status: Open
severity: Minor
foundin: 2009-10-11
private_contact: 6ba147a4218010d3c6ffddc5ed73dc017a44bf3c
resolution: Open
title: diagnostics for fossil tag cancel X Y
comment:
  When trying to remove a tag (actually I just want to remove it then regenerate it with --propagating set, but I digress) the command "fossil tag cancel X Y" gives no diagnostics when X does not exist.  Eg, try "fossil tag cancel XXXXXXX trunk"

  <hr><i>drh added on 2009-11-12 16:41:55:</i><br>
  Because Fossil is distributed, it has no way of knowing whether or not the
  tag exists.  It can check its local repository, certainly.  But you don't
  necessarily want to fail the cancel in that case because the tag might exist
  in some other repository that you just have not synced with yet.

  I will convert this to a "feature request" to issue a warning if the tag
  does not exist in the local repository.

  <hr><i>anonymous added on 2009-11-13 02:36:44:</i><br>
  So you're saying if a tag doesn't exist locally, but you cancel it anyway, then do a sync which would create the tag locally ... it gets cancelled at that time?  That would certainly violate my own principle of least surprise!

  Related question: what if you sync two repos, each of which has tag FOO on commit BAR, but one of the tags is marked --propagate and the other is not.  I assume the --propagate marking wins in this case?

  The semantics of tag creation/cancelling and syncing repos seems pretty subtle...

  <hr><i>drh added on 2009-11-13 14:18:15:</i><br>
  The "tag" artifact with the most recent timestamp wins.

  A distributed, disconnected database (such as fossil, but also git, hg, etc) 
  exhibits many surprising behaviors if you are used to working with a localized,
  monolithic, and always-connected database.  This is an inherent property of
  distributed and disconnected systems, I'm afraid.


tkt_uuid: 96276d63634dacb9a0465db0a594a935f99a4018
type: Feature_Request
status: Deferred
severity: Cosmetic
foundin: 2010-10-05 03:55:49
resolution: Open
title: Shunned artifact remain in log without a link to the artifact
comment:
  I created a 'test' ticket to try my newly defined settings on the "New Ticket"  page.

  I shunned it then rebuilt and the log on this artifact now display:<br>
  rcvid: 20<br>
  User: Simon <br>
  Date: 2010-10-07 05:34:23 <br>
  IP Address: 127.0.0.1 <br>
  Artifacts: <br>

  I find it odd and I'm unsure if it is the expected behavior.

  If it is, I suggest changing it to removing the log associated with a shunned artifact upon rebuild or displaying *Shunned* or *Shunned on 2010-10-07 06:03:03* beside artifact.


tkt_uuid: 96af2fca6da1664bad1cdf319675214f5f89a3a7
type: Code_Defect
status: Closed
severity: Important
foundin: fc23960258
private_contact: be550bfd65ad2b35c5af076e5620344955089a2e
resolution: Duplicate
title: web "Sync Now" need to provide repository path argument.
comment:
  I am getting "use --repository or -R to specific the repository database" from Admin page when clicking "Sync Now".

  <hr><i>anonymous added on 2010-01-27 14:01:00:</i><br>
  This is related to fc23960258

  <hr><i>altufaltu added on 2010-01-27 14:19:51:</i><br>
  I'm getting 'cannot locate home directory - please set the HOMEPATH environment variable' on trying to sync.

  Also, can this be extended to multiple servers / URLs and option to do push, pull or both (sync) for each of them?


  <hr><i>ron added on 2010-01-27 14:29:31:</i><br>
  I see how being able to 'sync' the server via a click is very convenient.  But unless you have access to the server (ssh or ftp or something), you cannot get a repository on it to begin with.

  If you can put a repo on the server, you must necessarily have enough access to already tell it what URL to sync to.

  It seems to me that allowing web access to change the URL is asking for trouble, though others will disagree.

  I don't understand the HOMEPATH issue.  Why would we have to change the PATH?  That sounds like a server-side misconfiguration.

  <hr><i>ron added on 2010-01-27 14:33:09:</i><br>
  Regarding the multiple syncs -- the "right" way to sync multiple servers is to run a "cron" job (or whatever the equivalent would be on Windows), to have a "fossil sync ..." process run periodically.  One could then simply have more than one URL to sync to in separate fossil commands.  

  If you do not have access to cron functionality on the servers where you are hosting the repo (why wouldn't you?),  then you could do the 'click' sync on several separate servers individually (each one sync-ing to a specific other server).  

  <hr><i>anonymous added on 2010-01-29 03:43:06:</i><br>
  I'm running fossil as CGI through apache. Remote URL is fossil-scm.org with no permission to push. If I click on Sync Now from admikn page, I get the error about setting HOMEPATH.


  <hr><i>anonymous added on 2010-04-12 16:58:22:</i><br>
  I also get the <code>use --repository or -R to specify the repository database</code> error, but only when the server is running against an unopened project.

  <hr><i>anonymous added on 2010-04-22 13:51:48:</i><br>
  New server setup as per instructions in "<tt>fossil help cgi</tt>".
  Everything works from the web UI EXCEPT the Admin -> Sync Now option.
  It produces a page with a single line in red:
  <font color="red"><verbatim>
  use --repository or -R to specify the repository database
  </verbatim></font>


  <hr /><i>dmitry added on 2011-09-08 20:06:31 UTC:</i><br />
  Tracking "Sync now" in ticket [3b1533a090] as a "Feature request".


tkt_uuid: 97d8f830b7e5e2505546809e7ec5752fc850111b
type: Code_Defect
status: Fixed
severity: Important
foundin: [6f9901dd42] 2010-05-02 19:21:11 UTC
private_contact: 5b06cbfac6af383308ac23d75ace1bba970322f9
resolution: Fixed
title: Fossil journal file included when adding files
comment:
  A file named "_FOSSIL_-journal" gets added when I try adding a bunch of files into the new repo:

  <pre>C:\ARNEL\test1
  >fossil open testing2.fsl

  C:\ARNEL\test1
  >fossil add .
  ADDED  00-ReadMe.txt
  ADDED  Copydatshit.bat
  ADDED  HashMyFiles.chm
  fossil: cannot add _FOSSIL_
  ADDED  _FOSSIL_-journal
  ADDED  lipsum.txt
  ADDED  quittersettings.xml
  ADDED  readme.txt
  fossil: cannot add testing2.fsl

  C:\ARNEL\test1
  >fossil rm _FOSSIL_-journal
  DELETED  _FOSSIL_-journal</pre>

  It does get removed from the list, but it should probably avoid this file as well since it issues an error for the _FOSSIL_ file itself.


tkt_uuid: 984d15b81114087e9ebd036b70161d1f14ea75fa
type: Feature_Request
status: Open
severity: Minor
private_contact: 77d1fb9b8673fda6e5de8f02a6ad22d96857b3e1
resolution: Open
title: Merge conflict markers could be more helpful
comment:
  It isn't easy to understand which conflicting version is which.

  CVS puts version information into markers:
  <pre>
  <<<<<<< PLIST
  @comment $NetBSD$
  =======
  @comment $NetBSD: PLIST,v 1.28 2010/09/13 12:43:16 asau Exp $
  >>>>>>> 1.28
  </pre>
  meaning that the text below the opening marker is fresh,
  and the text above the closing marker comes from revision 1.28.

  It would be nice to see Fossil behaving in a similar way, e.g. putting version id and/or time stamp in conflict marker.

  <hr /><i>anonymous claiming to be Joerg Sonnenberger added on 2010-10-15 13:59:32:</i><br />
  I agree that the markers at the moment are less helpful. Would it make sense to make them real prefixes? E.g.

  <verbatim>
  <<<< Working copy (version: XXX)
  ...
  ==== Conflict from version YYY
  ....
  >>> End of conflict between XXX and YYY
  </verbatim>

  Would that break any tools for conflict resolution?

  <hr /><i>anonymous added on 2010-10-15 14:11:30:</i><br />
  I expect adapting tools to handle version on "===" harder than adapting code that handles them on ">>>".

  Not to mention changing user habits when doing the same visually.


tkt_uuid: 986b31211c5bf8a569eb9c74c05933bd94d130f0
type: Incident
status: Closed
severity: Important
foundin: c67c61b694
private_contact: 2359089ef753bc96e12743e299243d5232c749fa
resolution: Open
title: fossil reports changes when there are none
comment:
  i built the latest snapshot on windows and i get strange results from fossil changes.  in this example, i just did fossil update trunk and a clean build using makefile.mingw.  using the newly built fossil.exe, i get the following results:

  <pre>
  PS C:\rev\src\fossil> .\fossil ver
  This is fossil version [c67c61b694] 2011-01-02 07:37:21 UTC
  PS C:\rev\src\fossil> .\fossil changes
  EDITED     src/diffcmd.c
  EDITED     src/merge.c
  EDITED     src/undo.c
  EDITED     www/fossil-v-git.wiki
  PS C:\rev\src\fossil> .\fossil diff src\diffcmd.c
  --- src\diffcmd.c
  +++ src\diffcmd.c

  PS C:\rev\src\fossil> .\fossil diff src\merge.c
  --- src\merge.c
  +++ src\merge.c

  PS C:\rev\src\fossil> .\fossil diff src\undo.c
  --- src\undo.c
  +++ src\undo.c

  PS C:\rev\src\fossil> .\fossil diff .\www\fossil-v-git.wiki
  --- .\www\fossil-v-git.wiki
  +++ .\www\fossil-v-git.wiki
  </pre>

  against the same repository, i try the same thing using fossil.exe that is in my path (an earlier version):

  <pre>
  PS C:\rev\src\fossil> fossil ver
  This is fossil version [70744b76e6] 2010-12-11 20:08:19 UTC
  PS C:\rev\src\fossil> fossil changes
  </pre>

  BTW the wiki still says i can build on windows using makefile.win32, but that file no longer exists.

  <hr /><i>rwilson added on 2011-01-04 20:29:27 UTC:</i><br />
  this problem still exists in [9e6f20bdf9].

  <pre>
  PS C:\rev\src\fossil> fossil ver
  This is fossil version [0b6c414c6f] 2010-12-09 13:56:19 UTC
  PS C:\rev\src\fossil> fossil changes
  PS C:\rev\src\fossil> .\fossil ver
  This is fossil version [9e6f20bdf9] 2011-01-04 17:50:46 UTC
  PS C:\rev\src\fossil> .\fossil changes
  EDITED     src/merge.c
  EDITED     src/undo.c
  EDITED     src/wikiformat.c
  EDITED     src/xfer.c
  PS C:\rev\src\fossil>
  </pre>

  <hr /><i>rwilson added on 2011-01-04 20:32:38 UTC:</i><br />
  hmm.  this was resolved after a fossil rebuild using [0b6c414c6f].

  <pre>
  PS C:\rev\src\fossil> fossil ver
  This is fossil version [0b6c414c6f] 2010-12-09 13:56:19 UTC
  PS C:\rev\src\fossil> fossil changes
  PS C:\rev\src\fossil> .\fossil ver
  This is fossil version [9e6f20bdf9] 2011-01-04 17:50:46 UTC
  PS C:\rev\src\fossil> .\fossil changes
  EDITED     src/merge.c
  EDITED     src/undo.c
  EDITED     src/wikiformat.c
  EDITED     src/xfer.c
  PS C:\rev\src\fossil> fossil rebuild
    100.0% complete...
  PS C:\rev\src\fossil> fossil changes
  PS C:\rev\src\fossil> .\fossil changes
  PS C:\rev\src\fossil>
  </pre>


tkt_uuid: 986daabbc4b969dd22dc93d183b566f7faf004f9
type: Code_Defect
status: Open
severity: Cosmetic
foundin: [f1d309ccd7] 2010-08-29 00:21:09
private_contact: 6b7d8d19b3584e0b0b59ee79d0f778ecd9f60111
title: checkin command lost merge information if --force option used.
comment:
  version [f1d309ccd7] or later, checkin --force option disable clock skew alarm.<br>But if this option specified, checkin_cmd() skip append merged IDs to manifest's "P" card.<br>It must not skip collect IDs from vmerge table even forceFlag is set.<br><blockquote><verbatim>--- ../7954ccba68/src/checkin.c	2010-10-19 00:28:10.437308800 UTC
  +++ src/checkin.c	2010-10-19 15:25:37.979195200 UTC
  @@ -826,23 +826,26 @@
     db_finalize(&q);
     zUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", vid);
     blob_appendf(&manifest, "P %s", zUuid);
  -
  -  if( !forceFlag ){
  -    checkin_verify_younger(vid, zUuid, zDate);
  -    db_prepare(&q2, "SELECT merge FROM vmerge WHERE id=:id");
  -    db_bind_int(&q2, ":id", 0);
  -    while( db_step(&q2)==SQLITE_ROW ){
  -      int mid = db_column_int(&q2, 0);
  -      if( !g.markPrivate && content_is_private(mid) ) continue;
  -      zUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", mid);
  -      if( zUuid ){
  -        blob_appendf(&manifest, " %s", zUuid);
  -        checkin_verify_younger(mid, zUuid, zDate);
  -        free(zUuid);
  -      }
  -    }
  -    db_finalize(&q2);
  -  }
  +  if( !forceFlag ){
  +    checkin_verify_younger(vid, zUuid, zDate);
  +  }
  +
  +  db_prepare(&q2, "SELECT merge FROM vmerge WHERE id=:id");
  +  db_bind_int(&q2, ":id", 0);
  +  while( db_step(&q2)==SQLITE_ROW ){
  +    int mid = db_column_int(&q2, 0);
  +    if( !g.markPrivate && content_is_private(mid) ) continue;
  +    zUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", mid);
  +    if( zUuid ){
  +      blob_appendf(&manifest, " %s", zUuid);
  +      if( !forceFlag ){
  +        checkin_verify_younger(mid, zUuid, zDate);
  +      }
  +      free(zUuid);
  +    }
  +  }
  +  db_finalize(&q2);

     blob_appendf(&manifest, "\n");
     blob_appendf(&manifest, "R %b\n", &cksum1);
  </verbatim></blockquote>


tkt_uuid: 98b63bd31671500627c21c1d28326057e0fc93d2
type: Code_Defect
status: Fixed
severity: Severe
foundin: bc857ecd92
private_contact: 6984f5ff2d3f66a87d3c6ddcf777c37b54e478f0
resolution: Fixed
title: 3-way merge drops line
comment:
  I noticed that during a merge a line from the branch I was merging from was missing between the conflict markers. A bit of analysis gave me the test case generated by a shell script at the end of this ticket.

  Note than the line containing <b>'f'</b> in v1 is completely missing in the merge result. Also, the line containing <b>'a'</b> should either appear once outside or twice inside the conflict markers.

  <verbatim>
  #!/bin/sh
  for l in 1 2 3 4 5 6 7 8 9; do echo $l; done > base
  for l in 1 2 3 4 5 a b c d e f 6 7 8 9; do echo $l; done > v1
  for l in 1 2 3 4 5 a b c x y z 6 7 8 9; do echo $l; done > v2
  fossil test-3-way-merge base v1 v2 result
  </verbatim>

  <hr><i>anonymous claiming to be ge@weijers.org added on 2009-03-20 23:01:13:</i><br>
  It seems like commit [e45d478f0c] took care of this bug too, the test case I posted is now handled correctly.

  I'll do some more testing but it looks good.



  <hr><i>drh added on 2009-03-20 23:26:11:</i><br>
  There are yet more bugs in the 3-way merge.  I'm still working on it.

  <hr><i>drh added on 2009-03-21 16:25:37:</i><br>
  Fixed in check-in [83566f24241a01bedbf89d8ca068c7c1b926b4f0]


tkt_uuid: 98b976f05a47aa7ba06a20dd8b303c18feae0789
type: Build_Problem
status: Closed
severity: Minor
foundin: [1a987869e0] 2010-05-16 19:38:58 UTC
private_contact: 5b06cbfac6af383308ac23d75ace1bba970322f9
resolution: Open
title: "Behavior" menu disappeared
comment:
  The <em>Admin</em> &gt; <em>Behavior</em> menu disappeared with the latest build (the one with the new Simplified BSD license).

  Compiling the latest leaf in the "gpl" branch restores it.

  <hr><i>anonymous claiming to be Arnel added on 2010-05-23 16:35:41:</i><br>
  Closing the ticket since the change is related to the license. Going with the GPL version for now till the said option gets merged back to the trunk.


tkt_uuid: 993287b389d78384ca1ab16641e08885f04b898a
type: Feature_Request
status: Open
severity: Cosmetic
foundin: 94bb313444
private_contact: 89fb7932f6cf1ff580ce979fd5eefb40af6860a4
title: Patch to allow sidebox to be skinable.
comment:
  Small patch, of many I hope, to make more of fossil 'skinable'

  This patch renames the sidebox object -> infobox, to make it more useable elsewhere, and applies some css to the default skins to emulate current look and feel.

  Only tested against Firefox 3.5 and IE8.

  Patch generated against [94bb313444]
  <verbatim>
  Index: src/branch.c
  ===================================================================
  --- src/branch.c
  +++ src/branch.c
  @@ -229,11 +230,11 @@

     style_header("Branches");
     style_submenu_element("Timeline", "Timeline", "brtimeline");
     login_anonymous_available();
     compute_leaves(0, 1);
  -  style_sidebox_begin("Nomenclature:", "33%");
  +  style_infobox_begin("Nomenclature:");
     @ <ol>
     @ <li> An <b>open branch</b> is a branch that has one or
     @ more <a href="leaves">open leaves.</a>
     @ The presence of open leaves presumably means
     @ that the branch is still being extended with new check-ins.</li>
  @@ -240,11 +241,11 @@
     @ <li> A <b>closed branch</b> is a branch with only
     @ <a href="leaves?closed">closed leaves</a>.
     @ Closed branches are fixed and do not change (unless they are first
     @ reopened)</li>
     @ </ol>
  -  style_sidebox_end();
  +  style_infobox_end();

     db_prepare(&q,
       "SELECT DISTINCT value FROM tagxref"
       " WHERE tagid=%d AND value NOT NULL"
       "   AND rid IN leaves"

  Index: src/descendants.c
  ===================================================================
  --- src/descendants.c
  +++ src/descendants.c
  @@ -322,19 +322,19 @@
       style_submenu_element("Open", "Open", "leaves");
     }
     style_header("Leaves");
     login_anonymous_available();
     compute_leaves(0, showAll ? 0 : showClosed ? 2 : 1);
  -  style_sidebox_begin("Nomenclature:", "33%");
  +  style_infobox_begin("Nomenclature:");
     @ <ol>
     @ <li> A <b>leaf</b> is a check-in with no descendants.</li>
     @ <li> An <b>open leaf</b> is a leaf that does not have a "closed" tag
     @ and is thus assumed to still be in use.</li>
     @ <li> A <b>closed leaf</b> has a "closed" tag and is thus assumed to
     @ be historical and no longer in active use.</li>
     @ </ol>
  -  style_sidebox_end();
  +  style_infobox_end();

     if( showAll ){
       @ <h1>All leaves, both open and closed:</h1>
     }else if( showClosed ){
       @ <h1>Closed leaves:</h1>

  Index: src/skins.c
  ===================================================================
  --- src/skins.c
  +++ src/skins.c
  @@ -156,11 +156,19 @@
   @ /* The label/value pairs on (for example) the vinfo page */
   @ table.label-value th {
   @   vertical-align: top;
   @   text-align: right;
   @   padding: 0.2ex 2ex;
  -@ }');
  +@ }
  +@
  +@ /* Information/instruction boxes */
  +@ table.infoBox {
  +@   border:2px solid #606060;
  +@   float:right;
  +@   width:33%;
  +@ }
  +@');
   @ REPLACE INTO config VALUES('header','<html>
   @ <head>
   @ <title>$<project_name>: $<title></title>
   @ <link rel="alternate" type="application/rss+xml" title="RSS Feed"
   @       href="$baseurl/timeline.rss">
  @@ -361,11 +369,18 @@
   @ table.label-value th {
   @   vertical-align: top;
   @   text-align: right;
   @   padding: 0.2ex 2ex;
   @ }
  -@ ');
  +@
  +@ /* Information/instruction boxes */
  +@ table.infoBox {
  +@   border:2px solid #a09048;
  +@   float:right;
  +@   width:33%;
  +@ }
  +@');
   @ REPLACE INTO config VALUES('header','<html>
   @ <head>
   @ <title>$<project_name>: $<title></title>
   @ <link rel="alternate" type="application/rss+xml" title="RSS Feed"
   @       href="$baseurl/timeline.rss">
  @@ -594,11 +609,19 @@
   @ /* The label/value pairs on (for example) the ci page */
   @ table.label-value th {
   @   vertical-align: top;
   @   text-align: right;
   @   padding: 0.2ex 2ex;
  -@ }');
  +@ }
  +@
  +@ /* Information/instruction boxes */
  +@ table.infoBox {
  +@   border:2px solid #eeeeee;
  +@   float:right;
  +@   width:33%;
  +@ }
  +@');
   @ REPLACE INTO config VALUES('header','<html>
   @ <head>
   @ <title>$<project_name>: $<title></title>
   @ <link rel="alternate" type="application/rss+xml" title="RSS Feed"
   @       href="$baseurl/timeline.rss">

  Index: src/style.c
  ===================================================================
  --- src/style.c
  +++ src/style.c
  @@ -158,24 +158,22 @@
       cgi_append_content("</font>\n", -1);
     }
   }

   /*
  -** Begin a side-box on the right-hand side of a page.  The title and
  -** the width of the box are given as arguments.  The width is usually
  -** a percentage of total screen width.
  +** Begin a side-box on the right-hand side of a page.  The title
  +** of the box is given as arguments.
   */
  -void style_sidebox_begin(const char *zTitle, const char *zWidth){
  -  @ <table width="%s(zWidth)" align="right" border="1" cellpadding=5
  -  @  vspace=5 hspace=5>
  +void style_infobox_begin(const char *zTitle){
  +  @ <table class="infoBox">
     @ <tr><td>
     @ <b>%h(zTitle)</b>
   }

   /* End the side-box
   */
  -void style_sidebox_end(void){
  +void style_infobox_end(void){
     @ </td></tr></table>
   }

   /* @-comment: // */
   /*
  @@ -379,10 +377,15 @@
   @ /* The label/value pairs on (for example) the ci page */
   @ table.label-value th {
   @   vertical-align: top;
   @   text-align: right;
   @   padding: 0.2ex 2ex;
  +@ }
  +@
  +@ /* Info box */
  +@ table.infoBox {
  +@   width:33%;
   @ }
   ;

   /*
   ** WEBPAGE: style.css
  </verbatim>


tkt_uuid: 995a864c5adf79456808d8f2bcd44c4959f46136
type: Code_Defect
status: Closed
severity: Important
foundin: b6a4e8592d58ead7878f4a072fc6c4da71c7ea97
private_contact: 9e3254e6e3c2643cc148bab2d55f46bb4c0446f4
resolution: Open
title: Editor command fails with spaces
comment:
  The fix for bug [8d073be8808beaa7b614b6d489e729dfb51ac114] only seems to have fixed the issue for the gdiff command. If editor contains spaces, executing it still fails.

  <verbatim>
  C:\Docs\Projects\01. Lean SDMC>fossil commit
  c:/Program Files/Vim/vim73/gvim.exe "C:/<snipped>/ci-comment-5
  260D688DBC8.txt"
  'c:/Program' is not recognized as an internal or external command,
  operable program or batch file.
  c:\Docs\Bin\fossil.exe: editor aborted
  </verbatim>

  Diff below fixes this, but a better solution would probably be to extend the portable_system command to cover all uses of fossil_system

  <verbatim>
  --- src/checkin.c
  +++ src/checkin.c
  @@ -442,11 +442,11 @@
   #if defined(_WIN32)
     blob_add_cr(&text);
   #endif
     blob_write_to_file(&text, zFile);
     if( zEditor ){
  -    zCmd = mprintf("%s \"%s\"", zEditor, zFile);
  +    zCmd = mprintf("\"%s\" \"%s\"", zEditor, zFile);
       printf("%s\n", zCmd);
       if( fossil_system(zCmd) ){
         fossil_panic("editor aborted");
       }
       blob_reset(&text);
  </verbatim>

  <hr /><i>drh added on 2011-02-04 03:28:14 UTC:</i><br />
  The diff above does not work.  On the system on which I am typing this
  remark (a Mac) my editor is set to

      fossil setting editor 'open -e -n -W'

  In other words, the command is "open" and that command is getting three
  command-line arguments, -e, -n, and -W.  If these are quoted, then the
  shell will think that I am trying to run a command named "open -e -n -W"
  which is the wrong thing to do.

  If the editor setting contains a space, then the quotes should be 
  included in the editor setting itself:

      fossil setting editor '"c:/Program Files/Vim/vim73/gvim.exe"'



  <hr /><i>mjanssen added on 2011-02-04 11:32:41 UTC:</i><br />
  you are right. pebkac. as for completeness ' doesn't work you will need \"


tkt_uuid: 99caf06e17bed849146e834a8341d40590c29bc5
type: Code_Defect
status: Fixed
severity: Important
foundin: [cf178577ec]
private_contact: ccd87c60364e1d3e945b6f4d4874f5174b17cc43
resolution: Fixed
title: Error moving a file to a directory with ../..
comment:
  I had pwd in "tools/path", "../path2" existed, and I moved a file this way:
  <verbatim>
  fossil mv myfile ../path2
  </verbatim>

  Instead of renaming "tools/path/myfile" to "tools/path2/myfile", it renamed "tools/path/myfile" to "tools/path2", and the "fossil status" started showing "NOT A FILE".

  I had to "fossil checkout" to fix that working directory, and specify the full rename path the next time, including the file name.

  <hr /><i>viric added on 2010-11-27 23:41:03:</i><br />
  Sorry, I think I wrote quite an uncomplete report before. You will understand from this example, where file_isdir() fails, and will make mv_cmd() think it's a file rename instead of moving to a directory.

  The repository root is at 'repo':
  <verbatim>
  viric@bergamota:~/dir1/dir2/repo/tools/dir3$ LANG=C stat ../../include
    File: `../../include'
    Size: 200             Blocks: 0          IO Block: 4096   directory
  Device: fe00h/65024d    Inode: 32905       Links: 7
  Access: (0755/drwxr-xr-x)  Uid: ( 1000/   viric)   Gid: (  444/   viric)
  Access: 2010-11-28 00:34:28.000000000 +0100
  Modify: 2010-09-28 19:31:46.000000000 +0200
  Change: 2010-09-28 19:31:46.000000000 +0200
  viric@bergamota:~/dir1/dir2/repo/tools/dir3$ fossil test-canonical-name ../../include
  /home/viric/dir1/dir2/repo/include
    file_size   = 200
    file_mtime  = 1285695106
    file_isfile = 0
    file_isexe  = 0
    file_isdir  = 0
  </verbatim>

  <hr /><i>anonymous claiming to be viric added on 2010-11-27 23:42:35:</i><br />
  Sorry, I think I wrote quite an uncomplete report before. You will understand from this example, where file_isdir() fails, and will make mv_cmd() think it's a file rename instead of moving to a directory.

  The repository root is at 'repo':
  <verbatim>
  viric@bergamota:~/dir1/dir2/repo/tools/dir3$ LANG=C stat ../../include
    File: `../../include'
    Size: 200             Blocks: 0          IO Block: 4096   directory
  Device: fe00h/65024d    Inode: 32905       Links: 7
  Access: (0755/drwxr-xr-x)  Uid: ( 1000/   viric)   Gid: (  444/   viric)
  Access: 2010-11-28 00:34:28.000000000 +0100
  Modify: 2010-09-28 19:31:46.000000000 +0200
  Change: 2010-09-28 19:31:46.000000000 +0200
  viric@bergamota:~/dir1/dir2/repo/tools/dir3$ fossil test-canonical-name ../../include
  /home/viric/dir1/dir2/repo/include
    file_size   = 200
    file_mtime  = 1285695106
    file_isfile = 0
    file_isexe  = 0
    file_isdir  = 0
  </verbatim>

  <hr /><i>anonymous added on 2010-11-27 23:44:23:</i><br />
  Just to clarify, there are no symlinks around. Only simple directories, so the canonical name is correct.
  The same 'test-canonical-name' works perfect for "../dir4", where dir4 exists. But it fails for "../../include".

  <hr /><i>anonymous claiming to be page added on 2010-12-27 14:36:41:</i><br />
  Any updates on this front? I just stumbled upon the same problem, where fossil mv file ../../dirname moved file to dirname instead of dirname/file.

  <hr /><i>anonymous claiming to be viric added on 2011-01-06 21:34:19 UTC:</i><br />
  I investigated the problem further.

  file_isdir() was made to use file_simplify_name() because of some bug in mingw [a7822bcc001e9]. Nevertheless, file_isdir() is called sometimes with a canonical filename, sometimes with a filename directly from program arguments.

  The function file_simplify_name() works well only for canonical names, because it is meant to remove the ".." in absolute paths. So when file_isdir() is called without a canonical name with the sequence '../..' in it, it works bad.

  As I don't know the mingw bug, I imagine that the file_simplify_name() call has to be there. So, I propose what comes to mind:
    *  Make file_simplify_name() work well when it's given a non-canonical name
    *  Make file_isdir() not call file_simplify_name() if the name is not canonical.

  Any preference? As drh did the change [a7822bcc001e9], he may know the best option.

  <hr /><i>anonymous claiming to be viric added on 2011-01-11 13:10:58 UTC:</i><br />
  I attached a patch that always uses file_canonical_name() so file_isdir() works for cases of "../.." directories.

  As it works with canonical names, maybe it has troubles with the ".." directories inside a symlinked directory, but I imagine there may be troubles for this situation in other parts of the code too.


tkt_uuid: 99d0791365daaec739c53c8b94059e280efc9628
type: Incident
status: Fixed
severity: Critical
foundin: b48f78964e
private_contact: a563a71e5f857dde49670b64cd4ded705a2f9a18
resolution: Fixed
title: Redirect problem prevents fossil access
comment:
  After working on the wiki yesterday, I closed all instances of Firefox. This morning, when attempting to reach the wiki to continue work, FF said "The page isn't redirecting properly".

  When I attempted retrieval from a fedora command line, these were the headers returned:

  <pre>
  HTTP/1.1 302 Moved Temporarily
  Cache-Control: no-cache, no-store
  Connection: close
  Date: Fri, 24 Sep 2010 13:13:57 GMT
  Location: http://www.redistream.com/cgi-bin/f/fossil
  Server: Apache/1.3.37 (Unix) AuthMySQL/2.20 mod_perl/1.30 mod_ssl/2.8.28 OpenSSL/0.9.8a
  Content-Length: 77
  Content-Type: text/html; charset=utf-8
  Client-Date: Fri, 24 Sep 2010 13:13:57 GMT
  Client-Peer: 70.104.141.70:80
  Client-Response-Num: 1
  Client-Warning: Redirect loop detected (max_redirect = 7)
  </pre>

  fossil is accessed as /cgi-bin/f

  the contents of f are:
  <pre>
  #!/usr/local/bin/fossil
  repository: /fossil/redistream
  </pre>

  perms are a+rw to /fossil

  a new repo /fossil/bingo seems to work fine, but all work in the previous repo is unavailable.

  from the command line, 'fossil wiki list -R /fossil/redistream' works.

  fossil all rebuild /fossil/redistream has no effect.

  <hr /><i>anonymous claiming to be ttmrichter added on 2010-09-24 15:55:24:</i><br />
  I experienced this problem and reported it on the mailing list.  To recover from this (albeit with some annoying reconfiguration chores afterward), perform the following steps:

    1  BACK UP YOUR CURRENT, BROKEN DATABASE!  (I lost my backup and Richard was
       thus not able to figure out what went wrong.)
    2  <code>fossil configuration reset all -R repository-file-name</code>
    3  <code>fossil ui</code>
    4  Go through your settings and re-establish your users, access, etc.

  That should get you your code again at least.  It doesn't solve the problem of the actual redirect, of course.

  <hr /><i>anonymous added on 2010-09-24 16:23:10:</i><br />
  I created a new repo, hacked together a utility to copy wiki entries from one repo to another, viewed the new wiki, and all was well.

  I then exported the settings from the old one, imported to the new one, and was able to reproduce the error. This suggests that the error is visible in the settings file, I think, although I'm not experienced enough to know what's happening under the covers to recognize it.

  <hr /><i>anonymous claiming to be ttmrichter added on 2010-09-24 16:52:54:</i><br />
  That's certainly promising.  Can you attach the settings file here?

  <hr /><i>anonymous added on 2010-09-24 18:18:19:</i><br />
  done.

  <hr /><i>drh added on 2010-09-26 11:34:52:</i><br />
  It is still possible to mess up the "home-page" redirect by entering
  invalid information in the Setup/Configuration page.  But the instructions
  on that page have been enhanced slightly.  And there is now some defense
  against redirect loops, even if that defense is not prefect.


tkt_uuid: 9a34fbad7a5e8eaa4e32631fe25b37ecad970841
type: Feature_Request
status: Open
severity: Minor
foundin: [24636f7057]
private_contact: 70e8369b18c47ff40aebcb9bd5778b54d64203f6
resolution: Open
title: Creating new tickets does not let you specify/override user name
comment:
  Creating new tickets does not let you specify/override user name but adding remarks to existing tickets lets you do that.

  I use this feature with anonymous login - I do not have a username/password.

  <hr /><i>anonymous added on 2010-11-08 18:19:43:</i><br />
  Prueba


tkt_uuid: 9a42dd09e00ca2a04d58165cfc1fb49be94b6983
type: Incident
status: Open
severity: Minor
foundin: 6fe981ec56c6cfc96646765f44ec33091d99cb9d
private_contact: 6984f5ff2d3f66a87d3c6ddcf777c37b54e478f0
resolution: Open
title: fossil pull has to be run multiple times
comment:
  When I updated my copy of the fossil repository I had to run 'fossil pull' twice to get everything. I was updating to 
  [a742cfa29254d810f9119a065e391d4b74fb1b93]

  I recovered my previous repository from backup, and did a new checkout (fossil open) before running 'pull' again. This time it worked.

  <hr><i>eric added on 2009-04-13 14:10:43:</i><br>
  Worse than that, I think.

  fossil clone http://www.fossil-scm.org/ myclone.fossil

  gets an empty repository, but (many) repeated pulls will then get evertyhing up to date.

  <hr><i>drh added on 2009-04-13 15:59:24:</i><br>
  This might be due to some subtle incompatibility introduced by
  [737e76a69fbc2e] or a related check-in.  Do you have the same problem
  using a client built from the latest code, or is this only an issue
  with older clients?

  <hr><i>bharder added on 2009-04-13 16:33:03:</i><br>
  I've been experiencing this same isssue (empty repo on clone) with recent client (i.e.: approx. [ece2]...). Haven't tried repeated pulls as fix, so can't comment.


  <hr><i>eric added on 2009-04-13 18:00:40:</i><br>
  <pre>
  eric@tasso:~/devel/fossil$ ./fossil ver
  This is fossil version [879e8c5f32] 2009-04-13 09:50:42 UTC
  eric@tasso:~/devel/fossil$ ./fossil clone http://www.fossil-scm.org/ clone1.fsl
                  Bytes      Cards  Artifacts     Deltas
  Send:             552         22          0          0
  Received:      223152       4706          0          0
  Send:            9449        200          0          0
  Received:           0          0          0          0
  Rebuilding repository meta-data...
  4680 (100%)...
  project-id: CE59BB9F186226D80E49D1FA2DB29F935CCA0333
  server-id:  6fe76b21f279f652a0970c6b7d27afbd1f75b531
  admin-user: eric (password is "add78b")
  </pre>

  Starts with [327823e39b] , [737e76a69f] is OK.

  <hr><i>anonymous claiming to be Gé Weijers (ticket creator) added on 2009-04-15 18:52:34:</i><br>
  This is still going on, it took two attempts to download the latest (updated sqlite version) using fossil version [a742cfa292]. This is what I saw:

  <verbatim>
  ge@gw-aa1:~/fossil$ fossil pull
  Server:    http://www.fossil-scm.org/
                  Bytes      Cards  Artifacts     Deltas
  Send:             130          1          0          0
  Received:        3174         70          0          0
  Send:             600         10          0          0
  Received:           0          1          0          0
  ge@gw-aa1:~/fossil$ fossil pull
  Server:    http://www.fossil-scm.org/
                  Bytes      Cards  Artifacts     Deltas
  Send:             600         11          0          0
  Received:       60812         80          7          3
  ge@gw-aa1:~/fossil$ fossil pull
  Server:    http://www.fossil-scm.org/
                  Bytes      Cards  Artifacts     Deltas
  Send:             130          1          0          0
  Received:        3174         70          0          0
  </verbatim>


tkt_uuid: 9a768781e4c5fd4cd6b553232d761f0f7febfa0e
type: Feature_Request
status: Deferred
severity: Cosmetic
foundin: Fossil version 2010-10-05 03:55:49
resolution: Open
title: Email information stored for tickets not removed on shun
comment:
  I created a 'test' ticket to try my newly defined settings on the "New Ticket" page.

  I shunned it then rebuilt and upon viewing the repository with an SQLite database browser I noticed that associated email of shunned artifact remain in the database in the "Conceiled" table.

  I'm unsure it is the expected behavior.

  I suggest removing these values when an artifact is shunned.


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: 9ac3352f157bb62b4a484cf470622eac39e87117
type: Code_Defect
status: Open
severity: Important
foundin: c4c231069e4bde488725c80689c834106a969b44
private_contact: ddae85699df0ae84ab8e0a6a6dacf72bab6d4a7a
title: After merge, revert -- "update" refuses to cooperate
comment:
  Updated to the 'ssl' branch of the Fossil code.  After a while, did a 'merge --cherrypick' to get particular change.  

  Then decided to abandon the changes, so did 'revert'.  Fossil updated the changed files.

  Now, when doing "update", Fossil says: <tt>fossil: cannot update an uncommitted merge</tt>


tkt_uuid: 9acc77815aa28410f06bd3b52b3f8e8b00f53924
type: Documentation
status: Closed
subsystem: one
priority: Immediate
severity: Minor
foundin: 4b56350ecb
private_contact: 63f4cb9d6971f7dbdee05412b8546975182b32e4
resolution: Not_A_Bug
title: What is the meaning of ?VALUE? in tag add and tag branch?
comment:
  If I perform a
  <verbatim>
    fossil help tag
  </verbatim>
  there is a <tt>?VALUE?</tt> mentioned at the description of <tt>tag add</tt> and <tt>tag branch</tt>.  But what is the purpose of <tt>?VALUE?</tt>? It seem to be a free format value. Its only purpose seem to be that I may query it via <tt>tag list UUID</tt>, is this correct?

  <hr><i>drh added on 2008-07-25 11:59:40:</i><br>
  This is a legitimate question, but a question for the mailing list, I think,
  not for a ticket.  If there were a misstatement of fact issued by
  the "help" command, that would justify a ticket.  But the "help" command 
  is not intended to provide a tutorial.  The "help" command is not intended
  to explain things down to the last detail.  The "help" command should only 
  give a high-level summary of what a command does.

  One could easily argument that there needs to be additional documentation
  of the "tag" command.  I agree.  But the additional documentation belongs
  on the website - separate from the primary fossil executable, I believe.

  Please continue follow-up discussion on the mailing list.


tkt_uuid: 9ad1a5401ca1e5819b59bc84af963e259a55abec
type: Code_Defect
status: Fixed
resolution: Fixed
title: MISSING files are not handled gracefully
comment:
  When files are MISSING from the check-out, the commit command will fail.

  Possible fixes:

    1.  Fail early with a clear error message.

    2.  Automatically revert files that are MISSING

    3.  Automatically "rm" or "del" files from the check-out when they go MISSING

  <hr><i>anonymous added on 2009-12-16 17:28:38:</i><br>
  In my opinion, "commit" should fail early and clearly. "Update" should do an automatic revert (with a printed line notifying the fact), for all files that have not been "rm'ed" from fossil. This is nothing more than saying that the merge algorithms do the following:

  a) 2 ascii files: automatic merge

  b) 2 binary files: error

  c) 1 file in fossil and nothing in user checkout: automatic revert

  <hr><i>anonymous claiming to be Michael McDaniel added on 2009-12-16 20:20:11:</i><br>
  I disagree with automatic revert unless it requires an explicit flag.  

  I may have just reorganized my project, removing many files and subdirectories.  Perhaps I forgot to do the 'fossil rm'.  I would not want to watch all of the files and directories re-appear automatically.  I would prefer that a --force flag (or some flag) be required before (possibly many) files (and possibly subdirectories) are repopulated into a working directory.

  <hr><i>drh added on 2009-12-18 00:31:46:</i><br>
  Fixed by [76f169fca6c040496b14bd37a9e2c5e00f0a797b].


tkt_uuid: 9adaebd79c1b4e643a18a7e8c7d279a229a6c63b
type: Feature_Request
status: Closed
severity: Important
foundin: 7499109750
private_contact: 5c164664f608e8049128be696a3d13e04aa6fafd
resolution: Rejected
title: utilize http headers returned from stream_get initiation
comment:
  Example headers:
  HTTP/1.1 200 OK
  Content-Type: audio/mpeg
  Content-Length: 4217208
  Cache-Control: no-cache, must-revalidate

  tell exactly how many bytes to expect. See also, the content-type it's sending. Could explicitly set this for "Accept:" sent to server?

  <hr><i>bharder added on 2009-06-15 00:58:23:</i><br>
  This ticket doesn't belong to fossil; is for own project hosted on diff't fossil instance ;)


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: 9b7cb0d906e8555fdf7138fc2af9c91ac5f44540
type: Incident
status: Closed
resolution: Duplicate
title: another test
comment:
  testing

  <hr><i>anonymous added on 2008-11-25 04:54:06:</i><br>
  <em>still</em> didn't work.  so much for quick fixes.


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: 9bd235c69af99b3a6a6f7dd2485bd1e528e2eb77
type: Code_Defect
status: Fixed
foundin: [4b2ab22c2a]
private_contact: 2f98bd34c080ac26bbeb8ea754dfd01c5d3a2018
resolution: Fixed
title: ignore-glob does not work for addremove
comment:
  Hello!

  I've the following in my ignore-glob:

  <verbatim>gaur/*, *.pkg.tar.xz</verbatim>

  in order not to version-control binary packages available in 'gaur' folder, nor any such (pkg.tar.xz) package in other folders.

  Issuing 'fossil extra' shows nothing while there is e.g. such file in:

  <verbatim>
  [gour@atmarama local] ls -l office/stellarium   
  total 32
  -rw-r--r-- 1 gour gour   897 Jan  5 06:07 libpng14.patch
  -rw-r--r-- 1 gour gour  1188 Jan  5 19:59 PKGBUILD
  lrwxrwxrwx 1 gour gour    57 Jan  5 10:08 stellarium-0.10.6-1-x86_64.pkg.tar.xz -> /var/abs/local/gaur/stellarium-0.10.6-1-x86_64.pkg.tar.xz
  -rw-r--r-- 1 gour gour   222 Jan  5 06:07 stellarium.desktop
  -rw-r--r-- 1 gour gour 18780 Jan  5 06:07 stellarium.png
  </verbatim>

  However, if I try:
  <verbatim>
  [gour@atmarama local] fossil addremove --test     
  ADDED  gaur/acroread-9.4-1-x86_64.pkg.tar.xz
  ADDED  gaur/acroread-9.4.1-1-x86_64.pkg.tar.xz
  ADDED  gaur/alarm-clock-applet-0.3.1-1-x86_64.pkg.tar.xz
  [...]
  ADDED  office/stellarium/stellarium-0.10.6-1-x86_64.pkg.tar.xz
  added 359 files, deleted 0 files
  </verbatim>

  Fossil shows all such (pkg.tar.xz) from the 'gaur' folder.

  What is wrong?


  Sincerely,
  Gour


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: 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: 9c378ed139f58e366ec963df42885b811de10df5
type: Code_Defect
status: Fixed
priority: Immediate
severity: Minor
foundin: 3d62a9fb39
private_contact: a7ec239b1a3401c4229e18dead1ea4225e287fb9
resolution: Fixed
title: Issue with repository in root folder (Win32)
comment:
  <verbatim>
  D:\temp>fossil status
  fossil: not within an open checkout

  D:\temp>fossil new test.fsl
  project-id: ed8f13da3c1fbc3ec96cf4a9c83baf99cce42aa0
  server-id:  28c7ae1a6e61896bd3fea2df8363e32222d108d9
  admin-user: a0756885 (no password set yet!)
  baseline:   6f6f4fc1cc6e1be5fd5f9ced83bbbcf8faf3e258

  D:\temp>fossil open test.fsl

  D:\temp>fossil add test.txt

  D:\temp>fossil status
  repository:   D:/temp/test.fsl
  local-root:   D:/temp/
  server-code:  28c7ae1a6e61896bd3fea2df8363e32222d108d9
  checkout:     6f6f4fc1cc6e1be5fd5f9ced83bbbcf8faf3e258
  ADDED    test.txt

  D:\temp>del _FOSSIL_ test.fsl

  D:\temp>cd ..

  D:\>fossil status
  fossil: not within an open checkout

  D:\>fossil new test.fsl
  project-id: de80b12e18e6344ceeb42c556a016230f2adcb63
  server-id:  25ed2aedd733425a7b83aea8f29ebc5be257b84e
  admin-user: a0756885 (no password set yet!)
  baseline:   538b40d8e1ee79432c0675e092cbbefcf0479d46

  D:\>fossil open test.fsl

  D:\>fossil add test.txt
  fossil: file outside of checkout tree: test.txt            << Issue

  D:\>fossil status
  repository:   D:/test.fsl
  local-root:   D://
  server-code:  25ed2aedd733425a7b83aea8f29ebc5be257b84e
  checkout:     538b40d8e1ee79432c0675e092cbbefcf0479d46

  D:\>del _FOSSIL_ test.fsl
  </verbatim>

  <hr><i>drh added on 2008-10-31 13:35:08:</i><br>
  Fixed by check-in [1d280a85aa]


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: 9c8d43bfa6927905203200b118f7224542f3741b
type: Code_Defect
status: Closed
severity: Minor
foundin: [7c37b46b12]
resolution: Works_As_Designed
title: RSS permissions too strict
comment:
  rss.c requires "okRead, okRdTkt and okRdWiki" in order to produce an RSS.

  I want an anonymous user who can only read tickets and wiki to be able to get an RSS feed ... that is, I want the RSS to be useful even if I have restricted anonymous users to the minimum access.

  From what I can see, "okRead" means the user can check-out.  This seems unnecessary to me for someone to simply get an RSS feed.

  <hr><i>drh added on 2010-04-21 23:43:46:</i><br>
  Looking at the code, i seems that one or more of okRead, okRdWiki, or okRdTkt is required to
  receive RSS.  Are you sure you are looking at the latest code?

  This was updated by [78a6270fdc6ee90ae2edeac25ec94f2004cf6624] on [2010-02-05].

  <hr><i>ron added on 2010-04-22 03:18:39:</i><br>
  rss.c line 55:

  <tt>  if( !g.okRead && !g.okRdTkt && !g.okRdWiki ) </tt>

  It requires all permissions, not any of them.

  <hr><i>ron added on 2010-04-22 03:19:57:</i><br>
  oh, sorry; that was a misread on my part.

  Nevertheless, an anonymous user with low permissions cannot get an RSS feed.  I'm just looking at the wrong spot for he probllem (and it's before my coffee)...

  <hr><i>drh added on 2010-04-22 12:23:58:</i><br>
  I think that if permissions are relaxed to open up RSS further, it will start to "leak" information.
  As currently implemented, you must have check-out permission in order to get RSS information
  about check-ins, and you must have the ability to read wiki in order to get an RSS feed about
  wiki, and you must have the ability to read tickets in order to get RSS data on tickets.  This seems
  like the right level of permissions to me.


tkt_uuid: 9cb4a4d74b2eca66b5f4dc51f4e1b86cc6ae04a3
type: Feature_Request
status: Fixed
severity: Cosmetic
resolution: Fixed
title: Change doctype to HTML5
comment:
  Current DOCTYPE is XHTML strict:

  <verbatim>
       "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\""
       " \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">"
  </verbatim>

  AFAIK, canvas tag used in timeline is HTML5-only. Plus, with HTML5 validator we get fewer errors on Fossil pages, and markup no longer needs to be so annoyingly strict :-)

  Thus, I propose changing doctype to HTML5's:

  <verbatim>
     "<!doctype html>"
  </verbatim>


tkt_uuid: 9ce0321b54eb5c8e8fc782f2afb55302685c42c5
type: Incident
status: Closed
priority: Low
foundin: 2009-01-29
private_contact: d6e3dc5a1be453a53ddbc40f3b13dd2f051d19a8
resolution: Open
title: fossil push - server says: not authorized to write
comment:
  Whenever I want to sync or push from a local repository to the 'main' repository, I get this answer and fossil bails out. I checked the users on the local and remote repositories and they are the same. Tried to look for this in the documentation and tickets but could not find anything. 
  How can I resolve this ?

  Thx,
  Wim

  <hr><i>anonymous added on 2009-05-09 15:33:57:</i><br>
  I found out by browsing the database where my problem was. Although you update your user info (specifically passwords), the last-sync-url does not get updated. Updating this variable with the reset password settles the problem. Is there a way to update the last-sync-url from the command line ? 

  <hr><i>drh added on 2009-05-09 19:15:22:</i><br>
  The last-sync-url is updated automatically when you do a push, pull, or sync
  that specifies an explicit url.  Example:

      fossil pull http://USER:PASSWORD@www.mysite.net/project1

  The command above will store the "http://USER:PASSWORD@www.mysite.net/project1"
  in the last-sync-url variable.  Note also that the USER:PASSWORD, is stored
  but never displayed.


tkt_uuid: 9d0f274589133330c2b59b355386eb2166f25955
type: Code_Defect
status: Fixed
severity: Minor
foundin: Fossil version [73c24ae363] of 2010-03-18 14:20:33
private_contact: 9d51a8b06966fd2ab0f28ccfb14200a7623c7eed
resolution: Fixed
title: Ticket attachment shows garbage
comment:
  I'm doing some testing to see if fossil would be something I can use.
  In a new repository, I created a ticket, then added an attachment to it.
  I then went to look at the ticket's attachment page, but that displays garbage in the ticket name.

  I'll add a few screen shots to show you what I mean.

  <hr><i>anonymous added on 2010-05-11 06:33:03:</i><br>
  Ah. Turns out you've disabled uploading of attachments to this site. :-)


  Anyway, here's what I get:

  Artifact 9ae3976b33df2675379e8573fe0183512a660870

  Attachment "openfromwine" to ticket [69ac5866fe
  ̄ڿ���ڿ] added by tinus on 2010-05-11 06:20:58.


  Looks nifty, huh?  But clicking the link results in an error, because the ticket can't be found anymore.

  <hr><i>anonymous claiming to be zachtodd added on 2010-05-21 13:25:59:</i><br>
  Just tried this locally by uploading a gif and reproduced the same error.  

  46dd273456
  �䟿��,@�
  �䟿�

  Looks like the valid hash followed by garbage.  Maybe missing a null terminator?

  I'll try to find out what's going on and fix it if possible.

  <hr /><i>dmitry added on 2011-09-11 14:26:17 UTC:</i><br />
  Fixed in [65d2067247].


tkt_uuid: 9d186979fc4fe8d9c4360af603067cde558a50f7
type: Code_Defect
status: Fixed
severity: Important
foundin: 6a11af1782
private_contact: 76518fb407f147a1d053c00b5b993281a339c0e3
resolution: Fixed
title: printf() does not understand %lld on windows
comment:
  On windows some compilers do not understand the %lld format specifier.

  The attached patch circumvents the problem with the help of functions from SQLite.

  --tsbg

  <hr /><i>anonymous added on 2010-11-07 22:03:17:</i><br />
  I would strongly prefer to introduce a LL_FORMAT macro. Define it like

  <verbatim>
  #ifdef _WIN32
  #define LL_FORMAT "l64d"
  #else
  #define LL_FORMAT "lld"
  #endif
  </verbatim>

  This would allow sane fallbacks for other ancient / broken platforms.


tkt_uuid: 9d84642c7f458fdb9f0149dd99383137b336786f
type: Feature_Request
status: Fixed
private_contact: f33437152151a7ffe4cdce87383155dd9c0f8d50
resolution: Fixed
title: fossil ticket?
comment:
  A way to create tickets from the command line so there can be integration without need to go to website

  <hr /><i>lrem added on 2011-08-29 16:18:33 UTC:</i><br />
  Fixed for some time. Works in current version, 1.18.


tkt_uuid: 9daf677325946b04ced024534bc786ad442d8a08
type: Feature_Request
status: Open
severity: Minor
foundin: 1f1b15
private_contact: be550bfd65ad2b35c5af076e5620344955089a2e
title: Blob max size checking before commit
comment:
  Please implement BLOB max file size checking when adding files.
   
  if file is over the default(1G) then don't include that file.


tkt_uuid: 9dd30a98f562c4b4d2e1f098d6c56a909b777133
type: Documentation
status: Fixed
severity: Important
private_contact: 84a62fd938218ad886c5b636de73348f46d7f6c2
resolution: Fixed
title: Patch for fixing spelling mistakes in documentation
comment:
  Patch below.

  <verbatim>
  Index: www/branching.wiki
  ===================================================================
  --- www/branching.wiki
  +++ www/branching.wiki
  @@ -51,20 +51,20 @@
   editing check-in 2 are named Alice and Bob.  Suppose Alice finished her
   edits first and did a commit, resulting in check-in 3.  Later, when Bob
   tried to commit his changes, fossil would try to verify that check-in 2
   was still a leaf.  Fossil would see that check-in 3 had occurred and would
   abort Bob's commit attempt with a message "would fork".  This allows Bob
  -to do a "fossil update" which would pull in Alices changes and merge them
  +to do a "fossil update" which would pull in Alice's changes and merge them
   together with his own changes.  After merging, Bob could then commit
   check-in 4 as a child of check-in 3 and the result would be a linear graph
   as shown in figure 1.  This is how CVS works.  This is also how fossil
   works in "autosync" mode.
   
   But it might be that Bob is off-network when he does his commit, so he
   has no way of knowing that Alice has already committed her changes.
   Or, it could be that Bob has turned off "autosync" mode in SQLite.  Or,
  -maybe Bob just doesn't want to merge in Alices changes before he has
  +maybe Bob just doesn't want to merge in Alice's changes before he has
   saved his own, so he forces the commit to occur using the "--force" option
   to the fossil <b>commit</b> command.  For whatever reason, two commits against
   check-in 2 have occurred and now the tree has two leaves.
   
   So which version of the project is the "latest" in the sense of having
  @@ -194,11 +194,11 @@
   are symbolic name tags.  When a symbolic name tag is attached to a
   check-in, that allows you to refer to that check-in by its symbolic
   name rather than by its 40-character SHA1 hash name.  When a symbolic name
   tag propagates (as does the <b>sym-trunk</b> tag) then referring to that
   name is the same as referring to the most recent check-in with that name.
  -Thus the two tags on check-in one cause all decendents to be in the
  +Thus the two tags on check-in one cause all descendants to be in the
   "trunk" branch and to have the symbolic name "trunk".
   
   Check-in 4 has a <b>branch</b> tag which changes the name of the branch
   to "test".  The branch tag on check-in 4 propagates to check-ins 6 and 9.
   But because tag propagation does not follow merge links, the <b>branch=test</b>
  @@ -238,11 +238,11 @@
   branch property.</p></dd>
   <dt><b>Leaf</b></dt>
   <dd><p>A leaf is a check-in that has no children in the same branch.</p></dd>
   <dt><b>Closed Leaf</b></dt>
   <dd><p>A closed leaf is leaf that has the <b>closed</b> tag.  Such leaves
  -are intented to never be extended with descendents and hence are omitted
  +are intented to never be extended with descendants and hence are omitted
   from lists of leaves in the command-line and web interface.</p></dd>
   <dt><b>Open Leaf</b></dt>
   <dd><p>A open leaf is a leaf that is not closed.</p></dd>
   <dt><b>Fork</b></dt>
   <dd><p>A fork occurs when a check-in has two or more direct (non-merge)

  Index: www/cmd_all.wiki
  ===================================================================
  --- www/cmd_all.wiki
  +++ www/cmd_all.wiki
  @@ -37,11 +37,11 @@
   Or, you could just jog your memory.
   
   The <code>all</code> command uses the <i>.fossil</i> file in the home
   directory to find all of your repositories, so you can mess it up by
   moving your repositories around.  This is easy to do inadvertently if
  -you have a cavalier attitude about repos, but you'll know pretty
  +you have a cavalier attitude about repositories, but you'll know pretty
   quickly that you've done it&#8212;many commands you try to use from
   inside of a checkout won't work correctly.  The <i>.fossil</i> file is
   an <b>sqlite</b> db file which fossil uses to keeping track of
   repository locations. Advice: if you move your repositories around,
   let fossil know you did;

  Index: www/faq.wiki
  ===================================================================
  --- www/faq.wiki
  +++ www/faq.wiki
  @@ -70,11 +70,11 @@
     main repository.</b></p>
   
   <blockquote>Use the <b>--private</b> command-line option on the
   <b>commit</b> command.  The result will be a check-in which exists on
   your local repository only and is never pushed to other repositories.
  -All descendents of a private check-in are also private.
  +All descendants of a private check-in are also private.
   
   Unless you specify something different using the <b>--branch</b> and/or
   <b>--bgcolor</b> options, the new private check-in will be put on a branch
   named "private" with an orange background color.
   

  Index: www/fileformat.wiki
  ===================================================================
  --- www/fileformat.wiki
  +++ www/fileformat.wiki
  @@ -243,11 +243,11 @@
   within the repository.  The basic format of a control artifact is
   the same as a manifest or cluster.  A control artifact is a text
   files divided into cards by newline characters.  Each card has a
   single-character card type followed by arguments.  Spaces separate
   the card type and the arguments.  No surplus whitespace is allowed.
  -All cards must occur in strict lexigraphical order.
  +All cards must occur in strict lexicographical order.
   
   Allowed cards in a control artifact are as follows:
   
   <blockquote>
   <b>D</b> <i>time-and-date-stamp</i><br />

  Index: www/index.wiki
  ===================================================================
  --- www/index.wiki
  +++ www/index.wiki
  @@ -112,11 +112,11 @@
        to do it using fossil.
     *  The [./selfcheck.wiki | automatic self-check] mechanism
        helps insure project integrity.
     *  Fossil contains a [./wikitheory.wiki | built-in wiki].
     *  There is a
  -    [http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users | mailing list] (with publically readable
  +    [http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users | mailing list] (with publicly readable
        [http://www.mail-archive.com/fossil-users@lists.fossil-scm.org | archives]
        available for discussing fossil issues.
     *  [./stats.wiki | Performance statistics] taken from real-world projects
        hosted on fossil.
     *  How to [./shunning.wiki | delete content] from a fossil repository.

  Index: www/newrepo.wiki
  ===================================================================
  --- www/newrepo.wiki
  +++ www/newrepo.wiki
  @@ -32,11 +32,11 @@
   The <tt>ui</tt> command starts up a server (with an optional <tt>-port
   NUMBER</tt> argument) and launches a web browser pointing at the
   fossil server. From there it takes just a few moments to configure the
   repo. Most importantly, go to the Admin menu, then the Users link, and
   set your account name and password, and grant your account all access
  -priviledges. (I also like to grant Clone access to the anonymous user,
  +privileges. (I also like to grant Clone access to the anonymous user,
   but that's personal preference.)
   
   Once you are done, kill the fossil server (with Ctrl-C or equivalent)
   and close the browser window.
   
  @@ -63,11 +63,11 @@
   information about your local repository. You can ignore it
   for all purposes, but be sure not to accidentally remove it
   or otherwise damage it - it belongs to fossil, not you.
   
   The next thing we need to do is add files to our repository.  As it
  -happens, we have a few C source files laying around, which we'll
  +happens, we have a few C source files lying around, which we'll
   simply copy into our working directory.
   
   <verbatim>
   stephan@ludo:~/fossil/demo$ cp ../csnip/*.{c,h} .
   stephan@ludo:~/fossil/demo$ ls
  @@ -75,11 +75,11 @@
   tokenize_path.c tokenize_path.h  vappendf.c  vappendf.h
   </verbatim>
   
   Fossil doesn't know about those files yet. Telling fossil about
   a new file is a two-step process. First we <em>add</em> the file
  -to the repo, then we <em>commit</em> the file. This is a familiar
  +to the repository, then we <em>commit</em> the file. This is a familiar
   process for anyone who's worked with SCM systems before:
   
   <verbatim>
   stephan@ludo:~/fossil/demo$ fossil add *.{c,h}
   stephan@ludo:~/fossil/demo$ fossil commit -m "egg"

  Index: www/qandc.wiki
  ===================================================================
  --- www/qandc.wiki
  +++ www/qandc.wiki
  @@ -38,11 +38,11 @@
          code while off network, then sync your changes later.  With Trac, you
          can only view and edit tickets and wiki while you are connected to
          the server. </li>
     <li> Fossil is lightweight and fully self-contained.  It is very easy
          to setup on a low-resource machine. Fossil does not require an
  -       administator.</li>
  +       administrator.</li>
     <li> Fossil integrates code versioning into the same repository with
          wiki and tickets.  There is nothing extra to add or install.
          Fossil is an all-in-one turnkey solution. </li>
     </ol>
   </blockquote>
  @@ -70,12 +70,12 @@
   <blockquote>
   <p>I take a pragmatic approach to software: form follows function.
   To me, it is more important to have a reliable, fast, efficient,
   enduring, and simple DVCS than one that looks pretty.</p>
   
  -<p>On the other hand, if you have patches that improve the apparance
  -of Fossil without seriously compromising its reliablity, performance,
  +<p>On the other hand, if you have patches that improve the appearance
  +of Fossil without seriously compromising its reliability, performance,
   and/or maintainability, I will be happy to accept them.  Fossil is
   self-hosting.  Send email to request a password that will let
   you push to the main fossil repository.</p>
   </blockquote>
   

  Index: www/quickstart.wiki
  ===================================================================
  --- www/quickstart.wiki
  +++ www/quickstart.wiki
  @@ -39,11 +39,11 @@
   
       <blockquote>
       <b>fossil clone http://www.fossil-scm.org/ myclone.fossil</b>
       </blockquote>
   
  -    <p>The new local copy of the respository is stored in a single file,
  +    <p>The new local copy of the repository is stored in a single file,
       which in the example above is named "myclone.fossil".
       You can name your repositories anything you want.  The ".fossil" suffix
       is not required.</p>
   
       <p>Note: If you are behind a restrictive firewall, you might need

  Index: www/reference.wiki
  ===================================================================
  --- www/reference.wiki
  +++ www/reference.wiki
  @@ -1,18 +1,18 @@
     <h2>Command Line Interface Reference</h2>
   
     This is an easy introduction to the fossil command line interface
     (cli).  It assumes some familiarity with using the command line, and
  -  with Source Code Maintenence (SCM) systems&#8212;but not <i>too</i>
  +  with Source Code Maintenance (SCM) systems&#8212;but not <i>too</i>
     much.
   
     If you are trying to find information about fossil's web
     capabilities, see the <a href="index.wiki">Fossil Home</a> and
     <a href="wikitheory.wiki">Fossil Wiki</a> pages for pointers.
   
     <h3>Things to note</h3>
  -  * Fossil cli commands do not use special delimeters, they use
  +  * Fossil cli commands do not use special delimiters, they use
     spaces.  This is traditional with VCS/SCM.  Some <i>options</i> to
     fossil commands <i>do</i> use special delimiters, particularly the
     '-' (hyphen, or dash) character.  This is very similar to Tcl.
     Think of fossil as a shell you invoke and feed a command to,
     including any options, and it will make more sense.
  @@ -40,11 +40,11 @@
       effectively is to
       [./quickstart.wiki#fslclone | clone the repository for fossil]
       itself.  You can then poke around using the <code>fossil ui</code>
       command, and look things up with no connection worries.  You can
       set up test repositories and try things out on-the-fly to see how
  -    they work, using their own ui's.  The CLI will far easier to
  +    they work, using their own UIs.  The CLI will far easier to
       understand if you can run a repository, watch it in a browser, and
       hack around with it in a simplified environment (your tests) with
       guaranteed and fast access to the sources & docs (your cloned fossil
       repository).
   <br /><br /> <br />
  @@ -179,11 +179,11 @@
   <hr><a href="#tof">&#710;</a>
       <a name="cgi">Usage: </a><a href="cmd_cgi.wiki">fossil cgi</a> SCRIPT
       The SCRIPT argument is the name of a file that is the CGI script
       that is being run.  The command name, "cgi", may be omitted if
       the GATEWAY_INTERFACE environment variable is set to "CGI" (which
  -    should always be the case for CGI scripts run by a webserver.)  The
  +    should always be the case for CGI scripts run by a web server.)  The
       SCRIPT file should look something like this:
   
       #!/usr/bin/fossil
       repository: /home/somebody/project.db
   
  @@ -241,11 +241,11 @@
       Where METHOD is one of: export import merge pull push reset.  All methods
       accept the -R or --repository option to specific a repository.
   
       fossil configuration export AREA FILENAME
   
  -    Write to FILENAME exported configuraton information for AREA.
  +    Write to FILENAME exported configuration information for AREA.
       AREA can be one of:  all ticket skin project
   
       fossil configuration import FILENAME
   
       Read a configuration from FILENAME, overwriting the current
  @@ -297,11 +297,11 @@
       <a name="diff">Usage: </a><a href="cmd_diff.wiki">fossil diff</a>|gdiff ?-i? ?-r REVISION? FILE...
       Show the difference between the current version of a file (as it
       exists on disk) and that same file as it was checked out.
   
       diff will show a textual diff while gdiff will attempt to run a
  -    graphical diff command that you have setup. If the choosen command
  +    graphical diff command that you have setup. If the chosen command
       is not yet configured, the internal textual diff command will be
       used.
   
       If -i is supplied for either diff or gdiff, the internal textual
       diff command will be executed.
  @@ -334,11 +334,11 @@
   
   <hr><a href="#tof">&#710;</a>
       <a name="info">Usage: </a><a href="cmd_info.wiki">fossil info</a> ?ARTIFACT-ID|FILENAME?
       With no arguments, provide information about the current tree.
       If an argument is specified, provide information about the object
  -    in the respository of the current tree that the argument refers
  +    in the repository of the current tree that the argument refers
       to.  Or if the argument is the name of a repository, show
       information about that repository.
   
   <hr><a href="#tof">&#710;</a>
       <a name="leaves">Usage: </a><a href="cmd_leaves.wiki">fossil leaves</a>
  @@ -383,11 +383,11 @@
   
       Deliver a report of the repository statistics for the
       current checkout.
   
   <hr><a href="#tof">&#710;</a>
  -    <a name="pull">Usage: </a><a href="cmd_pull.wiki">fossil pull</a> ?URL? ?-R|--respository REPOSITORY?
  +    <a name="pull">Usage: </a><a href="cmd_pull.wiki">fossil pull</a> ?URL? ?-R|--repository REPOSITORY?
       Pull changes in a remote repository into the local repository.
       The repository is identified by the -R or --repository option.
       If there is no such option then the open repository is used.
       The URL of the remote server is specified on the command line
       If no URL is specified then the URL used by the most recent
  @@ -655,11 +655,11 @@
       FILE or from standard input.
   
       fossil wiki list
   
       Lists all wiki entries, one per line, ordered
  -    case-insentively by name.
  +    case-insensitively by name.
   
       TODOs:
   
       fossil wiki export ?-u ARTIFACT? WikiName ?FILE?
   
  @@ -691,8 +691,8 @@
       fossil help...  Duplicate commands are only listed once (I
       <i>think</i>).  There are several bits of <b>fossil</b> that are not addressed
       in the help for commands (special wiki directories, special users, etc.)
       so they are (currently) not addressed here.  Clarity and brevity may be
       sacrificed for expediency at the authors indiscretion.  All spelling and
  -    grammatical mistakes are somebody elses fault.<code>  void * </code>
  +    grammatical mistakes are somebody else's fault.<code>  void * </code>
       prohibited where<code> __C_PLUS_PLUS__ </code>. Title and taxes extra.
       Not valid in Hooptigonia.

  Index: www/selfcheck.wiki
  ===================================================================
  --- www/selfcheck.wiki
  +++ www/selfcheck.wiki
  @@ -30,14 +30,14 @@
   If something goes wrong in the middle of the commit, then the transaction
   is rolled back and the database is unchanged.
   
   <h2>Verification Of Delta Encodings Prior To Transaction Commit</h2>
   
  -The content files that comprise the global state of a fossil respository
  +The content files that comprise the global state of a fossil repository
   are stored in the repository as a tree.  The leaves of the tree are
   stored as zlib-compressed BLOBs.  Interior nodes are deltas from their
  -decendants.  A lot of encoding is going on.  There is
  +descendants.  A lot of encoding is going on.  There is
   zlib-compression which is relatively well-tested but still might
   cause corruption if used improperly.  And there is the relatively
   new delta-encoding mechanism designed expressly for fossil.  We want
   to make sure that bugs in these encoding mechanisms do not lead to
   loss of data.
  @@ -64,11 +64,11 @@
   files.
   
   <h2>Checksum Over All Files In A Check-in</h2>
   
   Manifest artifacts that define a check-in have two fields (the
  -R-card and Z-card) that record MD5 hashs of the manifest itself
  +R-card and Z-card) that record MD5 hashes of the manifest itself
   and of all other files in the manifest.  Prior to any check-in
   commit, these checksums are verified to ensure that the check-in
   checked in agrees exactly with what is on disk.  Similarly,
   the repository checksum is verified after a checkout to make
   sure that the entire repository was checked out correctly.

  Index: www/shunning.wiki
  ===================================================================
  --- www/shunning.wiki
  +++ www/shunning.wiki
  @@ -38,13 +38,13 @@
   The shunning list is part of the local state of a Fossil repository.
   In other words, shunning does not propagate using the normal "sync"
   mechanism.  An artifact can be
   shunned from one repository but be allowed to exist in another.  The fact that
   the shunning list does not propagate is a security feature.  If the
  -shunning list propagated then a malecious user (or
  +shunning list propagated then a malicious user (or
   a bug in the fossil code) might introduce a shun record that would
  -propagate through all respositories in a network and permanently
  +propagate through all repositories in a network and permanently
   destroy vital information.  By refusing to propagate the shunning list,
   Fossil insures that no remote user will ever be able to remove
   information from your personal repositories without your permission.
   
   The shunning list does not propagate by the normal "sync" mechanism,
  @@ -57,11 +57,11 @@
   The two command above will pull or push shunning lists from or to
   the <i>remote-url</i> indicated and merge the lists on the receiving
   end.  "Admin" privilege on the remote server is required in order to
   push a shun list.
   
  -Note that the shunning list remains in the respository even after the
  +Note that the shunning list remains in the repository even after the
   shunned artifact has been removed.  This is to prevent the artifact
   from being reintroduced into the repository the next time it syncs with
   another repository that has not shunned the artifact.
   
   <h3>Managing the shunning list</h3>
  @@ -70,11 +70,11 @@
   with "admin" privilege on the "/shunned" URL of the web interface to Fossil.
   That URL is accessible under the "Admin" button on the default menu
   bar.  Items can be added to or removed from the shunning list.  "Sync"
   operations are inhibited as soon as the artifact is added to the
   shunning list, but the content of the artifact is not actually removed
  -from the responstory until the next time the repository is rebuilt.
  +from the repository until the next time the repository is rebuilt.
   
   When viewing individual artifacts with the web interface, "admin"
   users will usually see a "Shun" option in the submenu that will take
   them directly to the shunning page and enable that artifact to be
   shunned with a single additional mouse click.

  Index: www/sync.wiki
  ===================================================================
  --- www/sync.wiki
  +++ www/sync.wiki
  @@ -26,12 +26,12 @@
   shared to a few hundred.</p>
   
   <p>Each repository also has local state.  The local state determines
   the web-page formatting preferences, authorized users, ticket formats,
   and similar information that varies from one repository to another.
  -The local state is not transfered by the <b>push</b>, <b>pull</b>,
  -and <b>sync</b> command, though some local state is transfered during
  +The local state is not transferred by the <b>push</b>, <b>pull</b>,
  +and <b>sync</b> command, though some local state is transferred during
   a <b>clone</b> in order to initialize the local state of the new
   repository.  The <b>configuration push</b> and <b>configuration pull</b>
   commands can be used to send or receive local state.</p>
   
   

  Index: www/wikitheory.wiki
  ===================================================================
  --- www/wikitheory.wiki
  +++ www/wikitheory.wiki
  @@ -8,11 +8,11 @@
      *  [./embeddeddoc.wiki | Embedded documentation] files whose
         name ends in "wiki".
   
   The [/wiki_rules | formatting rules] for fossil wiki
   are designed to be simple and intuitive.  The idea is that wiki provides
  -paragraph breaks, numbered and bulletted lists, and hyperlinking for
  +paragraph breaks, numbered and bulleted lists, and hyperlinking for
   simple documents together with a safe subset of HTML for more complex
   formatting tasks.
   
   Some commentators feel that the use of HTML is a mistake and that
   fossil should use the markup language of the
  @@ -55,23 +55,23 @@
   <h2>Embedded Documentation</h2>
   
   Files in the source tree that use the ".wiki" suffix can be accessed
   and displayed using special URLs to the fossil server.  This allows
   project documentation to be stored in the source tree and accessed
  -online.  (Details are descripted [./embeddeddoc.wiki | separately].)
  +online.  (Details are described [./embeddeddoc.wiki | separately].)
   
   Some project prefer to store their documentation in wiki.  There is nothing
   wrong with that.  But other projects prefer to keep documentation as part
   of the source tree, so that it is versioned along with the source tree and
   so that only developers with check-in privileges can change it.
   Embedded documentation serves this latter purpose.  Both forms of documentation
   use the exact same wiki markup language.  Some projects may choose to
   use both forms of documentation at the same time.  Because the same
  -format is used, it is trival to move file from wiki to embedded documentation
  +format is used, it is trivial to move file from wiki to embedded documentation
   or back again as the project evolves.
   
   <h2>Bug-reports and check-in comments</h2>
   
   The comments on check-ins and the text in the descriptions of bug reports
   both use wiki formatting.  Exactly the same set of formatting rules apply.
   There is never a need to learn one formatting language for documentation
   and a different markup for bugs or for check-in comments.
  </verbatim>


tkt_uuid: 9de95186e6e69c1ee2f4ef2e3dc5796f6375a130
type: Code_Defect
status: Fixed
severity: Important
foundin: 713b8be852
private_contact: e64e062ff7022fc7fdd41ac56baff07e8ae485d9
resolution: Duplicate
title: User names with spaces cause fossil to choke on clone.
comment:
  <nowiki>
  My user name under Windows is my full name: first, initial and last.  When I decided to build a Windows version of Fossil for the first time I got this:

  <pre>
  e:\source\c\fossil>fossil clone http://www.fossil-scm.org
  E:\Source\Repositories\fossil.fsl
                  Bytes      Cards  Artifacts     Deltas
  Send:             552         22          0          0
  1fossil: server says: bad command: login Firstname I. Lastname f4ec7af467f5abe2f9078cbea9521983b0eeced5 2b1a070d129031d15b3353f19696521
  dbdd0436d
  </pre>

  Checking the environment I found an environment variable "USERNAME" that held that value.  Modifying that to just "firstname" got me the following:

  <pre>
  e:\source\c\fossil>fossil clone http://www.fossil-scm.org \Source\Repositories\fossil.fsl
                  Bytes      Cards  Artifacts     Deltas
  Send:             552         22          0          0
  Received:      249518       5203          0          0
  Send:            9449        200          0          0
  Received:      546003        252         25        175
  Send:           18849        400          0          0
  Received:      466320        452         53        347
  Send:           37649        800          0          0
  Received:      727530        852         55        745
  Send:           75249       1600          0          0
  Received:     2663224       1652        144       1456
  Send:          102274       2175          0          0
  Received:     8157135       2227        815       1328
  Send:            1553         32          0          0
  Received:      520651         84         19         13
  Total network traffic: 131452 bytes sent, 4643946 bytes received
  Rebuilding repository meta-data...
  5175 (100%)...
  project-id: CE59BB9F186226D80E49D1FA2DB29F935CCA0333
  server-id:  6024b4190af8d47e118677fa463bbc7b24f7b47e
  admin-user: firstname (password is "f8e54a")
  </pre>


  I do not think it is a good idea for fossil to make UNIX-y assumptions about file and user names.  Fads in this change over time.  Remember when a user was [1,2] and a full file spec was something like _SY:[0,1]FILNAM.EXT?  (Those are RSTS/E conventions.)
  </nowiki>

  <hr><i>drh added on 2009-09-13 11:06:15:</i><br>
  This is a duplicate of ticket [71c9b46198c04] and has already
  been fixed by check-in [ee47021f51fa7b81b] on 2009-09-10.


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: a0756511991399b41255256111e03ebfe3e73a4d
type: Code_Defect
status: Fixed
severity: Critical
foundin: all of them
private_contact: 4b6281b0da561d3b4396c6498527621c42b4ad58
resolution: Fixed
title: Fossil completely screws up repositories if there's any clock skew
comment:
  This has resulted in a major frustrating hour.  If anyone does a fossil clone when they have their clock skewed, they don't find out about it until they commit eventually and get:

  <verbatim>
  fossil: ancestor check-in [4f205c7175] (2010-08-25 21:09:30) is younger (clock skew?)
  </verbatim>

  It happens because fossil clone doesn't enforce clock correctness.  None of the commands except for commit do.  So this is the pattern of complete fail:

    1.  Do a clone with your clock skewed.
    2.  Do some stuff, work really hard on something.
    3.  Add all these files you so lovingly crafted.
    4.  Try to commit your files.  Oops clock skewed.
    5.  Fix your clock, nope timeline still says original time from the clone.
    6.  Try to reclone, nope you can't undo your adds so it bitches that you can't close.
    7.  Finally, copy your .fossil out of the way, copy your source out of the way, clone again, open again, and *FINALLY* you can start working again.

  I consider this a huge block to contributors.  People will have their clock skewed.  Tough.  If it's so important than fossil should require it on clone, actually on any command that could screw up the timeline's clock and put someone into this totally screwed up state.

  <hr><i>drh added on 2010-08-28 20:14:35:</i><br>
  If you get the message "ancester check-in ... is younger" then one of two
  things is wrong:

    1.  The previous check-in was correct but your current clock is wrong.

    2.  The previous check-in contains a bad timestamp

  If the problem is (1), then all you have to do is fix the clock on your
  local machine.  If the problem is (2), then simply run "fossil ui", browse
  to the previous check-in, click on the "Edit" link, and change the 
  check-in time;  (If multiple check-ins have been made using a bad clock,
  you might want to go back and fix up several prior check-in times.)

  I think this is a very sensible approach.  What would you prefer
  Fossil do?  Check-in the change out-of-order and let the poor user
  try to figure out what happened later?  (That seems scary to me.)
  Or automatically adjust the timestamps?  (That seems even scarier.)
  If you know of a better solution, please offer a suggestion.

  <hr><i>drh added on 2010-08-29 00:22:27:</i><br>
  Modified so that the "-f" open to "commit" will override the clock skew
  check and allow the check-in to proceed.  It will then be up to an
  adminstrator to straighten out the check-in times using the check-in
  editor.

  <hr><i>anonymous added on 2010-08-29 01:56:13:</i><br>
  Another option is to obey the principle of least surprise: if clock skew is a problem, upon <em>any</em> operation have Fossil do a sanity check on the time to warn of potential lurking skew problems before you've gone too far down the work line.


tkt_uuid: a09798ba9e285df66543f60344e7109fe6ac125c
type: Code_Defect
status: Fixed
foundin: c5e94568c7
resolution: Fixed
title: Bug in ipPrefix (Check-in [86cbb69af2])?
comment:
  You sure that 

  return mprintf("%.*s", j, zIP);

  is correct?  It's been a long time having programmed in C, but I think you should use i instead of j (j will be 2 at most).

  <hr><i>rwilson added on 2009-12-29 18:16:42:</i><br>
  i think you are correct.  it should be i.  as is, this code will always return the first two chars of the ip address.

  <pre>
  static char *ipPrefix(const char *zIP){
    int i, j;
    for(i=j=0; zIP[i]; i++){
      if( zIP[i]=='.' ){
        j++;
        if( j==2 ) break;
      }
    }
    return mprintf("%.*s", j, zIP);
  }
  </pre>

  <hr><i>drh added on 2009-12-29 20:53:21:</i><br>
  See check-in [5d16ca43f192].


tkt_uuid: a182bd01a9c8dde66b1f55637b0a3e23c4099b02
type: Documentation
status: Fixed
severity: Minor
foundin: e5e2bd7aaf
private_contact: 1f976d4960f4fa4a2625a8595a0c93a0253ce9f6
resolution: Fixed
title: Description of 'annotate' in fossil help is incorrect
comment:
  The description provided by entering the command, "fossil help annotate" is as follows:

  "Output the text of a file with markings to show when each line of the file was introduced."

  This description is not entirely accurate. The 'annotate' command will provide the date and committer of that last check-in that modified the line, not when the line was introduced.


tkt_uuid: a1a08cb41896b1a7075caff6bce6256f2ae90efc
type: Code_Defect
status: Open
severity: Minor
foundin: july
private_contact: 36f0fb79a71d7f6f746a9380e7eab81fa1eb1b8a
title: autosync fails after network outage
comment:
  I've noticed that when committing with autosync on, a failed network 
  connection (say you forgot to turn it on),will stop syncing on all future 
  commits until you do a another sync. 

  <pre>
  > fossil will automatically push your changes back to the server you
  > cloned from or whatever server you most recently synced with. 
  </pre>

  Can it be changed so it keeps trying to sync?


  to reproduce
  --
    #  clone repo
    #  change file under vc
    #  commit (autosync's correctly)
    #  change file under vc
    #  disconnect network
    #  commit (fails to autosync - tries and fails)
    #  reconnect network
    #  <strong>commit (fails to autosync - does not retry)*Issue*</strong>
    #  sync
    #  change file under vc
    #  commit (autosync's correctly)
  --


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: a24ec6005f2fe6a446a553eeeb6e528e3c50089d
type: Code_Defect
status: Fixed
subsystem: one
priority: Immediate
severity: Minor
foundin: 141c31792b
private_contact: c.hintze@gmx.net
resolution: Fixed
title: Email in bug tickets <b>are</b> public visible (at least indirect).
comment:
  If I file a new bug, after the field <tt>EMail:</tt> there is a hint, that the email address would not be publicly visible. But it seems to me, that the email address becomes visible if I clone the whole repository and examine the tickets and checkins afterwards via e.g. the timeline.

  I have no proposal how this could prevented. Cloning tickets is IMO a good idea, but of course all data will also be cloned with them! So perhaps the solution would be to remove the <i>Not publicly visible</i> hint?

  <hr><i>drh added on 2008-07-23 19:44:34:</i><br>
  I started writing code to encrypt the email address field.  But upon further
  thought I realized that a determined malefactor could clone the repository
  and then mount a dictionary attack to recover the encryption password.  So
  while encryption does make email address harvesting more difficult, it does
  not make it impossible.  I wonder if it is even worth the trouble....

  Perhaps the right solution is (as the OP suggests) 
  to change the bug form to say that the contact
  information is not displayed on any webpage but can be recovered by 
  miscreants who go to the trouble of cloning the repository.

  <hr><i>drh added on 2008-07-24 00:27:46:</i><br>
  Here is another idea:  Instead of storing the email address directly, we can
  store an SHA1 hash of the email address.  Meanwhile maintain a mapping from
  hash back to email address in an auxiliary database table.  This auxiliary
  table can be used to translate the hash back into an email address for display
  to authorized users.  But because the auxiliary table is not shared as part
  of a clone or sync, remote repositories are unable to recover the original
  email address.

  There would need to be some way to share the auxiliary table with authorized
  users.  No such mechanism currently exists and needs to be added.  But on the
  other hand, such a mechanism might also be used to share ticket report formats,
  which is something else that is currently not shared but which ought to be.

  <hr><i>drh added on 2008-07-24 02:07:00:</i><br>
  Problem fixed in [f46fe42d6d].  Contact information is stored as its SHA1
  hash.  The new CONCEALED table in the repository database (private data that
  is not synced) provides a mapping back to the original email address for
  trusted users.


tkt_uuid: a284192609fe7900a617ac2217b6327e467ffa4f
type: Feature_Request
status: Open
severity: Minor
private_contact: e4a28136108003f231a6fed17150c04e1a977922
resolution: Open
title: I wish there is a 'Vote feature' for tickets
comment:
  I find <b>voting for a ticket</b> an extremely useful feature which helps to decide what is <b>the most annoying bug</b> to fix or <b>the most desired feature request</b> to implement. Or to see <b>if anyone else is interested</b> in sth.

  <hr /><i>anonymous added on 2011-02-17 05:18:43 UTC:</i><br />
  This could be done in Javascript, using comments as the voting log. Probably would very difficult to remove or even change a vote once cast.


tkt_uuid: a2de4526a0d36bc37535350dbec9012ecb612b66
type: Code_Defect
status: Fixed
severity: Minor
foundin: Fossil version [71edacd95f] 2010-03-03 04:08:18
private_contact: 24b67375dd2ec6c7381a5ad34cfcf006f0b9c260
resolution: Fixed
title: timeline graphs shows trunk line many times
comment:
  If you check link like the one below:<br>
  [http://www.fossil-scm.org/fossil/timeline?n=400&u=drh&c=2010-03-05+13%3A56%3A22]<br>
  resulting timeline shows about 24 graph lines, many of those related to trunk. That seems like a bug as seen especially on the bottom of displayed page.


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: a312a28952056ed5ee8fcbd04dcbffe45cab63ad
type: Code_Defect
status: Fixed
severity: Important
foundin: [4ab7251fcd]
private_contact: 76518fb407f147a1d053c00b5b993281a339c0e3
resolution: Fixed
title: Adapt win/version.c to the longer timestamps
comment:
  The attached patch adapts win/version.c to the longer timestamps in the manifest file.

  It also fixes a gcc compiler warning about implicit declaration of the function strncmp.

  -- tsbg

  <hr /><i>drh added on 2011-01-14 16:58:23 UTC:</i><br />
  I think a better fix is to omit the fractional seconds from unix builds.


tkt_uuid: a32ff1eddb6ac1f4996e6e0df2e5bc4207722135
type: Code_Defect
status: Fixed
severity: Important
foundin: c492eab395
private_contact: 63070188043a9522ca95dca0d28c3b9eff7a697b
resolution: Fixed
title: Optional R card not properly ignored
comment:
  The file format description says that R cards are optional. As lazy first run, my CVS import tool doesn't write them. This results in crashes on checkout as the non-existance of the checksum is not properly checked.

  <hr /><i>drh added on 2010-10-03 23:32:22:</i><br />
  The change in checkin.c as shown in the attached diff does not appear to
  be necessarily since checkin.c always generates the R card.


tkt_uuid: a3336458f6864db0404b6d45b144be0b17526fb0
type: Documentation
status: Closed
severity: Minor
private_contact: 2f98bd34c080ac26bbeb8ea754dfd01c5d3a2018
resolution: Fixed
title: typo in http://fossil-scm.org/index.html/doc/trunk/www/fossil-v-git.wiki
comment:
  There is typo in the beginning of http://fossil-scm.org/index.html/doc/trunk/www/fossil-v-git.wiki page. 1st sentence...

  s/is is/it is


  Sincerely,<br/>
  Gour

  <hr /><i>aku added on 2010-11-12 21:06:04:</i><br />
  Fixed with checkin [03b53ca4ca2c51758b7e93cf77d4e94f623b0de8].


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: a395f43b33e8e48d4c72d158530bdd88c2eebb5d
type: Incident
status: Fixed
severity: Important
foundin: 6021279637
private_contact: 7d648926689058d41bb399cda295099d354b5b7d
resolution: Fixed
title: The wiki name "表予申能十ソ" is not well-formed.
comment:
  When I entered some multi-byte (Japanese) characters into "Admin"-"Configuration"-"Project Name" and clicked "Home" link, Fossil indicated wiki name error. (But the garble did not happen.) 

  "表", "予", "申", "能", "十" and "ソ" are well-known characters in Japan as trouble maker. Because '\' (0x5c) is included as a part of each multi-byte character when these characters are encoded as shift-JIS (cp932). Shift JIS (cp932) is code page of MS-Windows Japanese version.

  <hr><i>anonymous added on 2009-09-14 03:33:02:</i><br>
  Wiki name error also happens with project name "あいうえお".  I don't think cp932 (Shift-JIS) or the backslash/Yen character (0x5C) have nothing particular to do with the error, since Fossil is straight UTF-8 internally.  -- MIURA Masahiro <echochamber at gmail>

  <hr><i>anonymous added on 2010-01-12 07:05:05:</i><br>
  Happens with Russian language wiki name too:

  Tried to create "Проверка" page on http://127.0.0.1:8080/wikinew. And failed:

  "Проверка" is not a valid wiki page name!

  <hr><i>anonymous added on 2010-01-12 07:08:26:</i><br>
  Forgot to write: Fossil version [4f24addea9] 2009-12-20 21:34:51

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


tkt_uuid: a410962b8eaf937cf0471c8e31b99fbdd3692931
type: Code_Defect
status: Open
severity: Minor
foundin: [cd26978357] 2010-01-06
private_contact: 95665098df34cbafbd9a88d24c46534ed982e536
title: "fossil timeline ancestors current -n 1" does not always work
comment:
  Maybe there is a better way, but I have scripts that parse the following command to get the SHA-1 of the current commit:<br>
  <br>
  &nbsp;&nbsp;&nbsp;&nbsp;fossil timeline ancestors current -n 1<br>
  <br>
  However, the command above doesn't always produce output even if changing <i>-n 1</i> to <i>-n 2</i> does produce output.  In this case, <i>-n 2</i> only shows one commit.<br>
  <br>
  I am able to reproduce this behavior in the SQLite fossil repository by checking out the commit for "Version 3.6.22" and running the command shown above.


tkt_uuid: a4295406dde4682facd619ec50d08debdc71d992
type: Code_Defect
status: Fixed
foundin: [ff2a87103bf1]
private_contact: ccd87c60364e1d3e945b6f4d4874f5174b17cc43
resolution: Fixed
title: Problem in checkin (evident on cygwin)
comment:
  After hitting a situation when, after setting the text message of the commit 'fossil' looked hanged at 100% of cpu, procmon showed that it was trying to open files with a name that looked like all files in the manifest in a row. gdb luckily helped us distinguish the point of trouble.

  I'll attach a patch that solves the situation but I don't know if the patch has undesired side effects, because I have not tried to understand deeply the code around.

  It is about a blob that should be always 'trimmed' before appending. And the 'trimming' is inside an if() branch that our commit looks like not traversing. But I don't know why not, if it should, or whatever. The case is that it does not go through the branch. So, I put the append out.

  <hr /><i>anonymous added on 2011-01-04 15:51:52 UTC:</i><br />
  I meant "I put the resize (trim) out of the if clause" in the last part of the ticket text.

  <hr /><i>anonymous claiming to be viric added on 2011-01-04 16:12:52 UTC:</i><br />
  Just to mention... I think this only happens with delta commits; we just switched them today, and this is why we did not see this before.

  So, delta commits + exe permissions should be broken unless this patch is applied, in any unix-like system.


tkt_uuid: a470443b64412d2856a12b5a889ea08ff5837651
type: Feature_Request
status: Fixed
severity: Minor
private_contact: e16bca9376b716bf489a593de88e7b2760905520
resolution: Fixed
title: Option to suppress hex dump on artifact page
comment:
  The artifact page displays a hex dump instead of a diff if the file is binary and not an image. Especially for large binary files this is IMHO not only useless but also resource and time consuming. 

  I'd really appreciate a possibility to switch off this behaviour and to display a short message that it is a binary file.

  Because presenting a solution is better than moaning, I have attached patch.


tkt_uuid: a483f0ab3f0d4da07bb764bf6bd0625a2faddcd7
type: Code_Defect
status: Open
priority: Medium
severity: Critical
foundin: [64459dd091]
private_contact: c01be5897083c3b89b54d91e3d4c5ce64d2a10db
resolution: Open
title: tree checksum does not match repository after commit
comment:
  Cannot check in file changes to my repository, getting the error above, 100% repeatable.  Repository is about 148MB.  Repository file and content files to be applied by the commit available for download from a website I run on request.

  <hr><i>drh added on 2010-06-07 12:18:38:</i><br>
  This error is a safety mechanism to prevent corrupt check-ins.

  Please checkout a separate copy of the source tree you are trying to commit against and run a recursive "diff" on the two directories and send me the results.
  Also please send the output of "fossil status".

  <hr><i>anonymous added on 2010-06-09 02:56:09:</i><br>
  Sent in email response to Dr. Hipp.  Also occurs in version 2010-05-21.  Does not occur if I blow away the _FOSSIL_ and manifest files, open the repository again, and re-apply my changes manually to the directory tree, then commit, so it appears to be corrupt checkout files rather than an inability for fossil to handle the file changes in the directory tree.

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

  Dr. Hipp,
   
  Attached is a diff and status output as requested.  Note that the error occurs also in the latest fossil.exe from 5/21/10.
   
  Note that the repository is at M:\fileshare\dev\v73.fossil on my system.  I created a separate copy of the tree at M:\fileshare\devcopy and ran the diff between those two directories.  There are some files that in dev directory that I exclude from fossil, and the diff will show that.
   
  I can get you the entire M:\fileshare\dev directory zipped or otherwise compressed and put it on a website if you need that to reproduce the problem on your systems.
   
  Note that the problem will go away if I 'blow away' my checkout by removing the _FOSSIL_ and manifest files, and then do fossil open v73.fossil again, and update the files manually in this tree to match what they were before, so the problem appears to be corrupt checkout files rather than inability to handle the file changes in the directory tree.
   
  At this point the error is not critical for me, as I 'resolved' it last night by completely recreating the repository from scratch in a separate area in order to continue with my work.  I recognize that that was a extreme solution, but did not know what else to do at that time.  In the future, I would choose to resolve it instead by blowing away my checkout connection files '_FOSSIL_' and the 'manifests', and then do the open, apply changes, and commit again.
   
  I am keeping this set of files solely so that you can debug the problem in case fossil needs patching.  If there is no real problem with fossil or nothing that you can do to debug and fix a potential code defect in fossil, let me know so that I can remove the old files from my system.
   
  Also, I tried to move M:\fileshare\dev to some other area to continue with the rest of my work, but it appears that the checkout file _FOSSIL_ hardcodes the absolute path to the v73.fossil repository file, and so moving it would result in a non-usable test case, unless I want to try editing the _FOSSIL_ file with HxD to relocate my repository.  You might consider having _FOSSIL_ use a relative path instead to the repository if possible, since many people will choose to put their tree and repository in the same area.
  ---------




  repository:   M:/Fileshare/dev/v73.fossil
  local-root:   M:/Fileshare/dev/
  server-code:  3eb7635abee9a2e55353eb8bdd0acef65f41e50c
  checkout:     e327322ee19fcc6c2d1aa7aea2c2bccd4b2f9dfc 2010-06-07 00:38:19 UTC
  parent:       ec426f797e99280e70ff5a4193267324544cb4fc 2010-05-25 02:51:54 UTC
  tags:         trunk
  EDITED     V73/Common/Common.vbproj
  EDITED     V73/Common/Info.vb
  EDITED     V73/Common/source/database/databaseLink.vb
  EDITED     V73/Common/source/database/databaseLinkType.vb
  EDITED     V73/Common/source/debug/debugMethods.vb
  EDITED     V73/Common/source/generic/dictionary.vb
  EDITED     V73/Common/source/generic/generics.vb
  EDITED     V73/Common/source/generic/interface.vb
  EDITED     V73/Common/source/generic/list.vb
  EDITED     V73/Common/source/language/sql.vb
  EDITED     V73/Common/source/language/xml.vb
  EDITED     V73/Common/source/object/matchList.vb
  ADDED      V73/Common/source/string/hexadecimal.vb
  EDITED     V73/Common/source/string/stringMethods.vb
  ADDED      V73/Common/source/windows/assembly.vb
  ADDED      V73/Common/source/windows/controls.vb
  ADDED      V73/Common/source/windows/encryption.vb
  ADDED      V73/Common/source/windows/form.vb
  ADDED      V73/Common/source/windows/guid.vb
  ADDED      V73/Common/source/windows/path.vb
  ADDED      V73/Common/source/windows/process.vb
  ADDED      V73/Common/source/windows/registry.vb
  ADDED      V73/CommonWeb/Info.vb
  ADDED      V73/CommonWeb/Web.sln
  ADDED      V73/CommonWeb/Web.vbproj
  ADDED      V73/CommonWeb/source/web/cookie.vb
  ADDED      V73/CommonWeb/source/web/web.vb
  DELETED    V73/Fossil/Fossil-filetype.reg
  EDITED     V73/Fossilizer/Fossilizer.sln
  DELETED    V73/Fossilizer/Fossilizer.vbproj
  DELETED    V73/Fossilizer/Info.vb
  DELETED    V73/Fossilizer/MainForm.Designer.vb
  DELETED    V73/Fossilizer/MainForm.resx
  DELETED    V73/Fossilizer/MainForm.vb
  DELETED    V73/Fossilizer/My Project/app.manifest
  DELETED    V73/Fossilizer/bin/Debug/Fossilizer.exe
  DELETED    V73/Fossilizer/bin/Debug/V73.Common.dll
  ADDED      V73/Fossilizer/dll/FossilizerDll.vbproj
  ADDED      V73/Fossilizer/dll/Info.vb
  ADDED      V73/Fossilizer/dll/System.Data.SQLite.dll
  ADDED      V73/Fossilizer/dll/fossil.exe
  ADDED      V73/Fossilizer/dll/invoke/fossil.vb
  ADDED      V73/Fossilizer/dll/invoke/sqlite.vb
  ADDED      V73/Fossilizer/dll/object/dependency.vb
  ADDED      V73/Fossilizer/dll/object/organization.vb
  ADDED      V73/Fossilizer/dll/object/project.vb
  ADDED      V73/Fossilizer/dll/object/projectFile.vb
  ADDED      V73/Fossilizer/dll/object/server.vb
  ADDED      V73/Fossilizer/dll/object/user.vb
  ADDED      V73/Fossilizer/dll/object/workingDirectory.vb
  ADDED      V73/Fossilizer/dll/workspace/userPreferences.vb
  DELETED    V73/Fossilizer/file.vb
  DELETED    V73/Fossilizer/global.vb
  ADDED      V73/Fossilizer/main/Fossilizer.vbproj
  ADDED      V73/Fossilizer/main/Info.vb
  ADDED      V73/Fossilizer/main/My Project/app.manifest
  ADDED      V73/Fossilizer/main/extensions/organization.vb
  ADDED      V73/Fossilizer/main/extensions/project.vb
  ADDED      V73/Fossilizer/main/extensions/user.vb
  ADDED      V73/Fossilizer/main/extensions/workingDirectory.vb
  ADDED      V73/Fossilizer/main/form/AddUser.Designer.vb
  ADDED      V73/Fossilizer/main/form/AddUser.resx
  ADDED      V73/Fossilizer/main/form/AddUser.vb
  ADDED      V73/Fossilizer/main/form/Projects.Designer.vb
  ADDED      V73/Fossilizer/main/form/Projects.resx
  ADDED      V73/Fossilizer/main/form/Projects.vb
  ADDED      V73/Fossilizer/main/form/SelectItem.Designer.vb
  ADDED      V73/Fossilizer/main/form/SelectItem.resx
  ADDED      V73/Fossilizer/main/form/SelectItem.vb
  ADDED      V73/Fossilizer/main/fossilizer.exe.config
  ADDED      V73/Fossilizer/main/global.vb
  DELETED    V73/Web/Info.vb
  DELETED    V73/Web/Web.sln
  DELETED    V73/Web/Web.vbproj
  DELETED    V73/Web/source/web/cookie.vb
  DELETED    V73/Web/source/web/web.vb
  DELETED    V73/Website/default.htm
  ADDED      V73/Website/www/default.htm
  EDITED     VCC/VCC/VCC.sln
  EDITED     VCC/VCC/VCC.vbproj
  EDITED     VCC/VCC/churchWeb/util.vb
  EDITED     VCC/lifecrossings/Bin/V73.Common.dll
  EDITED     VCC/lifecrossings/Bin/V73.Common.xml
  EDITED     VCC/lifecrossings/Bin/VCC.dll
  EDITED     VCC/lifecrossings/Bin/Web.dll
  EDITED     VCC/lifecrossings/lifecrossings.sln
  EDITED     VCC/menofvictory/bin/V73.Common.dll
  EDITED     VCC/menofvictory/bin/V73.Common.xml
  EDITED     VCC/menofvictory/bin/VCC.dll
  EDITED     VCC/menofvictory/bin/Web.dll
  EDITED     VCC/menofvictory/menofvictory.sln
  EDITED     VCC/surrenderedband/App_Code/vcc/churchWeb/msgPostPage.vb
  EDITED     VCC/surrenderedband/Global.asax.vb
  EDITED     VCC/surrenderedband/surrenderedband.sln
  EDITED     VCC/victorypeople/App_Code/calendar.vb
  EDITED     VCC/victorypeople/App_Code/control.vb
  EDITED     VCC/victorypeople/App_Code/dbTable.vb
  EDITED     VCC/victorypeople/App_Code/document.vb
  EDITED     VCC/victorypeople/App_Code/editPage.vb
  EDITED     VCC/victorypeople/App_Code/email.vb
  EDITED     VCC/victorypeople/App_Code/image.vb
  EDITED     VCC/victorypeople/App_Code/input.vb
  EDITED     VCC/victorypeople/aboutUs/staff.aspx.vb
  EDITED     VCC/victorypeople/aboutUs/staffProfile.aspx.vb
  EDITED     VCC/victorypeople/admin/eventSeries-edit.aspx.vb
  EDITED     VCC/victorypeople/admin/recordedevent-edit.aspx.vb
  EDITED     VCC/victorypeople/admin/recording-edit.aspx.vb
  EDITED     VCC/victorypeople/bin/V73.Common.dll
  EDITED     VCC/victorypeople/bin/V73.Common.xml
  EDITED     VCC/victorypeople/bin/VCC.dll
  EDITED     VCC/victorypeople/bin/Web.dll
  EDITED     VCC/victorypeople/contactUs/eventSignup.aspx.vb
  EDITED     VCC/victorypeople/contactUs/guestbook.aspx.vb
  EDITED     VCC/victorypeople/contactUs/index.aspx.vb
  EDITED     VCC/victorypeople/index.aspx.vb
  EDITED     VCC/victorypeople/ministries/index.aspx.vb
  EDITED     VCC/victorypeople/news/announcements.aspx.vb
  EDITED     VCC/victorypeople/news/calendar.aspx.vb
  EDITED     VCC/victorypeople/news/calendarday.aspx.vb
  EDITED     VCC/victorypeople/news/calendaritem.aspx.vb
  EDITED     VCC/victorypeople/news/events.aspx.vb
  EDITED     VCC/victorypeople/resources/links.aspx.vb
  EDITED     VCC/victorypeople/resources/podcast.aspx.vb
  EDITED     VCC/victorypeople/test.aspx.vb
  EDITED     VCC/victorypeople/test2.aspx.vb
  EDITED     VCC/victorypeople/victorypeople.sln






  <hr><i>anonymous added on 2010-06-24 17:41:51:</i><br>
  I am having the same problem on Windows XP using fossil version "[15b293259d] 2010-06-11 12:02:59 UTC".

  <hr><i>anonymous claiming to be RBerteig added on 2010-06-24 21:41:03:</i><br>
  I've had a similar problem when checking in source code to a project that was still open in its IDE. After exiting the IDE, the check in completed without a hitch. My conjecture is that the IDE (Microchip's MPLAB in this case) was keeping some of its workspace files in flux as long as the project was open.

  I haven't attempted to diagnose this in more detail, since the simple rule of closing the project before doing the final check in and wrapping up a delivery bundle fit well enough into my workflow.

  <hr><i>benoit added on 2010-06-25 07:54:39:</i><br>
  I had a similar problem today.

  Under Windows, file names are case insensitive. I had zipped a part and unzipped it with another software, which had messed up case in file names.

  Maybe you had the same issue.

  <hr><i>anonymous claiming to be honesthacker added on 2010-06-29 14:24:52:</i><br>
  I had the same issue on Windows XP.  I created a new repository, opened it, copied files and directories from another Windows location (nothing zipped or copied from UNIX), added them and committed.  Then I made some modifications to some files and couldn't commit them due to this error.

  <hr /><i>anonymous added on 2010-11-13 10:21:37:</i><br />
  Hello!

  Today I've put Fossil under some unusual 'stress' using it to handle all the files I used for a video project done in Cinelerra.

  At the end, when I wanted to store everything in Fossil repo, I had instance of the subject's message, but even repeated attempt to commit everything did not succeed.

  Here is the snippet from the terminal:
  <verbatim>
  [gour@atmarama kartika] fossil  stat  
  repository:   /home/gour/repos/fossil/kartika.fossil
  local-root:   /home/gour/video/mama/kartika/
  server-code:  4a68b14db6318b3979e3a68925a4cc5eee2f04c5
  checkout:     b80adf5577f7b54fc658889e3ed73132761d225d 2010-11-13 08:59:00 UTC
  parent:       2f766c14db19ef657b1d2a359d7bc5958de0a238 2010-11-13 08:44:03 UTC
  tags:         trunk
  comment:      oil-painting effect at the end (user: gour)
  ADDED      Kartika-2.mpeg2video
  DELETED    Kartika.osp
  ADDED      audio/Prayers_to_the_Six_Gosvamis.mp3
  ADDED      dvd/VIDEO_TS/VIDEO_TS.BUP
  ADDED      dvd/VIDEO_TS/VIDEO_TS.IFO
  ADDED      dvd/VIDEO_TS/VIDEO_TS.VOB
  ADDED      dvd/VIDEO_TS/VTS_01_0.BUP
  ADDED      dvd/VIDEO_TS/VTS_01_0.IFO
  ADDED      dvd/VIDEO_TS/VTS_01_0.VOB
  ADDED      dvd/VIDEO_TS/VTS_01_1.VOB
  ADDED      dvdwizard.cmd
  ADDED      dvdwizard.xml
  ADDED      kartika.ac3
  ADDED      kartika.m2v
  ADDED      kartika.mpeg
  [gour@atmarama kartika] fossil ci
  emacsclient "/home/gour/video/mama/kartika/ci-comment-DFE0F3EE390F.txt"
  Waiting for Emacs...

  You need a passphrase to unlock the secret key for
  user: "Gour D. <gour@atmarama.net>"
  4096-bit RSA key, ID CDBF17CA, created 2010-07-14

  gpg: writing to `in-25E14E727C32D22DEC2B'
  gpg: RSA/SHA1 signature from: "CDBF17CA Gour D. <gour@atmarama.net>"
  New_Version: 6873ebb458aa2b5785a4b54a91c09917fdd4f104
  fossil: tree checksums before and after commit do not match
  [gour@atmarama kartika] fossil  stat
  repository:   /home/gour/repos/fossil/kartika.fossil
  local-root:   /home/gour/video/mama/kartika/
  server-code:  4a68b14db6318b3979e3a68925a4cc5eee2f04c5
  checkout:     b80adf5577f7b54fc658889e3ed73132761d225d 2010-11-13 08:59:00 UTC
  parent:       2f766c14db19ef657b1d2a359d7bc5958de0a238 2010-11-13 08:44:03 UTC
  tags:         trunk
  comment:      oil-painting effect at the end (user: gour)
  ADDED      Kartika-2.mpeg2video
  DELETED    Kartika.osp
  ADDED      audio/Prayers_to_the_Six_Gosvamis.mp3
  ADDED      dvd/VIDEO_TS/VIDEO_TS.BUP
  ADDED      dvd/VIDEO_TS/VIDEO_TS.IFO
  ADDED      dvd/VIDEO_TS/VIDEO_TS.VOB
  ADDED      dvd/VIDEO_TS/VTS_01_0.BUP
  ADDED      dvd/VIDEO_TS/VTS_01_0.IFO
  ADDED      dvd/VIDEO_TS/VTS_01_0.VOB
  ADDED      dvd/VIDEO_TS/VTS_01_1.VOB
  ADDED      dvdwizard.cmd
  ADDED      dvdwizard.xml
  ADDED      kartika.ac3
  ADDED      kartika.m2v
  ADDED      kartika.mpeg
  EDITED     kartika.xml
  [gour@atmarama kartika] fossil ci   
  emacsclient "/home/gour/video/mama/kartika/ci-comment-DCF36188F702.txt"
  Waiting for Emacs...

  You need a passphrase to unlock the secret key for
  user: "Gour D. <gour@atmarama.net>"
  4096-bit RSA key, ID CDBF17CA, created 2010-07-14

  gpg: writing to `in-6CFD19013B265AF9F89D'
  gpg: RSA/SHA1 signature from: "CDBF17CA Gour D. <gour@atmarama.net>"
  New_Version: 98454745ae3c37b22a11f6471ff2f75bff4ee4fb
  [gour@atmarama kartika] fossil  stat
  repository:   /home/gour/repos/fossil/kartika.fossil
  local-root:   /home/gour/video/mama/kartika/
  server-code:  4a68b14db6318b3979e3a68925a4cc5eee2f04c5
  checkout:     98454745ae3c37b22a11f6471ff2f75bff4ee4fb 2010-11-13 10:00:38 UTC
  parent:       b80adf5577f7b54fc658889e3ed73132761d225d 2010-11-13 08:59:00 UTC
  tags:         trunk
  comment:      complete project (audio, video, dvd…) (user: gour)
  EDITED     dvd/VIDEO_TS/VTS_01_1.VOB
  EDITED     kartika.mpeg
  [gour@atmarama kartika] ls -al ~/repos/fossil 
  total 1,9G
  drwxr-xr-x 2 gour 4,0K Nov 13 11:01 .
  drwxr-xr-x 7 gour 4,0K Nov  8 13:07 ..
  -rw-r--r-- 1 gour  88K Nov 11 15:16 aur.fossil
  -rw-r--r-- 1 gour 3,9M Nov 11 15:34 bhagavad-gita-seminar.fossil
  -rw-r--r-- 1 gour 689K Nov 11 15:43 cfgfiles.fossil
  -rw-r--r-- 1 gour 1,8G Nov 13 11:01 kartika.fossil
  -rw-r--r-- 1 gour  70K Nov 13 09:07 mama.fossil
  -rw-r--r-- 1 gour  77K Nov 12 17:32 org.fossil
  -rw-r--r-- 1 gour 3,4M Nov 11 15:40 sqlite-books.fossil
  [gour@atmarama kartika] fossil help
  Usage: fossil help COMMAND.
  Available COMMANDs:
  add            co             import         redo           tag          
  addremove      commit         info           remote-url     ticket       
  all            configuration  init           rename         timeline     
  annotate       deconstruct    leaves         revert         ui           
  artifact       delete         ls             rm             undo         
  branch         descendants    merge          scrub          unset        
  cgi            diff           mv             search         update       
  changes        export         new            server         user         
  checkout       extras         open           settings       version      
  ci             finfo          pull           sha1sum        wiki         
  clean          gdiff          push           sqlite3        zip          
  clone          help           rebuild        status       
  close          http           reconstruct    sync         
  This is fossil version [ceab53718f] 2010-11-12 16:37:37 UTC
  [gour@atmarama kartika] fossil changes
  EDITED     dvd/VIDEO_TS/VTS_01_1.VOB
  EDITED     kartika.mpeg
  [gour@atmarama kartika] fossil ci            
  emacsclient "/home/gour/video/mama/kartika/ci-comment-40B3CFC75419.txt"
  Waiting for Emacs...

  You need a passphrase to unlock the secret key for
  user: "Gour D. <gour@atmarama.net>"
  4096-bit RSA key, ID CDBF17CA, created 2010-07-14

  gpg: writing to `in-97E6EDA8FDA97AC9AD9D'
  gpg: RSA/SHA1 signature from: "CDBF17CA Gour D. <gour@atmarama.net>"
  New_Version: 9ebf6d08b2dd0d258fc7bd5a3c60c17087528b18
  [gour@atmarama kartika] fossil changes
  EDITED     dvd/VIDEO_TS/VTS_01_1.VOB
  EDITED     kartika.mpeg
  [gour@atmarama kartika] fossil diff   
  Index: dvd/VIDEO_TS/VTS_01_1.VOB
  ===================================================================
  --- dvd/VIDEO_TS/VTS_01_1.VOB
  +++ dvd/VIDEO_TS/VTS_01_1.VOB
  cannot compute difference between binary files

  Index: kartika.mpeg
  ===================================================================
  --- kartika.mpeg
  +++ kartika.mpeg
  cannot compute difference between binary files
  </verbatim>

  From the above it's visible that 2 files (dvd/VIDEO_TS/VTS_01_1.VOB and kartika.mpeg) cannot be properly checked-in. 


  Sincerely,<br/>
  Gour

  <hr /><i>anonymous claiming to be gour added on 2010-11-13 13:13:24:</i><br />
  I've tried with [64459dd091] but still cannot resolve the issue:

  <verbatim>
  [gour@atmarama kartika] fossil version
  This is fossil version [64459dd091] 2010-11-13 12:48:00 UTC
  [gour@atmarama kartika] fossil stat
  repository:   /home/gour/repos/fossil/kartika.fossil
  local-root:   /home/gour/video/mama/kartika/
  server-code:  4a68b14db6318b3979e3a68925a4cc5eee2f04c5
  checkout:     9ebf6d08b2dd0d258fc7bd5a3c60c17087528b18 2010-11-13 10:03:37 UTC
  parent:       98454745ae3c37b22a11f6471ff2f75bff4ee4fb 2010-11-13 10:00:38 UTC
  tags:         trunk
  comment:      finished project (user: gour)
  EDITED     dvd/VIDEO_TS/VTS_01_1.VOB
  EDITED     kartika.mpeg
  [gour@atmarama kartika] fossil ci
  emacsclient "/home/gour/video/mama/kartika/ci-comment-ED1E5806ACDF.txt"
  Waiting for Emacs...

  You need a passphrase to unlock the secret key for
  user: "Gour D. <gour@atmarama.net>"
  4096-bit RSA key, ID CDBF17CA, created 2010-07-14

  gpg: writing to `in-AD2FD4A375B206FB0DBD'
  gpg: RSA/SHA1 signature from: "CDBF17CA Gour D. <gour@atmarama.net>"
  New_Version: c353967e8ecbce7f64589b6eea2cdfcb9333a8a7
  [gour@atmarama kartika] fossil stat
  repository:   /home/gour/repos/fossil/kartika.fossil
  local-root:   /home/gour/video/mama/kartika/
  server-code:  4a68b14db6318b3979e3a68925a4cc5eee2f04c5
  checkout:     c353967e8ecbce7f64589b6eea2cdfcb9333a8a7 2010-11-13 13:10:04 UTC
  parent:       9ebf6d08b2dd0d258fc7bd5a3c60c17087528b18 2010-11-13 10:03:37 UTC
  tags:         trunk
  comment:      another attempt to checkin latest complete project (user: gour)
  EDITED     dvd/VIDEO_TS/VTS_01_1.VOB
  EDITED     kartika.mpeg
  </verbatim>




  <hr /><i>anonymous claiming to be achavasse added on 2010-11-13 14:54:41:</i><br />
  I've had a similar issue when using fossil in windows and tracked down the cause: I had replaced a file in the working directory by another similar file found elsewhere in the tree.

  They didn't have the same content or size, but it seems when you do that windows copies over the modification date of the file (at last when you do it using the explorer), because the original file had the same modification time as the one I replaced.

  So the mtime check led fossil to believe the file hadn't changed and it didn't include it in the commit. Then when it compared the checksum of the files in the commit (including the old version of that file mentioned above) to the working directory which contained the latest version, the checksum didn't match.

  As a workaround, it is possible to disable mtime check with "fossil set mtimes-changes 0".


tkt_uuid: a4a9f45b67cbbcf265ed5b1fa90bfdacf853144f
type: Code_Defect
status: Fixed
severity: Critical
foundin: 7954ccba68
private_contact: 2f102b33d8f807336292e56ff47c6c59de4876c0
resolution: Fixed
title: core dump on attempted branch
comment:
  <pre><nowiki>
  [bch@ansel ~/work/xyz]$ fossil ver
  This is fossil version [7954ccba68] 2010-10-16 16:24:24 UTC
  [bch@ansel ~/work/xyz]$ ../fossil/fossil branch new bchtest 7cb890 --bgcolor \#ff2222
  Segmentation fault: 11 (core dumped)
  [bch@ansel ~/work/xyz]$ fossil info 
  project-name: dev1 xyz
  repository:   /home/bch/work/fossils/xyz.fsl
  local-root:   /home/bch/work/xyz/
  project-code: f2002b49daf7eaa8429a31a5a7bfcdaaf412e115
  server-code:  de5815f84350c8ec7b68d93d16009a32c9d9604d
  checkout:     7cb890f36a69a2a578b6fc61daf68c120d16124f 2010-10-26 01:03:29 UTC
  parent:       b24bfc57e457e4add29fb33bab5486c7f0047d9b 2010-10-26 00:56:09 UTC
  child:        c56c5daca15e2dd28ecb0e97d8e964b72b89ff50 2010-10-26 01:10:25 UTC
  child:        0eff20d8719e0f6338c84bf98f0ca843ba67bc11 2010-10-26 23:36:10 UTC
  tags:         trunk
  comment:      adj css by-hand, per joe (user: bch)
  [bch@ansel ~/work/xyz]$ gdb ../fossil/fossil
  GNU gdb 6.1.1 [FreeBSD]
  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 "amd64-marcel-freebsd"...
  (gdb) run branch new bchtest 7cb890 --bgcolor \#ff2222
  Starting program: /home/bch/work/fossil/fossil branch new bchtest 7cb890 --bgcolor \#ff2222

  Program received signal SIGSEGV, Segmentation fault.
  0x000000000040704a in branch_new () at branch_.c:97
  97            if( pParent->aFile[i].zPerm[0] ){
  (gdb) bt
  #0  0x000000000040704a in branch_new () at branch_.c:97
  #1  0x0000000000407397 in branch_cmd () at branch_.c:198
  #2  0x0000000000421633 in main (argc=6, argv=0x7fffffffe6b0) at main_.c:261
  (gdb) 
  </nowiki></pre>

  <hr /><i>bharder added on 2010-10-27 17:28:00:</i><br />
  I made a mistake when I tried to show fossil version in previous post. Proper version identification:

  <pre>
  $ ./work/fossil/fossil version
  This is fossil version [57347e6ee8] 2010-10-26 21:37:16 UTC
  $ 

  </pre>

  <hr /><i>bharder added on 2010-10-28 17:57:31:</i><br />
  Confirmed fixed. Thx.


tkt_uuid: a534227710d3e560aa47499e6f80f764a6444f7d
type: Code_Defect
status: Fixed
severity: Minor
foundin: [7c37b46b12] 2010-04-15 23:53:15
private_contact: ae1a74676bb0d1ac520802109f926567b1637ac7
resolution: Fixed
title: Web UI "Admin -> Sync Now" should be removed except maybe for "fossil ui"
comment:
  The fossil web interface provides a "Sync Now" option on the Admin page.  However, in order for this to work correctly, the following must all be true:

  <ol>
  <li>The running fossil serving the request must have a current directory within a "fossil open" checkout or exactly one repository must be specified on the command line (not a directory).  &#91;<font size="-1">It appears that a single-repository cgi script is no longer good enough as the repository is closed by the time the process_sync_args function runs and since no repository name is available in the options list (it's embedded in the script instead) fossil fails to find the repository.</font>]

  <li>The environment must have a HOME (or equivalent) variable set to a path that allows writing/creating both .fossil and .fossil-journal files.  &#91;<font size="-1">This may be a particularly challenging requirement to satisfy in a secure manner when the fossil cgi is running as the www user on a web server.  Although certainly using the /usr/bin/env command in the #! line of a fossil cgi script to set HOME then run fossil may be of some help here, but that seems clumsy.</font>]
  </ol>

  This breaks down if fossil was started with the "fossil server directory" option (or the corresponding fossil cgi "directory: ..." option).  Which repository will get sync'd when you select "Sync Now"?  In fact it looks like if the above conditions are true, you'll always sync the same repository which may or may not be related at all to the the repository being viewed via the web ui.

  However, for the "fossil ui" command only, none of the above applies since a single repository must be specified and it's reasonable to expect the conditions listed above to always be satisfied correctly.

  Is it possible to just suppress the "Sync Now" option unless the command that started the server was "fossil ui"?

  P.S. Even when using "fossil ui" to run the "Sync Now" option (and it does work) the sync progress output corrupts the content being returned -- all the progress details from the sync are output before the initial "HTTP/1.0 200 OK" response so it's kind of surprising that the browser even displays the real html content correctly at all (after the mash of sync progress output at the top of the page).  It might be simpler just to get rid of the web interface to "Sync Now" completely.

  <hr><i>drh added on 2010-04-22 15:22:03:</i><br>
  I agree that the current Sync Now implementation is entirely inadequate and has been
  removed.  But this reopens feature request [3b1533a090eebd09] which seems to be a
  real need.  There needs to be some mechanism added back to SQLite to do a sync or push
  or pull from the web interface for use on servers without command-line access.


tkt_uuid: a53f65f57f4829da5039337bbdd305da4f234d13
type: Feature_Request
status: Open
severity: Minor
foundin: 15b293259d
private_contact: 277de4eda861e8a6d011b60d4006a963a4c7c474
title: ZIP archive of changed files between two check-ins
comment:
  Wondering whether it is possible to have some command like:

  <pre>fossil zip VERSION <nowiki>[--relative REFERENCE_VERSION] OUTPUTFILE [--name DIRECTORYNAME]</nowiki></pre>

  which generates a ZIP archive for a specified version, excluding files that existed at time of REFERENCE_VERSION and have not changed since.

  I am aware that this raises some problems like:
  * Does it make sense when REFERENCE_VERSION is not an ancestor of VERSION?
  * How can one include information about files that have been deleted between both versions?

  Thank you for having read this ticket and, I hope, for your answers.


tkt_uuid: a5403e6eeee2a076f6d506764dee7b1255af42b8
type: Code_Defect
status: Fixed
severity: Important
foundin: Fossil version [ea27129c88] 2010-01-19 18:28:12
private_contact: 24b67375dd2ec6c7381a5ad34cfcf006f0b9c260
resolution: Fixed
title: Clicking on ticket link on Timeline page redirects to Index Page.
comment:
  It seems that on Timeline page clicking on any hyperlinked ticket
   
  (e.g. http://localhost:8080/info/666d18738e ) 

  will show Index Page instead Ticket itself.

  To see ticket, one must navigate to Tickets - All Tickets  and with 
  help of some report, ticket can be seen on link like

  http://localhost:8080/tktview?name=666d18738e

  <hr><i>drh added on 2010-01-20 15:50:16:</i><br>
  Problem introduced by [bf56b2ddf4082e7ba0654574f7cd60f6246c54b3]
  2010-01-19 and fixed by [5eea3db6c19f5185409adf301e129dbefa08c998]
  on 2010-01-20.


tkt_uuid: a5a415b41401161327f8ca0c2ca0fe24e5f6af83
type: Code_Defect
status: Open
severity: Severe
foundin: Fossil version [73c24ae363] 2010-03-18 14:20:33
title: new wiki page with the name of Chinese
comment:
  Create a new wiki page with the name of Chinese, and fill the content page.
  Click the "Preview your Changes", show your view you wanted, then click "Apply
  these Changes".
  But after that, click "List All wiki pages", got the latest added page with the name of Chinese, click into it, got the default "Empty Page" and lost the previous
  change.


tkt_uuid: a5fba652a688656245a9b69b9146394f17877655
type: Documentation
status: Closed
priority: Zero
severity: Cosmetic
private_contact: da39a3ee5e6b4b0d3255bfef95601890afd80709
resolution: Not_A_Bug
title: remote `fossil clone` failed
comment:
  Command `fossil clone http://www.fossil-scm.org/ myclone.fossil` failed with the message: "fossil: connection to server failed"
  Also I try to start thttpd-server and clone my local repo but fossil failed with the same error. thttpd log says:
  127.0.0.1 - - [16/Oct/2008:17:00:29 +0400] "POST /home/user/work/misc/test/test.fossil/xfer HTTP/1.1" 403 0 "" "Fossil/[3d62a9fb39]"

  <hr><i>stephan added on 2008-12-13 09:05:15:</i><br>
  HTTP code 403 is "forbidden", which makes it sound like you're trying to clone the fossil repository database file directly. When cloning over the net you need to give the URL of either a standalone RUNNING instance of the fossil web server OR a CGI script which runs the fossil app from an existing webserver (e.g. Apache). For example, here's a CGI script for one of my repos:

  me@host [~/www.fossil/repos/pegc]# cat index.cgi
  #!/home/me/bin/fossil
  repository: /home/me/fossil/pegc.fsl

  And the URL for that repo is:

  http://fossil.wanderinghorse.net/repos/pegc/index.cgi

  For that to work i had to add a .htaccess file to my top-most directory (so i can run .cgi files in any subdirs):

  me@host [~/www.fossil]# cat .htaccess 
  Options +ExecCGI +Indexes
  # doesn't work on my hoster :( AddHandler cgi-script .html
  DirectoryIndex index.cgi index.php index.html



  <hr /><i>anonymous added on 2010-10-05 10:49:24:</i><br />
  I fell into this trap too. Could we review the (otherwise excellent) docs to make sure they're clear on this matter?


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: a66760daeecca231d849d4cab04f519efc6e797c
type: Documentation
status: Fixed
severity: Cosmetic
resolution: Fixed
title: Typo on Import And Export page
comment:
  Open http://www.fossil-scm.org/index.html/doc/trunk/www/inout.wiki

  Search for "commandn"

  I believe it should be "command"


tkt_uuid: a6baf9cbee98e6d91c741b2df32c365385e6eeeb
type: Incident
status: Closed
severity: Important
foundin: This is fossil version [f6790b7c3c] 2009-02-26 01:21:04 UTC
private_contact: 771254e1dc499e6188dcbc6af5c11f5a4ff5b4a7
resolution: Not_A_Bug
title: server says: server loop
comment:
  Hi,

  I've just compiled Fossil under Solaris.
  Just some minor warnings.
  Everything works like advertised, but I'm getting "server says: server loop" when trying to sync. Went thru documentation, but couldn't find the reason. Ady idea?

  Regards,

  Krzysztof

  <hr><i>eric added on 2009-03-05 20:04:43:</i><br>
  So you have a repsoitory on the Solaris box. Was it new or a clone? And which repository are you trying to sync with.

  Actually, it might be a good idea if you attached your fossil command lines so we can see how you might have got to that message. 

  <hr><i>anonymous added on 2009-03-05 23:49:39:</i><br>
  Hi,

  Set up was as follows:
  1. Compiling the source
  2. Creating new repository [fossil new test]
  3. Have opened a new process with [fossil server test] and initially set it up. 
  4. I've created a folder : [files] containing some test files a b c d
  5. I've opened repository [fossil open test]
  6. Added the files: [fossil add a ](and so on for the rest of the test files)
  7. I've checked them in [fossil ci]
  8. I'm getting the error message when trying to sync, pull or push.
  error (warning?) is : server says: server loop.

  I can work with repository locally, without using web to review it, but sync over http is sooo tempting :)

  best regards,

  Krzysztof
   
  BTW. Great piece of software.

  <hr><i>anonymous added on 2009-03-06 04:15:37:</i><br>
  Hello Krzysztof,

  excuse my stupidity, but are you saying you try to sync/pull/push that very local repository with itself? If this is so, what do you expect from that action?

  Try this setting:

    1  with a running <code>fossil server</code> on your repository <code>test</code> ...
    2  Goto another directory that does not contain you repository <code>test</code>
    3  Execute <code>fossil clone <your URL here> cloned_test</code>

  Now you may sync/pull/push between <code>test</code> and <code>cloned_test</code> as you deem joyful :-)

  Ciao,
  chin.


  <hr><i>anonymous added on 2009-03-06 12:07:13:</i><br>
  Sorry for my ignorance :)
  I was obviously trying to do the impossible.
  It works great.

  best regards to you all.


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: a7087ffa132c6d69425202f3cad433412508c97b
type: Feature_Request
status: Open
severity: Minor
private_contact: e64e062ff7022fc7fdd41ac56baff07e8ae485d9
title: User information is edited in an inobvious location.
comment:
  For my first use of Fossil in a shared project I hit a few places.  One of these places is user editing.  It is impossible (as far as I can tell) to edit things like contact information without administrator interference.  Changing passwords is possible, but the way to get that is... mildly inobvious.  (Clicking on "logout" doesn't leap out as the way to change a password for me at any rate.  Makes about as much sense as clicking on "Start" to stop a machine.)

  I propose a "user editing page" that any user with sufficient privileges can access to edit any information they're allowed to modify including contact information and password (plus anything else that users eventually get added to their accounts later on).


tkt_uuid: a734fe24da8f75758cf48e80a4f9cd064943bbfb
type: Code_Defect
status: Fixed
severity: Important
foundin: aaf8cfa296
private_contact: 76518fb407f147a1d053c00b5b993281a339c0e3
resolution: Fixed
title: Timeline graph alignment on IE6
comment:
  Currently, the timeline graph is misaligned on IE6. The node boxes do not line up with the text to the right.

  With the attached patch applied, the timeline graph renders correct on the following browsers: IE6, IE7, IE8, Firefox 3.6.12, Safari 5.0.2, Google Chrome 7.0.517.49 and Opera 10.63. All tested on windows.

  --tsbg


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: a7eff56a933249258f0d902da3736ad62382e53d
type: Feature_Request
status: Fixed
severity: Cosmetic
foundin: d090292800
private_contact: d66ecbed41cfc11708f85c2d7a607eb4c13c38e6
resolution: Fixed
title: Attachment Download Link
comment:
  When viewing an attachment on a ticket if the user clicks "Download" and doesn't have the necessary privileges they are redirected to the login page. If the user doesn't have permission to download attachments maybe the link just shouldn't show up?

  <hr><i>anonymous claiming to be anonymous  added on 2010-09-04 07:37:43:</i><br>
  What is the goal of forbidding attachment downloading while allowing to view it? User can just copy-paste text attachment or run a simple script to reconstruct binary attachment from shown hex-dump, so why do such restriction exist?

  <hr /><i>anonymous added on 2010-09-27 08:51:10:</i><br />
  Attachments and checkouts both result in files transferred from the repository to the user, but it is not clear that the same permission flag (checkout) should be used for both.

  The wiki/ticket system attachments are informational in nature and could be of interest to users who are not developers, to whom checkout is usually restricted.

  I suggest that ability to read a wiki/ticket should be sufficient privilege to download any attachment to it.


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: a888fc2aa72073f4ae6697ff4e427737508eb737
type: Documentation
status: Closed
severity: Minor
resolution: Fixed
title: typographic error in "fossil ticket" help
comment:
  Run the the ticket report ---> Run the ticket report

  <hr /><i>wolfgang added on 2010-10-06 19:11:42:</i><br />
  fixed with checkin [3c6f67fc81]


tkt_uuid: a90a412aef33a237bbc88594d331d6808c4bf10a
type: Feature_Request
status: Open
severity: Important
foundin: [c56af61e5e] 2010-04-22 15:48:25
private_contact: ae1a74676bb0d1ac520802109f926567b1637ac7
resolution: Open
title: fossil tag command does not accept -m / -M options
comment:
  The fossil tag command does not accept the -m or -M option to specify a comment.
  In other words, the C card should be optionally allowed on control artifacts (just like it is optionally allowed on attachments according to the docs) and the -m or -M option to the fossil tag command should set the C card if a -m or -M option is given.


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: a9722a15d235b8220fe56794c2e89f6abbfa3f8c
type: Code_Defect
status: Fixed
severity: Severe
foundin: [d5695157d0] 2009-11-11 16:21:19 UTC
private_contact: 8e5512298212f868fe073c222856411c5f59c68e
resolution: Fixed
title: Fossil leaves files in inconsistent state after error
comment:
  OP: Windows

  performing a fossil update

  One file cannot be written (in our case, one DLL that was being used by an open program). Fossil gives an error and stops.

  The situation is the following:

  The name of the checkout version (given by fossil info) is the one previous to the update. All the files that had been updated prior to the error, become labelled as "EDITED".

  The situation is not easy to fix:

  "fossil update" does nothing
  "fossil checkout --latest --force" will miss all the legitimate changes made to the files

  Possible solutions:

    1  Something similar to "rollback". If it fails, keep a copy of the existing files and replace them

    2  Do the update of all files to files "myfile.c.tempfossil" and rename all files after successful operation

    3  If the update has been partially made, change the "fossil info" checkout version number

  <hr><i>drh added on 2010-01-13 16:02:04:</i><br>
  Did you try running:

     fossil undo

  Did that not revert the files to their state before the update?

  <hr><i>anonymous claiming to be ramsan added on 2010-01-13 22:36:30:</i><br>
  No. I have not tried.

  But shouldn't fossil do an automatic undo in case of error?


  <hr><i>anonymous claiming to be ramsan added on 2010-01-14 11:14:02:</i><br>

  I have made a similar test in unix. Before the update, I've made:

  chmod -w file.c
  fossil update

  The update gives an error, "fossil info" points to the old version, and some of the files become marked as "EDITED"

     fossil undo

  does not work and responds:

  fossil: no update or merge operation is available to undo

  <hr><i>drh added on 2010-01-14 15:35:44:</i><br>
  Fixed by check-in [7c3cb28d0f76c038ae4cc17a65311564b4d90408]


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: a9f7b23c2e376af5b0e5bc180e55ca2b8b012ff7
type: Code_Defect
status: Fixed
severity: Important
foundin: 15b293259d
private_contact: 214bb5765a5d2d4513fe393de9e8c8431e3e869a
resolution: Fixed
title: fossil diff produces a non-working patch
comment:
  Using the repo at [http://fossil.msofer.com/wip]. 

  Checkout 17ac7d08a76ec30730903eeabb454aa69032979d, then diff from af27f155bafb13628c80786c0964a7f5cc73b1ec. 

  When you try to apply the patch: there are rejections.

  <hr><i>drh added on 2010-08-21 03:41:22:</i><br>
  The problem seems to be that the "fossil diff" command ignores whitespace
  at the end of lines.  IIRC, I added this "feature" when I encountered some
  check-ins from people using windows editors that inserted \r at the end of
  every line.  If end-of-line whitespace is not ignored in that case, then
  the diff output is useless.  

  Maybe the right solution is to make "diff" output ignore end-of-line 
  whitespace but create a new command for generating patches that takes
  end-of-line whitespace into account?

  <hr><i>anonymous added on 2010-08-21 13:58:02:</i><br>
  This does not work even after asking fossil to use an external diff:

    fossil set diff-command /usr/bin/diff

  still produces unusable patches. 

  Actually, it still produces a unified diff - so apparently it is not calling the external diff at all. Same result if setting diff-command to FOO.

  <hr><i>anonymous added on 2010-08-21 14:02:16:</i><br>
  What's more: this seems not to be just a whitespace-at-the-end issue: patch -l still finds (fewer) conflicts.


tkt_uuid: aa01499923bd622758a4e7ed3770827bc9e02bc2
type: Build_Problem
status: Fixed
severity: Severe
foundin: d03718ad5f
private_contact: 63f4cb9d6971f7dbdee05412b8546975182b32e4
resolution: Open
title: Merge tests fail on NetBSD and Mac OS/X 10.6.4
comment:
  If I perform the unit tests Fossil is coming with via
  <verbatim>
     make test
  </verbatim>
  then the test run fails with 33 errors concerning merging. The message is:
  <verbatim>
    33 errors: merge1-2.1 merge1-2.2 merge1-4.1 merge1-4.2 merge1-7.1 merge1-7.2 merge3-3
    merge3-4 merge3-5 merge3-6 merge3-7 merge3-8 merge3-11 merge3-24 merge3-25 merge3-34 
    merge3-35 merge3-44 merge3-45 merge3-54 merge3-55 merge3-64 merge3-65 merge3-74 
    merge3-75 merge3-84 merge3-85 merge3-94 merge3-95 merge3-103 merge3-104 merge3-1000 
    merge3-1002
  </verbatim>

  The error output of the failed tests is similar like this:
  <verbatim>
    ~/Project/fossil/fossil test-3-way-merge t1 t2 t3 t4
    ~/Project/fossil/fossil test-3-way-merge t1 t3 t2 t5
      Expected [> 2b 3b 4b 5 6b 7b 8b = 2 3 4c 5c 6c 7 8 <]
           Got [{<<<<<<< BEGIN MERGE CONFLICT} 2b 3b 4b 5 6b 7b 8b = 2 3 4c 5c 6c 7 8 {>>>>>>> END  MERGE CONFLICT}]
      test merge3-1002 FAILED!
  </verbatim>

  If more information is necessary, please let me know ...

  <hr /><i>anonymous added on 2010-10-29 11:13:31:</i><br />
  Fallout from [e3a1beef67]. The output the test cases expects needs to be adjusted.

  <hr /><i>chi added on 2010-10-30 06:19:21:</i><br />
  With the attached patch the ticket may be fixed. The patch is against [8c723318d2] of Fossil.

  Thank you, anonymous, for you hint. That enabled me to make the patch.


tkt_uuid: aa0497a331e05e4683f6972b5e179735c6ddccd5
type: Incident
status: Closed
severity: Important
foundin: [3343450e64] 2010-05-21 16:21:04
private_contact: 867649f1e43e51eb74694c33676acc0c33f743f3
resolution: Not_A_Bug
title: Fossil SCM Behavior page, Web Browser field needs more...
comment:
  I don't know what to type in the last field of the Fossil SCM Behavior page:
  <blockquote>
  <table><tr><td>
  <table border="1" cellspacing="0" width="100"><tr><td>|</td></tr></table>
  </td><td>
  <b>Web browser</b>
  </td></tr></table>
  <p>Default web browser for "fossil ui".</p>
  </blockquote>

  Should I type firefox? or mozilla? or the full path to the browser?
  It would be nice if it was a drop-list (installed browsers from registry)... or at least showed a few examples :-)

  <hr /><i>dmitry added on 2011-09-08 20:26:20 UTC:</i><br />
  See documentation at the bottom of the settings page (or [http://www.fossil-scm.org/index.html/help?cmd=settings | here]). You don't have to input anything there unless you want to use a different browser.


tkt_uuid: aa8ba0fffadbba902fa669ab246e5601c2236843
type: Code_Defect
status: Fixed
severity: Minor
foundin: dcf7bf4455
private_contact: e994e632bebc786d634da6a33a8e43e978e4d2c4
resolution: Fixed
title: Crash on "fossil info 1234"
comment:
  I recently stumped across Fossil and got really interested by its concepts. In order to play with it, I installed Debian unstable's fossil ([dcf7bf4455] 2009-12-23 20:27:15 UTC), cloned the fossil repository, opened a working directory, cd'ed into that and issued "fossil info 1234" which resulted in the following crash:

  <verbatim>
  $ fossil info 1234
  uuid:         e7ff366ee10efd6005d3eadf64d42a9d1dafb194 
  *** glibc detected *** fossil: free(): invalid pointer: 0x080b7363 ***
  ======= Backtrace: =========
  /lib/i686/cmov/libc.so.6[0x40133824]
  /lib/i686/cmov/libc.so.6[0x401350b3]
  /lib/i686/cmov/libc.so.6(cfree+0x6d)[0x401380ad]
  fossil[0x806275f]
  fossil[0x8062917]
  fossil[0x80652b4]
  /lib/i686/cmov/libc.so.6(__libc_start_main+0xe5)[0x400deb55]
  fossil[0x804a471]
  ======= Memory map: ========
  ...
  </verbatim>

  More can be supplied on request.

  I built a local version [06b964a0cf] which shows the same problem.

  Note: The problem only occurs when trying to (invalidly) specifying an artefact id with 2 to 4 digits.

  Greetings,
  Stefan

  <hr><i>drh added on 2009-12-27 18:20:41:</i><br>
  Fixed in check-in [9d3fe01ae333adcea94acb637f8a8a5f40acb280].


tkt_uuid: ab696ae3bb9d8b37d73f9c0493ec46448aa32dd3
type: Feature_Request
status: Fixed
subsystem: one
priority: Immediate
severity: Critical
private_contact: 10a34637ad661d98ba3344717656fcc76209c2f8
resolution: Fixed
title: graphics view of branches
comment:
  Some graphic view of leaves and branches with different colors and vertices. Something like gitk/hgk

  <hr><i>drh added on 2008-10-24 14:37:25:</i><br>
  Test edit.

  <hr /><i>lrem added on 2011-08-29 17:27:15 UTC:</i><br />
  Done in ancient times. Works well in 1.18.


tkt_uuid: ab82a0bd213bc0f7e1d2f53abcd019640109f0d3
type: Code_Defect
status: Open
priority: Low
severity: Cosmetic
foundin: [bbb8ae7ebf]
private_contact: e64e062ff7022fc7fdd41ac56baff07e8ae485d9
resolution: Fixed
title: Enhance <nowiki>[]</nowiki> linking syntax in the wiki to permit #LABEL for internal links.
comment:
  It is fairly common to use anchors in HTML pages like:
  <code><verbatim><a name="INTERNAL_LINK">Named Location</a></verbatim></code>

  These kinds of links are used to internally or externally jump to the named locations via anchors like:
  <code><verbatim><a href="#INTERNAL_LINK">My internal link.</a></verbatim></code>

  I'd like to propose to syntax enhancements to the Wiki syntax.  The first of these is:
  <code><verbatim>[#INTERNAL_LINK]
  [#INTERNAL_LINK|My internal link.]</verbatim></code>

  These would translate into the following respectively:
  <code><verbatim><a href="#INTERNAL_LINK">INTERNAL_LINK</a>
  <a href="#INTERNAL_LINK">My internal link.</a></verbatim></code>

  The second piece of syntax is the actual label.  I'd like to be able to drop an anchor without the clumsy HTML by doing this:
  <code><verbatim>[@INTERNAL_LINK]
  [@INTERNAL_LINK|My named anchor.]</verbatim></code>

  This would translate directly into:
  <code><verbatim><a name="INTERNAL_LINK"></a>
  <a name="INTERNAL_LINK">My named anchor.</a></code></verbatim>

  If you think the idea is sound, give a developer account to the userid "michael" and email me the password so I can try my hand at implementing it.

  <hr><i>drh added on 2009-09-19 15:17:53:</i><br>
  Added the <nowiki><b>[#INTERNAL]</b></nowiki> form in
  check-in [3a4c7f60a27f].
  Bu the <nowiki><b>[@INTERNAL]</b></nowiki> is a new syntax that
  is not necessary and would be rarely used, so it is rejected.

  <hr><i>anonymous added on 2009-09-21 04:54:40:</i><br>
  I'm puzzled by how the <nowiki>[#LINK]</nowiki> form would be useful but <nowiki>[@LINK]</nowiki> not.

  Consider a sizable documentation page written in the wiki format.  I'd have headers for each section and I'd likely want a ToC at the top for them.  Currently I'd have to do them this way:

  <verbatim>
  ...ToC...
    *  [#SECTION3-3|Section 3.3: The way of the world]
  ...
  ...Content...
  <h3><a name="SECTION3-3">Section 3.3: The way of the world</a></h3>
  </verbatim>

  To me the header text is obfuscated beyond all recognition.  It would be hard to locate while editing and just generally looks ugly (like HTML in general looks).

  With my propose [@LINK] form, the ToC section remains the same (nicely readable) and the header section is changed to:

  <verbatim>
  <h3>[@SECTION3-3|Section 3.3: The way of the world]</h3>
  </verbatim>

  The first benefit I can see is that the contents are parallel in both locations.  It's easy to match the patterns.  The second benefit I can see is that the second is a whole lot easier to read the title text in, making it simpler to locate when scanning quickly.

  <hr><i>anonymous added on 2009-09-25 07:03:43:</i><br>
  Re-opening: When the <code><nowiki>[#LABEL]</nowiki></code> form is used, the display of it should not include the opening "#" character.  So the example given here should expand to <code><nowiki><a href="#LABEL">LABEL</a></nowiki></code> instead of <code><nowiki><a href="#LABEL">#LABEL</a></nowiki></code> as it currently does.


tkt_uuid: aba72eaa589a69b0efc1a2346b429705f7ee59c1
type: Feature_Request
status: Fixed
severity: Cosmetic
foundin: b99aa66d1f
private_contact: 05f652db744266759b20d248ec2f451629420388
resolution: Fixed
title: Default CSS style has "wrong" font-family.
comment:
  Default CSS style has font family defined as follows:

  <code>font-family: "sans serif";</code>

  While "sans serif" is an actual name of font in some Linux installations, this doesn't work for e.g. Safari on Mac -- it falls back to the default serif font (Times New Roman).

  The proper way to define a generic sans-serif font in CSS, according to CSS specs [http://www.w3.org/TR/CSS21/fonts.html#sans-serif-def] is this:

  <code>font-family: sans-serif;</code>

  Note the dash and absence of quotes (from specs: <i>Generic font family names are keywords and must NOT be quoted</i>).

  <hr><i>drh added on 2009-10-11 19:49:45:</i><br>
  Check-in [adb155b6d490a9ee3f97201cfa5911bbe8908801]


tkt_uuid: ac8dcd394ce582b5987680fc9366fa3cda6f1da9
type: Feature_Request
status: Open
severity: Important
private_contact: 40155f5ac139df7162eef41489efaf77d0bda7b2
title: equivalent to `darcs add` or `git add -p`
comment:
  I'm missing a feature to add only parts of a file, not a whole file at once.
  This is important for me to keep commits focused around a specific topic.

  Current workflow in fossil:
  <verbatim>
  edit some-file.rb
  # hacking away, i have an epiphany that solves most of the
  # problems on earth, so i implement it before i forget it again.

  cp some-file.rb some-file.rb.bak
  # I noticed that I actually solved two different problems, so
  # I would like to announce them separately, but how?
  # Right, by making a backup first...

  edit some-file.rb
  # Now I removed one of the features, leaving only one in the file.

  fossil add some-file.rb
  fossil commit -m "Add the feed_the_world method"
  # well, you know what that is.

  mv some-file.txt.bak some-file.rb
  # and finally I move the backup back in place so the second
  # feature can be added.

  fossil add some-file.rb
  fossil commit -m "Add the cure_aids method"
  # and again commit that.
  </verbatim>

  What I'd like to do instead, in case you are not familiar with git, is along the lines of the article here: [http://tomayko.com/writings/the-thing-about-git].
  I didn't write it, but it pretty much expresses what I feel is missing in order for me to consider daily use of fossil.
  The description above is only about one file, now imagine having to do that over 5 files (average number of files in my commits).

  Thank you, I'm really impressed otherwise.
  Maybe there is a feature that I haven't found in the documentation yet that helps with this?


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: acf7b14d93ad999b6b356ce725cdb4e39891b212
type: Code_Defect
status: Open
severity: Important
foundin: 3873aa7ecb
private_contact: 69e6fa40fdd4770fd3a59354e647ca589c07115f
resolution: Open
title: Bad import of tags as branches (propagating tags ?)
comment:
  I recently converted the Tcl core CVS to GIT using cvs2git, and then used

      git fast-export --all | fossil import tcl.fossil

  to convert this further to a fossil repository. When inspecting the git and fossil repositories I noticed the following difference:

  The tag 'core-8-5-9' was listed as such in git. fossil however was listing this in the web interface not as 'tag', but under 'branches'. Looking at the timeline of this supposed branch it also seem (to me) that the tag was set as 'propagating to descendants'. Maybe that is why it got misclassified as branch ?

  The git repo is 168M uncompressed, and 129 MB as bzip2 tarball. I can put it up somewhere if you wish to have for experiments.

  <hr /><i>drh added on 2010-11-17 19:01:23:</i><br />
  As far as I have been able to figure out, this behavior is a limitation
  of the Git fast-export file format.  The "commit" record in the output
  of Git fast-export only tells me the tag of the commit, not its branch.
  I cannot see anyway in the fast-export file to determine the branch.
  Hence, all I can do is make the tag into a branch and go with that.

  If you have suggestions on how to fix this, I'd love to hear them.

  <hr /><i>aku added on 2010-11-17 19:42:03:</i><br />
  Checking the fast-export dump ... Meh. This has lots of commits with that annotation ...

  Still, there is
     refs/tags/core-8-5-9
  vs refs/heads/core-8-5-branch

  so there has to be some difference inside of git between the branch and tag symbols.

  Even so, you are right, with the annotation on the commit command you know the tag, but not the branch it is on. On the other hand, do have to know ? There is the regular parent link (from) to the previous commit. That should be good enough to link the history together, and then we should be able use the heads/tags difference to decide on the branch/tag difference in fossil, no ?

  The one problem I see is that apparently after a commit was tagged (like with refs/tags/core-8-5-9) its children are tagged the same until another tag overrides this, or the whole line gets merged into a different branch.

  In essence the import code would have to ignore a refs/tags/X annotation of a commit if the parent commit was also tagged with refs/tags/X, i.e. an anti-propagation of tags.

  I hope I am making sense. I have a feeling any work on that should experimented with in a branch first, i.e. not developed in trunk. Makes it easier to abandon if its not working out.


tkt_uuid: ad15a8e2af8c3162d6e80f45a5ef9ef2dc4e9844
type: Code_Defect
status: Fixed
severity: Important
foundin: b48f78964e
private_contact: ccd87c60364e1d3e945b6f4d4874f5174b17cc43
resolution: Fixed
title: Cannot commit a renamed file specifying files
comment:
  After doing the operation:
  $ fossil mv filea fileb
  $ mv filea fileb

  A status shows a rename for 'fileb'. Trying to run:
  $ fossil commit fileb

  shows:
  fossil: file 'fileb' has not changed

  So having other changes in the working directory, I don't know how could I commit only the rename.

  <hr /><i>wolfgang added on 2010-10-01 10:27:35:</i><br />
  but

  fossil commit

  will work.

  <hr /><i>anonymous added on 2010-10-01 19:10:28:</i><br />
  Yes, "fossil commit" will work, but partial commit as in "fossil commit file1 file2" will not work.

  <hr /><i>anonymous added on 2010-11-24 13:54:17:</i><br />
  I have the same problem even with the most recent version of fossil [cf178577ec].

  The only way I can commit a rename/mv is by committing all the files which is not what I want to do.  I have stuff pending that is not ready to be committed but the rename can be committed now.

  <hr /><i>anonymous added on 2010-11-25 01:30:57:</i><br />
  I see that the resolution is fixed but... no comment. Which version/hash of fossil has this fix? It would be nice to have this information so I can test it... :)

  Thanks

  <hr /><i>drh added on 2010-11-25 01:34:58:</i><br />
  If you click on the
  [/tkttimeline/ad15a8e2af | timeline] link in the sub-menu bar on this
  page, you see a timeline of all changes to this ticket interspersed
  with all check-ins related to this ticket.  From that, you can
  easily see that the fix occurred with
  check-in [2ceeeca19dfea6ed]


tkt_uuid: ad169d2c5078f26677ec9e0d76cb17b3a877ce00
type: Feature_Request
status: Closed
severity: Important
foundin: 0018d724b3
private_contact: 09d09b41d94be1b9adea78189eb3c716b5267367
resolution: Duplicate
title: assign-to ticket field
comment:
  'Assign to' field required :)

  <hr /><i>dmitry added on 2011-09-08 23:04:37 UTC:</i><br />
  Duplicate of [f6b83821d6]


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: ad76b5d67b6e054f30d5b8d2b92a92015bd1db1d
type: Incident
status: Open
severity: Minor
foundin: [d0753799e4] 2010-11-01 14:23:35 UTC
resolution: Open
title: Cannot clone http://www.fossil-scm.org/
comment:
  Cannot clone www.fossil-scm.org, but cloning www2.fossil-scm.org works. Windows XP SP3 32-bit.
  <verbatim>
  C:\Projects>fossil clone http://www.fossil-scm.org/ fossil.fossil
                  Bytes      Cards  Artifacts     Deltas
  Sent:              53          1          0          0
  processed: 0%         fossil: unknown command: ☺1q┼xЬь}iw█╕▓рчсп`л╙ЙЬжm☻рк─yЇn'▐╫,Эё☺☺Pвн-вфнoЄ█з

  C:\Projects>fossil ver
  This is fossil version [d0753799e4] 2010-11-01 14:23:35 UTC
  </verbatim>

  <hr /><i>anonymous added on 2010-11-09 14:51:04:</i><br />
  Upd: same problem when cloning my own repository.
  <verbatim>
                  Bytes      Cards  Artifacts     Deltas
  Sent:              53          1          0          0
  Received:         152          2          0          0
  Sent:             648         26          0          0
  processed: 0%         fossil: unknown command:
  </verbatim>
  Both server and client are running fossil [d0753799e4] 2010-11-01 14:23:35 UTC (Linux x86-64 version on server, Windows XP version on client).

  <hr /><i>anonymous added on 2010-11-09 15:02:40:</i><br />
  Can you get a network trace e.g. with tcpdump of the connection?

  <hr /><i>drh added on 2010-11-09 15:21:38:</i><br />
  I'm very sorry that this does not work for you.  However, it does work for
  me, on both Linux and WinXP.  On WinXP (running under VMWare) see the result
  of doing a clone in the attachment below.  For Linux, I get:

  <blockquote><pre>
  drh@elly:~/fossil/m2> ./fossil clone http://www.fossil-scm.org/ x1.fossil
                  Bytes      Cards  Artifacts     Deltas
  Sent:              53          1          0          0
  Received:    20017608       9494       2819       6673
  Sent:             651         26          0          0
  Received:       34771         22          4          0
  Total network traffic: 605 bytes sent, 6984263 bytes received
  Rebuilding repository meta-data...
    100.0% complete...
  project-id: CE59BB9F186226D80E49D1FA2DB29F935CCA0333
  server-id:  9834fa9cbb13bf51d29168a63c48459a9bd4e02a
  admin-user: drh (password is "d7f2a5")
  drh@elly:~/fossil/m2> ./fossil version
  This is fossil version [d0753799e4] 2010-11-01 14:23:35 UTC
  </pre></blockquote>

  I do not have any idea what might be going wrong for you.  Please help us
  by sending debugging info.  Add the --httptrace option to your clone
  command and see what comes back.  Explain in detail your network configuration
  and setup.  www.fossil-scm.org is now attempting to send a 20MB reply to
  the first clone query, whereas www2.fossil-scm.org limits the first reply
  to 5MB.  Might this larger reply be causing problems for your firewall?

  <hr /><i>drh added on 2010-11-09 15:24:29:</i><br />
  I just lowered the reply-size limit on www.fossil-scm.org from 20MB to 4MB.
  Please try again to clone from that site and report success or failure.

  <hr /><i>anonymous added on 2010-11-09 17:53:23:</i><br />
  <b>drh</b>, now it works.<verbatim>C:\Projects>fossil clone http://www.fossil-scm.org/ fossil.fossil
                  Bytes      Cards  Artifacts     Deltas
  Sent:              53          1          0          0
  Received:     4003936       2879        255       2622
  Sent:             651         26          0          0
  Received:     4114679       2700        946       1736
  Sent:              56         17          0          0
  Received:     4093181       2864       1139       1723
  Sent:              56          1          0          0
  Received:     4719404        234        102        130
  Sent:              56          1          0          0
  Received:     3142843        850        386        462
  Total network traffic: 1217 bytes sent, 7002624 bytes received</verbatim>
  Actually it started working almost immediately after this:
  <i>anonymous added on 2010-11-09 15:02:40</i>.

  I'm using an ADSL router to connect to the Internet, I have no firewall, no AV software, no other active network interfaces. Also I have WinPCap installed but I don't think it can cause any problems.

  As for [052de1d35b] I've sent you an email with --httptrace.


tkt_uuid: ad98e8f665e69f45cc86c06f17473776491909a2
type: Feature_Request
status: Open
private_contact: 36f0fb79a71d7f6f746a9380e7eab81fa1eb1b8a
resolution: Open
title: Add code editing to web interface
comment:
  Please Add source code editing to fossil ui, as seen in 
  [http://googlecode.blogspot.com/2011/01/make-quick-fixes-quicker-on-google.html?spref=tw]

  <hr /><i>dmitry added on 2011-01-20 14:01:59 UTC:</i><br />
  Here are some thoughts on implementation.

    *  Have "can edit on web" permission flag.
    *  Have special per-user staging area for edits from web, which records modifications to files.
    *  Once file(s) are edited, they're put into the user's staging area.
    *  User can commit his staging area if he has commit permission.
    *  Users without commit permissions, but with "can edit on web" permissions, can create tickets with modifications from their staging area or download their modifications as a patch.

  This won't work for anonymous or other "group" users. For those Fossil can have per-file editing without staging area. Also, not sure how to handle merges.


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: aee2a1a927f8522f24744ee7f19bd90edd56241d
type: Code_Defect
status: Fixed
subsystem: one
priority: Immediate
severity: Minor
foundin: f46fe42d6d
private_contact: 6b3f5a8f6def0ef153f7a89fb5a1b0fa01d7509e
resolution: Fixed
title: Rendering of tags &lt;pre&gt; and &lt;verbatim&gt; not correct
comment:
  If you try to add following text in the sandbox, the resulting rendering is IMO not correct (please insert two spaces in front of every non-blank line in the sample below -- the sample should consists of  7 lines including the "pre" tags)
  <hr>
  <samp>
  &lt;pre&gt;<br>
    This section encapsulated with &lt;verbatim&gt;&lt;pre&gt;&lt;/verbatim&gt; will not be handled correctly
  <br>
  <br>
    ... if it does go over more ...
  <br>
  <br>
    ... than one line ...<br>
  &lt;/pre&gt;
  </samp>
  <hr>
  The inner "pre" is encapsulated within "verbatim" it still influence the rendering. And although the whole text is encapsulated within "pre", the first line will be rendered differently from the second and third one.

  <hr><i>drh added on 2008-07-24 12:35:28:</i><br>
  I content that the &lt;verbatim&gt; rendering is correct and that it is
  your expectation of wha &lt;verbatim&gt; is suppose to do that is wrong.
  To this end, I have attempted to clarify the documentation on &lt;verbatim&gt;:

  <blockquote>
  The &lt;verbatim&gt; tag works like &lt;pre&gt; with the addition
  that it also disables all wiki and HTML markup
  through the matching &lt;/verbatim&gt;.
  </blockquote>


tkt_uuid: af2658e1fe1d11d5f1f23423f3964b4b7b52b3ef
type: Code_Defect
status: Open
severity: Minor
foundin: [64459dd091]
private_contact: 2f98bd34c080ac26bbeb8ea754dfd01c5d3a2018
resolution: Open
title: attempt to 'fossil init filename' where filename = dirname confuses fossil
comment:
  Hello!

  While being busy converting my old darcs repos into Fossil, I did a mistake when naming folder to keep git format (I do darcs --> git --> fossil)
  and named folder vasb.fossil.

  After that I executed: 
  <verbatim>
  [gour@atmarama study] fossil init vasb.fossil 
  fossil: SQLITE_CANTOPEN: cannot open file at line 27473 of [e55ada8924]
  fossil: 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.
  </verbatim>

  but, as you can see, Fossil reported a bit strange things, while, in reality, the only problem is to detect there is already folder named the same as the new supposed-to-be-created Fossil repo.

  Maybe some improvement could be made in reporting such thing?

  Sincerely,<br/>
  Gour

  <hr /><i>anonymous claiming to be Joerg Sonnenberger added on 2010-11-14 15:31:55:</i><br />
  The only thing I would change is reporting the actual system error, e.g. "EISDIR".


tkt_uuid: b074a7588bacc7cc7970f9348aa8118c6b823b7a
type: Incident
status: Open
severity: Minor
foundin: d2bec5a1d4
private_contact: be550bfd65ad2b35c5af076e5620344955089a2e
resolution: Open
title: fossil: not a valid repository: /pub/fossil-db/big.fsl
comment:
  This is a test case to have fossil host big source tree.
  fossil commit went fine but I can't close big.fsl around 4G size on a Solaris 10 x86.

  <pre>
  -bash-3.00# fossil commit -m "add  new test data" -nosign
  New_Version: 69107d785d63e9b8b0436d1aad93bde8a99182b8

  -bash-3.00#
  -bash-3.00# fossil close
  fossil: not a valid repository: /pub/fossil-db/big.fsl
  -bash-3.00# ls -lrt
  total 2296
  drwx------   2 root     root        8192 Nov 24 08:13 lost+found
  -rw-r--r--   1 root     root          54 Nov 24 09:08 get.ksh
  drwxrwxr-x   5 6244     101          512 Dec 21 15:47 all
  -rw-r--r--   1 root     root      407850 Jan  4 13:55 manifest
  -rw-r--r--   1 root     root          41 Jan  4 13:55 manifest.uuid
  -rw-r--r--   1 root     root      734208 Jan  4 14:12 _FOSSIL_
  drwxr-xr-x   2 root     root         512 Jan  4 14:12 fossil-db
  -bash-3.00# ls -l fossil-db/
  total 8793056
  -rw-r--r--   1 root     root     4499829760 Jan  4 14:12 big.fsl
  -bash-3.00# fossil version
  This is fossil version [d2bec5a1d4] 2010-01-04 13:53:32 UTC
  -bash-3.00#
  </pre>

  <hr><i>anonymous claiming to be Michael McDaniel added on 2010-01-04 20:34:43:</i><br>
  Is the Solaris filesystem configured to handle 4GB or greater file sizes ?

  <hr><i>anonymous added on 2010-01-04 21:08:28:</i><br>
  If you look at my original posting,  fossil-db/big.fsl is around 4G in size.

  It got create by "fossil new fossil-db/big.fsl" and later grew into 4G by "fossil add dir" and "fossil commit -m "*" -nosign" commands.

  So the question should be (to me) why fossil can't close a big *.fsl file.


  <pre>

  -bash-3.00# cat /etc/release
                         Solaris 10 10/09 s10x_u8wos_08a X86
             Copyright 2009 Sun Microsystems, Inc.  All Rights Reserved.
                          Use is subject to license terms.
                             Assembled 16 September 2009
  -bash-3.00#

  </pre>

  <hr><i>anonymous claiming to be Michael McDaniel added on 2010-01-04 22:58:18:</i><br>
  I sit corrected - the existing file is already greater than 4GB hence, of course, the filesystem can handle a 4GB file.


tkt_uuid: b081e09e28176eefdfd3a8a99d0d086205e890f0
type: Code_Defect
status: Open
severity: Important
foundin: [6f42e76d80]
private_contact: ccd87c60364e1d3e945b6f4d4874f5174b17cc43
title: On conflict of binary files locally, fossil overwrites local changes
comment:
  In case of a modified binary file, and a later "fossil update" taking in changes in that file, fossil will overwrite the local file with that incoming.

  It will report CONFLICT on that file, leaving "fossil undo" as the only option to get the local changes back.

  A user may loose changes in that situation, if he fails to see the CONFLICT message. I think that fossil should, like subversion, copy the file with local changes into another filename in the same directory, like "myfile.odt~local".


tkt_uuid: b0894abc94c175bb7840bfcda8f155e2b358512c
type: Feature_Request
status: Open
private_contact: f1eecd4609fe3c20ca482b5b80c54e8f2393c215
resolution: Open
title: fossil server -P address:port
comment:
  I would like to restrict the fossil server to listen on a single ip address; usually localhost.
  It would be nice if  I could use <verbatim>fossil server -P 127.0.0.1:8080</verbatim> or <verbatim>fossil server -P '[::1]:8080'</verbatim>

  <hr><i>anonymous added on 2010-07-25 10:43:31:</i><br>
  Here's a workaround using socat:

  <verbatim>
  /usr/local/bin/socat \
      TCP-LISTEN:8080,bind=127.0.0.1,reuseaddr,fork \
      EXEC:'/usr/local/bin/fossil http /home/me/myproject.fossil'
  </verbatim>


tkt_uuid: b09dddc904f08415ced60db96c166d1054ba5dc2
type: Code_Defect
status: Open
severity: Severe
foundin: cf178577ec
private_contact: 78639907ceb3e7bf3684ddaac86c704582b6e76d
title: segfault on ticket edit
comment:
  A segfault occurs when attempting to edit any ticket in the system.  Tracing the problem with DDD, the issue seems to flow from tktedit_page, Th_Render, Th_Eval, thEvalLocal, thSplitList, thSubstWord, and finally to Th_HashFind where it segfaults on the following line:

  if( pRet->nKey==nKey && 0==memcmp(pRet->zKey, zKey, nKey) ) break


tkt_uuid: b0f1e3fed2b3b5651197ab8fb939fe538ee20552
type: Feature_Request
status: Closed
severity: Severe
foundin: b9a744e1c4d842a289a9cb350085ca4935633e83
private_contact: 4b6281b0da561d3b4396c6498527621c42b4ad58
resolution: Rejected
title: HTML wiki mode should NOT interpret [] syntax
comment:
  I'm using fossil to store and serve documentation that I create from LaTeX or other HTML generators and running into a few logic bugs.  In this case, if I set the wiki system to be HTML only, then that means verbatim and nowiki tags don't work.  However, if the .wiki files or wiki pages have link syntax accidentally from say code snippets, like <verbatim>[1,2,3,4]</verbatim> then it tries to interpret that as wiki links.

  However, since I am in HTML mode and the &lt;verbatim&gt; tag's disabled, I can't prevent this.  Now I'm stuck.

  <hr><i>drh added on 2010-07-25 20:35:08:</i><br>
  The "Use-HTML-Wiki" flag (which is a user-contributed feature and not part
  of the maintained Fossil design) was specifically engineered to accept
  hyperlinks in &#91;...&#93; in addition to HTML.

  For pure HTML with no interpretation at all, please consider using
  [/doc/tip/www/embeddeddoc.wiki | embedded documentation] with files
  ending in ".html".  Such files are delivered to the browser as-is, with
  a test/html mimetype, and can thus contain whatever HTML you desire.


tkt_uuid: b145e5eecdc2ea285b640d0822db8a679912c3b0
type: Feature_Request
status: Open
private_contact: e7d733707d8c126de4f080f5f958e762bfaa8983
resolution: Open
title: Template repositories
comment:
  I have many situations where I create projects of the same type--web apps based on Lift or Node.js, Android apps, generic projects with a stock build system configured to my specs, etc. Often these projects are distributed by me or others as Git repositories which I can just clone and start developing on. When I'm ready to push my changes remotely, I just replace the origin remote and start committing.

  It would be nice if Fossil could support this use case without requiring that the files for each new revision be re-added. Often I make changes that such a process wouldn't catch, like setting an ignore glob for build artifacts for instance. Here's what I'd recommend:

  Make "fossil new" accept a second argument like so:

  fossil new my_new_app.fossil http://dev.thewordnerd.info/android

  This would first clone http://dev.thewordnerd.info/android into my_new_app.fossil. It would then detach my_new_app.fossil from this remote URL and change its project code such that I can't accidentally overwrite my template project with any changes I make in the new app.

  I know that this is possible via a test command, but I think it's a common enough use case that it should be supported directly in new repository creation. Since I'm pretty much fully off of Git at this point, I'd like to start converting my various template starter projects to Fossil so I don't have to perform the same basic configuration steps each time I start a new project.

  <hr /><i>anonymous added on 2011-02-17 05:41:01 UTC:</i><br />
  Would "fossil config export" and "fossil config import" satisfy your objectives?


tkt_uuid: b14f8788191f6e05253c4c9353231b6a63f18994
type: Code_Defect
status: Open
foundin: This is fossil version [e3313965d3] 2010-12-15 02:42:29 UTC
private_contact: 1fb8c275493b1f1dcf8db46d6d541794a011947f
resolution: Open
title: Line ending changes cause fossil to not detect differences for commit
comment:
  In a large project, I get errors like this on a commit:

  <verbatim>
  ERROR: [root/user/test/zero/Makefile] is 61 bytes on disk but 64 in the repository
  </verbatim>

  The only difference between the previous version and this is that the 
  line endings changed from dos style to unix style.

  I tried to reproduce it with a small file, but I get bizarre behaviour
  with fossil sometimes detecting the change, but sometimes not.

  Looks like things work in this small example if I put a "sleep 1" 
  before the commit, but they don't otherwise.  On the bigger example,
  I just can't get the file to commit. It either gives the ERROR 
  when I don't specify any filename, or says "nothing has changed" if 
  I give it the explicit filename

  <verbatim>
  $ fossil open f
  $ echo a > a
  $ fossil add a
  ADDED  a
  $ fossil commit -m 1 a
  New_Version: 54592e024b956e96eecba85541914675c6454aa7
  $ unix2dos a;  fossil commit -m 1 a; dos2unix a;  fossil commit -m 1 a
  unix2dos: converting file a to DOS format ...
  New_Version: aa6d03e4ea89aa9885463c44f6747d583b60eb59
  dos2unix: converting file a to UNIX format ...
  fossil: ancestor check-in [aa6d03e4ea] (2010-12-15 07:11:53) is not older (clock skew?) Use -f to override.
  $ unix2dos a;  fossil commit -m 1 a; dos2unix a;  fossil commit -m 1 a
  unix2dos: converting file a to DOS format ...
  New_Version: 351b9813df675e832d63b7bcfe098b5c4373e80e
  dos2unix: converting file a to UNIX format ...
  fossil: nothing has changed
  $ unix2dos a;  fossil commit -m 1 a; dos2unix a;  fossil commit -m 1 a
  unix2dos: converting file a to DOS format ...
  fossil: nothing has changed
  dos2unix: converting file a to UNIX format ...
  fossil: nothing has changed
  $
  </verbatim>

  <hr /><i>anonymous added on 2010-12-15 08:06:12:</i><br />
  I think that Windows filesystems (at least fat32) has timestamps only every two seconds. And at best, every second like unix.

  Some files may be changed and remain with the same timestamp, and it may be a cause why fossil does not find anything new, but it finds so after a 'sleep'.

  <hr /><i>venks added on 2010-12-15 15:48:33:</i><br />
  On the big project waiting any amount of time doesn't help, I
  still get the errors - it's like fossil remembered the state 
  with the wrong line endings.

  Time has something to do with it - I'm fossilizing an old
  project from out of tar.gz files, so there are lots of quick
  commits with a large number of files, and the files have
  old timestamps.  I'm guessing the previous commit already 
  messed it up somehow.

  The files have windows line endings, but I'm on linux, although an old
  one:

  <verbatim>
  Linux yukon.comit.com 2.6.11-1.1369_FC4smp #1 SMP Thu Jun 2 23:16:33 EDT 2005 x86_64 x86_64 x86_64 GNU/Linux
  </verbatim>



  <hr /><i>venks added on 2010-12-15 18:16:11:</i><br />
  Thanks to drh.  This is fixed by using fossil status -sha1sum to detect
  changes.  Feel free to close this.


  <hr /><i>anonymous claiming to be viric added on 2010-12-17 21:10:26:</i><br />
  Related, there is the "repo-cksum" setting.


tkt_uuid: b18338c226f6fb4899bf646accf79cd0bca221a1
type: Feature_Request
status: Fixed
severity: Cosmetic
private_contact: ab5c04693d4ea3b3339a1e41947ceb8da8054625
resolution: Fixed
title: include sqlite shell with fossil
comment:
  There are a very small number of cases where it is necessary or desirable to work directly with the fossil database - debugging, exploring, or tweaking low-level data in a nonstandard and generally unrecommended way (for example, when merging repositories as described in http://www.mail-archive.com/fossil-users@lists.fossil-scm.org/msg01641.html ).  Nevertheless, in those cases it is necessary to have the sqlite shell available separately.  Fossil already bundles 95% of sqlite with it, so why not include the raw shell also?  The main benefit (in those admittedly rare cases) would be that you are guaranteed to have the correct version of sqlite, while the shell installed elsewhere may be different (if you are tracking fossil and sqlite builds separately).

  <hr /><i>anonymous added on 2010-10-29 23:51:13:</i><br />
  How to access functions accessible in fossil by built-in sqlite shell?

  Thanks.

  <pre>
  c:\bin>fossil help sqlite
  Usage: fossil sqlite3 ?DATABASE? ?OPTIONS?
  Run the standalone sqlite3 command-line shell on DATABASE with OPTIONS.
  If DATABASE is omitted, then the repository that serves the working
  directory is opened.

  c:\bin>fossil sqlite myfossilclone.fossil
  SQLite version 3.7.3
  Enter ".help" for instructions
  Enter SQL statements terminated with a ";"
  sqlite> SELECT * FROM sqlite_master where name ='blob';
  table|blob|blob|2|CREATE TABLE blob(
    rid INTEGER PRIMARY KEY,
    rcvid INTEGER,
    size INTEGER,
    uuid TEXT UNIQUE NOT NULL,
    content BLOB,
    CHECK( length(uuid)==40 AND rid>0 )
  )

  sqlite> select * from blob where rid =9310;
  9310|526|43735|a67ab11ff47c2c026af817110a564a13fd9c33a2|

  sqlite> select content from blob where rid =9310;
  returns nothing
  </pre>


tkt_uuid: b1934313bcfb3a90d4027be1388a63d33fd267e6
type: Code_Defect
status: Fixed
severity: Important
foundin: 8474ca6747
private_contact: 63070188043a9522ca95dca0d28c3b9eff7a697b
resolution: Fixed
title: admin/stat page is not 64bit clean
comment:
  If the repository is larger than 4GB, at least "Repository size" and "Uncompressed Artifact Size" are displayed incorrectly. The calculations involving them also give bogus results.


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: b32014507ab7528c68510343904ce33a1f31e6e5
type: Code_Defect
status: Closed
resolution: Not_A_Bug
title: fossil new --date-override issue
comment:
  It seems <code>--date-override</code> doesn't work correctly with <code>fossil new</code>, which is required for importing files from other repositories:
   
  <pre>
  $ fossil new test.fsl -A test --date-override "2010-01-01 UTC" 
  project-id: 05468b497577aa00211a76732a997723fb5a8acf
  server-id: 23567149953dd056df1d40062d214826895c9dae 
  admin-user: test (initial password is "5a4f69") 

  $ fossil timeline -R test.fsl 
  </pre> 
  → The timelime shows no entries!

  If I create a new repository without date override and then try to override date to a past value, fossil complains about time skew and doesn't accept commit!

  <hr><i>drh added on 2010-03-07 17:40:55:</i><br>
  Remove the "UTC" suffix from the date and it should work fine.  The
  --date-override option already assumes UTC.


tkt_uuid: b3482d580e2119d0ea1fe084708ebd463c1381d8
type: Code_Defect
status: Fixed
subsystem: one
priority: Immediate
severity: Minor
foundin: 4b56350ecb
private_contact: 6b3f5a8f6def0ef153f7a89fb5a1b0fa01d7509e
resolution: Fixed
title: Cannot clone a repository db file
comment:
  Please look at this:
  <verbatim>
    fossil clone a b c
  </verbatim>
  Fossil will answer:
  <verbatim>
    Usage: fossil clone FILE-OR-URL NEW-REPOSITORY
  </verbatim>
  Ok, fine so far! But if I try to use the <tt>FILE</tt> part of the <tt>FILE-OR-URL</tt>, Fossil fail to obey:
  <verbatim>
    mkdir clonetest
    cd clonetest
    fossil new myrepo1
    fossil clone myrepo1 myrepo2
  </verbatim>
  Fossil answer to me:
  <verbatim>
    fossil: cannot ATTACH database within transaction
    ATTACH DATABASE '/Users/cle/Temp/clonetest/myrepo1' AS orig
  </verbatim>


tkt_uuid: b465b3bc2ceef4446b2ae770242ed0968e4dbc68
type: Code_Defect
status: Fixed
severity: Severe
foundin: 26ab4f7012
private_contact: 7b3ed866b5a713e1a7290caf1fe9f6a1396c863a
resolution: Fixed
title: Stale pages delivered on Opera browser
comment:
  The fossil web server uses the "Cache-Control: private" directive to avoid storing the data on intermediate proxies. It does not use other directives to keep the browser from caching the data. At least on the Opera browser this leads to the browser returning stale pages. According to RFC 2616 the private cache control allows the browser to cache the pages:

  See the RFC:

  private
  Indicates that all or part of the response message is intended for a single 
  user and MUST NOT be cached by a shared cache. This allows an origin server to state that the specified parts of the 
  response are intended for only one user and are not a valid response for requests by other users. A private (non-shared) cache MAY cache the response. 

  Therefore I suggest to use one of the usual methods like No-cache etc. maybe in addition to the private.

  Without this change fossil is unusable from at least the Opera browser.

  <hr><i>drh added on 2009-03-29 22:28:34:</i><br>
  Check-in [5ffc720194fc76a3c913339af5228c692b666791] changes the
  "private" cache-control setting to "no-store", which is what we
  should be using, if [http://www.mnot.net/cache_docs/] is correct.

  <hr><i>anonymous added on 2009-03-30 19:44:51:</i><br>
  Thanks for the very quick. But it still does not work. The best solution would be to use "Cache-Control: no-cache, no-store", I believe.

  The no-store directive until tells the browser not to store it on disk. But it still may cache it in memory. That's what Opera does. I tested it with the above settings and it works fine.

  <hr><i>drh added on 2009-03-31 17:34:20:</i><br>
  Suggested change made by check-in [c3a30a6b80e2157db5f3ae526db989367f412117].
  I don't have Opera so I have no way to test it.  But the change works on
  Firefox.

  <hr><i>anonymous added on 2009-03-31 21:42:12:</i><br>
  Tested with Opera, works like a charm, now. Thanks!


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: 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: 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: b5efc3a47bd10f0510aee21240419e6845e7a1e5
type: Code_Defect
status: Fixed
severity: Important
foundin: [0018d724b3]
resolution: Fixed
title: Bracket wiki links to events don't work
comment:
  Like this: [be8f2f3447]
  This points to the home page.

  As a question apart, why checkins have the brackets as part of the clickable link in the timeline, and events not? And tickets even don't have brackets.

  <hr /><i>anonymous claiming to be viric added on 2011-01-13 09:38:01 UTC:</i><br />
  I came up with a way to link to events: [/event?name=be8f2f3447]


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: b6579b1ec167413cb59a0d8b7888f275478fb0c5
type: Code_Defect
status: Open
severity: Important
foundin: cf178577ec
private_contact: e16bca9376b716bf489a593de88e7b2760905520
resolution: Open
title: Update with a merge fails on unicode files
comment:
  Updating a file with a merge fails if the file is a UTF-16 file. <br>
  This is what I get when I try to update and merge an UTF-16 file changed in two different checkouts:

  MERGE RightToLeft/RightToLeft/Localization/HebrewConverter.cs<br>
  ***** Cannot merge binary file RightToLeft/RightToLeft/Localization/HebrewConverter.cs

  I guess it is the same for UTF-8, but I didn't test this.<br>
  For developers outside of the USA it is very important to have full Unicode support for all operations concerning the versioned content of the repository.

  <hr /><i>drh added on 2010-11-24 20:13:01:</i><br />
  UTF8 should work fine.  It is only UTF16 that is not supported.  Fossil is
  seeing the 0x00 bytes in some of the characters and thinks it is dealing with
  a binary file rather than a text file.

  I suppose the "diff" logic (which is essential to doing a merge) could
  be enhanced to deal with UTF16.  Would the poster care to suggest a patch?

  <hr /><i>anonymous added on 2010-12-13 21:35:16:</i><br />
  If it would be a straight small patch, I'd love to submit a patch, but I think this would be a major rewrite because all string operations which rely on on a single zero byte to terminate a string will fail with UTF-16 characters.
  I guess that's why break_into_lines returns 0 as soon as it encounters any 0 byte.

  Obviously diffing two files executes a lot of string operations and to find and change all of them without braking the standard behaviour seems to be a task for a lot of long, long winter evenings. ;-)

  I'll change my sources which require Unicode support to UTF-8 where possible and live with the risk of not beeing able to merge source where UTF-8 is not an option. 

  Nevertheless, thanks for this great piece of software.


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: b6a684ca26d400e49e98f706b761b2a3c109fae6
type: Feature_Request
status: Closed
subsystem: one
priority: Immediate
severity: Important
private_contact: da39a3ee5e6b4b0d3255bfef95601890afd80709
resolution: Open
title: push/pull with the local directory
comment:
  `fossil push/pull` into the local directory

  <hr><i>drh added on 2008-10-18 02:38:28:</i><br>
  I do not know what this means.  Please explain in detail what feature you
  are looking for.  Perhaps provide examples.

  <hr><i>drh added on 2008-10-18 10:58:24:</i><br>
  Someone (presumably the OP for this ticket) has opened a new ticket
  [7d997b447f] with a better explanation.  So this one is closed.


tkt_uuid: b718806816b110d428c6b341567f1cec4500f206
type: Incident
status: Closed
severity: Minor
private_contact: 42d374a94fb729c9f34defde8b63f63bc1349917
resolution: Fixed
title: Mailing list link broken
comment:
  The "mailing list" link (http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users) on frontpage of fossil-scm.org goes to a broken link on the linked page.

  This link is broken:
  http://lists.fossil-scm.org:8080/pipermail/fossil-users/

  on this page  "fossil-user Archives":
  http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

  <hr><i>drh added on 2010-03-10 21:34:34:</i><br>
  This is a well-known problem.  It is some kind of bug in the mailing list
  manager: MailMan.  Nobody knows how to fix it.

  <hr /><i>lrem added on 2011-08-24 23:12:52 UTC:</i><br />
  The front site contains now working links for both sign-up and archives.


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: 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: b7b9a4d6eed812252bf189762dde0a147b57db82
type: Code_Defect
status: Open
severity: Important
foundin: 7c37b46b12
resolution: Open
title: TH variable "$current_page" does not show the expected value
comment:
  Add code such as:

  <nowiki><pre>html "<a href='$current_page'>$current_page</a>"</pre></nowiki>

  to the 'header'.  Notice that the value display changes as you move from page to page.  Notice further that all 'doc/...' pages say 'doc', and not the name of the actual page!  This essential renders this variable useless.

  <hr><i>ron added on 2010-04-26 19:33:10:</i><br>
  Oof.  I mean to type:

  <nowiki><pre>
  html "&lt;a href='$current_page'>$current_page&lt;/a>"
  </pre></nowiki>


tkt_uuid: b7fc3f05696424c1931f1484f69a8c62a17d8f4a
type: Feature_Request
status: Open
severity: Minor
foundin: ca08c1d1b3
private_contact: 2359089ef753bc96e12743e299243d5232c749fa
resolution: Open
title: fossil clean --force doesn't remove empty directories
comment:
  fossil help clean documents --force as an option, but in fact the correct option is --all.  also, fossil does not remove folders on fossil clean --all though the documentation implies that folders will be removed.

  <pre>
  PS C:\rev\src\xywinservice\src\bin\Release> fossil help clean
  Usage: c:\rev\bin\fossil.exe clean ?--force? ?--dotfiles?

  Delete all "extra" files in the source tree.  "Extra" files are
  files that are not officially part of the checkout.  See also
  the "extra" command. This operation cannot be undone.

  You will be prompted before removing each file. If you are
  sure you wish to remove all "extra" files you can specify the
  optional --force flag and no prmpts will be issued.

  Files and subdirectories whose names begin with "." are
  normally ignored.  They are included if the "--dotfiles" option
  is used.
  PS C:\rev\src\xywinservice\src\bin\Release> fossil ver
  This is fossil version [ca08c1d1b3] 2009-09-23 16:54:54 UTC
  PS C:\rev\src\xywinservice\src\bin\Release>
  </pre>

  <hr><i>anonymous claiming to be Dmitry Chestnykh added on 2009-10-15 07:54:01:</i><br>
  Options issue is duplicate of [c3d668ad52], so I'm renaming this ticket.

  Confirmed here: "fossil clean --force" doesn't remove directories.

  <hr><i>anonymous claiming to be Dmitry Chestnykh added on 2009-10-15 08:05:25:</i><br>
  Removal of empty directories on clean --force is not documented and not implemented, so marking this as a feature request.

  <hr><i>rwilson added on 2009-10-15 23:29:20:</i><br>
  to be clear, i'm not requesting a '--force' feature.  i'm requesting that the '--force' option in the documentation be reconciled with the undocumented '--all' feature that apparently performs what was intended by '--force'.

  also, if you read the doc at fossil help clean (below) it clearly implies that directories should be affected by a clean - namely because the --dotfiles option causes  certain folders to be cleaned when it is invoked, though it is not clear what happens to the folders. 

  <pre>
  Usage: c:\rev\bin\fossil.exe clean ?--force? ?--dotfiles?

  Delete all "extra" files in the source tree.  "Extra" files are
  files that are not officially part of the checkout.  See also
  the "extra" command. This operation cannot be undone.

  You will be prompted before removing each file. If you are
  sure you wish to remove all "extra" files you can specify the
  optional --force flag and no prmpts will be issued.

  Files and subdirectories whose names begin with "." are
  normally ignored.  They are included if the "--dotfiles" option
  is used.
  </pre>

  <hr><i>anonymous claiming to be Dmitry Chestnykh added on 2009-10-16 09:40:19:</i><br>
  This has been fixed in [c3d668ad52]. Please see check-in [5308e468153] (it's not yet in binary distribution).

  <hr><i>rwilson added on 2009-10-16 13:45:43:</i><br>
  ah yes.  my mistake.


tkt_uuid: b83792642288d329690a250192802042cfb2df8a
type: Code_Defect
status: Closed
severity: Important
foundin: 90c2405a0f
private_contact: 5c164664f608e8049128be696a3d13e04aa6fafd
resolution: Unable_To_Reproduce
title: deleting the "buzzing noise from speakers" tickets affected checkout-ability of repo?
comment:
  trying to update/pull repo since the "speaker noise" tickets were created/deleted does not work as expected:
  <nowiki><pre>
  Script started on Tue Apr 14 09:56:11 2009
  0;~/fossil/repo
  32mx118876@L009972 33m~/fossil/repo0m
  $ fossil version
  This is fossil version [6fe981ec56] 2009-04-07 04:12:04 UTC
  0;~/fossil/repo
  32mx118876@L009972 33m~/fossil/repo0m
  $ fossil info
  repository:   /cygdrive/c/Documents and Settings/x118876/fossil/repo/fossil.fossil
  local-root:   /cygdrive/c/Documents and Settings/x118876/fossil/repo/
  project-code: CE59BB9F186226D80E49D1FA2DB29F935CCA0333
  server-code:  4d8bb9f3491d495430f133076afff60b2eee9c60
  checkout:     6fe981ec56c6cfc96646765f44ec33091d99cb9d
  parent:	      434c350a45e89a982b88dc1e9dfdcafabe561927
  child:	      ece2c766a26a7081eadcccf8492daaa8f91096b6
  tags:	      trunk
  0;~/fossil/repo
  32mx118876@L009972 33m~/fossil/repo0m
  $ date
  Tue Apr 14 09:56:21 PDT 2009
  0;~/fossil/repo
  32mx118876@L009972 33m~/fossil/repo0m
  $ fossil update
  Autosync:  http://www.fossil-scm.org
  via proxy: http://142.174.134.33:8080
  		Bytes	   Cards  Artifacts	Deltas
  Send:		  318	       5	  0	     0
  Received:	 3036	      67	  0	     0
  fossil: bad object id: 0
  0;~/fossil/repo
  32mx118876@L009972 33m~/fossil/repo0m
  $ fossil timeline -n 5
  === 2009-04-13 ===
  19:34:34 [90c2405a0f] Ticket [c34bfbe3d9] <i>buzzing noise from speakers</i>
  	 status still Open with 2 other changes (user: anonymous)
  19:31:16 [79b735cf5b] Ticket [c34bfbe3d9] <i>buzzing noise from speakers</i>
  	 status still Open with 3 other changes (user: anonymous)
  19:30:01 [6c292830de] New ticket [c34bfbe3d9] <i>buzzing noise from
  	 speakers</i>. (user: anonymous)
  0;~/fossil/repo
  32mx118876@L009972 33m~/fossil/repo0m
  $ fossil pull
  Server:	   http://www.fossil-scm.org
  via proxy: http://142.174.134.33:8080
  		Bytes	   Cards  Artifacts	Deltas
  Send:		  318	       5	  0	     0
  Received:	 3036	      67	  0	     0
  0;~/fossil/repo
  32mx118876@L009972 33m~/fossil/repo0m
  $ fossil timeline -n 5
  === 2009-04-13 ===
  19:34:34 [90c2405a0f] Ticket [c34bfbe3d9] <i>buzzing noise from speakers</i>
  	 status still Open with 2 other changes (user: anonymous)
  19:31:16 [79b735cf5b] Ticket [c34bfbe3d9] <i>buzzing noise from speakers</i>
  	 status still Open with 3 other changes (user: anonymous)
  19:30:01 [6c292830de] New ticket [c34bfbe3d9] <i>buzzing noise from
  	 speakers</i>. (user: anonymous)
  0;~/fossil/repo
  32mx118876@L009972 33m~/fossil/repo0m
  $ fossil pull
  Server:	   http://www.fossil-scm.org
  via proxy: http://142.174.134.33:8080
  		Bytes	   Cards  Artifacts	Deltas
  Send:		  318	       5	  0	     0
  Received:	 3036	      67	  0	     0
  0;~/fossil/repo
  32mx118876@L009972 33m~/fossil/repo0m
  $ fossil pull
  Server:	   http://www.fossil-scm.org
  via proxy: http://142.174.134.33:8080
  		Bytes	   Cards  Artifacts	Deltas
  Send:		  318	       5	  0	     0
  Received:	 3036	      67	  0	     0
  0;~/fossil/repo
  32mx118876@L009972 33m~/fossil/repo0m
  $ fossil timeline -n 5
  === 2009-04-13 ===
  19:34:34 [90c2405a0f] Ticket [c34bfbe3d9] <i>buzzing noise from speakers</i>
  	 status still Open with 2 other changes (user: anonymous)
  19:31:16 [79b735cf5b] Ticket [c34bfbe3d9] <i>buzzing noise from speakers</i>
  	 status still Open with 3 other changes (user: anonymous)
  19:30:01 [6c292830de] New ticket [c34bfbe3d9] <i>buzzing noise from
  	 speakers</i>. (user: anonymous)
  0;~/fossil/repo
  32mx118876@L009972 33m~/fossil/repo0m
  $ exit

  Script done on Tue Apr 14 09:56:59 2009
  </pre>
  </nowiki>

  <hr><i>drh added on 2009-04-15 10:10:35:</i><br>
  I am unable to reproduce this problem.  Can you send me additional hints?

  Have you tried running "fossil rebuild" to clean up any problems that may
  have snook into the repository?  Of course, that begs the question of how
  those problems got there in the first place, but at least it will get you
  back running again.


tkt_uuid: b92c4160fe282a0a121146d1216ec692408b2206
type: Feature_Request
status: Open
severity: Minor
foundin: 3b76c0474e
private_contact: 668a819fc68ae3df87285ba92d1fd8ef824e2d2b
title: Add a class attribute to comments appended to a Wiki page
comment:
  When a remark is appended to a Wiki page, the remark is appended as a 'div' with a unique ID.  This is a request for the 'div' (or output 'p') to include a class attribute identifying the block as a comment, so that it can be styled independently.


tkt_uuid: ba7e79b248640ce30507e89537d203a2d9125214
type: Code_Defect
status: Closed
subsystem: one
priority: Immediate
severity: Critical
foundin: all
private_contact: 24b67375dd2ec6c7381a5ad34cfcf006f0b9c260
resolution: Rejected
title: problem showing diff view with several files, each in different encoding.
comment:
  While using diff view(vdiff) with several differently encoded files (windows codepage, UTF-8, UTF with BOM, UCS2 Big Endian,UCS2 Little Endian ) added with one commit, fossil shows 
  correctly mostly one file only (depends on character encoding used to view fossil generated diff web page)

  <hr><i>drh added on 2008-08-05 22:26:24:</i><br>
  The "diff"-er built into fossil assumes files to be diffed are UTF-8 text.

  I do not think it is desirable to have fossil trying to guess at file
  encodings and process files differently based on its best guess of the
  encoding.  What if it guesses wrong?  Better to always assume UTF-8 text.

  For the command-line interface, you can specify an alternative "diff" program
  to use in place of the built-in differ using the "fossil setting" command.
  You can specify both a shell-diff and a graphical-diff.  So if you want the
  ability to diff files with different encodings, all you have to do is specify
  and external program that has that capability.

  I suppose it might be possible to enhance the web interface to use an external
  program that can diff files with different encodings.  But I really do not want
  to go there at this time.  Better to require files to be UTF-8.


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: bb4e02048ddff8d549a2099442b81c21e49bf8cb
type: Feature_Request
status: Open
severity: Important
foundin: 0018d724b3
private_contact: 142de1aaa3c6b6828c4cb71e1c6c3e3202b0352f
resolution: Open
title: Tickets: make the (html & th1) template for ticket reports editable
comment:
  The ticket system is amazingly customizable, except the report page. I'd like to style it further, like changing the font color or making a title or an entire row a hyperlink. CSS can do any of this, but it cannot bind to element contents(<td>critical</td>), it needs some anchors (like <td class="severity">critical</td>). If the html template of the report were tweakable, one would be able to add whatever classes one wanted. Is this possible?
  Alex.

  <hr /><i>anonymous added on 2010-12-20 14:39:25:</i><br />
  Oops, html is mangled. I meant "&lt;td&gt;critical&lt;/td&gt;" and "&lt;td class="severity"&gt;critical&lt;/td&gt;"

  <hr /><i>anonymous claiming to be Alex added on 2010-12-28 07:18:08:</i><br />
  Found a partial workaround, based on the absence of checks on the background color specified in a report template. Since background color is now done with CSS, we can specify something like<br>
  WHEN status='CLOSED' THEN '#909090; text-decoration: line-through'<br>
  in the template, which gives us this HTML code<br>
  &lt;tr style="background-color:#909090; text-decoration: line-through"&gt;<br>
  and a correct style. Of course this gives us limited design opportunities, but it is still better than nothing.


  <hr /><i>anonymous claiming to be Alex added on 2010-12-28 10:20:56:</i><br />
  OK, found a more complete workaround for decent browsers (latest Opera/Firefox/Chrome/maybe IE9) that allows per-column styling. It is based on passing values in rarely-used CSS properties and CSS3 nth-child property.<br>
  First, we need to agree that our ticket report might sound bad if pronounced by text-to-speech software. Then we can use the 'elevation' property for our own purposes. 'elevation: 1deg;' will be a substitute for 'class=myclass1', 'elevation: 2deg;' for 'class=myclass2', etc.<br>
  <br>
  WHEN status='CLOSED' AND severity='HIGH' THEN '#909090; elevation: 1deg;'<br>
  WHEN status='CLOSED' THEN '#909090; elevation: 2deg;'<br>
  <br>
  Note the spaces after the first semicolon and after the 'elevation:' property, and the trailing semicolon.<br>
  Then, in CSS<br>
  <br>
  table.report tr[style~="1deg;"] td:nth-child(1) {<br>
    text-decoration: line-through;<br>
  }<br>
  <br>
  Again, note the trailing semicolon and lack of the property name in the selector. We need to follow this syntax because a) attribute text is space-separated in ~= matches, and b) some browsers internally rewrite CSS into this 'canonical' form.<br>
  These settings strike out the numbers of the closed highly-severe tickets, but leave other columns intact. Background color of all closed tickets is the same.<br>
  Unfortunately, IE7-8 does not support this.

  <hr /><i>anonymous added on 2010-12-28 10:25:18:</i><br />
  Damn, it was supposed to read<br>
  table.report tr&#91;style~="1deg;"&#93; td:nth-child(1) {


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: 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: bd33a464ae570dc3558d28486f3a40edfe1906ba
type: Code_Defect
status: Closed
subsystem: one
priority: Immediate
severity: Important
foundin: 4b56350ecb
private_contact: 63f4cb9d6971f7dbdee05412b8546975182b32e4
resolution: Not_A_Bug
title: Cannot apply -R to 'branch new'
comment:
  This time I do not know, if the help text is wrong or if the functionality does not work. So perhaps the severity I gave is not justified here if it is only the docu that is wrong!

  Please consider this
  <verbatim>
    fossil help branch
  </verbatim>
  Fossil answers
  <verbatim>
    Usage: fossil branch SUBCOMMAND ... ?-R|--repository FILE?

    Run various subcommands on the branches of the open repository or
    of the repository identified by the -R or --repository option.

    (...)
  </verbatim>
  Now if I try
  <verbatim>
    mkdir branchtest
    cd branchtest
    date > txt
    fossil new repos
    fossil open repos
    fossil add txt
    fossil commit --nosign -m initial
    date >> txt
    fossil branch new test1 -R repos
  </verbatim>
  Fossil answers
  <verbatim>
    fossil: there are uncommitted changes. please commit first
  </verbatim>
  Ok! But I do not want to commit first, so I try to trick Fossil. :-) Based on the docu shown after <tt>fossil help branch</tt> I try
  <verbatim>
    cd ..
    fossil branch new test1 -R tagtest/repos
  </verbatim>
  but unfortunately
  <verbatim>
    fossil: not within an open checkout
  </verbatim>

  So it seems, that either there is a buglet within <tt>branch new</tt> or within the help text.

  <hr><i>drh added on 2008-07-25 11:52:46:</i><br>
  The "branch" command was added by Jeremy Cowgar about 10 months ago, during
  a burst of productivity.  But since then, we haven't heard anything from
  Jeremy.  I do not know what the "branch" command is intended to do, so I
  cannot judge whether or not it is working correctly or not.  My inclination is
  simply to delete the command all together.  I do not see that it does 
  anything useful.

  Please take further discussion of the "branch" command to the mailing list.
  In general, tickets should be used to report real bugs.  Please do not use
  tickets as a place to ask questions or as a discussion forum.


tkt_uuid: bd5614b02d84c7835a1f515b34db209ba90b41ce
type: Feature_Request
status: Open
severity: Important
title: date's sequence verification
comment:
  <p> Eventually the PC where i run fossil has troubles with your internal date. So, i.e, new tickets are saved with date 01-01-2000 and become listed in first places. Unlucky it isn't ever evident for the user and least for the rest of the team.</p>
  <p> I think that fossil may show a warning for ask if the date is right because isn't later as expected.</p>
  <p> I don't know if this problem is common in other scenarios, but i believe that is most usual than anybody think in microdevelopments.</p>
  <p> Wherever, i guess will require minor fixes for keep ever safe the date's sequence in any situation possible.</p>


tkt_uuid: bd9a306492f9ed894aef09d8241643255636654a
type: Feature_Request
status: Open
severity: Important
private_contact: 63070188043a9522ca95dca0d28c3b9eff7a697b
resolution: Open
title: Support for on-commit code reviews
comment:
  Various repository hosting sites like GitHub or Google Code allow adding comments to commits directly from the web interface. This can be considered as equivalent functionality to classic commit mailing lists. I think it would be highly useful to have something similar in fossil.

  <hr /><i>anonymous claiming to be viric added on 2010-11-24 22:22:34:</i><br />
  Maybe this could be implemented as a special link next to a commit that creates (or points to if created) a related Event with some predefined title/text?

  Then, as commits have checkins related, checkins could have 'events' related, or events have checkins related.

  (It's just a dump of what came up to my mind)


tkt_uuid: bde9513faea0fb814f9d51de0baa57a43206486c
type: Code_Defect
status: Closed
foundin: [f7cff4ad13]
resolution: Not_A_Bug
title: The delta manifest has more files than modified in the checkin
comment:
  I modified two files for a checkin, and the delta manifest shows more than 20 files (running fossil built for cygwin).

  The whole project has hundreds of files, so the delta partly works. But I think the manifest only should include the modified files.

  On subsequent checkins, all those 20 files get into the delta manifest. There may be something special in them that makes them get into the delta manifest, but I don't know what.

  <hr /><i>drh added on 2011-01-12 16:09:59 UTC:</i><br />
  A delta manifest show all changes going back to the baseline manifest and
  the baseline manifest might be two or three or a hundred checkins in the
  past.


tkt_uuid: be56c89def7f86bcbd766009cd365f6a40a37345
type: Code_Defect
status: Fixed
severity: Severe
foundin: 8f41b2fa75
private_contact: ba07c6d5d3c5e044f8238154a7f39762cc1663cc
resolution: Fixed
title: Manifest parser bug causes fossil push to fail if a file look like a manifest but isn't one
comment:
  The bug can be reproduced with the following steps:

  1. create an empty repository


  2. clone it

  3. open it

  4. Create a text file containing "C blabla" and make sure it doesn't end with a newline character

  5. commit it

  6. Try to push it: it should fail with "bad command" followed by some stuff.

  The bug is caused by the manifest parser which acts in a destructive way: when it parses a card, it uses blob_terminate which modifies the original buffer, even if it turns out afterwards that the file isn't actually a manifest (in my case it was just a small binary file which happened to begin with C and a tabulation character), which overwrite what's next (in this case it overwrites the first character of the following file card of the xfer stream, which confuses the xfer parser and make it end up trying to parse file content as cards).

  I've attached a quick fix patch which simply make a copy of the line before parsing it. It works but it's probably possible to solve it without the additional copy.

  <hr /><i>drh added on 2010-10-16 16:25:17:</i><br />
  Thanks for the patch.  Even though I didn't apply it, it was still very
  useful in understanding the problem.


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: beb8f31ea5432c49e74181e7b40c44a06742264d
type: Code_Defect
status: Open
resolution: Open
title: Wrong redirect after successful logon
comment:
  I have own server configured to host several fossil repos.

  For example, on <font color=blue>http://host/repos/luaodbc/timeline</font> fossil offers me to use anonymous login and link looks like<br>
  <font color=blue>http://host/repos/luaodbc/login?anon=1&<b>g=/sls/timeline</b></font><br>
  but must be<br>
  <font color=blue>http://host/repos/luaodbc/login?anon=1&<b>g=<b>/repos/sls/timeline</b></font><br>
  As a result redirect is wrong.

  Is it misconfigured server problem or fossil one?

  <hr><i>anonymous added on 2010-04-16 02:02:38:</i><br>
  I am sorry, of course g-part of link is <b>g=/odbc/timeline</b>

  <hr><i>anonymous added on 2010-04-16 02:06:22:</i><br>
  It seems like I sleep too little <b>g=/luaodbc/timeline</b> & <b>g=/repos/luaodbc/timeline</b>


tkt_uuid: bf18e29fbe89791502d1fff3542d3ea542b6d824
type: Feature_Request
status: Fixed
severity: Minor
private_contact: 2f98bd34c080ac26bbeb8ea754dfd01c5d3a2018
resolution: Fixed
title: make 'fossil rm' to be able to remove more than one file
comment:
  Hello!

  Today I've encountered small glitch when working on one video-slide show.

  I had 4 directories each with 50 scanned files which were added to the fossil repo.

  I forgot to rename them prior to adding and then did regex rename, but when wanted to commit, Fossil was rightfully complained about MISSING files.

  However, Fossil's rm command enables to remove only one file at a time, so I had to use shell scripting to remove all of them in order to be able to commit.

  Idea is whether making 'fossil rm' to use e.g. shell's wildcards to remove more files at once would be a nice feature or bloat?


  Sincerely,
  Gour

  <hr /><i>lrem added on 2011-08-29 16:09:19 UTC:</i><br />
  Implemented a long time ago. Works well in current version, 1.18.


tkt_uuid: bf4f5725f6c90fc2a113e35acde27e25e6b290b2
type: Code_Defect
status: Fixed
severity: Important
foundin: 0018d724b3
private_contact: 142de1aaa3c6b6828c4cb71e1c6c3e3202b0352f
resolution: Fixed
title: Tickets: cannot display in local time
comment:
  All the times in the ticket reports and comments are in UTC. Admin/Timeline/Use UTC settings has no effect. I try to convert the time to local in SQL with something like this (syntax suggested by sqlite docs)<br>
  SELECT datetime(tkt_mtime, 'localtime') AS 'mtime' FROM ticket<br>
  and get the following error<br>
  error code 23: access to config.value is prohibited<br>
  Database Error<br>
  access to config.value is prohibited<br>
  SELECT value FROM config WHERE name='timeline-utc'<br>
  If you have recently updated your fossil executable, you might need to run "fossil all rebuild" to bring the repository schemas up to date<br>
  Running 'fossil all rebuild' does not help. Is this a bug or am I missing the proper way to convert timestamps to local time?

  <hr /><i>anonymous added on 2010-12-27 13:15:05:</i><br />
  Duplicate of [5c1490e26b]. The time is written as a string part of the comment.

  <hr /><i>anonymous added on 2010-12-28 10:28:50:</i><br />
  That ticket does not mention that tkt_mtime (last modified timestamp) is in UTC too. And it would be nice to have a way to see local time everywhere.

  <hr /><i>anonymous claiming to be Arnel added on 2010-12-28 18:20:16:</i><br />
  How about going to <em>Admin</em> &gt; <em>Timeline</em> then unchecking the "Use Universal Coordinated Time (UTC)" option for both the server and the local repo?

  <hr /><i>anonymous claiming to be Alex added on 2010-12-29 06:20:03:</i><br />
  Tried that. Does not make any difference. Neither for mtime field in the ticket table, nor for "username added on date" on the edit ticket page.

  <hr /><i>anonymous claiming to be viric added on 2010-12-29 08:26:12:</i><br />
  The "comment added by XXX on YYY" has nothing to do with any timestamp stored in a database. It's a text message added automatically over whatever comment the user did on a ticket or wiki page. So its contents are stored 'statically', and no option will change them later.

  If you agree that this is the same issue as in [5c1490e26b], we can close this and keep the discussion there.

  <hr /><i>anonymous claiming to be Alex added on 2010-12-29 10:44:03:</i><br />
  I understand that the time a comment was added is part of its text and cannot be easily converted into a different timezone or format. Correct formatting has to be done before a comment is added to the repo, be it automatically or by calling some functions in the script (we just need to know which ones).<br>
  Speaking of duplicates, 5c1490e26b only describes one thing, the comment timestamps. This ticket suggests that the entire UTC/local conversion is somehow broken. A developer has to take a look to say whether a single common defect or two unrelated ones are causing the effects.<br>
  If you are concerned about the number of open tickets, you can close any of the two and I will copy the info into the other ticket (not that it would make any sense with so many tickets left open already).

  <hr /><i>anonymous claiming to be Alex added on 2010-12-30 10:00:44:</i><br />
  Fix in commit 8c3bba8e97 confirmed. Thanks, DRH!


tkt_uuid: bf536aff75721f8c7f0d3f6ce22b139c0a53fe8d
type: Feature_Request
status: Closed
severity: Cosmetic
foundin: 37f295c310
private_contact: 2359089ef753bc96e12743e299243d5232c749fa
resolution: Not_A_Bug
title: fossil reports/header/footer/css/logo do not sync
comment:
  the ticket report formats, header, footer, and css definitions, and logo image in the fossil repository do not sync.  clone appears to copy these elements initially, but pull/sync does not.  it would also be nice if these elements were revision controlled, but that is an entirely different ticket.

  <hr><i>rwilson added on 2009-09-22 14:54:14:</i><br>
  tickets don't sync either.

  <hr><i>drh added on 2009-09-22 15:10:45:</i><br>
  Server setup does not sync <i>by design</i>.  Different servers are
  potentially administered by different people and/or for different
  purposes and  so you do not necessarily want every server to be
  configured the same way.  To sync the setup use:

  <pre>
    fossil config sync all <i>URL</i>
    fossil config pull all <i>URL</i>
    fossil config push all <i>URL</i>
  </pre>

  Replace "all" with "email", "project", "skin", "shun", "ticket", or "user"
  to sync some subset of the server setup.  

  The content of tickets <i>is</i> synced.  And we know that works because
  ticket content is routinely synced between all three self-hosting fossil 
  repositories.


  <hr><i>rwilson added on 2009-09-22 15:17:56:</i><br>
  re: tickets not syncing - my mistake. i was looking a the list of all tickets on my local fossil repository and it was unsorted when my brain was expecting sort DESC which led me to believe they were not syncing.

  re: all/email/project/skin/shun/ticket/user - recommend the info be added to reference.wiki.


tkt_uuid: bfb8427cdd5b601486d532c378fba652d52af037
type: Code_Defect
status: Fixed
severity: Severe
foundin: [0eb08b860c], [37f295c310], [b99aa66d1f]
private_contact: e64e062ff7022fc7fdd41ac56baff07e8ae485d9
resolution: Fixed
title: Cloning and syncing an URL with no repository or misconfigured CGI repository fails silently.
comment:
  If a CGI script lacks execution permissions by accident, cloning from it generates no error messages of any kind.  All that happens is that an empty repository is created.

  <hr><i>anonymous claiming to be Dmitry Chestnykh added on 2009-10-10 09:13:42:</i><br>
  There's no error reporting at all even for wrong URLs. I mistakenly used a wrong URL (.com instead of .org) for my server to clone/push/pull/sync and was wondering why it doesn't sync.

  Here's an example session:

  <pre>
  ~ $ fossil clone http://example.com/404/ test
                  Bytes      Cards  Artifacts     Deltas
  Send:             597         24          0          0
  Received:           0          0          0          0
  Total network traffic: 447 bytes sent, 463 bytes received
  Rebuilding repository meta-data...
  0 (0%)...
  project-id: (null)
  server-id:  a3f3933d58f406f54a82902fb5b57b1e8d24a9af
  admin-user: dmitry (password is "a666f9")

  ~ $ fossil open test

  ~ $ fossil sync http://example.com/NOTHING/
                  Bytes      Cards  Artifacts     Deltas
  Send:             137          2          0          0
  Received:           0          2          0          0
  Total network traffic: 303 bytes sent, 467 bytes received
  </pre>

  <hr><i>anonymous claiming to be Dmitry Chestnykh added on 2009-10-11 21:14:28:</i><br>
  I've tracked this down to <code>http_exchange</code> function in <code>http.c</code>. It correctly identifies non-200 HTTP responses:
  <verbatim>
        if( rc!=200 ) goto write_err;
  </verbatim>

  However, it just goes to <code>write_err</code> where it simply closes the connection and doesn't output errors (perhaps, it should panic after closing the connection?), so Fossil just continues creating a new repository with zero data.

  <hr><i>anonymous claiming to be Dmitry Chestnykh added on 2009-10-11 21:22:27:</i><br>
  Perhaps, something like this would do:

  <verbatim>
  --- src/http.c
  +++ src/http.c
  @@ -235,7 +235,7 @@
     /*
     ** Jump to here if an error is seen.
     */
   write_err:
     transport_close();
  -  return;
  +  fossil_panic("bad server response");
   }
  </verbatim>

  <hr /><i>lrem added on 2011-08-30 16:27:08 UTC:</i><br />
  Fixed for an unknown time. 


tkt_uuid: bfef8e4f89cd4b161a58485656587f6b9ecc39d9
type: Code_Defect
status: Fixed
severity: Critical
foundin: afc4bf41fa
private_contact: 05f652db744266759b20d248ec2f451629420388
resolution: Fixed
title: Stash doesn't save files without using "fossil changes" before
comment:
  After making changes, doing "fossil stash", and looking into _FOSSIL_ with SQLite, I can't find entries for changed files in stashfile table.

  I think <code>vfile_check_signature(vid, 0, 0);</code> should be put somewhere in <code>stash_create</code>.

  <hr /><i>dmitry added on 2011-01-18 01:08:35 UTC:</i><br />
  Hm... shouldn't revert_cmd also update vfile? Seems like it's not. I'll get back with details.

  <hr /><i>dmitry added on 2011-01-18 01:21:52 UTC:</i><br />
  Test case:
  <pre>
  $ mkdir test
  $ fossil new test.fossil
  project-id: 755eae875fa636930aa6632774b6efd6a3dfaac2
  server-id:  9f8a7e68aad9f9a841f2bc50f8cbba69686473a7
  admin-user: dmitry (initial password is "0378ff")
  $ cd test
  $ fossil open ../test.fossil 
  $ echo "Hello" > file.txt
  $ fossil add file.txt 
  ADDED  file.txt
  $ fossil commit -m "Initial commit"
  New_Version: 05ac6ff529aaea66a245e4caef85f74d11cf06e2
  $ echo "edited" >> file.txt
  $ fossil stash
  REVERTED: file.txt
  $ fossil stash diff
  (nothing)
  $ sqlite3 _FOSSIL_ "SELECT * FROM stashfile"
  (nothing)
  $ sqlite3 _FOSSIL_ "SELECT * FROM stash"
  1|3||2455579.55262627
  </pre>

  Now, using <code>fossil changes</code> before stashing, which works:

  <pre>
  $ cd ..
  $ rm -r test.fossil test
  $ mkdir test
  $ fossil new test.fossil
  project-id: eb268780a7e272e2d24a9a5aef50daf95f1ea057
  server-id:  58b2e74f0c914e8bd01d7f336e59c619b8eb17c6
  admin-user: dmitry (initial password is "49059c")
  $ cd test
  $ fossil open ../test.fossil 
  $ echo "Hello" > file.txt
  $ fossil add file.txt 
  ADDED  file.txt
  $ fossil commit -m "Initial commit"
  New_Version: 71d5025350f6c4501816229f04ed85d6c9be61e7
  $ echo "edited" >> file.txt
  $ fossil changes
  EDITED     file.txt
  $ fossil stash
  REVERTED: file.txt
  $ fossil stash diff
  CHANGED file.txt
  --- file.txt
  +++ file.txt
  @@ -1,1 +1,2 @@
   Hello
  +edited

  $ sqlite3 _FOSSIL_ "SELECT * FROM stashfile"
  1|2|0|0||file.txt|file.txt|D
  D:Hello
  edited
  fu3Sp;
  </pre>

  <hr /><i>dmitry added on 2011-01-18 01:44:02 UTC:</i><br />
  Got it. This is because <code>revert_cmd</code> clears <code>chnged</code> and <code>deleted</code> bits after reverting, so my original proposal to include <code>vfile_check_signature(vid, 0, 0)</code> in <code>stash_create</code> stands. Sorry for the monologue.

  <hr /><i>dmitry added on 2011-01-18 02:03:39 UTC:</i><br />
  Disregard my last comment this being because of revert, it's called after stashing :-)


tkt_uuid: c0bbe01436e0bed597d6495a270972c3c50fe43c
type: Feature_Request
status: Open
severity: Cosmetic
foundin: [6d828a8630] 2010-07-25 08:33:52
private_contact: 017042fb91c4a6d38e747ea2beb04c74dd39fc2e
title: SKIN: css problems with Nomenclature box on branch page
comment:
  As you can see on 

  https://chiselapp.com/user/wst/repository/WST-Skin-1/brlist

  there is a problem with the Nomenclature-box on the branch and leaves page.

  If the css for headers uses backgrounds, these are mixing up with the Nomenclature-box.

  I think, the box should use an own class, to configure especially the background.


tkt_uuid: c179f93e633aa38569e3d46d6422f090df958edf
type: Code_Defect
status: Fixed
severity: Important
foundin: [b48f78964e] 2010-09-18 15:51:43 UTC
private_contact: 3b3fbf5f62d20e7941725f9b6dcc6cffe90f1d71
resolution: Fixed
title: fossil commit crashes when added paths contain Shift-JIS
comment:
  Trying to commit a file with a path containing Shift-JIS encoded characters (e.g. Japanese) causes fossil.exe to crash.  I'm doing this in cmd.exe with codepage set to "932 (ANSI/OEM - Japanese Shift-JIS)", but performing 'chcp 850' or 'chcp 65001' before adding the file doesn't affect the outcome.

  <pre>
  Steps to reproduce:
  > fossil.exe add "テスト\foo.txt"
  ADDED  テスト/foo.txt<br />
  > fossil.exe commit -m foo
  <<< Access Violation (0x00000005) occurs here >>>
  </pre>

  <hr /><i>anonymous added on 2010-09-30 01:12:09:</i><br />
  Amendment: I'm using Windows XP Professional with default OS codepage set to Japanese.

  <hr /><i>jan.nijtmans added on 2012-09-27 08:10:27 UTC:</i><br />
  This one should be fixed in trunk now


tkt_uuid: c18a77e837a66122ed196f88aff867d8edb5e898
type: Code_Defect
status: Fixed
severity: Important
foundin: 6a11af1782
private_contact: 76518fb407f147a1d053c00b5b993281a339c0e3
resolution: Fixed
title: Typo in the Doctype declaration.
comment:
  There is a typo in the declaration of the Doctype which prevents the successful validation of the HTML generated by Fossil.

  The attached patch fixes this.

  --tsbg


tkt_uuid: c198af688022e3781e69a27d27bc78b03e1fbd5b
type: Code_Defect
status: Fixed
severity: Severe
foundin: b24b2e1bba
private_contact: e8353b1e9ee35f57daacf6c405daaabdd612486a
resolution: Fixed
title: url_parse passes paths through mprintf, breaking % encoding (thus ~ too)
comment:
  <verbatim>
  fossil test-urlparser http://donkey.vernier.se/~fossil/picmidi
  correctly parses and generates http://donkey.vernier.se/%7Efossil/picmidi, which is stored in the fossil.

  On loading the remote-url for sync, pull, push, or merely display, this is passed through url_parse again, with devastating results:

  fossil test-urlparser http://donkey.vernier.se/%7Efossil/picmidi
  g.urlPath      = /-1.094057E-02fossil/picmidi

  I believe the failing line is in src/url.c:
      g.urlPath = mprintf(&zUrl[i]);
  </verbatim>

  <hr /><i>anonymous added on 2010-09-23 02:02:45:</i><br />
  Fixed in [a203674aa54063b166fe5999dd55c0443ed3f717], although never acknowledged.


tkt_uuid: c1a315455041e652584fee0468bc8b542afee606
type: Code_Defect
status: Closed
severity: Important
foundin: 0018d724b3
private_contact: 09d09b41d94be1b9adea78189eb3c716b5267367
resolution: Not_A_Bug
title: Errors on web server (first start) SQLITE_CANTOPEN
comment:
  1) cgi-bin/mltweb.cgi/home - ок
  2) clicking setup/config it's redirect me to /cgi-bin/mltweb.cgi/login?g=/cgi-bin/mltweb.cgi/setup_config

  and show this:

  SQLITE_CANTOPEN: cannot open file at line 27596 of [fabcb6b95e]

  SQLITE_CANTOPEN: statement aborts at 31: [REPLACE INTO config(name,value) VALUES('captcha-secret', lower(hex(randomblob(20))));]
  Database Error

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

  <hr /><i>anonymous added on 2010-12-08 15:24:11:</i><br />
  Sory ... was problem with rights on directory project location


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: c207d749a2ec7b0fda4c8a683eef0ec44c6efa0f
type: Incident
status: Closed
severity: Minor
private_contact: c76260317d907e593238775e171317aff2baec12
resolution: Works_As_Designed
title: @ character not possible in password
comment:
  when authenticating with a remote repository (in the form http://user:password@url) there is no way to escape special chars in the password. Eliminating several punctuation symbols seems to limit the security of passwords. At the very least it would be good to document.

  <hr><i>kkinnell added on 2008-11-25 03:36:22:</i><br>
  That's really more a problem with the htt protocol than a problem with fossil.

  Have you tried it as %40 ?  No guarantee it'll work, but worth a try.

  (If you want all kinds of "fun" with webapps and passwords, try a password with
  '%' in it, and try getting it through a proxy, to boot.  More "fun" than you ever
  wanted to have.)

  <hr><i>anonymous claiming to be Rockshox added on 2008-11-25 03:43:52:</i><br>
  I would respectfully call it a problem with the url parser. http authentication is done base64 encoded in the header, you can use any character without a problem. The issue is pulling out which parts go in the header and which part is the url. I would suggest an optional -p and -u flag in lieu of user:password@ syntax

  <hr><i>kkinnell added on 2008-11-25 18:34:20:</i><br>
  I must admit you are technically right about that (but I reserve the right to claim that http authentication could have been done much better ;)

  On the other hand, the work around for the problem is to use the<br>
  &nbsp;&nbsp;&nbsp;<code>http://name@<i>URL</i></code><br>
  form of specifying the remote repository.

  If you do it that way, <b>fossil</b> prompts you for a password.


tkt_uuid: c24e486b0530b644d0ceb07c3627d773b61a6064
type: Feature_Request
status: Fixed
severity: Important
foundin: 16eae22891
private_contact: 904f264c7109282fe517d0d6437320af5521975c
resolution: Fixed
title: Provide access to the remote server URL
comment:
  From fossil help pull:

      The URL of the remote server is specified on the command
  line. If no URL is specified then the URL used by the most
  recent "pull", "push", or "sync" command is used. 

  This also affects auto-sync. But there is no way to see the recorded URL without resorting to sqlite access...

      sqlite> select value from config where name = 'last-sync-url';

  DRH on mailing list:

      Why not just add a line of output to "info"?

      Be careful, though.  The query shown by Kees is not sufficient.  The  
  URL stored in the database might contain a username and password.  The  
  "sync" command is careful to strip those off before displaying the  
  URL.  If added to the "info" command, it should likewise hide at least  
  the password.

  DRH also suggested reasons to have a separate command: so that you can change or
  remove the default remote-host

       fossil remote-url     # Display the currently saved URL (suppressing the password, of course)

       fossil remote-url URL # Change the currently saved URL
  without doing a sync, push, or pull

       fossil remote-url off # Remove the currently saved URL

  Stephan asked: would it make sense to tie it in as a new setting? e.g.

      fossil set remote-url       # show

      fossil set remote-url URL   # set

      fossil unset remote-url     # remove

  <hr><i>drh added on 2009-08-01 14:24:40:</i><br>
  See check-in [a2cbedcb1fee87decc21be2f74e65fa887a66e87]


