# tagxref

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


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


# attachment

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

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

  You will find base64 online converters easily.


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


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

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


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


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

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


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


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


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


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

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

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

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

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


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


# ticket

tkt_uuid: 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: c7b35be884420016fcf35fd6d4e81d9d3ed943a1
type: Incident
status: Fixed
subsystem: one
priority: Immediate
severity: Severe
foundin: 6ecc392f1c
private_contact: c.hintze@gmx.net
resolution: Fixed
title: Fossil fails to recognize its repository db as a known file.
comment:
  Sometimes one want to create a repository db <b>within</b> the directory that also will hold the checkout. Especially if you are com from other VCSs like e.g. Git or Darcs. I do the same, if I have a whole worktree for that I want to create an one-shot repository within.

  But if I ask Fossil to remove all unknown files via <tt>clean --all</tt>, it will remove its own database that the current checkout was taken from. For example:
  <pre>
    mkdir test1
    cd test1
    fossil new myrepos
    fossil open myrepos
    fossil add ...
    fossil commit
    :
    :
    fossil clean --all
  </pre>  
  Oops, my repository is gone!

  I would expect, that -- at least -- every repository, that the current checkout was taken from, should be considered as a known file and should not be subject to 'clean'. Perhaps -- as a kind of loyality -- fossil should overlook all fossil repository db it ever encounter during its traversal?

  <hr><i>drh added on 2008-07-23 13:03:24:</i><br>
  Since fossil repository files have no naming conventions, it is not
  clear how fossil could avoid "cleaning" other repositories without
  opening and checking each file prior to cleaning it - which would be
  expensive.  But I have added the feature that the current repository
  is not "cleaned".  Nor does the current repository appear in the list
  of "extra" files.


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: 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: 4b72e10dca387049db24d2b6d4cc49282bcc9ce9
type: Code_Defect
status: Fixed
subsystem: one
priority: Immediate
severity: Critical
foundin: 141c31792b
private_contact: c.hintze@gmx.net
resolution: Fixed
title: Pull chain does not work: MASTER -> SLAVE -> LOCAL
comment:
  This incident was already mentioned on the mailing list. But I thought it is better to file a ticket to not get it lost.

  The problem is, I cloned and pulled from <tt>fossil-scm.org</tt> to my local central repository and from there into another local one. This is the same chain as if I had a <tt>repos.master</tt> clone to <tt>repos.slave</tt> clone to <tt>repos.local</tt>. So the changes should flow from the MASTER over the SLAVE to LOCAL. But the changes does not reach LOCAL. I have written a small scenario to reproduce that bug. You may copy/paste it into a script and execute it:
  <pre>
  # Create the testenv
  mkdir -p test1/dir
  cd test1/dir
  #
  # Create the MASTER DB
  fossil new ../myrepos.master
  fossil open ../myrepos.master 
  #
  # Add file 'txt'
  echo "# line 1" > txt
  fossil add txt
  fossil commit -m "initial" --nosign
  fossil close
  rm *
  #
  # MASTER is connectable via port 8080
  fossil server -P 8080 ../myrepos.master &
  pid_MASTER=$!
  #
  # Clone the SLAVE DB
  fossil clone http://localhost:8080 ../myrepos.slave
  #
  # SLAVE is reachable via port 8081
  fossil server -P 8081 ../myrepos.slave &
  pid_SLAVE=$!
  #
  # Clone the LOCAL DB
  fossil clone http://localhost:8081 ../myrepos.local
  #
  # Open the MASTER and modify the file 'txt'
  fossil open ../myrepos.master 
  echo "# line 2" >> txt
  fossil commit -m "change 1" --nosign
  echo "### Content in MASTER"; cat txt
  ### Content in MASTER
  # line 1
  # line 2
  fossil close
  rm *
  #
  # Pull all changes from MASTER --> SLAVE
  fossil pull -R ../myrepos.slave
  #
  # Open SLAVE and look at the file 'txt'
  fossil open ../myrepos.slave 
  echo "### Content in SLAVE"; cat txt
  ### Content in SLAVE
  # line 1
  # line 2
  fossil close 
  rm *
  #
  # Pull all changes from SLAVE --> LOCAL
  fossil pull -R ../myrepos.local 
  #
  # Open LOCAL and look at the file 'txt'
  fossil open ../myrepos.local 
  echo "### Content in LOCAL"; cat txt
  ### Content in LOCAL
  # line 1
  #
  # kill the server MASTER and SLAVE
  kill $pid_MASTER $pid_SLAVE
  </pre>

  As you can see the file <tt>txt</tt> will contain two lines in both the MASTER and the SLAVE but it will only contain one line in LOCAL.

  <hr><i>drh added on 2008-07-23 21:00:01:</i><br>
  Fixed by check-in [1f8d2501b0].  Prior to this fix, work-around by running
  rebuild on the server repository that is not syncing correctly.


tkt_uuid: 4b40f574494b20fe2ce1432fab47ca89cc354674
type: Code_Defect
status: Fixed
subsystem: one
priority: Immediate
severity: Minor
foundin: f46fe42d6d
private_contact: 6b3f5a8f6def0ef153f7a89fb5a1b0fa01d7509e
resolution: Fixed
title: Edit checkin comment via Web do garble references into the repos.
comment:
  First do the following:
  <verbatim>
  mkdir test1
  cd test1
  uuid=`fossil new repos| awk '/baseline:/{print $2}'`
  fossil open repos
  echo "Baseline is $uuid" > txt
  fossil add txt
  fossil com --nosign -m "Commit text refer to [$uuid]"
  fossil ui
  </verbatim>

  Now in the browser select the Timeline and click on the UUID of the leave. Now you should be into the VInfo page of the baseline. In the <b><tt>Comment:</tt></b> field you see the clickable reference. Now if you hit the <tt>edit</tt> in the <b><tt>Commands:</tt></b> field the VEdit page will be load.

  Please have a look into the <b><tt>Comment:</tt></b> textbox down the page. The previous comment is inserted to be edit by me, but the closing <tt>]</tt> of the UUID in the comment text is lacking.

  If I do not append the lacking <tt>]</tt> the reference will not work correctly anymore if I apply my changes.

  <hr><i>drh added on 2008-07-24 15:04:00:</i><br>
  Problem fixed by check-in [89de100a2d]


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

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

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

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


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

  {{{
  your code goes here
  }}}

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

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

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

  heh.

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

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

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


tkt_uuid: 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: 3cce33ff2f0a414dcb35dd6d36f48961797e037e
type: Documentation
status: Closed
subsystem: one
priority: Immediate
severity: Important
foundin: 4b56350ecb
private_contact: 63f4cb9d6971f7dbdee05412b8546975182b32e4
resolution: Not_A_Bug
title: Help of branch new does not mention option --nosign
comment:
  If I perform a 
  <verbatim>
    fossil help branch
  </verbatim>
  Fossil do not mention, that I can pass the option <tt>--nosign</tt>. During creation of the branch, I was asked to pass my private key's passphrase to sign the creation. I did not want to do this and therefore interrupted the branch creation process. I tried the same command line and added a <tt> --nosign</tt> somewhere. This time the creation succeed without asking me for my passphrase.

  So I conclude that the description of the applicability of said option is lacking.

  But another three question: why to I have to sign the creation of a branch and not the creation of a tag? And what is the difference between
  <verbatim>
    fossil branch new test
  </verbatim>
  and
  <verbatim>
    fossil tag add branch sym-test
  </verbatim>
  And last but not least, what is the idea for a <tt>tag</tt>? I do not seem to be able to </tt>fossil update</tt> to a tag-marked version.

  <hr><i>drh added on 2008-07-25 11:54:48:</i><br>
  See comment on ticket [bd33a464ae]:  The "branch" command seems to be an
  abandoned subproject of a developer who has not contributed to fossil
  lately.  I do not know what its purpose is.  I am of a mind to delete
  the command all together.  Please take discussion to the mailing list.


tkt_uuid: 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: 33949929b9857e34dd3df6650dfd5884a733e5bd
type: Code_Defect
status: Fixed
severity: Severe
foundin: [3bc6d0b0c9] 2008-07-27 21:02:10
private_contact: 24b67375dd2ec6c7381a5ad34cfcf006f0b9c260
resolution: Fixed
title: Fossil on windows fails on path/files with non US-ASCII characters in them.
comment:
  I can't open, add, commit and close repository with fossil on international version of win XP, unless I fiddle with environment variable.
  Even with fiddling, I am unable to check in files with non US-ASCII characters in names or open repository on path with non US-ASCII characters.

  My international version of windows XP (Czech) uses as a place for storing application's data localized path (what is on US windows on:
  c:\Documents and Settings\username\Application Data is on my system stored on c:\Documents and Settings\username\Data aplikac&#237; 
  (please note \xA1 character at the end))
  When fossil starts to do its job, it tries to create some databases in location determined by code on lines 561-569 in db.c. My win xp set APPDATA variable
  to "c:\Documents and Settings\username\Data aplikac&#237;" which is used by fossil, but it never creates _fossil database on c:\Documents and Settings\username\Data aplikac&#237;\_fossil
  but instead tries to create c:\Documents and Settings\username\Data aplikac\_fossil (on path which does not exist on system)
  In attempt to use fossil somehow I set APPDATA to existing path with only US-ASCII character in it. That way I could (finally!) play with fossil (add/commit/... to repostory,
  which is good). Unfortunately, when I try to add files with non US-ASCII characters in their names, it fails and I don't see there any workaround. (I believe that having 
  ability to add such files to repository is quite fundamental feature for international users). I theoretize that both issues are related to the fact that sqlite expects UTF
  encoded path but fossil does not make provisions,that such path passed to sqlite is indeed UTF encoded.

  To reproduce second issue please create a file with some non US-ASCII character(s) in its name (e.g. \xA1) and try to commit such file into repository (on windows xp).
  First issue should manifest itself on international version of windows (perhaps XP as I have seen fossil adding and commiting files on win 2000, where 
  APPDATA was set by system to c:\Documents and Settings\username\Application Data) which possibly set LOCALAPPDATA or APPDATA or HOMEPATH or HOME variables to path containing 
  non US-ASCII characters.

  Would it be possible to fix this? Thanks.

  <hr><i>drh added on 2008-11-04 13:21:02:</i><br>
  Ticket [30f7206b2b] is a duplicate of this ticket, I believe.  And
  that ticket was fixed by check-in [c6a9e4ed41].  So I think this ticket
  should also be fixed now.  The latest precompiled binaries contain the
  fix and are available on the website.


tkt_uuid: 5f681dfeee3cc3553aec39a3f99e7d097b908692
type: Feature_Request
status: Fixed
subsystem: one
priority: Immediate
severity: Critical
private_contact: df332820968daaee8c281bf00b070b1cde2c81b9
resolution: Open
title: Need a mechanism to sync the REPORTFMT and CONCEALED tables
comment:
  The set of bug-report formats is stored in the REPORTFMT table.  The
  CONCEALED table stores a mapping of SHA1 hashes back to email addresses which
  are the contact information for bug reports.  Both tables are part of the
  private state of a repository and are thus not synced with the "sync",
  "push", "pull", or "clone" commands.

  Nevertheless, there should be a mechanism for users with the correct
  privileges to "push" or "pull" the REPORTFMT and CONCEALED table information
  from one repository to another.

  <hr><i>drh added on 2008-10-05 13:20:47:</i><br>
  The command "fossil config pull ticket" now pulls down the REPORTFMT table.
  It does not yet pull the CONCEALED table, but that seems like a reasonable
  thing to add, provided that steps are taken to insure that anonymous users
  cannot get a copy of the CONCEALED table in this way.

  <hr><i>drh added on 2008-10-26 02:38:28:</i><br>
  The "configuration pull email" command now pulls the CONCEALED table.
  This only works if the appropriate credentials are presented to the
  server, of course.  There is now also a "configuration push" command
  to send configuration data from local to remote.


tkt_uuid: 7772cc876e640d152e95b3629646fcc8fa4713c0
type: Feature_Request
status: Open
subsystem: one
priority: Immediate
severity: Important
private_contact: 473b773a4f9dc122abc58cae523c80a6d4e059b3
resolution: Open
title: Provide database access from TH scripts.
comment:
  I want to populate a ticket version selector with tag values from the tag table.
  It appears to be possilbe to put a 'proc' command in the common definitions for
  tickets and use it to reture values for a combobox but I don't know how to do a
  database select on the tag table. Is it possible to do a SELECT inside proc?

  Tom K.

  The (undocumented) TH scripting language is well-suited for doing this 
  kind of thing.  But doing so will require a bit of C code for linking 
  TH with SQLite.  Such code does not currently exist in fossil.

  This seems like a reasonable enhancement request.  I'll look into 
  adding it.  You might want to write a ticket to so that I don't forget.

  D. Richard Hipp

  <hr /><i>anonymous added on 2011-04-08 23:05:34 UTC:</i><br />
  What is the status of this ticket? I would really see this feature added.

  <hr /><i>anonymous claiming to be anonymous (claiming to be a Feral) added on 2011-04-10 22:17:51 UTC:</i><br />
  <blockquote>You might want to write a ticket to so that I don't forget. </blockquote>
  I am going with the assumption that this ticket(7772cc876e) is the aforementioned. As such I offer my "+1" vote to include this and echo Anonymous' comment directly above.

  <i>Thank you for Fossil!</i>

  <hr /><i>anonymous claiming to be RonW added on 2011-04-14 02:29:39 UTC:</i><br />
  It looks to me like the dateCmd function in th_main.c could be cloned and modified to create a new function to evaluate a string parameter as an SQL query.

  Of course, it might be desirable to add checking to this new queryCmd function before giving the string to sqlite.


tkt_uuid: f6bfac26484c826b8fdd33f9d93149a7279986da
type: Code_Defect
status: Closed
subsystem: one
priority: Immediate
severity: Critical
foundin: all
private_contact: 24b67375dd2ec6c7381a5ad34cfcf006f0b9c260
resolution: Not_A_Bug
title: Incorrent handling of unicode encoded files (fossil on win XP).
comment:
  While trying ro add file encoded in unicode (regardless of FEFF or FFFE byte order) fossil reports, that file was added, but while 
  displaying such files with artifact view(artifact), it shows only first 2 or 3 bytes of file.

  <hr><i>drh added on 2008-08-05 22:21:58:</i><br>
  Fossil stores all files as binary data.  There are never any encoding changes
  or attempts to interpret or translate text.  This is by design. 

  When displaying a file using the web interface, fossil assumes a UTF-8
  encoding.  Fossil does not record any mimetype information so there is nothing
  else it can do.  If you try to display a GIF file that using the web interface
  it will also come out looking funky when it tries to interpret the binary
  GIF file as UTF-8.

  I suppose the artifact viewer in the web interface could look at the file
  and try to make some guess at its mimetype.  But that is an advanced 
  capabiity.  I'm not sure we really want to go there.

  For now, let's just say that if you want to look at the file using the web
  interface, then the file needs to be UTF8.  If you want to look at non-UTF8
  files, the check them out (thus getting an exact replicate of the original
  file) and view them using an appropriate viewer for that file.


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: c858c4178bfe540131fb3cbdb09bb4ef08cd4920
type: Code_Defect
status: Fixed
subsystem: one
priority: Immediate
severity: Important
foundin: 4b56350ecb
private_contact: 63f4cb9d6971f7dbdee05412b8546975182b32e4
resolution: Open
title: Potential wrong commit comment shown at anchestors at /vinfo page.
comment:
  If you enter for instance the info page of [4c78a18ad2] and look under <b>Ancestors</b> for revision [ac392fbba6] you will find, that the commit comment displayed under <b>Ancestors</b> for that revision is the original commit comment and not the comment property that was set to change/correct the comment of said revision.

  <hr><i>chi added on 2008-08-14 16:19:59:</i><br>
  Three places in code where the comment was fetched from the DB preferred the original comment over the edited one. But all other places elsewhere do correctly prefer the edited over the original. For the field <tt>user</tt> <b>all</b> occurrences prefer the edited user over the original one.

  I corrected the three occurrences!


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: f2a2a6d0486eac70a7e4225e50929b4d403cd2bf
type: Code_Defect
status: Fixed
severity: Important
foundin: fossil-linux-x86-b3ee50c946
private_contact: 22e3b7a55e291d179313f4c2e34877f09743ee31
resolution: Fixed
title: error trying to retrieve settings
comment:
  Create a repository:

       fossil new fossil-test

  Try to retrieve settings:

       fossil setting -R fossil-test

  error:

  fossil: no such table: global_config
  SELECT '(local)', value FROM config WHERE name='autosync' UNION ALL SELECT '(global)', value FROM global_config WHERE name='autosync'


tkt_uuid: 5162d999af8adb67bdd6799bc89310b5aaab431d
type: Code_Defect
status: Fixed
subsystem: one
priority: Immediate
severity: Important
foundin: fossil-linux-x86-b3ee50c946
private_contact: c053fd6c479d6dc559808f3516cfca32cbc0699d
resolution: Fixed
title: error trying to retrieve settings
comment:
  Create a new repository:

  fossil new fossil-test

  Try to retrieve settings:

  fossil setting -R fossil-test

  error:

  fossil: no such table: global_config
  SELECT '(local)', value FROM config WHERE name='autosync' UNION ALL SELECT '(global)', value FROM global_config WHERE name='autosync'

  <hr><i>drh added on 2008-10-24 14:06:28:</i><br>
  Fixed by check-in [2c3b20efff]


tkt_uuid: cc8271389a5f135743dc59234b50de4325c1e041
type: Documentation
status: Fixed
severity: Important
private_contact: 24b67375dd2ec6c7381a5ad34cfcf006f0b9c260
resolution: Fixed
title: unable to check fossil-users Archives
comment:
  on page:
  http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
  there is a link to "To see the collection of prior postings to the list, visit the fossil-users Archives" poiting to:

  http://lists.fossil-scm.org:8080/pipermail/fossil-users/

  that link returns just:

  Not Found

  The requested URL /pipermail/fossil-users/ was not found on this server.
  Apache/2.2.3 (Ubuntu) Server at lists.fossil-scm.org Port 8080

  <hr><i>anonymous added on 2008-11-23 07:24:58:</i><br>
  Temporary fix is to replace "pipermail" in any mailing list archive reference to "cgi-bin/mailman/listinfo".

  There should be a way to fix this in Mailman's settings, but I do not know what that is.  Barring that, could there be a symlink from "cgi-bin/mailman/listinfo" to "pipermail"?

  <hr><i>drh added on 2008-11-23 11:54:59:</i><br>
  I did a "grep" of the entire Mailman file hierarchy and could not find 
  "pipermail" anywhere.  I did find the document that renders the pages that
  contain the "pipermail" link, but the URL is a macro of some kind that Python
  inserts as the page is rendered. I have been unable to locate the source of
  the "pipermail" URL.

  <hr><i>anonymous claiming to be Kees Nuyt added on 2008-11-23 23:25:31:</i><br>
  FYI, the correct address of "The fossil-users Archives" is :

  http://lists.fossil-scm.org:8080/cgi-bin/mailman/private/fossil-users/

  (Ref: message of drh on the list, Thu, 20 Nov 2008 20:58:41 -0500)

  <hr /><i>lrem added on 2011-09-14 16:24:28 UTC:</i><br />
  The front site contains now working links for both sign-up and archives.


tkt_uuid: c62fac40af0860d28ad287cb3f203581e00fc9c8
type: Code_Defect
status: Fixed
priority: Low
severity: Important
foundin: [b3ee50c946] 2008-07-15, [ed5179db1f] 2008-11-15 21:17:31
private_contact: fa3d79500802fb558cdda589d6f03fdcc3496420
resolution: Fixed
title: Edit CSS/HTML in Setup adds extra CR/LF, wrong http Content-length
comment:
  While editing CSS and HTML in Fossil Setup, extra CR/LF pairs are added to the text box and the calculation of the http Content-length header is wrong (as if those extra CR/LF pairs weren't added), so some content is dropped at the end of the webpage. I'm not sure what's the cause, it might be an apache-CGI problem.

  Environment: Running Fossil version [b3ee50c946] 2008-07-15 19:03:42 on Windows as CGI handler under Apache/2.2.6 (Win32), Server built: Sep 5 2007 08:58:56.

  Observed with Firefox and IE7 on Windows.

  The local fossil server http://127.0.0.1:8080/setup_editcss works as expected.

  I'm not sure this is related, but for many fossil generated pages, the apache httpd error log shows lines like:

  [Tue Sep 02 14:32:09 2008] [error] [client my.ip.add.ress] , referer: http://sub.domain.tld/fossil/sqlite/setup_editcss

  but the access log seems ok:

  my.ip.add.ress - - [02/Sep/2008:14:32:09 +0200] "GET /fossil/sqlite/setup_editcss HTTP/1.1" 200 8802

  I would like to try with the more recent Fossil version [4b56350ecb] 2008-07-24 15:08:13, but it isn't available for download as a prebuild Win32 binary, and I don't have a build infrastructure here.

  <hr><i>anonymous added on 2008-11-17 22:04:21:</i><br>
  It's not just the edit CSS in setup that shows it, other pages suffer as well, e.g. Timeline. It is easily detected by truncation of the fossil standard footer.

  I do have a build infrastructure now (MSYS/MingW on Windows), and I did research some sources, but I can't point at the exact error.

  <hr><i>drh added on 2008-11-18 02:28:09:</i><br>
  The fix in check-in [f6a071cef1] works for me on WinXP running under VMWare.

  <hr><i>anonymous added on 2008-11-19 23:52:05:</i><br>
  Thanks for the fix, drh. 

    *  Bad news: I'm afraid it didn't really fix it. The contents of the EditCSS textbox still have extra \r , so line spacing increases by one after every edit.

    *  Good news: stdout can be made binary with setmode(), which prevents the \n to \r\n translation.

  <verbatim>
  Patches for main.c:

  {line 30, in header includes}
  = #include <time.h>
  + #ifdef __MINGW32__
  + /* Define file mode constants */
  + #include <fcntl.h>
  + #endif

  {line 615, in cmd_cgi() }
  =  g.httpOut = stdout;
  + #ifdef __MINGW32__
  +   /* prevent \n to \r \n translation on Windows */
  +   setmode( _fileno(g.httpOut), _O_BINARY );
  + #endif

  The workaround in cgi.c, function cgi_reply() , is no longer necessary; the content-length header is valid.
  </verbatim>

  Full diffs will be posted on the fossil-users mailing list.

  Environment: Windows Vista, Apache httpd 2.2.9, mod_cgi, fossil [63886daad8] 2008-11-18 15:33:25 UTC


tkt_uuid: 65363298fdee0dc5f59b62312942d803e6685010
type: Feature_Request
status: Fixed
subsystem: one
priority: Immediate
severity: Minor
foundin: f3fb059eb66288b6f3e08f840868f9df4c7ac9fa
private_contact: 22e3b7a55e291d179313f4c2e34877f09743ee31
resolution: Open
title: Include bug report formats in update
comment:
  Bug report formats should be considered part of the project and downloaded from a master repository during a pull or sync operation.  When reviewing bug reports locally offline, one should have access to the same report formats as when working via the master repository web site.  

  It should also be possible to edit and tweak report formats offline and then upload to the master when satisfactory, just like code.

  <hr><i>drh added on 2008-10-05 13:34:18:</i><br>
  The philosophy of fossil is that nothing is ever removed from a repository.
  There is an exception mechanism to allow the removal of spam or other
  abusive content.  But we will want to make it a policy to never remove anything
  that is not abuse from a repository.

  So if a bug report format were part of the repository, that means no bug
  report format would ever be removable.  I do not think that is
  desirable.  Many users might want to make their own private bug
  report formats that show, for example, all bugs assigned to them.  We do
  not necessarily want these private formats being part of the repository
  forever and ever.  One can easily imagine that after a few years, a busy
  project might have hundreds or thousands of distinct report formats, and
  it would become difficult to select a desired format from amid
  all the extraneous private formats.  For this reason, bug report formats
  are deliberately not "artifacts" and are not synchronized by the usual
  "sync" mechanism.

  Beginning with check-in [bf75ea9852] (on 2008-10-04) you can pull bug report
  formats from a server using the command:

      fossil config pull ticket

  Also when you clone a repository, all of the bug report formats for that
  repository are cloned as well.  But the "config pull" mechanism is distinct
  from the usual synchronization logic.  New bug reports added to the server
  are not automatically pulled on the next sync; you have to manually repeat
  the "config pull".  And there is currently no such thing as a "config push".

  <hr><i>drh added on 2008-10-26 02:43:07:</i><br>
  Bug report formats are automatically pulled on a "clone".  And you can now
  push local bug report formats back to the server (if you have Admin
  privilege).  So I think this request has been satisfied.


tkt_uuid: 368a5d6c5bd9054037a9a8625a1851afa2e7d30a
type: Feature_Request
status: Fixed
subsystem: one
priority: Immediate
severity: Important
foundin: 4b56350ecb
private_contact: c053fd6c479d6dc559808f3516cfca32cbc0699d
resolution: Fixed
title: specifying a tag in command should default to the latest UUID with that tag
comment:
  It would be nice if specifying a tag in command defaulted to the latest UUID with that tag, rather than the earliest.

  When doing "fossil checkout tagname", expecting to get the latest leaf from that branch, but instead I got the original branch node that first got the tag. So branches in fossil don't act the way I assumed they would by analogy with other SCM systems. It seems that one still needs to use UUIDs for checkouts/commits to develop along a branch, using the branch name as a mnemonic isn't an option.

  <hr><i>drh added on 2008-10-24 13:49:44:</i><br>
  As of [e8c4f69c50], this appears to be fixed.  At least, the leaf check-in
  is selected for a branch tag when I try it.


tkt_uuid: 5cf318a1d08363c26a4d1ea1c857b7c083ed0837
type: Feature_Request
status: Fixed
subsystem: one
priority: Immediate
severity: Minor
foundin: f3fb059eb6
private_contact: c053fd6c479d6dc559808f3516cfca32cbc0699d
resolution: Fixed
title: Use latest UUID associated with a tag by default
comment:
  I created and named a branch in my repository using the "tag branch" command.  I then made some additional commits to the branch.  

  After syncing a repository on another computer, I did a checkout using the tag name for the UUID.  To my surprise, instead of getting the latest UUID associated with the tag, I got the earliest. 

  Using tags to label branches is of limited value if I have to look up the UUID of the branch's leaf anyway in order to continue development on the latest code.  It would be nice if I could rely on always getting the leaf UUID of the branch I'm working on when using tags in place of UUIDs.  It would make working on multiple branches easier and faster, since I wouldn't have to keep looking up UUIDs.

  <hr><i>drh added on 2008-10-24 13:54:24:</i><br>
  This appears to be the same problem as ticket [368a5d6c5b], which appears to
  be fixed now.


tkt_uuid: 4bf3cca894e603cec1bee9826bc4ef588b7a5318
type: Build_Problem
status: Closed
subsystem: one
priority: Low
severity: Minor
foundin: 20080917
private_contact: 4fdd2aed6e03ee0b29235a02eadd1e1591ce3afa
resolution: Fixed
title: TODO: Build flags for Solaris
comment:
  This is mostly a reminder to myself, as i'm not at a machine where i can commit the change:

  For the main Makefile:

  For OpenSolaris builds we need -lsocket. For Solaris 10 (maybe 9? what about 8?) we need -lsocket -lnsl. It probably can't hurt to add -lnsl for OpenSolaris, but i haven't got one up and running to try it out on.

  <hr><i>stephan added on 2008-09-18 11:22:31:</i><br>
  Fixed in commit #7dddab2fbe365927fbb6af30cc6edeb3a2204420.

  <hr><i>stephan added on 2008-09-18 11:51:37:</i><br>
  Corrected my confusion of the State=Fixed and Resolution=Fixed fields.


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

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

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

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

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


tkt_uuid: c7660d24bc54b8712f00b57fdfca0ee5d25de0a2
type: Build_Problem
status: Fixed
subsystem: one
priority: Immediate
severity: Critical
foundin: c699c491df
private_contact: ffb0604c1f3f32a7f7ee70fbcf652cefdcaf0ee4
resolution: Fixed
title: c699 builds incorrectly - runs mkindex before any translate
comment:
  c699 builds incorrectly - runs mkindex before any translate, so page_index.h is incomplete.

  With the resultant executable:

  $ ./fossil server
  ./fossil: unknown command: server
  ./fossil: use "help" for more information
  $
  $ make --version
  GNU Make 3.80
  Copyright (C) 2002  Free Software Foundation, Inc.
  This is free software; see the source for copying conditions.
  There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
  PARTICULAR PURPOSE.

  <hr><i>stephan added on 2008-09-21 19:01:44:</i><br>
  This is fixed in [d2ae873e9e].


tkt_uuid: 74814a6682bd0394bce5df9a1c6d276a482552db
type: Documentation
status: Fixed
subsystem: one
priority: Immediate
severity: Critical
foundin: 4b56350ecb
private_contact: 791d5832f0399524e7110df48d79836bff34e33f
resolution: Fixed
title: Typo on Wiki Formatting Rules Page
comment:
  --- SNIP ---
  Bullet Lists. A bullet list item are lines that begin with a single "*" character surrounded on both sides by two or more spaces or by a tab. Only a single level of bullet list is supported by wiki. For tested lists, use HTML.
  --- END SNIP ---

  "tested lists", should probably be "nested lists"


tkt_uuid: 2e3dc63382759b30928115313b47c6fd6051c34a
type: Incident
status: Deferred
priority: Low
severity: Minor
foundin: 4b56350ecb
private_contact: 791d5832f0399524e7110df48d79836bff34e33f
resolution: Open
title: Default Severity Annoying
comment:
  My last bug was supposed to be "Cosmetic" but it defaulted back to "Critical."  Appears to be no way to update the severity of a bug immediately after it's entered.  /sigh

  <hr><i>kkinnell added on 2008-12-09 16:21:02:</i><br>
  This is an issue with how the <b>fossil</b> main repository site is set up; for individual sites the repository admin has control over this.

  <hr><i>anonymous added on 2009-06-25 16:28:19:</i><br>
  as


tkt_uuid: 1f1e1f7a4c89214db81c7102a364695fbe44ae7d
type: Incident
status: Closed
foundin: 3.0
private_contact: b3ab4fcf884afe745f9f639b1e4ff5adc881c33f
resolution: Open
title: Client menu option hangs
comment:
  When clicking on the client menu option, system hangs.

  <hr><i>kejoki added on 2008-12-01 15:53:26:</i><br>
  Does anyone know what this ticket is about?

  <hr><i>kkinnell added on 2008-12-09 16:13:42:</i><br>
  Not able to resolve / may have been otherwise resolved. 


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

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

      fossil diff | open -f

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

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


tkt_uuid: 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: 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: 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: 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: 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: f90265fc83a6ca39998107a777d1ed6ef5d5edc3
type: Documentation
status: Fixed
severity: Minor
private_contact: da39a3ee5e6b4b0d3255bfef95601890afd80709
resolution: Fixed
title: branches
comment:
  Can you explain how to work with branches in details? For example with "mercurial" it woild be something like that:<br>
  # create testing branch<br>
  hg branch "testing"<br>
  # do some experimental work<br>
  ...<br>
  # back to main branch<br>
  hg branch default<br>
  <br>
  How can i do it with "fossil"?

  <hr><i>kkinnell added on 2009-01-29 17:06:09:</i><br>
  Please see the [./doc/tip/www/branching.wiki | branching] explanation by eric.  Required reading, really.


  <hr><i>eric added on 2009-01-29 17:14:24:</i><br>
  The above link is drh's new explanation. What I wrote originally was the [Branching | wiki entry on branching] which is now out of date (as it now says at the top).

  <hr><i>drh added on 2009-03-21 16:31:19:</i><br>
  Fixed by the addition of the [./doc/tip/www/branching.wiki | branching]
  document.


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: 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: 41bb23e65002895e71d5ff1670f2e72037d82678
type: Code_Defect
status: Fixed
priority: Immediate
severity: Minor
foundin: a1f727be9d
private_contact: 073f0e6044dde71b455edbcf5fe3e9aafd90cec8
resolution: Open
title: win32 fossil commit stops if many files added or edited.
comment:
  'blob_add_cr()' has buffer overrun if it requires to call 'blob_resize()'

  (declared in "blob.c") 'blob_add_cr()' increase 'Blob#nUsed' if Blob includes '\n'. and 'blob_resize()' update it, too. then it makes buffer overrun.

  here is my replacement
  <verbatim>void blob_add_cr(Blob *p){
    char *z = p->aData;
    int j   = p->nUsed;
    int i, n;
    for(i=n=0; i<j; i++){
      if( z[i]=='\n' ) n++;
    }
    j += n;
    if( j>=p->nAlloc ){
      blob_resize(p, j);
      z = p->aData;
    }
    p->nUsed = j;
    z[j] = 0;
    while( j>i ){
      if( (z[--j] = z[--i]) =='\n' ){
        z[--j] = '\r';
      }
    }
  }</verbatim>


tkt_uuid: d0a7fc67e94f697d0b554277f1e645f4c2b93354
type: Code_Defect
status: Fixed
severity: Important
foundin: 1e82c4 and previous
private_contact: 5c164664f608e8049128be696a3d13e04aa6fafd
resolution: Open
title: fossil crashes with assert() if non-existant sha identifier picked for checkout
comment:
  <verbatim>
  $ fossil info
  repository:   /home/bch/fossil_2/fossil.fsl
  local-root:   /home/bch/fossil_2/
  project-code: CE59BB9F186226D80E49D1FA2DB29F935CCA0333
  server-code:  d88c5ddc09c25be88a931b3f85fa44b1630bf715
  checkout:     1e82c4aa850e1b39add61dd40e99d2383404e153
  parent:       e44d7a4b5af0b66bf493ae55f0c8b71dc6ad46ed
  $ fossil leaves | head
  === 2008-10-25 ===
  19:35:04 [1e82c4aa85] *CURRENT* Fix the "number of tickets" counter on the
           "stats" webpage. (by drh)
  === 2008-02-22 ===
  22:37:54 [383c10f004] *MERGE* Merged bugfix [b3d61d7829] into this semi-
           abandoned branch just in case we will work on it again. Do it now
           instead of forgetting it later. (by aku)
  === 2008-02-19 ===
  13:58:14 [8c4b530084] tclfossil: added schema command (by mjanssen)
  === 2007-10-13 ===
  $ fossil checkout 383c11
  assertion "(pBlob)->xRealloc==blobReallocMalloc || (pBlob)->xRealloc==blobReallocStatic" failed: file "blob_.c", line 146, function "blob_reset"
  [1]   Abort trap (core dumped) fossil checkout 383c11
  $
  </verbatim>

  NOTE: All files now seem to be deleted...


tkt_uuid: d60f7f7109d21c99c2e4a2919287268b1b459d09
type: Feature_Request
status: Closed
severity: Minor
foundin: 3d62a9fb39
private_contact: a7ec239b1a3401c4229e18dead1ea4225e287fb9
resolution: Not_A_Bug
title: Provision to supply user name
comment:
  I have tested fossil on Win32 and it takes my Windows user name as fossil user name, which is not correct as:
  1. I have different user names on my office laptop vs. home PC.
  2. I cannot have Altu Faltu as my windows user name.

  Ideally, provision should be there to provide one username per repository.

  With current situation, I can have three names:
  1. My windows user name that is used by fossil automatically.
  2. My fossil-scm,org user name.
  3. The user name I give when generating GPG keys.

  Is there any relation between them?

  (I could not login as altufaltu today, not sure if it is my browser or website)

  - Altu

  <hr><i>drh added on 2008-10-26 16:05:29:</i><br>
  I believe you can set the default user like this:

  <blockquote>
  <b>fossil user default</b> <i>user-id</i>
  </blockquote>

  The default user set as above overrides any USER environment variable setting.
  You an also set the user for individual commands using the -U or --user command
  line switch.  For example:

  <blockquote>
  <b>fossil commit --user drh</b>
  </blockquote>

  The -U or --user switch overrides the user set by the "user default" command
  and the "user default" command overrides the USER environment variable.


tkt_uuid: 568f67962789247740660f523774f949b842214d
type: Incident
status: Fixed
severity: Minor
foundin: 3d62a9fb39
private_contact: a7ec239b1a3401c4229e18dead1ea4225e287fb9
resolution: Fixed
title: Version mismatch on precompiled binary
comment:
  If I download fossil from following URL, I expect fossil version 9e80dc66cf (2008-10-18 13:06:19 UTC):
  http://www.fossil-scm.org/download/fossil-w32-9e80dc66cf.zip

  But, if I run 'fossil help', I get a different number/date:
  ...
  This is fossil version [3d62a9fb39] 2008-10-06 11:33:23

  Is this expected or is older version put on net?


tkt_uuid: dcc81a9ab3fd4734777b5467f3407be0be1e940d
type: Incident
status: Fixed
severity: Minor
foundin: 9e80dc66cf
private_contact: a7ec239b1a3401c4229e18dead1ea4225e287fb9
resolution: Fixed
title: Incorrect version of prebuilt fossil binary
comment:
  I downloaded prebuilt fossil binary from http://www.fossil-scm.org/download/fossil-w32-9e80dc66cf.zip, to find that fossil.exe in this package is version 3d62a9fb39 instead.


tkt_uuid: ce458c35ca69678ba3e7c60c84d15419ac5475db
type: Code_Defect
status: Fixed
severity: Minor
foundin: 3d62a9fb39
private_contact: e06f2edd7ff93f17bfb037053ebbb85b6488deee
resolution: Fixed
title: Inconsistency between commands ls and status
comment:
  Files deleted outside fossil are reported by 'fossil status' as MISSING, while 'fossil ls' shows them as EDITED. I think it should be MISSING too.

  <hr><i>drh added on 2008-10-31 14:08:32:</i><br>
  Fixed by check-in [89d100b845]


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: 30f7206b2b061f03bf654cfe6e7ca62c23ff573e
type: Code_Defect
status: Fixed
severity: Critical
foundin: 3f5ef308fe
private_contact: c86c6f7c702240add8fdbe39c151406d01b37e2e
resolution: Fixed
title: Fossil not working on Czech (and likely some others non-US) Windows XP
comment:
  When trying to create new repository error 'unable to open database file' appears.

  c:\Projects>fossil.exe new test
  fossil: unable to open database file

  The problem seems to be due to accented character in the LOCALAPPDATA folder:
  c:\Documents and Settings\petr\Data aplikac&#237;\

  <hr><i>drh added on 2008-11-04 12:29:41:</i><br>
  See check-ins [dad7731f0e] and [c6a9e4ed41].


tkt_uuid: 5cebcf3548f3e8dcfb7fd60863545cb926b550a8
type: Code_Defect
status: Fixed
subsystem: one
priority: Immediate
severity: Critical
private_contact: e44a3d2922a30493163b2e4fba8da23a3eb08d57
resolution: Fixed
title: Bug reports should not force severity
comment:
  Bug report editing should allow empty severity and other fields.

  <hr><i>drh added on 2008-10-24 15:03:04:</i><br>
  Testing a fix by adding a comment.

  <hr><i>drh added on 2008-10-24 15:03:28:</i><br>
  Testing the fix by adding a comment.

  <hr><i>drh added on 2008-10-25 19:17:40:</i><br>
  Adding a remark.


tkt_uuid: 3711fc7cfd21d7f868484bea0044a029313507fb
type: Feature_Request
status: Fixed
severity: Minor
foundin: all (to date)
private_contact: e64e062ff7022fc7fdd41ac56baff07e8ae485d9
resolution: Fixed
title: A default port option in fossil settings would be nice.
comment:
  It is tiresome to constantly type --port=<whatever> when using fossil server or fossil ui.  Typically if the default port is in use on a system it is ALWAYS in use.  I suggest a "fossil setting default-port 3030" (or similar) command for global and/or repository levels of settings.

  <hr><i>drh added on 2008-11-09 23:04:26:</i><br>
  See check-in [e70160a9be].


tkt_uuid: 7168128e099238f060a94e06ef9cfe29c373f8b2
type: Feature_Request
status: Fixed
severity: Minor
foundin: all (to date)
resolution: Fixed
title: Add a setting for the default server port
comment:
  It is tiresome always specify an alternative HTTP port using --port 
  command-line option.  A setting to specify an alternative would be a
  nice enhancement.

  <hr><i>drh added on 2008-11-09 16:24:54:</i><br>
  See check-in [02f09cdd6c]


tkt_uuid: 1b4f9f30c1745f2ee7013a647cdc8f9bcff0d46f
type: Code_Defect
status: Fixed
resolution: Fixed
title: Error when submitting a new bug report.
comment:
  An error occurs when trying to submit a new bug report:

     no such variable: tkt_datetime

  <hr><i>drh added on 2008-11-09 23:02:41:</i><br>
  See check-ins [2664476fbc] and [6eddf50cfe].


tkt_uuid: 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: 46f90ea2c1d2ecf1c5a5037bbf9b3b081d85c3f9
type: Documentation
status: Fixed
severity: Minor
foundin: c66ffba6da, e.g.
private_contact: b060c7801d9aa35179e5b9af3c79b6c2693068bc
resolution: Overcome_By_Events
title: Field not found error : don't forget to rebuild repos after upgrade!
comment:
  Looking through your files and clicking a version gets a file page,
  but the changes, leaves, descendants and ancestors don't show up.

  Instead, there's an sqlite3 error message about a non-existent field...
  or something.

  Oops.  The repository format changed!  Don't forget to<code> fossil rebuild </code> your repository (or<code> fossil all rebuild </code> your repositories.)

  <hr /><i>joerg added on 2011-03-25 01:06:22 UTC:</i><br />
  [c0c3d92340] added an explicit check for the schema version.


tkt_uuid: cc6557cfc5763fa80bb04eecea7f713b0751efc4
type: Feature_Request
status: Fixed
severity: Important
foundin: all
private_contact: fbd02a899925c387fbd77e1deb2bc90fa8921134
resolution: Fixed
title: Unicode support
comment:
  cann't use unicode character in many places.
  sqlite is a full unicode supported db system, please consider to add unicode support and make default charset of webpage is "utf-8".

  <hr><i>drh added on 2008-11-14 14:11:41:</i><br>
  Please provide more detail.

  You say fossil "can't use unicode character in many places" but you do not
  specify what places.  Petr Struc got fossil working for Czech as part of
  ticket [30f7206b2].  Are you saying that his changes missed some places and
  that addtional changes are needed?  What exactly is not working.

  Recognize that the main developers of fossil run on unix (Linux and Mac OSX)
  where everything is always UTF8 all the time.  We never have to deal with
  goofy windows character sets and have no way discovering or testing for
  character set problems on windows.  Everything just works for us. If you 
  want us to work on this issue, you need to give us more hints.

  <hr><i>kkinnell added on 2009-01-29 18:42:02:</i><br>
  I think the issue here and the wikiname issue in [0a0f00d434] probably relate.


  <hr><i>anonymous added on 2009-02-01 08:53:37:</i><br>
  What he means is that the webpages are not served as utf8, so characters outside the us-ascii (what firefox tell me this page is encoded in) will not get through to fossil when sending post information with utf8 characters.

  also, it seems these pages are served with this http header:

    Content-type: text/html; charset=ANSI_X3.4-1968

  setting charset to utf8 might help (or adding meta tag)

  <hr><i>kkinnell added on 2009-04-07 15:03:25:</i><br>
  I have Firefox set to use UTF-8, and when I display the page info and the response headers, the encoding in use is UTF-8.  This is what I get whether I'm looking at the online repository or any of my local repositories.

  You can usually force a browser to use whatever encoding you want as long as the server will supply it, and in Fossil's case it will supply UTF-8.

  I use UTF-8 code points in comments all the time&#8212;including this comment.  For me, it displays correctly.  I'm sure for some it displays as <code> &amp;#8212; </code> or perhaps a different number (or two in the worst case.)

  The only place I've found where Fossil is at all "ill-mannered" about encodings is it's insistence on using "entified" versions of multi-byte characters in the titles of wiki pages.  It's not even clear if that is a bug.

  99.9% of the problems with encodings stem from a mismatch between the encodings two disparate systems are using.  If the web server will serve multiple encodings, but your browser is allowing a default that isn't what's wanted, then the encoding will appear to be wrong.

  The fast and loose way that some OS' and other software will switch encodings to make using them "friendly" doesn't help.  The best bet is to pick some UC and set everything on your system to use it, ask for it, and complain when it isn't available.  If you generally hit sites where Latin-1 would work, you should probably set everything to UTF-8.

  Encodings are thorny.  If something isn't displaying correctly, make sure you check every setting (and there are a LOT of places to set an encoding.)  If you're using a non-unix or not-unix-like system, you will need to do a lot more checking.

  <hr /><i>dmitry added on 2011-09-09 22:25:00 UTC:</i><br />
  Fixed in [daacc139a5].


tkt_uuid: 289890d62b25566652f985cf5ca6bc87ffe69598
type: Feature_Request
status: Closed
foundin: 9fd8009007
private_contact: 415e0995a701d06ba678a6d1c872908bdb32a7d2
resolution: Works_As_Designed
title: "Owner" or "Assigned To" field for bug reports
comment:
  When bugs are pushed and become merged in a master Fossil repository, it would be helpful to be able to identify my own bugs in the list. Especially when viewing the Open list.

  <hr><i>drh added on 2008-11-15 13:05:02:</i><br>
  The available ticket fields and how they are displayed can be changed
  for each project and for each repository.  So you can add "Owner" or
  "Assigned-To" fields or whatever other information you think is helpful
  for your project.

  We do need documentation on how to modify the ticket setup, though.

  Are you suggesting that "Owner" should be a field in the default setup?


  <hr><i>anonymous claiming to be Al Gonzalez added on 2008-11-18 04:55:36:</i><br>
  Please disregard this request, instead of just reviewing the online repository I probably should have played with it on my machine before opening a bug. I had not realized how flexible Fossil was in customizing the input and output of the product.


tkt_uuid: 4f6b211d6b2fa9eb632e031645075904c2bb561c
type: Code_Defect
status: Closed
severity: Important
private_contact: 24b67375dd2ec6c7381a5ad34cfcf006f0b9c260
resolution: Not_A_Bug
title: some new wikis not visible as wiki
comment:
  It seems that since check in 	[67f44bb301] or around, new wikipages aren't show as wiki but only visible as artifacts.
  In my case, I can see content of(www/reference.wiki) by:
  http://www.fossil-scm.org/fossil/artifact/3818

  but when I check the wiki link,  I see only empty page:
  http://www.fossil-scm.org/fossil/wiki?name=Reference

  older wikis are still visible:
  http://www.fossil-scm.org/fossil/wiki?name=Documentation+outline

  It behaves the same way on fossil site with "Fossil version [9fd8009007] 2008-11-09 22:43:04" or on my local clone of fossil repository with "Fossil version [c66ffba6da] 2008-11-10 19:54:53"

  <hr><i>drh added on 2008-11-15 12:54:41:</i><br>
  I think you are confusing wiki with
  [/doc/tip/www/embeddeddoc.wiki | embedded documentation].
  Both use the same markup, but embedded documentation is part
  of baselines that are checked in and embedded documentation uses
  different URLs.


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: f5e414efde8c3ddf71a05d392cf64f245bf946cc
type: Feature_Request
status: Fixed
severity: Minor
resolution: Fixed
title: Need a "Preview" button when editing a ticket
comment:
  The preview is especially needed on the Comments section where
  the user is allowed to enter wiki - which might not be rendered
  as expected.  There already is a Preview on the "New Ticket" page.
  It should not be that much trouble to add the same to the 
  "Edit Ticket" page.

  <hr><i>kkinnell added on 2008-11-25 20:22:28:</i><br>
  Here is a "cut & paste" patch for version dec2c22d9d.

  Setup->Tickets->Edit Ticket Page

  Copy the default html, and paste it into a file.

  Copy the patch text below, and paste it into a different file.

  Run "<code>patch -c <i>default file</i> <u>patch file</u></code>"

  Then clear out the html in the text area on the Edit Ticket Page and cut&amp;paste the patched text.

  The changes just adding buttons and connecting them to display areas, but it's easier to explain it in <i>diff -c</i> than it is in English.  :)

  <nowiki><pre>
  *** distedit.th1        2008-11-25 14:06:08.000000000 -0600
  --- prvwedit.th1        2008-11-25 14:03:41.000000000 -0600
  ***************
  *** 60,65 ****
  --- 60,66 ----
       wrap="virtual" class="wikiedit">$&lt;comment>&lt;/textarea>&lt;br>
      &lt;input type="hidden" name="eall" value="1">
      &lt;input type="submit" name="aonlybtn" value="Append Remark">
  +   &lt;input type="submit" name="prevw1btn" value="Preview">
    &lt;th1>enable_output [expr {!$eall}]&lt;/th1>
      Append Remark from
      &lt;input type="text" name="username" value="$&lt;username>" size="30">:&lt;br>
  ***************
  *** 67,73 ****
  --- 68,92 ----
       wrap="virtual" class="wikiedit">$&lt;cmappnd>&lt;/textarea>&lt;br>
    &lt;th1>enable_output [expr {[hascap w] && !$eall}]&lt;/th1>
      &lt;input type="submit" name="eallbtn" value="Edit All">
  +   &lt;input type="submit" name="prevw2btn" value="Preview">
    &lt;th1>enable_output 1&lt;/th1>
  +
  + &lt;th1>enable_output [info exists prevw1btn]&lt;/th1>
  + &lt;tr>&lt;td colspan="2">
  + Description Preview:&lt;br>&lt;hr>
  + &lt;th1>wiki $comment&lt;/th1>
  + &lt;hr>
  + &lt;/td>&lt;/tr>
  + &lt;th1>enable_output 1&lt;/th1>
  +
  + &lt;th1>enable_output [info exists prevw2btn]&lt;/th1>
  + &lt;tr>&lt;td colspan="2">
  + Description Preview:&lt;br>&lt;hr>
  + &lt;th1>wiki $cmappnd&lt;/th1>
  + &lt;hr>
  + &lt;/td>&lt;/tr>
  + &lt;th1>enable_output 1&lt;/th1>
  +
    &lt;/td>&lt;/tr>
    &lt;tr>&lt;td align="right">&lt;/td>&lt;td>
    &lt;input type="submit" name="submit" value="Submit Changes">
  </pre></nowiki>

  Hrm.  I wish I'd had the preview before I submitted this; I would've realized I need to change all of those '&lt;' chars into '&amp;lt;' sequences.

  <hr><i>drh added on 2008-11-26 02:40:03:</i><br>
  Preview button similar to what is described above was added to the
  default ticket configuration by check-in [6bcff72d23].  Existing
  repositories will want to import these changes.  The easiest way
  to do this after upgrading the fossil executable to version
  [6bcff72d23] or later is to go to

     Setup ->  Tickets  -> Edit_Ticket_Page

  And there select "Revert To Default"


tkt_uuid: 2a34de01fccda62fc49052c2bb2ef85adee27f62
type: Feature_Request
status: Open
severity: Minor
resolution: Open
title: "wiki unlist" as a possible solution to deleting wiki pages.
comment:
  After thinking through the ``problem'' of deleting old, unused, badly named or
  transferred to .wiki file pages I'm thinking that deleting a wiki page is not the
  solution.  Maybe changing the tag ("wikiUnlisted-whatever" ?) and allowing it to
  be a new page would be a better solution.  It never leaves the db, it could be
  revived, you could query a list of "deleted" wiki pages, etc.  If someone did
  reuse the name, the page would come up with a lot of history, but part of that
  would be a "page unlisted", so it shouldn't be too confusing.

  <hr><i>drh added on 2008-11-16 23:40:56:</i><br>
  The control artifacts that describe 
  [/doc/tip/www/fileformat.wiki#wikichng | wiki changes] contain 
  a manditory W card that holds the content of the wiki page.
  Perhaps we can extend the spec to make the W card optional.
  If the W card is omitted from the most recent wiki page artifact
  for a particular page, then we consider that page to have been
  deleted and it does not appear on the list of all "active"
  wiki pages.  The artifact with the omitted W card causes a
  timeline entry that says something like "page deleted".

  What privilege is needed to delete a page?  Seems like deleting
  pages is something that should normally be denied anonymous users.
  Do we need a new privilege letter for "delete wiki page"?

  Perhaps there should be two lists:  One list of all active wiki
  page and another list of all wiki pages, active and deleted.

  <hr><i>kkinnell added on 2008-11-17 02:24:55:</i><br>
  Sounds pretty reasonable to me.

  My previous wiki experience is that either admins or owners can delete whole pages, but you can get into knotty problems defining ownership if several people have edited a page.  I would think that privelege to delete should be the same as the privlege required to shun.  They're very similar operations, really. 


tkt_uuid: 1dd22c3a2b5585db58f4b331e436793a0b277608
type: Feature_Request
status: Closed
severity: Cosmetic
foundin: [f6a071cef1] 2008-11-18 02:21:00
private_contact: fa3d79500802fb558cdda589d6f03fdcc3496420
resolution: Fixed
title: Setup : CSS : Edit CSS misses 'Revert To Default' button
comment:
  It would be consistent with similar pages to have a 'Revert To Default' button on the Edit CSS page as well.

    *  Setup : CSS : Edit CSS : Has 1 button: 'Apply Changes'
    *  Setup : Header : Edit Page Header : Has 2 buttons: 'Apply Changes' and 'Revert To Default'
    *  Setup : Footer : Edit Page Footer : Has 2 buttons: 'Apply Changes' and 'Revert To Default'

  <hr><i>anonymous claiming to be Kees Nuyt added on 2008-11-27 23:30:16:</i><br>
  Solved 2008-11-26 22:24:45 by "eric" in [adefb6c8db].

  Thanks Eric!


tkt_uuid: d1cdb1bfa181487f2c5944f94e3b63f26e440be0
type: Documentation
status: Fixed
severity: Minor
private_contact: b7fe49b64f1db13e63b9adce053ded80d95f5c0e
resolution: Fixed
title: Leaf functionality unclear
comment:
  This is a request for documentation that covers leaves. I assume it is similar or synonymous with branching in other SCMs, but I wasn't able to find any documentation that goes into detail about it or confirms it. If the documentation already exists, I apologize, in which case, perhaps it can just be made easier to stumble upon.

  <hr><i>kkinnell added on 2008-11-19 15:25:47:</i><br>
  There is quite a bit of <b>fossil</b> that is not yet verbosely documented, or documented at all.  The project hasn't had anyone who's primarily a documenter
  until recently (a lot of projects suffer from this problem.)

  This explanation of <a href="http://betterexplained.com/articles/intro-to-distributed-version-control-illustrated/">distributed SCM</a>,
  while it fails to mention <b>fossil</b> (a glaring oversight!) will at least
  be another source for clarifying things a bit.  

  <hr><i>kkinnell added on 2008-11-19 16:42:18:</i><br>
  Sorry, I'm trying to do too much at once and doing it all badly...

  I meant to mention that the explanation doesn't explicitly say anything
  about what a "leaf" is, but it gives a good overview that should make what a leaf is clearer.  A leaf is a good old computer science bottom-of-the-tree node.
  It's derived from a basis, and has no descendants.  Branches and leaves in a
  distributed scm are just side effects a lot of the time; it's up to the
  participants to merge them back into a basis.

  <hr><i>eric added on 2008-11-19 16:56:23:</i><br>
  At one point it mentions "heads" - it means leaves.

  <hr /><i>lrem added on 2011-09-14 15:09:09 UTC:</i><br />
  It is now explained here [/doc/trunk/www/branching.wiki].


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: ca08d51f19e34404ee0e174ff7e1123ab1eacf1d
type: Documentation
status: Fixed
severity: Important
foundin: c66ffba6da
private_contact: fe737e01cc8fe7212a9268abcc0d6c1920872d3d
resolution: Fixed
title: default users and passwords are not well documented
comment:
  As a new user, I installed Fossil on a remote Linux server, created a repository, and ran 'fossil server' using my repository. Then I ran the browser on my Windows PC. Not knowing any better, I logged in as anonymous. I tried to configure my repository as documented on the Quickstart page, but the Setup link was not available on the menu bar. 

  I made a significant but not exhaustive search through the online documentation, but did not find anything helpful. Eventually it occurred to me to run SQLite to see what was in the database, and from there I found that a user had been created with the name of the Linux account from which I created the repository. This account had a blank password, but I could not log in with a blank password. I used SQLite to change the password and then I could log in as that user. Since that user had the Setup privilege, I could now use all the features in the system. 

  A person running into this difficulty might abandon further exploration in the project and never return. In addition to prominently documenting the default accounts and passwords, I think the default Setup account should start with a non-blank password.

  <hr><i>drh added on 2008-11-20 00:45:52:</i><br>
  If, instead of installing your repository on a server right away, you
  had simply typed:

      fossil ui <repository-name>

  Then a webbrowser would have popped up automatically and with full
  setup privileges.  The default configuration is that any connections
  coming from 127.0.0.1 have setup privilege.  You can change that
  on the Setup/Access screen.  But the default is useful in that it lets
  you set up lots of user accounts without first having to create a
  "setup" user using the command-line.

  Nevertheless, we will try to figure out a reasonable place to put an
  explanation of your problem and its solution in the documenation.

  <hr><i>drh added on 2008-11-20 01:10:33:</i><br>
  Rather than add documentation (which is likely to be hard to find)
  how about this approach.  When a new repository is created, a random
  password is created for the administrator and that new password is
  printed on standard output along with the other text that is normally
  printed when a new repository is created.  Then a user can use that
  password to log in initially (and presumably change the password to
  something different.)  This was added in check-in [0c6ea0d93f].  We'll
  give it a try and see if that helps.

  Some people might object because the initial password is printed on
  screen - allowing it to be read over-the-shoulder.  The intent of this
  initial password is to be temporary, so hopefully that will not be
  a serious concern.


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: 6bc1b5d7a7f2bb2407b60c9ea5c15a2bb7a10f86
type: Code_Defect
status: Closed
severity: Important
foundin: fossil-linux-x86-dec2c22d9d
private_contact: 22e3b7a55e291d179313f4c2e34877f09743ee31
resolution: Works_As_Designed
title: Can't log out
comment:
  I created a new repository file and did 'fossil open' on a new empty code directory.  I did 'fossil ui' to get to the web page and found that I was logged in as my Unix login username.

  I went to the setup page and created a new user with full privileges.  Then I went to the logout page and tried to log in as the new user.  No effect.  Still logged in as Unix user.

  I went back to the logout page and hit the logout button.  No effect.  Still logged in as Unix user.

  <hr><i>drh added on 2008-11-23 11:42:25:</i><br>
  By default, web connections from 127.0.0.1 have full setup privilege without
  needing to log in.  To disable this, go to Setup:Access and check the box
  at the top that says "Require password for local access".


tkt_uuid: 70dd0271356813e9c17c8c84d0957f6a5e1f4ae3
type: Feature_Request
status: Closed
priority: Low
severity: Minor
foundin: Fossil version [a8c3a7ea92] 2008-11-22 19:32:44
private_contact: a2024467242089d1dce2d3a24ac29a8241112db9
resolution: Drive_By_Patch
title: "View Ticket" needs creator
comment:
  When viewing a ticket, it would be helpful to know who opened the ticket, similar to the way you can see who added additional comments.

  <hr><i>drh added on 2008-11-23 12:00:39:</i><br>
  The "Contact" field contains that information, if I understand you correctly.
  But the information is an email address. Many people prefer to keep their
  email addresses private (to minimize spam, I suppose) and so that Contact field
  is not shown unless you are logged in as a user that has the "e" privilege.

  To help prevent exposure of email addresses, SQLite does not store the email
  address in the artifacts that comprise the ticket.  Instead, it stores a
  SHA1 hash of the email address.  A separate database table (the CONCEALED table)
  stores a translation from SHA1 hash back to email address.  The CONCEALED table
  is not transferred on a "clone" or "sync".  You can get a copy of the CONCEALED
  table by doing:

      fossil config pull email

  But that will only work if the person doing the pulling has the "e" privilege
  set.

  <hr><i>anonymous added on 2008-11-24 14:58:24:</i><br>
  I was actually referring to the logged in name of the user who reported, not the email address.  I agree that that should not be displayed.

  For example, this ticket should say "anonymous" since I do not have a login on this system.

  The reason I requested this:  in my company, only the person who opened a bug may close it, the person who fixed it marks it "fixed".  It is helpful to know at a glance who opened a ticket.

  <hr><i>eric added on 2008-11-24 15:36:00:</i><br>
  The userid is available in the ticket history page, do you need more than that?

  <hr><i>anonymous added on 2008-11-24 20:56:32:</i><br>
  Yes, it would be nice to have it on the "View Ticket" page (tktview).

  <hr><i>kkinnell added on 2008-11-25 18:06:41:</i><br>
  You can deal with this by changing your New Ticket HTML.

  Setup->Tickets->New Ticket Page

  The text edit has a copy of the html+th1 code for doing new tickets,
  at the very top is

  <nowiki><pre>
  &lt;th1>
    if {[info exists submit]} {
       set status Open
       submit_ticket
    }
  &lt;/th1>
  </pre></nowiki>

  If you change that to

  <nowiki><pre>
  &lt;th1>
    if {![info exists username]} {set username $login}
    set pstr "[htmlize $login]"
    if {$username ne $login} {
        set pstr "$pstr claiming to be [htmlize $username]"
    }
    set pstr "$pstr posted on [date]"
    if {[info exists submit]} {
       set status Open
       set comment "$pstr\n\n$comment"
       submit_ticket
    }
  &lt;/th1>
  </pre></nowiki>

  You'll get 'so & so posted on somewhen' at the very top of the
  first comment in a ticket.

  Caveat: I haven't tested this quite as extensively as I might...

  Th1 isn't documented much&#8212;yet&#8212;but it's basically specialized Tcl.  You can do quite a bit of customization with it, including changing sqlite tables to suit you.

  <hr><i>anonymous claiming to be kkinnell added on 2008-11-26 15:43:38:</i><br>
  I made that way too hard.  There isn't any need to know anything but the login.  You can just add <nowiki><pre>
      set comment "&lt;i>[htmlize $login] posted on [date]&lt;i>&lt;br>\n$comment"
  </pre></nowiki>
  above the <code>submit_ticket</code> command.


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

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

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

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

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

  <pre>fossil help open</pre>

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

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


tkt_uuid: 6cd35b3ca5b47cbd524787a9ea78809287504b0f
type: Code_Defect
status: Closed
foundin: dec2c22d9d
resolution: Rejected
title: self referring links determined wrong in cgi mode
comment:
  In cases where the cgi is called called by a handler and not directly in the url fossil generates ugly links. you can see an example of this at http://roxirc.lighter.net/. suggest using REQUEST_URI rather than SCRIPT_NAME

  <hr><i>drh added on 2008-11-26 02:09:52:</i><br>
  I looked at [http://roxirc.lighter.net/] but I didn't find any ugly links,
  at least not links that I think are ugly.  Perhaps you could provide some
  example of the ugly links you have in mind and your suggested improvements.

  <hr><i>kkinnell added on 2008-12-01 15:23:02:</i><br>
  [RockShoxBugs] has this listed & struck; the bug is not visible at the given URL.  I believe this can be closed.

  <hr><i>anonymous claiming to be rockshox added on 2008-12-02 18:43:17:</i><br>
  sorry i couldnt get back to you sooner. please take another look at http://roxirc.lighter.net you will notice there is no cgi in the url, but all the links have fossil.cgi in them. if you click any link and then remove the fossil.cgi the page still works fine. the apache config for this is:

  DirectoryIndex home

  &lt;Location "/fossil.cgi">
  SetHandler None
  &lt;/Location>


  <hr><i>anonymous added on 2008-12-02 18:44:07:</i><br>
  i forgot 2 lines


      Action fossil /fossil.cgi 
      SetHandler fossil


  <hr><i>drh added on 2008-12-03 14:44:05:</i><br>
  According to [http://www.ietf.org/rfc/rfc3875 | rfc3876], REQUEST_URI is not
  a part of the Common Gateway Interface (CGI) specification.  SCRIPT_NAME is
  what should be used to create self-referential hyperlinks.

  Everything works correctly as currently implemented.
  You are asking for a change that
  will make URLs more cosmetically appealing when using fossil under a particular
  configuration of Apache.  Cosmetics are nice.  But everything works now.  And
  to implement this change would probably break other configurations.  I think
  it is much better to confirm to standards and work across all platforms than
  to try to make the URLs a little shorter when using certain configurations
  of Apache.

  Apache is widely used, but it is not universal.  The main fossil website
  is an example of a website that does not use Apache.  www.fossil-scm.org
  uses a single-file webserver dispatched using inetd and called 
  [http://www.sqlite.org/docsrc/finfo?name=misc/althttpd.c | althttpd].


tkt_uuid: e36b52c1da7f0e49e97e16b551d85ed6b5c2dfc2
type: Feature_Request
status: Open
private_contact: c76260317d907e593238775e171317aff2baec12
resolution: Open
title: make wiki (code?, bugs?) searchable
comment:
  Search is a very useful feature to have

  <hr><i>anonymous added on 2008-11-26 22:55:35:</i><br>
  For what it's worth, you can do source code searches with a lot of editors out there, particularly the ones that support [http://cscope.sourceforge.net/ | Cscope].


  <hr><i>anonymous added on 2009-12-08 19:37:06:</i><br>
  Yes, I can use cscope et al, but sometimes you need to do a search (grep) on older, checked-in, versions.

  <hr><i>anonymous added on 2009-12-23 15:43:35:</i><br>
  See http://trac.edgewall.org/search for example of search feature request.

  <hr><i>anonymous added on 2009-12-23 17:28:48:</i><br>
  Since I am living in huge text files (todos, notes, etc), a grep over different versions of these files would be perfect.  Something like hg's grep subcommand over all files and all revisions.

  First, I thought this was an easy change, but having seen the internal diff format and the sources, I found that this might not be so easy -- at least for me...

  <hr><i>anonymous added on 2009-12-24 14:12:55:</i><br>
  full text search like fts library inside fossile.exe?

  <hr><i>anonymous added on 2009-12-28 21:50:06:</i><br>
  Thanks for the hint.  Yup, something like that will most probably do the job.  Will check this one out.

  <hr><i>ron added on 2010-01-25 10:02:45:</i><br>
  Checkin [07bd8796dc91cc6cd631481f5b1712809becf1e6] add search to wiki, although it only searches wiki page titles.

  <hr><i>jeremy_c added on 2010-01-25 14:14:06:</i><br>
  Why not have it search the body as well?

  <hr><i>ron added on 2010-01-25 14:28:02:</i><br>
  only because I wasn't sure how to do that ...

  <hr><i>ron added on 2010-01-25 20:33:49:</i><br>
  Well, it's not straightforward to search wiki page contents, since the pages are stored as BLOBs and I don't see any easy way to search a BLOB.

  It would be really nice if there were a helper function in SQL like "blobsearch(text)"... but it would still have to perform the uncompressing of the BLOB before doing the search through it. 

  <hr><i>anonymous added on 2010-01-25 22:00:06:</i><br>
  The same applies to search in code (see above remarks on that) :-(

  <hr><i>anonymous added on 2010-02-04 13:54:52:</i><br>
  Back in April 2009 there has been some drh notes on fossil mailing list about searching/using FTS
  on repositories, for details see e.g. [http://lists.fossil-scm.org:8080/cgi-bin/mailman/private/fossil-users/2009-April/000695.html]
  where:

  <pre>
  It has been "considered".  But little action has been taken yet....

  I did modify the makefile so that the Full Text Search engine of  
  SQLite is complied in.  I was thinking that might be useful for  
  implementing search.  But so far it is unused.

  An interesting research project would be to try to figure out how to  
  do search across all historical versions of a project.
  </pre>


  In march 2009 there was an offer to help with "free advice on how to proceed" with integrating SQLite CLI to fossil by drh.

  Would it be possible to provide some hints, e.g. for searching content of artifact in compressed/deltified blobs?

  Hopefully this would allow more interested peole to focus on implementation of this needed functionality.

  Many thanks.

  <hr><i>anonymous added on 2010-02-04 17:13:49:</i><br>
  Actually, this is the only thing holding me back from using fossil :-(  I was trying to understand the data format used in fossil and just try and hack a simple way through.

  Idea was to decode all artefacts and just try to find simple strings.  But I'm already sucking here.  Or will fts take care of that all?

  Seems that the efficient data format does not make it easy to do such things as text searches...

  <hr><i>anonymous added on 2010-03-02 21:22:16:</i><br>
  It seems that recently implemented features in fossil  (e.g. ticket search, datetime string used as hyperlink to timeline,  graph of changes in the timeline) could be a part of general effort to bring interfaced artefact search into fossil. If so or not are there plans (which could be revealed) about implementing search in fossil? Maybe implementing this request on higly compressed and efficiently stored artifacts pose some prohibitive computational penalty on this otherwise low resource application. Even it that case it would be really nice to hear some remarks.

  Is there any way how can casual user of fossil help with this much needed feature?


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

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

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

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

  --rockshox


tkt_uuid: 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: 39f3294e213111a51e93d02fef6faa0062979619
type: Feature_Request
status: Fixed
severity: Cosmetic
private_contact: c76260317d907e593238775e171317aff2baec12
resolution: Fixed
title: make fossil recognize cgi errors from remote repository
comment:
  If you are trying to sync and there is a problem with a remote database fossil will return an error like "unknown command &lt;H1&gt;Database". this can be very misleading for new users. while its not possible to make a cgi return an http code other than 200 it should be possible to recognize your own error messages and display something more appropriate.

  <hr><i>drh added on 2008-12-07 18:50:57:</i><br>
  See check-in [2be82dcc2aba6fdcb5fed4ca4eebaf216403eb64]


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

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

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


tkt_uuid: 7636b10ddf5aed1d1d53ff90761e538a84c65072
type: Feature_Request
status: Open
severity: Minor
private_contact: c76260317d907e593238775e171317aff2baec12
title: option to abort checkin if comment is empty
comment:
  Opening a bug for documentation and commenting purposes. I saw this was fixed in 6f0a9f730b which is great. what would you think about making it Y/n instead of y/N? this still allows an abort while making it easy for people who use empty comments.


tkt_uuid: 500a94b9e57eb1ebd6e03d144ad59aaf347f0b99
type: Feature_Request
status: Review
foundin: all
private_contact: c76260317d907e593238775e171317aff2baec12
resolution: Open
title: link checkins and relevant tickets
comment:
  when a checkin comment features a link to a bug, append a comment to that bug with a link to either that checkin, or the diff of that checkin to previous version. include the checkin comment in the bug comment as well.

  <hr><i>kkinnell added on 2008-12-27 18:02:40:</i><br>
  This may have been implemented by check-in [426a3ba49ebb066c192e29e62b07a65854e840c7] (in which case I missed something, but it may just be the developer discipline mentioned below.)

  If this request hasn't been implemented...

  I see the convenience of this, but it's more a matter of developer discipline than anything, isn't it?  I don't think you can actually remove the need for review of the tickets affected by a commit.

  Suppose you make a change that affects two tickets, then back it out and commit a change that affects only one of them?  At that point, you'd have a ticket with an "affected by commit" comment and a second "affected by commit" comment, with no effective change in the code.  You surely would <em>not</em> want to back out any other changes to the baseline, so it wouldn't by very safe to back out ticket wiki changes&#8212;you could be "backing out" to a new leaf, instead of the baseline you had at the first commit.

  It would be far better to document the "badness" of the original change in the code than to hide it in a commit comment (which may not even mention it) I would think.  This sort of thing may happen more than one would guess, especially if the code is under heavy development.

  If this feature hasn't been implemented, it would have to be a toggle.  I think it would be better to make this a Th1 "plugin" and share it around.

  <hr><i>anonymous added on 2009-01-09 08:15:41:</i><br>
  the checkin you mention seems unrelated to me.

  we use this feature in svn heavily at work, in fact ticket numbers are required for checkins, and its very convenient. the idea is a history of the files changed to fix a particular issue. even if you have to back out the change you can see the activity in the ticket and know its related.

  a plugin would be fine too. im not going to tell you how to implement something, its just a suggestion.


tkt_uuid: e02ffabcdaaaf606099ac09227833ba282fdaace
type: Feature_Request
status: Fixed
private_contact: c76260317d907e593238775e171317aff2baec12
resolution: Fixed
title: recursive add
comment:
  It would be very useful to have a way to recursively add all specified files/directories. suggest either a -R flag to add or a new command

  <hr><i>anonymous added on 2008-11-27 22:29:01:</i><br>
  I would like to see this feature implemented as well. Thanks.

  <hr><i>anonymous claiming to be Kees Nuyt added on 2008-11-27 23:16:51:</i><br>
  Just a remark: I prefer to use the unix command find for that purpose, with the advantage that the list to add can be easily reviewed by leaving out the "-exec fossil add {} \;" part in a test run. 

  But I know mileages vary.

  <hr><i>anonymous claiming to be kkinnell added on 2008-11-28 23:19:57:</i><br>
  This is essentially a duplication of Feature Request ticket 
  [./tktview?name=04a259be40 | 04a259be40].

  <hr><i>drh added on 2008-12-07 18:12:37:</i><br>
  See check-in [8c4e72e22320d3de04ffcd9fe63b63b98d946db8]

  <hr><i>anonymous added on 2008-12-09 05:25:49:</i><br>
  Thanks, recursive add adds files to repository nicely. 


tkt_uuid: e28adcd72503a24599f84e378c5d8c6bb28a7758
type: Code_Defect
status: Fixed
severity: Cosmetic
foundin: a8c3a7ea92 2008-11-22T19:32:44
private_contact: 6b7d8d19b3584e0b0b59ee79d0f778ecd9f60111
resolution: Fixed
title: "zip.c" has two minor bugs.
comment:
  "zip.c" has two minor bugs.
  	1.	'dosTime' time stamp has only 5 bits for 'seconds' field. so it requires devide by 2.
  (in function 'zip_set_timedate_from_str()')
  <verbatim>-   dosTime = (H<<11) + (M<<5) + S;
  +   dosTime = (H<<11) + (M<<5) + (S>>1);</verbatim>

  	2.	function 'baseline_zip_page()' (as 'WEBPAGE: zip') finally calls 'cgi_reply()', but it not required.
  because 'cgi_reply()' calls by caller (main.c / process_one_web_page()) after this function returned.
  current version try to send '.zip' file twice.
  (almost http client checks 'Content-Length' header and shutdown themself first '.zip' file received.
   so this bug did not generate twice traffic.)

  <hr><i>drh added on 2008-11-27 13:26:43:</i><br>
  Fixed by check-in [39bbc6010e]


tkt_uuid: 2ed0655983b51af61bb85e9b0cab70b205d9d513
type: Code_Defect
status: Closed
severity: Cosmetic
foundin: a8c3a7ea92 2008-11-22T19:32:44
private_contact: 6b7d8d19b3584e0b0b59ee79d0f778ecd9f60111
resolution: Fixed
title: html numeric character entity "&#149;" is maybe wrong.
comment:
  html numeric character entity "&amp;#149;" uses in "setup.c" and "wikiformat.c"
  numeric character entities always interpret by unicode.
  "&amp;#149;" does not means iso-8859-1 character '\x95'('middle dot').
  if use 'middle dot' in html, use "&amp;#8226;" or "&amp;bull;" (as U+2022)

  <hr><i>drh added on 2008-11-27 13:34:27:</i><br>
  Fixed in check-in [72e9eb6a0d4c6e777878].


tkt_uuid: 66cbcd56a229f33af6b9a6329a73a797d0299570
type: Code_Defect
status: Fixed
severity: Minor
foundin: a8c3a7ea92 2008-11-22T19:32:44
private_contact: 6b7d8d19b3584e0b0b59ee79d0f778ecd9f60111
resolution: Fixed
title: win32 'fossil pull' or other client side commands hang up if peer unexpected shutdown.
comment:
  win32 client receive data function 'socket_read_blob()' (declared in "http.c") call 'recv()'
  and test return value is negative or else. but if peer unexpected shutdown 'recv()' returns zero.
  so this functon enters infinite-loop. to fix it, return value is negative or equal to zero as error.
  <verbatim>  while ( i<nToRead ){
        read = recv(pSockId, rbuf, 50, 0);
        i += read;
  -     if( read<0 ){
  +     if( read<=0 ){
          return 0;
        }
        blob_append(pBlob, rbuf, read);
    }</verbatim>

  <hr><i>drh added on 2008-11-27 13:51:22:</i><br>
  Fixed by check-in [c12e5b102ee6079715da0fa4eff7fb502b68b111]

  <hr><i>anonymous claiming to be silov.e added on 2008-12-03 06:31:42:</i><br>
  Thank you for fix problems

  By the way, on many OSes, recv(2) (or read(2)) returns zero if peer unexpected or expected shutdown is normal behavior. It meanings no more data or end of stream. This behavior is not win32 quirks.


tkt_uuid: d0e0bc0da5dc63187fc64643ff1ce391a02e6237
type: Feature_Request
status: Open
severity: Minor
private_contact: c76260317d907e593238775e171317aff2baec12
resolution: Works_As_Designed
title: add ticket created time
comment:
  ticket schema has tkt_mtime but there is no column which saves the creation time. this would be useful for ordering tickets by open time or by time since last edited. this might be possible using the current ticket configuration but I think it is more appropriate to have a tkt_ctime column that is managed automatically.

  <hr><i>anonymous claiming to be Kees Nuyt added on 2008-11-27 23:09:31:</i><br>
  Initially I agreed, but considering that tickets are stored with full history (*), and there is a history button, there is no real need for a tkt_ctime column. If you really want one: you can change the ticket table to your liking in Setup, and use any columns in ticket reports.

  (*) I seem to have read the current status is obtained by replaying all ticket updates in chronological order, where the newer value replaces an old one, and comments are appended to form the text blocks at the bottom of the ticket detail page.

  <hr><i>jeremy_c added on 2009-12-31 03:57:22:</i><br>
  I believe you can simply add a column to your ticket schema:

  <verbatim>
  create_date datetime default CURRENT_TIMESTAMP
  </verbatim>


  <hr><i>jeremy_c added on 2009-12-31 04:26:49:</i><br>
  Yes, the code above works just fine.

  <hr><i>rwilson added on 2009-12-31 19:42:25:</i><br>
  actually, i just tested the schema changes solution above; editing a ticket updates the created time.  this is because, essentially, editing a ticket performs a DELETE then an INSERT, so the default CURRENT_DATETIME gets evaluated fresh again.  (i confirmed this by inspecting tkt.c [98960a5cdc].)

  i'm not sure that the OP's request can be resolved without writing some fossil code.  i'm going to try a few more things with the ui to see if i can get the desired result, but i don't have any more time today.

  <hr><i>jeremy_c added on 2009-12-31 21:15:45:</i><br>
  You are right. I wanted to implement this in my own repo, so I added some code and tested. This method works :-)

  Add to your database schema something like:

  <verbatim>
  create_date TEXT
  </verbatim>

  Then in your New Ticket template, add something like:

  <verbatim>
  <th1>
    if {[info exists submit]} {
       set create_date [date]
       submit_ticket
    }
  </th1>
  </verbatim>

  You likely already have the above if statement and only need to add the <tt>set create_date</tt> part. You can then display the create date in your View template.

  Sorry for the bum fix to start with. I made a simple test case and didn't test editing.


tkt_uuid: f083ffffc655f777c5897ccfd5197fabe1143bb2
type: Code_Defect
status: Closed
severity: Minor
foundin: [c12e5b102e] 2008-11-27 13:50:41
private_contact: 24b67375dd2ec6c7381a5ad34cfcf006f0b9c260
resolution: Not_A_Bug
title: Inconsistent display of closed tickets id's as striked out links in timeline
comment:
  While checking on timeline page, I see on my cloned copy of fossil repository just some of closed tickets id's striked.<br>
  In my local copy, I see both  lines with striked links to closed tickets (1dd22c3a2b and 1dd22c3a2b):

  2008-11-27<br>
  23:37:45 	* 	[74747d3dcf] Closed ticket <s>1dd22c3a2b</s><br>
  23:30:16 	* 	[b4402cf8af] Ticket <s>1dd22c3a2b</s><br>

  The next striked one on my  copy is(with striked link 807ca32b80):

  2008-11-25<br>
  18:42:55 	* 	[3f824675cd] Closed ticket <s>807ca32b80</s><br>


  On the contrary, on fossil web page I see as striked many more links to already closed tickets.<br>
  First one is already the line:<br>

  2008-11-27<br>
  13:51:22 	* 	[4cbd3b67c9] Fixed ticket <s>66cbcd56a2</s>

  <hr><i>eric added on 2008-11-28 07:19:56:</i><br>
  But 66cbcd56a2 is fixed, not closed (at this time) - this will be due to a difference in the ticket config (third item in Setup->Tickets->Timeline).

  <hr><i>anonymous claiming to be kkinnell added on 2008-11-28 15:32:04:</i><br>
  Wouldn't this have more to do with when the local repository was synced with the 
  main repo?  If you pull/update from the main repository to the local, and look 
  at the timelines <u>right then</u>, they should be a 99% match. (There's always 
  a chance someone closed a ticket while you were doing your "pull".)

  <hr><i>anonymous added on 2008-11-28 17:58:17:</i><br>
  I was describing situation with freshly updated repo. When I can, I will check if it is related to changes in Setup->Tickets->Timeline menu as suggested. But I guess, there are default values set.

  <hr><i>eric added on 2008-11-28 19:36:37:</i><br>
  <pre>
  $ fossil version
  This is fossil version [f84bfc31bf] 2008-11-27 02:30:29 UTC
  $ fossil pull  http://www.fossil-scm.org/fossil/
  ...
  </pre>

  At this point, I have looked at the timelines from my clone repository
  and www.fossil-scm.org side by side in the browser and seen exactly
  the difference described.

  <pre>
  eric@tasso:~/devel/fossil$ fossil export ticket emjtkt
  eric@tasso:~/devel/fossil$ fossil config pull ticket http://www.fossil-scm.org/fossil/
  ...
  $ fossil config export ticket drhtkt
  </pre>

  On refreshing pages in the browser, they now look identical.

  Looking at the export files, there are lots of differences, but in
  particular, I had

  <pre>REPLACE INTO config VALUES('ticket-closed-expr','status=''Closed''');</pre>

  while the pulled config has

  <pre>REPLACE INTO config VALUES('ticket-closed-expr','status=''Closed'' OR status=''Fixed''');</pre>

  The former is specified as the default in tktsetup.c and wikiformat.c, so I feel quite justified closing this as "Not A Bug".


  <hr><i>anonymous added on 2008-11-30 19:32:29:</i><br>
  Thank you for the insight into this configuration issue.<br> 
  After updating Setup->Tickets->Timeline option <b>Ticket Closed</b> to value:<br>status='Closed' OR status='Fixed'<br> local timeline now looks exactly as on fossil web site.<br>

  Just a remark, while I pulled config with:<br>
  fossil config pull ticket http://www.fossil-scm.org/fossil/<br>

  and compared exported ticket export files from original and updated repository, they looked exactly the same (beside datetime line) and did not contain:<br>

  REPLACE INTO config VALUES('ticket-closed-expr'...<BR>

  line at all.


tkt_uuid: d6d9ee682eac7708b0a7aa31febc8ad47e4923b1
type: Code_Defect
status: Fixed
severity: Severe
foundin: 6bcff72d23
private_contact: 02d14714de84a7dab506bb77b9dd95e78f1c1491
resolution: Fixed
title: Can't edit wiki pages
comment:
  Just downloaded latest precompiled binary for win32 (6bcff72d23) and unfortunately I cannot edit any of my wiki pages.

  <hr><i>drh added on 2008-12-03 14:11:11:</i><br>
  Fixed by check-in [426a3ba49ebb066c192e29e62b07a65854e840c7]


tkt_uuid: feb61a11a0f8f911d72347daf334b76766e3a66a
type: Feature_Request
status: Closed
priority: Zero
severity: Cosmetic
resolution: Duplicate
title: XHTML standard compliance
comment:
  It would be just "nice-to-have" an XHTML standard compliant output from fossil. And it is not too hard to do. If there is nothing more to do :-)

  <hr><i>anonymous claiming to be Ilia Frenkel &lt;ilia@ilia.org.il&gt; added on 2008-12-02 10:21:59:</i><br>
  Forgot to mention my name.

  <hr><i>anonymous added on 2010-03-03 06:20:52:</i><br>
  Related to: <a href="http://www.fossil-scm.org/fossil/info/0049db245e">0049db245ef59671d4fcefd45c02e37a70e2b622  (Firefox HTML Validator thinks all pages are full of errors)</a>

  <hr /><i>dmitry added on 2011-09-08 19:34:49 UTC:</i><br />
  XHTML is dead, Fossil uses HTML5 doctype, validation errors are tracked in the ticket mentioned above.


tkt_uuid: 838bde7990d8e190957cbfe7f15c77322dc54e57
type: Incident
status: Fixed
severity: Important
foundin: Fossil version [f84bfc31bf] 2008-11-27 02:30:29
private_contact: 24b67375dd2ec6c7381a5ad34cfcf006f0b9c260
resolution: Fixed
title: file extracted from Fossil zip archive could have different name
comment:
  @rem issue demostration<br>
  del .\_fossil_<br>
  del .\test.fossil<br>
  rmdir /Q /S .\testdir<br>
  mkdir .\testdir<br>
  del manifest.uuid<br>
  del manifest<br>
  cd .\testdir<br>
  echo 345678>"1r&#345;&#345;&#345;&#345;   R .test"<br>
  cd ..<br>
  fossil new test.fossil<br>
  fossil open test.fossil<br>
  fossil add .\testdir\\"1r&#345;&#345;&#345;&#345;   R .test"<br>
  fossil ls<br>
  fossil commit -m "check in a file with accended char/s and spaces in its name" --nosign<br>
  fossil ui<br>
  ----<br>
  on win XP<br>
  I create file with some accending characters in its name, commit it to the fossil repository and save repository as a zip file.
  When I extract such file from fossil generated file by windows Explorer/Total Commander I get file with different name.<br>
  Extracting by unzip program from Info-ZIP web site yields correctly named file.

  In above example I create file with "r-caron" chars in its name(U+0159), after unzipping I get file with "DEGREE SIGN"(U+00B0) in it instead.
  Many other characters get twisted in similar way. I wonder, if there should be something marked in zip file header, as how to interpret stored file name.
  I tried to check differences with explorer generated zip files/fossil generated ones with help of:<br>
  unzip -Zv byZIP.zip >byZIP.lst<br>
  unzip -Zv byFossil.zip >byFossil.lst<br>
  so far to no avail.

  <hr><i>anonymous claiming to be kkinnell added on 2008-12-03 02:56:00:</i><br>
  If I'm reading this correctly, you stored a file containing utf8 or uc16 encoded characters in a repository, and then got the zip for the repository by downloading it from the server.  Then, when you unzipped it with one windows program, the file was encoded incorrectly, but when you unzipped it with a different windows program, the encoding was correct.

  If that is what happened, then the problem is how the programs you are using for unzipping the files are interpreting them.  The one that gives you the correct version is using the same encoding that you used when you created the file, the other one is using something else.

  <b>fossil</b> itself uses SQLite BLOBs to store its artifacts.  The storage doesn't encode the data in any way, it treats it as binary data.  

  <hr><i>anonymous added on 2008-12-03 04:53:53:</i><br>
  The content of file(s) is correct. What causes trouble is the name/path of file having accented characters.<br>

  If I modify the test and try to add file on path already having mix of accended/not accended characters and spaces, <br>
  it is even not listing such file in File List menu which I would consider a bug.<br>
  (I can save zip archive from fossil, view file content(diff) but will not see such file listed in File List menu)<br>
  Produced zip archive can be correctly extracted by unzip from Info-ZIP web site. Windows Explorer will show just badly transcoded file name on badly transcoded file path.<br>
  Used test path uses "r-caron" chars (U+0159),"s-caron"(U+0161) and "LATIN SMALL LETTER Y WITH ACUTE" (U+00FD) accented characters.<br>

  del .\_fossil_<br>
  del .\test.fossil<br>
  rmdir /Q /S .\\"testS&#353;&#353;&#353;SR&#345;&#345;&#345;R   Y&#253;&#253;&#253;Y"<br>
  mkdir .\\"testS&#353;&#353;&#353;SR&#345;&#345;&#345;R   Y&#253;&#253;&#253;Y"<br>
  del manifest.uuid<br>
  del manifest<br>
  cd .\\"testS&#353;&#353;&#353;SR&#345;&#345;&#345;R   Y&#253;&#253;&#253;Y"<br>
  echo content of file>"1r&#345;&#345;&#345;&#345;   R .test"<br>
  cd ..<br>
  fossil new test.fossil<br>
  fossil open test.fossil<br>
  fossil add .\\"testS&#353;&#353;&#353;SR&#345;&#345;&#345;R   Y&#253;&#253;&#253;Y"\\"1r&#345;&#345;&#345;&#345;   R .test"<br>
  fossil ls<br>
  fossil commit -m "check in a file with accended char(s) and spaces in its name on a path with accedended characters and spaces" --nosign<br>
  fossil ui<br>
  ---<BR>
  fossil ls<br>
  ADDED     testS&#220;&#220;&#220;SR&#176;&#176;&#176;R   Y&#345;&#345;&#345;Y/1r&#176;&#176;&#176;&#176;   R .test<br>


  <hr><i>kkinnell added on 2008-12-03 16:20:32:</i><br>
  I have tested this in the Linux version, via copy and paste using the exact string you are using (testS&#353;&#353;&#353;SR&#345;&#345;&#345;R Y&#253;&#253;&#253;Y).

  I can confirm that the encoding used for display of the filename and contents are not the same as the encoding used for wiki, the wiki strings are "entified" as &amp;#ddd; decimals whereas display of the file path strings are dependent on the browser's default encoding.  When I set my browser to use the default windows encoding (Western, or Latin-1 which is ISO-8859-1) I get behavior similar to that which you describe.

  I think it is possible you <code><b>add</b></code>ed the file that is not showing up in the file list, but did not <code><b>commit</b></code> the change afterward.  This is the only way I have been able to replicate this behavior.

  Please verify that all of your encodings&#8212;system, browser and zip programs, are the same as your input system and see if you still get bad behavior.  I can duplicate most of the problems you are having by mis-matching the encodings, but I am on a GNU/Linux system and I can't be <i>sure</i> there is not something peculiar to the windows version causing part of your problem.

  <hr><i>anonymous added on 2008-12-04 07:06:01:</i><br>
  the way I test it on win XP is that I run the above script (from del .\_fossil_ line till fossil ui line) in one go.<br>
  At that moment I get fossil web interface, where I see freshly created repo.<br>
  If I go there to the timeline menu, I see there one enty title "1 most recent events". If I check submenu "Checkins only" <br>
  I still see there only 1 item, title now "1 most recent checkins".<br>
  It says "Leaf" and text of my commit comment, as you czn check i above script.<br>
  Now if I click link on that link, I see page titled "Baseline ...."<br>
  There I have (besides other) "Commands:" line with   	 "diff  |  ZIP archive  | manifest  | edit" options/ links.<br>
  If I use dill, I see "diffed" content of file (because I start afresh, it is just content of file with diff marks). In my case:<br>
  @@ -1,1 +1,1 @@<br>
  -<br>
  +345678<br>

  If I click ZIP link, I get Zipped archive of repository<br>
  Now If I go to "Files" top menu, I get page titled "File List" with heading "Files in the top-level directory"<br>
  and there I my commited dirctory (If I switch the codepage of browser to Central European Windows-1250, I see the directory name<br>
  correctly). If I click on it, .... Now I noticed something I did not notice before.<br>

  If I keep default character encoding on browser page (Western ISO 8859-1) and click on directory link, I get page stating:<br>
  "Files in directory testSA!A!A!SRA&#184;A&#184;A&#184;R Y&#253;&#253;&#253;Y" and showing no file there.<br>
  If I change character encoding on browser page to Central European Windows-1250 (on Files in the top-level directory page)<br>
  and click on correcly named directory, I get page with heading "Files in directory testS&#353;&#353;&#353;SRoooR Y&#253;&#253;&#253;Y" and I see there<br>
  link to my file (of course with name in western encoding " 1roooo R .test" and I can click on it to see its content)<br>

  So it seems to me, based on encoding of generated page, sometimes fossil can fail to show true content of directory.<br>


  <hr><i>anonymous claiming to be Ilia Frenkel added on 2008-12-09 09:49:26:</i><br>
  You can add the following line to the header (Setup->Header) between <head> and </head> tags:
  <meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
  it will tell your browser what encoding you want to be the default one.

  <hr><i>kkinnell added on 2008-12-09 15:58:07:</i><br>
  Summary:

    1. File paths within a repository use the bits supplied by the fs, but do not note the encoding.  The browser's encoding determines display.

    2. Wiki display entifies characters, and so the display of a file path from within a wikified string may be different than the display in the file browser.

    3. Is this a wart, or is this correct behavior?  (Mailing list discussion?)

  <hr /><i>jan.nijtmans added on 2012-10-22 08:03:13 UTC:</i><br />
  This should be fixed in 1.24


tkt_uuid: 4e8410bfd697c846259595f3f58a587721331ce3
type: Feature_Request
status: Deferred
severity: Minor
private_contact: 02d14714de84a7dab506bb77b9dd95e78f1c1491
resolution: Open
title: Add something similar to cvsignore feature
comment:
  It would be nice to have such feature as cvsignore one. I know that it is frequently asked question, but found no such feature request. Also, it looks like fossil will silently ignore any file or directory which name starts from ".".

  <hr><i>kkinnell added on 2008-12-09 17:03:54:</i><br>
  If you are using a shell that follows the unix conventions, dot files&#8212;files that start with a '.' character&#8212;will be ignored unless they are explicitly included.

  As an example, if you have files named '.file' and '.faxes', and want to <code>add</code> them using <i>globbing</i> you'd type: <verbatim>    fossil add .f*</verbatim> To get all of your dot files you'd need to be a little trickier, because '.' and '..' are directory names.  In <b>bash</b> you'd use <verbatim>    fossil add .[^.]*</verbatim>

  The point is that the dot files are being intercepted by the shell on non-Windows systems, and may be being intercepted on Windows systems&#8212;dot files are a bit problematic and you have to be careful about them.

  IMHO:<br>
  The <code>CVSIGNORE</code> isn't actually that useful if you are not creating a new repository from a clean source tree, or not using a recursive <code>add</code>.  Until the recursive add fix (see [./tktview?name=e02ffabcda | e02ffabcda]) there wasn't any way to get <b>fossil</b> to add files that were not explicitly requested.  You could still get unwanted files by injudicious file globbing, but that wasn't <b>fossil</b>'s fault.  Personally, I probably won't use recursive add on an 'as is' source tree.  I'll clean it up until it only contains the files I want, then <code>add</code> them, and maybe then copy the, er, "unclean" source tree back.

  <hr><i>anonymous claiming to be Ilia Frenkel added on 2008-12-09 23:17:26:</i><br>
  After the second thought I do agree with you. It is not so urgent feature.
  If you keep your source tree clean you should be OK without it.

  <hr><i>anonymous claiming to be RBerteig added on 2010-03-15 20:32:24:</i><br>
  As a long time CVS user, I find that most of my .cvsignore entries are there to keep CVS quiet about build products and various intermediate files that come about from testing (gcov data, and so forth). It makes it easier to tell at a glance that all the important files are accounted for.

  Given the fossil extra and fossil clean features, I've already felt the lack of some way to inform fossil that I know some files exist but that they are not "extra" and should not be removed by "clean". Without that, I'm really tempted to patch the fossil clean out of my copy.


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

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


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

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

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

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

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

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


tkt_uuid: 8c46da20797072ac4007b279be826ffa7ef59135
type: Incident
status: Open
severity: Minor
foundin: [cb44f7dea4] 2010-05-24 18:43:32
private_contact: a2024467242089d1dce2d3a24ac29a8241112db9
resolution: Open
title: Checkin fails: "editor aborted" on Cygwin
comment:
  Problem only exists (for me) in Cygwin on Windows.

  I have vi installed in Cygwin, and `which' reports it to be:

  <verbatim>
  $ which vi
  /usr/bin/vi
  </verbatim>

  So, I manually set my fossil editor, using `fossil set editor /usr/bin/vi'.

  When I checkin, I get:

  <verbatim>
  $ fossil.exe ci
  Autosync:  http://sentry:8080/
                  Bytes      Cards  Artifacts     Deltas
  Send:              87          1          0          0
  40The system cannot find the path specified.
  Received:        1794         40          0          0
  /usr/bin/vi "C:/cygwin/home/User1/src/ci-comment-A97A91FD685A.txt"
  C:\cygwin\bin\fossil.exe: editor aborted
  </verbatim>

  The next to the last line seems to be the command that is `fork()'ed?  If I copy and paste that line in, `vi' is launched with the normal checkin file, ("# Enter comments on this commit.  Lines beginning with # are ignored"... etc)

  If I `fossil set editor notepad', notepad opens the file correctly.

  If I `fossil.exe set editor "C:\\Program\\ Files\\Vim\\vim70\\gvim.exe"', I get:

  <verbatim>
  $ fossil.exe ci
  Autosync:  http://sentry:8080/
                  Bytes      Cards  Artifacts     Deltas
  Send:              87          1          0          0
  40'C:\Program\' is not recognized as an internal or external command,
  operable program or batch file.
  Received:        1794         40          0          0
  C:\Program\ Files\Vim\vim70\gvim.exe "C:/cygwin/home/User1/src/ci-comment-C042442842F0.txt"
  C:\cygwin\bin\fossil.exe: editor aborted
  </verbatim>

  (I also tried with every combination of forward- and back-slashes, and quoting of the space character, with similar results.)

  <hr><i>anonymous claiming to be Kees Nuyt added on 2008-12-11 23:57:37:</i><br>
  Are you sure the path is 
    *  C:\Program\ Files\Vim\vim70\gvim.exe ?

  Shouldn't that be
    *  C:\Program Files\Vim\vim70\gvim.exe ?

  If you have a choice, you'd better install unix-like tools in directories outside the 'standard' Windows directories, for example
    *  C:\bin\Vim\vim70\gvim.exe

  By the way, modern versions of MS Windows (XP, Vista) can handle forward slashes quite well internally. You will only get into trouble with the classic command line utilities, which still reserve the forward slash as the default 'option' character.

  <hr><i>kkinnell added on 2008-12-12 07:33:27:</i><br>
  Another test it might good to run would be to try to checkin
  using the <code>-m "<i>checkin comment</i>"</code> option.

  At the very least it would save you from the evil clutches of <i>vi</i>.<br>
  <font size="0.6em" color="#668888">(Hehe.  A little joke, not an invitation to the flame wars.  I list <i>Emacs</i> as one of my Operating Systems skills on my resum&#233;.)</font>

  <hr><i>anonymous added on 2008-12-12 15:03:22:</i><br>
    Shouldn't that be

      * C:\Program Files\Vim\vim70\gvim.exe ?

  Yes, I tried that first.  I should have been more explicit than just saying "quoting of the space character".

  And I avoid using the <code>-m</code> option, because I often just do a checkin without a filename, so that all files that I have changed are checked in, without me knowing about it.  At least when I use the <b>superior</b> editor vi, :^) the comment section tells me what files are being checked in.  I probably need to change my workflow, I know, but old habits...

  It looks on the surface to be a problem with pathnames that have spaces in them?

  <hr><i>kkinnell added on 2008-12-12 20:43:52:</i><br>
  It's been a while since I've used Cygwin, but I seem to recall having to quote the whole darned path to the executable if the path had spaces in it:
  <verbatim>   "C:/some darned path/with irritating/spaces/my.exe" "C:/quoted path/data"</verbatim>

  IIRC, the last time I was using Cygwin (on a NT5 box in 2003) the only way I could rely on an exe "just running" was if I put it into the command32 (or whatever it's called) "folder"&#8212;putting it into the Cygwin bin dir didn't work consistently.  I finally ended up dumping Cygwin and getting win native versions of bash, less, and a few other GNU progs.


  <hr><i>anonymous claiming to be silov.e added on 2008-12-16 06:15:37:</i><br>
  When fossil start editor (or diff) application, it use 'system(...)' function and mingw(msvcrt) runtime interprets it to <code>getenv("COMSPEC") + " /c " + "..."</code>.<br>So if environment variable 'COMSPEC' set to "...\cmd.exe", editor name depends on "cmd.exe"'s quoting rule and application search rule.<br>&gt; <tt>fossil set editor "\"C:\Program Files\Vim\vim70\gvim.exe\""</tt><br>&gt; <tt>fossil set editor<br>editor (local) "C:\Program Files\Vim\vim70\gvim.exe"</tt>

  <hr><i>rwilson added on 2009-09-22 18:34:28:</i><br>
  it doesn't look like fossil allows you to escape quotes on the windows command line:

  <pre>
  PS C:\fossil\xyntservice> fossil setting editor "\"c:\program files\jgsoft\editpadpro6\editpadpro.exe\""
  Usage: C:\WINDOWS\system32\fossil.exe setting ?PROPERTY? ?VALUE?
  PS C:\fossil\xyntservice>
  </pre>

  <hr><i>anonymous claiming to be silov.e added on 2009-10-09 05:13:02:</i><br>
  I retest with Windows XP, cmd.exe and pre-build binary "fossil-w32-20090921191920.zip" download from this site.<br>It works. tell me your environment.<blockquote><verbatim>$ cmd /k ver
  Microsoft Windows XP [Version 5.1.2600]
  $ set comspec
  COMSPEC=C:\WINDOWS\system32\cmd.exe
  $ fossil version
  This is fossil version [37f295c310] 2009-09-21 19:19:20 UTC
  $ fossil settings -g editor "\"c:\program files\jgsoft\editpadpro6\editpadpro.exe\""
  $ fossil settings editor
  editor               (global) "c:\program files\jgsoft\editpadpro6\editpadpro.exe"
  $ exit</verbatim></blockquote>

  <hr><i>anonymous added on 2010-05-26 13:40:51:</i><br>
  This happens for me when editing the commit message in ed, the editor which Fossil chooses as the default one on Linux.

  w
  218
  q
  fossil: editor aborted


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: 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: c6381b9cac334ec8ba4f1940d43cc088888d0ed9
type: Incident
status: Closed
severity: Minor
foundin: dec2c22d9d
private_contact: b060c7801d9aa35179e5b9af3c79b6c2693068bc
resolution: Works_As_Designed
title: blonk. boo. gorble.
comment:
  anonymous posted on 2008-11-25 20:37:09

  More testing.  I need a copy of my copy, I think.

  <hr><i>anonymous added on 2008-11-25 20:39:20:</i><br>
  Well, it
    *  appears to work
    *  doesn't seem to break anything

  Back to work on the [./reference.wiki | Command Line Reference].

  Oh heck.  I forgot to change the status -n- stuff.


tkt_uuid: f273b440c38eb8478822812e0730f0fc2c8b4c36
type: Code_Defect
status: Fixed
priority: Immediate
severity: Important
foundin: [ba837fd294] 2008-12-16 18:39:29 UTC
private_contact: 72c73ce34e23821d1efcc88bc872fc296aabde7e
resolution: Open
title: fossil tag cancel has no effect?
comment:
  In the TDBC repository at http://kbk.is-a-geek.net:2301/, I made some
  last minute changes, and wanted to move the release tag '1.0b1' to the
  newly-committed version.  I did

  fossil tag cancel 1.0b1 cdc04f749733684d55cd9eb1f440e6d4e47b03f9

  followed by

  fossil tag add 1.0b1 fbd0e6a2758844dfe651e0f6e78c9e527ba860a5

  But now when I do

  fossil tag find 1.0b1 

  I see both versions.

  Did I do something amiss, or am I misunderstanding something? My
  objective is to arrange things so that '1.0b1' can be used as a tag
  to check out the released version while development proceeds.
  (I'm not looking to branch it yet, merely to tag and bag the release)

  <hr><i>eric added on 2008-12-17 22:39:08:</i><br>
  I think it's just the listings (the web shows both too), but if you do a

  fossil update 1.0b1

  after the cancel and before the add, you get "not a valid object name", as expected.

  <hr><i>eric added on 2008-12-20 11:39:25:</i><br>
  Fixed in [7c281b629ac5c6a91b2b8143fe48a5714f54e0df]


tkt_uuid: 62c84f3e604a06f9b8f3f4ca39f774d6909115aa
type: Incident
status: Fixed
severity: Severe
foundin: [ba837fd294] 2008-12-16 18:39:29 UTC
private_contact: 72c73ce34e23821d1efcc88bc872fc296aabde7e
resolution: Fixed
title: SQL syntax error checking out a branch
comment:
  I tried to check out the branch tip of '1.0-branch' in the repository at
  http://kbk.is-a-geek.net:2301/  Fossil aborted with the following:
  <pre>
  $ fossil checkout 1.0-branch
  fossil: near "HERE": syntax error
  UPDATE vfile SET mtime=NULL HERE vid=361 AND mrid&gt;0
  $ fossil version
  This is fossil version [ba837fd294] 2008-12-16 18:39:29 UTC
  </pre>

  <hr><i>anonymous claiming to be kennykb@acm.org added on 2008-12-20 01:29:52:</i><br>
  The obvious fix of changing HERE to WHERE at line 253 of vfile_.c appears to get around the problem.


  <hr><i>drh added on 2008-12-20 02:24:14:</i><br>
  Fixed by check-in [491b2c69ec500c643df1d82e5bd59e3eefaa2f28].


tkt_uuid: cf724814c785e360f77ae4e85810f05392bf5bbe
type: Feature_Request
status: Closed
priority: Low
severity: Important
foundin: [b12a031557] 2008-12-26 17:41:09
private_contact: 5cf29103d2a983eea989510a4681babdf755fa95
resolution: Open
title: Zip files are ok
comment:
  When i download the ZIP file from timeline page, after logging as anonymous, i go to the last version of fossil (current at http://www.fossil-scm.org/index.html/vinfo/b12a0315572ec541cbc130375b4b84b39469e12d ) and click the ZIP archive option. The zip archive is corrupted and can't open it with any app. This happens in previous version checking too.

  <hr><i>kkinnell added on 2009-01-29 16:57:23:</i><br>
  The ticket is being closed because:

    1 Updates made since this ticket was opened have probably fixed the problem, if the problem was actually a bug.

    2 There wasn't enough information to replicate the bug: system?  login & permissions?

  Hopefully, the problem is gone.


tkt_uuid: 263b45306ce3fbc7f93e3f3be170f550aa8104c5
type: Feature_Request
status: Open
severity: Cosmetic
foundin: 3rd Dec 2008
private_contact: 017b15cc7ca1de5a8053c07fb689d5022cf72fd1
resolution: Open
title: Add configuration to adjust length of version UUID
comment:
  The wiki asserts (see below) that Fossil can cope with any prefix length. If so can we have a feature in the configuration pages to set the prefix length for use across fossil. The standard 10 chars is still quite large and on smaller projects the risk of a UUID clash is small using only 4 or 5 chars. It would be easier on the eye when viewing, for example, timeline pages.

  Thanks

  -----

  As stated in the wiki [http://www.fossil-scm.org/index.html/doc/tip/www/reference.wiki]:

  A version in fossil is 40 character hexadecimal string. fossil will be able to figure out which version you want with any prefix of that string that is distinct from all others. Commands which require a version are looking for that string, the unique prefix, or a tag.

  <hr><i>kkinnell added on 2009-01-05 15:41:04:</i><br>
  A bit off-ticket-topic, but just to clarify some points about the cli docs here:

  The cli reference doc is incorrect as of 2009-01-05, and will be amended in the
  next version.  I will push the newer doc as soon as I am able to do so.

  In fact, there is a <u>minimum prefix length of four characters</u> for "versions"
  (see the [./concepts.wiki | concepts] page, section
  <b>2.1&nbsp;Identification&nbsp;of&nbsp;Artifacts</b>, paragraph 3 beginning
  "When referring"...)

  Also, "version" is a bit of a misnomer, what we're actually dealing with are
  <u>Artifact</u> <u>IDs</u>, which happen to be 160 bit SHA1 hash digests of
  <i>n</i>-length bit sequences (which is the basic thrust of the cited section.)

  And now, back to the actual feature request ...

  <hr><i>anonymous added on 2009-01-06 10:28:45:</i><br>
  kkinnell - I note your point about version/artifact ID. I'll try to use the right designation in future.

  To clarify I'm requesting to control the shorthand length artifact IDs displayed as links on the webpage rather than the stored artifact IDs (40 chars).

  i.e the [263b45306c] rather than the [263b45306ce3fbc7f93e3f3be170f550aa8104c5]

  If a minimum of 4 chars is required, so be it. 4 chars is easier on the eye than 10 chars.

  One of the implementation issues I can foresee is the likelihood of ambiguity in fossil as the number of characters displayed is reduced. I believe it would be satisfactory when fossil comes across an ambiguity situation it just returns an error stated a message to that effect on the cli and on the website suggest changing the configuration to increase the number of chars display.


tkt_uuid: 6870863a2e7ee3334928d5e283af6637f947d9c9
type: Documentation
status: Closed
severity: Minor
private_contact: 017b15cc7ca1de5a8053c07fb689d5022cf72fd1
resolution: Unable_To_Reproduce
title: Can not access mailing list archive
comment:
  Come across two potential issues relating to the mail list:

    1.  The link from the wiki page [http://www.fossil-scm.org/index.html/wiki?name=MailingList] shows an empty maill list archive

    2.  The URL [http://lists.fossil-scm.org:8080/pipermail/fossil-users/] to the archive page from the mailman info page [http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users] returns 404 Not Found.

  Regards

  <hr><i>kkinnell added on 2009-01-05 16:12:16:</i><br>
  I've added a note to the [MailingList] wikipage to the effect that the link from
  the [http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users|mailman page] to the [http://lists.fossil-scm.org:8080/cgi-bin/mailman/private/fossil-users|archives] should not be trusted.

  I haven't been able to reproduce the error for the archive link&#8212;the page displays a two-field form for a user id & password.  The page requires JavaScript to be enabled.

  <hr><i>anonymous added on 2009-01-06 10:33:28:</i><br>

  I can confirm that the link works from the wiki page. Maybe it was because I'd just registered but unless I going nuts you'll just have to believe me that it was showing empty archive for the last 3 months when I tried originally.

  Consider the problem closed.

  Thanks


tkt_uuid: c666e737cb028bcec2d55659d79ce8521355d2bf
type: Code_Defect
status: Fixed
severity: Important
foundin: [b12a031557] 2008-12-26 17:41:09
private_contact: 72c73ce34e23821d1efcc88bc872fc296aabde7e
resolution: Fixed
title: bad web page formatting if baseline ID included in bug text
comment:
  I tried closing out a TDBC bug, and entered in a comment the baseline number of the commit that fixed it, surrounded by square brackets.
  <p>
  The ticket formatting code appears to stumble over it, producing the
  error message:
  <pre>
  access to config.value is prohibited
  SELECT value FROM config WHERE name='ticket-closed-expr'
  </pre>
  It looks ok in <a href="http://tdbc.tcl.tk/index.cgi/tktview?name=28616c6f8c">http://tdbc.tcl.tk/index.cgi/tktview?name=28616c6f8c</a>, but messes up in <a href="http://tdbc.tcl.tk/index.cgi/rptview?rn=1">http://tdbc.tcl.tk/index.cgi/rptview?rn=1</a>.
  <p>
  (I don't like the format of the latter report, but I'm going to be leaving it alone to give someone a chance to look at this problem)

  <hr><i>drh added on 2009-01-08 14:06:50:</i><br>
  Fixed by check-in [58f15e92aecf31289734e73815006d1b965a2a57]


tkt_uuid: 309c57b3d27219fa6ad601c0021dc067a7cb992d
type: Code_Defect
status: Fixed
severity: Important
foundin: [4d39bbac10] 2009-01-20 22:38:56
private_contact: 24b67375dd2ec6c7381a5ad34cfcf006f0b9c260
resolution: Fixed
title: database error on hyperlinked tagname in tag menu
comment:
  Fossil version [4d39bbac10] 2009-01-20 22:38:56 

  repo not rebuild, click on:
  http://localhost:8080/tagview?name=cvs2fossil-complete

  cvs2fossil-complete:
  Database Error

  near "desc": syntax error
  SELECT
    blob.rid,
    uuid,
    datetime(event.mtime,'localtime') AS timestamp,
    coalesce(ecomment, comment),
    coalesce(euser, user),
    (SELECT count(*) FROM plink WHERE pid=blob.rid AND isprim=1),
    (SELECT count(*) FROM plink WHERE cid=blob.rid),
    NOT EXISTS (SELECT 1 FROM plink WHERE pid=blob.rid),
    bgcolor,
    event.type,
    (SELECT group_concat(substr(tagname,5), ', ') FROM tag, tagxref
      WHERE tagname GLOB 'sym-*' AND tag.tagid=tagxref.tagid
        AND tagxref.rid=blob.rid AND tagxref.tagtype>0)
   FROM event JOIN blob
  WHERE blob.rid=event.objid
   AND EXISTS (SELECT 1 FROM tagxref  WHERE tagxref.rid = event.objid  AND tagxref.tagtype > 0  AND tagxref.tagid = 11 ORDER BY 3 desc
   
   
   repo rebuild click on link:
   http://localhost:8080/tagview?name=cvs2fossil-complete
   
   cvs2fossil-complete:
  Database Error

  near "desc": syntax error
  SELECT
    blob.rid,
    uuid,
    datetime(event.mtime,'localtime') AS timestamp,
    coalesce(ecomment, comment),
    coalesce(euser, user),
    (SELECT count(*) FROM plink WHERE pid=blob.rid AND isprim=1),
    (SELECT count(*) FROM plink WHERE cid=blob.rid),
    NOT EXISTS (SELECT 1 FROM plink WHERE pid=blob.rid),
    bgcolor,
    event.type,
    (SELECT group_concat(substr(tagname,5), ', ') FROM tag, tagxref
      WHERE tagname GLOB 'sym-*' AND tag.tagid=tagxref.tagid
        AND tagxref.rid=blob.rid AND tagxref.tagtype>0)
   FROM event JOIN blob
  WHERE blob.rid=event.objid
   AND EXISTS (SELECT 1 FROM tagxref  WHERE tagxref.rid = event.objid  AND tagxref.tagtype > 0  AND tagxref.tagid = 13 ORDER BY 3 desc

  <hr><i>drh added on 2009-01-20 23:49:59:</i><br>
  Fixed by check-in [bf7ca1a4d8ce33c852164c9105fa35c3e8c81339].


tkt_uuid: d6bb26f436d8299f95d63f45fa51c92acdc91c5a
type: Documentation
status: Fixed
severity: Minor
foundin: [bdcac62937] 2009-01-21 03:34:37
private_contact: 24b67375dd2ec6c7381a5ad34cfcf006f0b9c260
resolution: Fixed
title: Leaf menu in Nomenclaturebox is missing "Merged Leaf" description
comment:
  http://localhost:8080/leaves

  Leaf menu in Nomenclature box is missing "Merged Leaf" description.

  <hr><i>drh added on 2009-01-21 19:05:02:</i><br>
  The "Merged" and "Leaf" are really two separate keywords.  But
  recognizing that this can be confusing, the Merged part is
  now suppressed for the "leaves" page.
  Check-in [2fa4df1e47f17f1c10a79d024a817f13a7d0bf6f].


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

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

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

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

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

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

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


tkt_uuid: d7f66dfbd063afb162c15470f1777951e2498367
type: Feature_Request
status: Open
severity: Minor
private_contact: 9653680971c1b5932e49cabcc6034303c21ee9d8
resolution: Open
title: Support Syntax highlighting as described in Cookbook
comment:
  I described a way to support syntax highlighting on the Cookbook wiki page. In fact there are to possible ways to do it:
  <ol>
  <li> use a Javascript library</li>
  <li> pipe the content through a filter before sending it to the browser</li>
  </ol>
  <p>
  1. This requires only little effort for fossil. The syntax highlighting requires only special attributes in the &lt;pre&gt; tag. For this to work a table with assignments of file extensions to file types could be included into fossil so the assignment would be configurable.
  If the syntax highlighting is wished by the user she can easily add it herself. One drawback is that the google Syntax Highlighter does not support many languages. However this could be added.
  <p></p>
  2. Piping the contents of a file through a filter has the advantage that not only syntax highlighting could be done this way but also other things like indenting or some other prepocessing. But maybe it would be necessary to pass arguments to the filter based on file types. As such a table similar as described in 1. would be needed to make this configurable.
  </p>

  <hr><i>anonymous claiming to be Thomas. added on 2010-08-16 10:42:17:</i><br>
  Has there been any progress on this ticket? 

  I was looking into this topic today and found another JS syntax highlighter: http://alexgorbatchev.com/SyntaxHighlighter/ 

  It is MIT and GPL licensed, so I guess it can be included. 


  <hr /><i>anonymous added on 2011-05-16 14:33:52 UTC:</i><br />
  Why not analog to the diff command a setting for a syntax highlighter?


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

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

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

  ADD unilang/calc.g

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

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

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

  Best Regards,
  Orest

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

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


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

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


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

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

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

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


tkt_uuid: 5b871546cef80b13e07d73d5439618c335658597
type: Documentation
status: Closed
severity: Cosmetic
private_contact: 24b67375dd2ec6c7381a5ad34cfcf006f0b9c260
resolution: Not_A_Bug
title: Possible typo in file src/main.c, introduced by check-in [b2e55c0d4d]
comment:
  Check-in [b2e55c0d4d] introduced into the file src/main.c line:<br>
  <nowiki>
  COM MAND: commands
  </nowiki>
  <br>
  Was it intentional?

  <hr><i>drh added on 2009-02-01 12:12:51:</i><br>
  The change was intentional.  It was not a mistake.  The intent was to 
  disable the "commands" command which was superceded by the "help" command.


tkt_uuid: 93c266d3ee4157fe31a24a45fce97a2e9c34eb94
type: Code_Defect
status: Open
severity: Important
foundin: daacc139a5
private_contact: 24b67375dd2ec6c7381a5ad34cfcf006f0b9c260
title:
  Difficulty to correctly add/list files/directories with accended characters in name/path and see them listed in "Files" menu.

comment:
  I am strugling to populate fossil repository with files containing accended characters with fossil add (on win xp).
  I am able to add files, if I manage to have such files on some directory, which is 
  named with only ascii characters (as with command: fossil add .\dirWithAsciiOnlyinItsName)
  When I later list content of such directory (fossil ls>repofiles), it shows files as ADDED.

  If I try to check content of repo with fossil ui command, it shows only directories, but no files in them.
  (browser codepage is set to UTF-8)

  If I doctor link in browser, I can manage to see added directory and files in them, but always with strange names.

  Would it help to have modified "fossil add" command, which would read  UTF-8 encoded file, with list of filenames
  to be added to repo, so perhaps this windows encoding/reencoding mess could be handled? I would prefer to be selective
  about files I like to include in repository, add seems so far to work best, but add all files.

  I have quite large, continuously groving quantity of user created scripts(thousands+), with arbitrary, user choosen names, which I like to version, 
  but so far I have no luck in fitting them into fossil repository.
  This is related to ticket [838bde7990d8e190957cbfe7f15c77322dc54e57], could be discussion on this issue open on mailing list or 
  do I miss some other way how to handle this?

  Thanks.


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

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

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

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

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

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

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

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

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

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


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

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

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

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


tkt_uuid: f673f7e40656fa3430edea398162596538797fd7
type: Code_Defect
status: Closed
severity: Important
foundin: 8be6204607
private_contact: 5c164664f608e8049128be696a3d13e04aa6fafd
resolution: Fixed
title: option parsing error
comment:
  I don't fully understand command-line option parsing, _but_:

  fossil commit -branch "my branch" -bgcolor #ffaabb

  has the 'bgcolor' option returning a value of "my branch". This is incorrect. It appears that somewhere in the chain of command-line option parsing, "#" is interpretted as a comment,and it + rest of line is ignored (??).

  *If* this is the case, -bgcolor should be recognized as missing an option,and throw an error.

  Optionally (preferably?) it would be nice to not require quoting or escaping for "#" chars.

  <hr><i>bharder added on 2009-02-09 05:49:08:</i><br>
  '#' handling is either intrinsic to shell, or C. argc does reflect proper number of args, though, and we should check.

  <hr><i>anonymous claiming to be Ge' Weijers added on 2009-02-09 17:46:37:</i><br>
  '#' is the comment character of the Bourne shell (/bin/sh), and therefor also for derived shells such as 'bash'. It's a feature, not a bug :-)

  <hr><i>bharder added on 2009-02-09 18:11:42:</i><br>
  fixed with commit f80303ac73


tkt_uuid: 5a13dbd275acf6b5f73c86c735eb7f415cbc8cbd
type: Code_Defect
status: Open
severity: Important
foundin: bc857ecd92
private_contact: 5c164664f608e8049128be696a3d13e04aa6fafd
resolution: Open
title: add and ci/commit are inconsistent wrt "*" handling
comment:
  <nowiki><tt>fossil add *</tt></nowiki> will happily add all files in current dir, and subdirs if present.Subsequent <nowiki><tt>fossil commit *</tt></nowiki> will fail on the subdirectories, though, saying they're not part of the repo.

  There is no file_isdir() handling in the <nowiki><tt>ci/commit</tt></nowiki> code, and even more confusingly, the object-types and style seem different between the two (<tt>add</tt> and <tt>ci/commit</tt>) blocks.

  Could these share a common function that recurses into dirs and returns strings/objects that are the files? Could <nowiki><tt>fossil ci *</tt></nowiki> be made to behave same as <nowiki><tt>fossil add *</tt></nowiki>?

  <hr><i>drh added on 2009-02-16 12:55:35:</i><br>
  Simply omit the "*" and "fossil commit" automatically commits everything.  Why
  do you want to include "*" syntax?

  <hr><i>bharder added on 2009-02-16 14:45:03:</i><br>
  If I have a logical group of commits in a single dir, and don't want to commit every single outstanding commit, then "*" is useful.

  <hr><i>kkinnell added on 2009-02-20 22:54:17:</i><br>
  On a Unix or GNU box you can do this if

    *  You're <em>not</em> trying to recurse

    *  There aren't any 'extra' files in the directory

    *  You get the full path from the root of the checkout.

  That last is as easy as starting at the checkout root, and
  <br />&nbsp;&nbsp;&nbsp;&nbsp;<code>fossil commit path/to/the/checkins/*</code>

  You may not even need the "full" path&#8212;but it never hurts to over-specify a path.

  A short Perl (or some lesser language ;) script can clean and commit a particular directory in one swell foop.

  <hr><i>anonymous added on 2009-03-14 23:45:46:</i><br>
  You can fix all kinds of problems by wrapping them in Perl, ultimately down to the point of writing an entire SCM in it. I don't think asking for consistency in behavior is that unrealistic a request.

  <hr><i>stephan added on 2009-11-30 14:44:18:</i><br>
  Keep in mind that the '*' is parsed by the SHELL, and NOT by fossil. What fossil gets as input is whatever the shell expanded '*' to be.

  <hr><i>anonymous added on 2010-05-12 11:52:06:</i><br>
  A patch to src/checkin.c to accomplish this:
  <pre>
  @@ -448,11 +448,10 @@
   
   /*
   ** Populate the Global.aCommitFile[] based on the command line arguments
   ** to a [commit] command. Global.aCommitFile is an array of integers
  -** sized at (N+1), where N is the number of arguments passed to [commit].
  -** The contents are the [id] values from the vfile table corresponding
  -** to the filenames passed as arguments.
  +** statically sized at 2000. The contents are the [id] values from the
  +** vfile table corresponding to the filenames passed as arguments.
   **
   ** The last element of aCommitFile[] is always 0 - indicating the end
   ** of the array.
   **
  @@ -461,24 +460,37 @@
   ** to mean "all files".
   */
   void select_commit_files(void){
     if( g.argc>2 ){
  -    int ii;
  +    int ii, iIn;
  +    Stmt q;
       Blob b;
  +    char *zPath;
       blob_zero(&b);
  -    g.aCommitFile = malloc(sizeof(int)*(g.argc-1));
  -
  +    g.aCommitFile = malloc(sizeof(int)*2000);
  +
  +    iIn = 0;
       for(ii=2; ii<g.argc; ii++){
         int iId;
         file_tree_name(g.argv[ii], &b, 1);
  -      iId = db_int(-1, "SELECT id FROM vfile WHERE pathname=%Q", blob_str(&b));
  +
  +      zPath = blob_str(&b);
  +      db_prepare(&q, "SELECT id FROM vfile WHERE pathname=%Q OR (pathname LIKE '%q/%%' AND chnged = 1)", zPath, zPath);
  +      iId = -1;
  +      while( db_step(&q)==SQLITE_ROW ){
  +        if( iIn>=2000 ){
  +          fossil_fatal("too many files: max 2000");
  +        }
  +
  +        iId = db_column_int(&q, 0);
  +        g.aCommitFile[iIn++] = iId;
  +      }
         if( iId<0 ){
           fossil_fatal("fossil knows nothing about: %s", g.argv[ii]);
         }
  -      g.aCommitFile[ii-2] = iId;
         blob_reset(&b);
       }
  -    g.aCommitFile[ii-2] = 0;
  +    g.aCommitFile[iIn] = 0;
     }
   }
   
   /*
  </pre>


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: 50375360502966a434b6aa1d1c915e515389288a
type: Feature_Request
status: Fixed
severity: Severe
foundin: bc857ecd92
private_contact: 6984f5ff2d3f66a87d3c6ddcf777c37b54e478f0
resolution: Fixed
title: Confusing conflict markers
comment:
  It would be nice if the conflict markers in merge results looked like:

  <verbatim>
  >>>>>>>> BEGIN MERGE CONFLICT <<<<<<<<
  <my version>
  ======================================
  <your version>
  >>>>>>>>> END MERGE CONFLICT <<<<<<<<<
  </verbatim>

  Sometimes it's not clear where one parts ends an another one starts, especially when merging branches after the development has diverged for a while.

  <hr><i>anonymous added on 2009-03-11 07:24:03:</i><br>
  This is pretty atrocious, to be honest.  I cannot think of any tool that does this bad a job at handling merge conflicts, period.  Even diff/patch .rej files are superior.

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


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: 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: d67855ccebb6bad30b4f7f2dbdfaa092fd191566
type: Code_Defect
status: Closed
severity: Important
resolution: Unable_To_Reproduce
title: css files served as application/x-fossil-artifact not text/css
comment:
  When html files are used as embeded documentation, the css files which they use are severed as application/x-fossil-artifact not text/css.

  The result of this is that they are rejected, (by firefox at least)

  An example error from firefox is:

  Error: The stylesheet http://fossil/creolejs/doc/tip/docs/Creole1.0/wiki.css was not loaded because its MIME type, "application/x-fossil-artifact", is not "text/css".

  <hr><i>eric added on 2009-03-15 13:36:08:</i><br>
  I can't reproduce this (fossil version [daacc139a5] on Linux), what version of fossil are you using?

  <hr><i>drh added on 2009-03-21 16:35:20:</i><br>
  I cannot reproduce this either.  Let's assume it has already been fixed
  by check-in [7303bfeb129c55fe9ad55a48050f6b4c7bd8ab9f]


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

  fossil newalias timeline history

  so from now on I could do

  fossil history


tkt_uuid: 7757af0d549e6318729e706b4e1fb82ffde97015
type: Feature_Request
status: Closed
severity: Important
private_contact: 5d7ac16166f122117bb8d7069931062fff5c531a
resolution: Rejected
title: Store rights and owners
comment:
  Is it possible to add a setup specific property if the version control should store owners and file rights so then when you checkout a file you get the exact same attributes as when it was checked in ?

  <hr><i>drh added on 2009-03-13 03:22:58:</i><br>
  Fossil only preserves the execute permission bit on unix.
  Attributes for windows files are not preserved.  

  What attributes do you think are useful to preserve in a
  version control system and why?

  <hr><i>eric added on 2009-03-15 17:23:09:</i><br>
  There was some discussion of this on the [MailingList] about a year ago, the result of which was a change to store execute-permission only (not explicitly versioned). People will need to be persuaded on this one, so if you could explain why you need it...

  <hr><i>anonymous added on 2009-03-17 01:03:33:</i><br>
  you may want to look into fsvs, http://fsvs.tigris.org/.


tkt_uuid: 74a95e62cf47f75fc98be5e5f9dabdb61c327fc4
type: Feature_Request
status: Open
severity: Minor
foundin: Prebuilt fossil binary version [472f9411ee] for windows.
private_contact: 2c785065bb6cf4af6c0eddaeaa12633afd12a3d9
title: Visual indicator for which code check in being viewed
comment:
  Example case.  Go to:

  http://www.fossil-scm.org/index.html/artifact/4cfcd3d811.  

  Click on the hyperlink <nowiki>[134e2aeccc]</nowiki>.  You will be taken to the following page:

  http://www.fossil-scm.org/index.html/info/134e2aeccc0acc8a4ced04da5403df234ddc1397

  If you now click on "Modified: src/db.c" you are taken to the File History for db.c http://www.fossil-scm.org/index.html/finfo?name=src/db.c

  There appears to be no easy way (other than looking up via the date/time stamp) to find which changes on the File History web page correspond to the check in which was used as a starting point.

  Some kind of visual indicator as to which check in corresponded to the reference check in would be a time saver.


tkt_uuid: fe5b460867a187cd32a12e04db62392871c4c38b
type: Code_Defect
status: Fixed
severity: Minor
foundin: 472f9411ee
private_contact: 2b0c085a4974b7df6efb6d6a0863ff8dda5bf37d
resolution: Fixed
title: Typo in "anonymous" user name on instructions on Edit User page
comment:
  On my brand new fossil install, I go to edit users: http://leeuw.local:8080/setup_uedit?id=3

  On that page, I read: 
  Users with the Password privilege are allowed to change their own password. Recommended ON for most users but OFF for special users "developer, "anonynmous", and "nobody".

  Note the typo: anonynmous -> anonymous

  <hr><i>drh added on 2009-03-21 16:22:51:</i><br>
  Fixed by check-in [5ab6f985b94ab9a732d9b2b35627801e2f780231]


tkt_uuid: 2d00038076fea4752b5b48eea4361242296fbeed
type: Code_Defect
status: Closed
severity: Important
foundin: d63f87c003
private_contact: 8cd3af0e7a0b2d518bb1030fe30505b7924a4676
resolution: Fixed
title: Wiki engine inserts extra <p> before <li> in lists
comment:
  If you look on the home page for Fossil itself, you'll see several instances where the wiki formatting has erroneously generated output like
  <verbatim>
      <ul><p><li>Foo
  </verbatim>

  which is invalid (e.g., look at the tags around "Flexible Workflow:")

  <hr><i>eric added on 2009-03-25 13:19:17:</i><br>
  Since [c963a7763d], a &lt;ul> generated from an "*" line has contained a &lt;p> which contains the &lt;li>(s). There are no unbalanced tags, but &lt;ul> is supposed to contain only &lt;li>s. Obviously most browsers do not care, but it may cause odd issues with stylesheets.

  <hr><i>jeremy_c added on 2009-12-31 04:19:20:</i><br>
  Fixed in [6f0df6c741]


tkt_uuid: 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: eed6d07c6eb373e6c92d01958a05644184dd6c02
type: Feature_Request
status: Fixed
severity: Minor
foundin: d63f87c003
private_contact: 4de91f48ceab788649292e850559a96cc7e17039
resolution: Fixed
title: Non-ASCII characters not allowed in wiki page titles
comment:
  The wiki says a page name is not well-formed if it contains a non-latin letter. When writing in languages other than English this may force you to make a spelling mistake in the project name...

  Actual project name which revealed the problem contained the phrase 'with database' which translates into 'z bazą'.

  <hr><i>kkinnell added on 2009-04-07 16:07:09:</i><br>
  Please see [ebcbb50f4ac7d5cf35ddd4c33050fff07b4ac4d8].

  <hr><i>stephan added on 2009-11-30 14:42:29:</i><br>
  Fossil does no specific encoding/decoding of these strings, as far as i'm aware, so i'm reclassifying this as a feature request rather than a defect.

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


tkt_uuid: 3984e3768ddbf470e62e6af98715a33abad17b49
type: Feature_Request
status: Closed
severity: Important
foundin: d63f87c003
private_contact: 4de91f48ceab788649292e850559a96cc7e17039
resolution: Works_As_Designed
title: Support for non-UTF encodings
comment:
  While most of the world has switched to UTF-8, there are still some places where ISO-8859 is used. It would be nice if fossil kept the repository in UTF-8, but recoded on the fly to keep the local copy in the system encoding.

  <hr><i>kkinnell added on 2009-04-07 15:06:11:</i><br>
  Please see ticket [cc6557cfc5763fa80bb04eecea7f713b0751efc4].

  Encodings are mostly about display.  If all of your systems are set up to use Latin-1, then except in <i>very</i> rare <i>real</i> instances you'll get Latin-1 when you look at the repository (see below.)

  Fossil stores octets.  You will <u>always</u> get back the octets you commit to the repository as source files.

  The only time the encoding actually matters is when the encoding is interacting with the repository itself.  This kind of meta-circular stuff causes problems in any system.  The canonical example in Fossil is multi-byte characters in a wikipage title, which display as "entified" UTF-8.


tkt_uuid: ebcbb50f4ac7d5cf35ddd4c33050fff07b4ac4d8
type: Documentation
status: Open
foundin: -
private_contact: b060c7801d9aa35179e5b9af3c79b6c2693068bc
resolution: Open
title: List of tickets relating to Encodings
comment:
  Herewith, a list of tickets related to encoding problems.  Think of it as a "poor man's FAQ" about character encodings and Fossil.  Reading these may help answer some questions before you have to ask them...
  <blockquote>
  <table>
  <tr>
  <td>[f6bfac26484c826b8fdd33f9d93149a7279986da]</td>
  <td>Incorrent handling of unicode encoded files (fossil on win XP).</td>
  </tr>
  <tr>
  <td>[ba7e79b248640ce30507e89537d203a2d9125214]</td>
  <td>problem showing diff view with several files, each in different encoding.</td>
  </tr>
  <tr>
  <td>[0a0f00d434794670fbe9d78894c7c963d5380caa]</td>
  <td>Wiki edit textarea display and Wiki name does not support non-ASCII word</td>
  </tr>
  <tr>
  <td>[838bde7990d8e190957cbfe7f15c77322dc54e57]</td>
  <td>file extracted from Fossil zip archive could have different name</td>
  </tr>
  <tr>
  <td>[3984e3768ddbf470e62e6af98715a33abad17b49]</td>
  <td>Support for non-UTF encodings</td>
  </tr>
  <tr>
  <td>[cc6557cfc5763fa80bb04eecea7f713b0751efc4]</td>
  <td>Unicode support</td>
  </tr>
  <tr>
  <td>[eed6d07c6eb373e6c92d01958a05644184dd6c02]</td>
  <td>Non-ASCII characters not allowed in wiki page titles</td>
  </tr>
  </table>
  </blockquote>


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: 3cda72fa7cbadb392e2442b435cdd4022d49a844
type: Documentation
status: Fixed
severity: Minor
foundin: n/a
private_contact: ace2a438fb254e5d21ba2ed1295b2da8392d271c
resolution: Fixed
title: Mailing list archives don't exist
comment:
  The archive at http://lists.fossil-scm.org:8080/pipermail/fossil-users/ which is linked to from the mailman info page at http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users doesn't exist. 

  It looks like http://www.mail-archive.com/fossil-users@lists.fossil-scm.org exists (although mail-archive.com seems to be down at the moment, so not sure that's the exact correct URL), so perhaps just suggest that users go there on the http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users page.

  <hr><i>anonymous claiming to be dclark@pobox.com added on 2009-04-13 02:55:49:</i><br>
  Looks like this was already reported via email:
  http://www.mail-archive.com/fossil-users@lists.fossil-scm.org/msg00079.html

  Not sure if the stated solution didn't work or something, but the *really* trivial work-around would just be to put both the correct pipermail URL and the mail-archive URL in the list description section, along with text saying to ignore the archive link below.

  <hr /><i>dmitry added on 2011-09-08 20:30:05 UTC:</i><br />
  Link "Fossil Archives" here http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users has been changed to point to http://www.mail-archive.com/fossil-users@lists.fossil-scm.org/


tkt_uuid: 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: d37b9eadb3c105e71788603972c6f5d221ad2b77
type: Code_Defect
status: Closed
severity: Important
foundin: 472f9411ee
resolution: Fixed
title: Encoding problems after rebuild
comment:
  After rebuild to version d63f87c003 from previous 472f9411ee all non-ascii char (i'm write in spanish) become erroneous in titles and comments when i worked ok before this version's update.
  Editing where is possible (summary line/title ticket, .e.g.) i see all ok again but the problem remains where i can't do this (and it's very hard edit all accents again ...)
  Happen on Windows XP & Firefox 3.

  <hr><i>anonymous added on 2009-08-08 05:42:02:</i><br>
  Rebuilding to [e124881a70] from [472f9411ee] keeps the problems mentionated, but
  rebuilding to [e124881a70] from [d63f87c003] works perfectly : keeps accents, dieresis, etc.
  So, seems a problem related to [472f9411ee]'s version projects. 
  Projects created with laters versions works ok after rebuild.


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: e4b91c37585147096ccc8cfa66b84e2b8d7cb375
type: Feature_Request
status: Closed
private_contact: 3601dce2ba6e52df40f597b6482ff3e56d1e26be
resolution: Rejected
title: Git backend
comment:
  We've had the same idea a long time for making the whole Lumiera project cloneable. When you clone the project, you should get the issue-tracker, the wiki (we're building uWiki for that purpose) and the web page (and of course all the source code).

  But we're using Git as many other, and we're extremely pleased with it. But now I see that Fossil also includes (and requires) yet-another-scm. So, how hard would it be to just use parts of the project?

  <hr><i>drh added on 2009-04-20 11:33:17:</i><br>
  The version control is not a "backend" on fossil.  The version control, the
  wiki, and the bug tracking are an integrated whole.  It is not feasible to
  attach a separate "backend" for a different version control system like Git.

  If you like the features of fossil, but are burdened by a Git legacy, I suggest
  you work on improving Git by adding to it feature you discovered on fossil.  
  Failing that, consider writing a tool that will import your git legacy into
  a new fossil repository.


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

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

  <hr><i>drh added on 2009-04-24 14:24:21:</i><br>
  Under Admin-&gt;Header you can edit the HTML text that generates the
  menu bar and make it say or link to anything you want.


tkt_uuid: 3e6775edfe5ece6ec0159a8f2fb2b250b87f43fa
type: Code_Defect
status: Open
severity: Important
foundin: [d63f87c003] 2009-03-22 13:44:43
private_contact: f90bcb24dfca980c917cc6e29c04b9cd06605ba9
resolution: Open
title: Can't pass html comments through wiki.
comment:
  I can't get the html <!-- comments --> through the wiki parser.

  Why is this important?

    1  Modifications to some documents are required to have copyright notices
       included in any derived work.

    2  Converting current html documentation to wiki format would be easier if
       I didn't have to strip out comments.

  The security issue could be avoided by converting everything within the comments to safe html but leaving the comment tags themselves.

  <hr><i>anonymous claiming to be kkinnell added on 2009-05-27 15:46:17:</i><br>
  Actually, I had added an 'annotate' tag in the kkinnell-exp branch.  What it did
  was to strip out the text between the opening and closing tags.  Completely strip it out, so that a "view source" from the browser wouldn't see it.

  That was perhaps a bit of creeping featurism (as Richard pointed out at the time) and I was going to make html tags work instead, but <i>I thought</i> someone beat me to it.

  If not, the code in that branch is a decent start--take a look at what was added for the annotate tag and treat the text recognized between start and end comment tags the same way.  It's recognizing the comment tags that's the hard part.  &lt;!-- and --> are asymmetrical (and not orthogonal w/ respect to the rest of html) and parsing them may lead to grief, madness, and atonal music.

  Or you could wait until I shake loose at work and have some time to work on it again.

  <hr><i>robert added on 2009-05-30 15:24:38:</i><br>
  Yes, I saw your code, but one of my main wishes was to make it easier
  to convert existing html documentation to wiki format, your solution does not do this as I would have to parse the code and wrap the comments in 'annotate' tags.  In addition I wanted the comments to be passed to the browser as one of the main uses was to include copyright/license info.

  < !-- -- > is standard html/xml markup, so if its madness the whole world is mad :) Why add a new markup when an existing markup already exists? I'm not sure how asymmetry/orthogonality is relevant.  Also recognizing comments does not seem to be all that difficult.

  I've put a prototype of my own pass-comments code in the [http://www.fossil-scm.org/index.html/timeline?t=pass-comments|robert-exp] branch. This branch can be seen working live at [http://pytrash.co.uk/cgi-bin/JavaScriptShell|JavaScriptShell].




  <hr /><i>viriketo added on 2011-04-28 10:35:11 UTC:</i><br />
  I'd like something that lets me type text on wiki pages that will not appear in the rendered browser windows.

  I don't mind a solution that is not <!-- -->, but the easier it is to type, the better. I want it to keep comments on the information of the page, that I'd read only reading wiki file source.


tkt_uuid: 6b8ee7d40d5d7430e4ba816c888a73ba92f3eb2e
type: Incident
status: Closed
private_contact: f90bcb24dfca980c917cc6e29c04b9cd06605ba9
resolution: Fixed
title: can't log on
comment:
  Can't seem to log on or commit as user robert.

  Maybe I forgot my password ...

  <hr><i>robert added on 2009-05-08 15:40:43:</i><br>
  Silly programmer lost his password! Appologies


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: 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: cb6baa160dfacc1bf0390eb7f5e1d487561af7a7
type: Code_Defect
status: Open
severity: Minor
foundin: 3b76c0474e
private_contact: 668a819fc68ae3df87285ba92d1fd8ef824e2d2b
title: Wiki output strips <div>
comment:
  When a 'div' is used in a wiki page, it is stripped out by the renderer and replaced with 'p'...'/p'.  The id attribute of the 'div' is lost.

  This behaviour may be appropriate for user-entered text, but 'div' is used internally when appending a remark to a Wiki page.

  Significance: This ticket is related to feature request [b92c4160fe282a0a121146d1216ec692408b2206] to include a class attribute on appended remarks so that they can be styled independently of the rest of the Wiki page.


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: e816200f9503cc1167b4538c72789e1ed09231a9
type: Code_Defect
status: Open
severity: Important
foundin: 5882d97495
private_contact: 63f4cb9d6971f7dbdee05412b8546975182b32e4
title: Shunning cause Assertion failure!
comment:
  Please consider the following
  <verbatim>
  mkdir bug; cd bug
  fossil new repos.fsl
  fossil open repos.fsl
  date > file.dat
  fossil add file.dat
  fossil ci -m "checkin 1" -nosign
  date > file.dat
  fossil ci -m "checkin 2" -nosign
  date > file.dat
  fossil ci -m "checkin 3" -nosign
  fossil ui
  </verbatim>
  If I now shun the revision of "checkin 1" and rebuild the repository, then the timeline will show "checkin 2" as the very first checkin! But if I now select "checkin 2" in the browser and chose to view its ancestors, an error occured and following message will be shown in my browser:
  <verbatim>Assertion failed: (e>0), function bag_insert, file bag_.c, line 102.</verbatim>

  However, if I <samp>deconstruct</samp> and <samp>reconstruct</samp> the repository, the "checkin 2" will really be the first checkin and clicking its ancestors will refer to itself, what I would consider a better solution.

  Please let me know, if more information is needed ...

  Ciao,<br>
  chi.


tkt_uuid: 5f9f516a22f5538aa862fea8fb0fa8ce470846c0
type: Code_Defect
status: Open
severity: Critical
foundin: d5695157d0
private_contact: 63f4cb9d6971f7dbdee05412b8546975182b32e4
resolution: Open
title: Cannot commit changes: tree checksums before and after commit do not match
comment:
  All action took place on a iMac with MacOS/X 10.5.7.

  Here the receipt to provoke the error:
  <verbatim>
  wget http://www.qiao.in-berlin.de/t3xr2.zip
  mkdir bug
  cd bug
  fossil new repos.fsl
  fossil open repos.fsl
  unzip ../t3xr2.zip
  fossil add .
  fossil com -nosign -m "Import failed"
  </verbatim>
  Fossil will answer with:
  <verbatim>
  New_Version: 19afb14b17676ebbd8b9060d4adb718a3ceb103f
  fossil: tree checksums before and after commit do not match
  </verbatim>

  Please let me know, if you need further information or if I can help somehow ...

  Thanks,
  chi :-)

  <hr><i>bharder added on 2009-06-13 15:45:23:</i><br>
  These operations work fine on NetBSD 5.0, fossil version [5882d97495], on i386 (Pentium M).

  <hr><i>chi added on 2009-06-13 16:54:48:</i><br>
  Thank you bharder! Thru your remark I was finally able to spot the bug, but I don't have an idea, how to solve it!

  In the archive there is a file <samp>Manifest</samp>. Now Fossil want to create an own file <samp>manifest</samp> where it stores some information. Unfortunately the MacOS/X' filesystem HFS+ is case insensitive per default! So the checkin's file <samp>Manifest</samp> and Fossil's own one <samp>manifest</samp> are considered the same. So after checkin, Fossil write its <samp>manifest</samp> thereby destroying a file that is part of the checkin! Fossil detect that and complain.

  As Fossil do not need a file <samp>manifest</samp> (i.e. it can work without one), it should be taken into consideration, whether it should be possible to prevent the creation of the <samp>manifest</samp> and <samp>manifest.uuid</samp> files per default?

  Ciao,
  chi :-)

  <hr><i>anonymous claiming to be kc added on 2009-11-16 14:11:54:</i><br>
  In version d5695157d0-win32 same problem. Can't commit.

  <hr><i>altufaltu added on 2009-11-17 01:59:54:</i><br>
  As fossil creates a database in local directory when open command is run, it is preferred to save contents of manifest and menifest.uuid files in the database itself rather than separate files. These file names are too common.

  That will keep things simple.


  <hr><i>drh added on 2009-11-22 23:32:47:</i><br>
  Fossil does not use the manifest or manifest.uuid files.  Those files
  are created purely for the convenience of the application.

  For example, the source code to fossil itself (which is stored as a fossil
  repository) looks at the manifest and manifest.uuid files to get the date
  and time and version information that is displayed when you type:
  "fossil version".  And SQLite gets the information returned by the
  sqlite3_sourceid() function in the same way.

  <hr><i>eric added on 2009-11-24 19:46:04:</i><br>
  checkin.c writes the two files, and could possibly have an option not to, but changing that means we need to know why it writes "manifest" and then reads it back again!


tkt_uuid: e3c34af10dd28780f0718a6b1e826da4f52a3755
type: Documentation
status: Fixed
severity: Minor
foundin: fossil-linux-x86-767ae79c3d
private_contact: 22e3b7a55e291d179313f4c2e34877f09743ee31
resolution: Fixed
title: can't run fossil clone command when not at tty
comment:
  I try to run a clone command to create a local repository in a startup script which runs at boot.  The command fails, and when standard error is redirected to a file, the cryptic message "fossil: cannot local home directory" is found.  The same command succeeds when run from the command line while logged in at a terminal.

  The command looks like:
   fossil clone http://<user>:<pass>@localhost:7071 /home/<user>/fossil/repository.fsl

  The script is run as root, the directory /home/<user>/fossil exists, a local tunnel is created to a remote repository via ssh.

  For debugging purposes, I edited the startup script so that the clone command is in a while loop as long as repository.fsl doesn't exist.  While the startup script was stuck in the loop, I logged in and executed the clone command on the command line as root, and it worked fine.  This suggests there is no problem with the tunnel or environment.

  <hr><i>bharder added on 2009-06-14 15:08:30:</i><br>
  Try manually setting the HOME environment variable to an appropriate value for the user your want to be.

  <hr><i>anonymous added on 2009-06-15 03:08:21:</i><br>
  Setting the HOME variable worked, thanks bharder.

  I'm reclassing this as a doc bug, because at minimum there should be some mention that the clone command requires that the HOME var be set.  But I would suggest eliminating the requirement in the code.  I don't see any reason why it would be a necessity.

  Also, I'll guess that the cryptic error message quoted above was intended to read: "cannot locate home directory."

  <hr><i>bharder added on 2009-06-15 03:20:49:</i><br>
  re: cryptic message: yes. Fixed in checkin [16eae22891].

  <hr><i>drh added on 2009-08-01 14:35:38:</i><br>
  Fossil really does need to locate the user's home directory.  But the
  error message has been improved.  We'll consider this issue closed.

  Check-in [e00a5de0f143bb7dad565e11f646f87bb1ae66b9]


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

  The following patch solves this problem:

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

  <pre>
  --
  Thomas Schnurrenberger
  </pre>

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


tkt_uuid: 7adb22b0ff31dd19ee87e09a10d9f7cb4b1b6aa4
type: Feature_Request
status: Closed
priority: Medium
severity: Important
private_contact: 7c314290d66d6e80f54e57ac6aa8dc635bfbc6c4
resolution: Not_A_Bug
title: turn clean command off on a repository
comment:
  I would like fossil to turn off the clean command adminastrativly.  This is for managing config files on a server, ie /etc.  I would not want to put /etc/shadow in fossil but I would really be bumed if I typed "fossil clean" and it was not.

  Thanks for the quite useful tool btw,

  marc


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]


tkt_uuid: 40df1ced7ebd6a8b9e419ff1a788ce05e33a82e1
type: Code_Defect
status: Fixed
severity: Severe
foundin: 767ae79c3d
private_contact: 668a819fc68ae3df87285ba92d1fd8ef824e2d2b
resolution: Fixed
title: Sync fail/crash with file: URL on Win32
comment:
  On Windows (XP SP3) it is possible to clone a repository using a file: URL, but attempting a pull, push or sync fails (and occasionally crashes).  

  This occurs whether you are in an open repository or specifying the repository via -R.  Also no difference between absolute and relative file: URLs.

  To reproduce:

  <pre>
  C:> mkdir repo1 && cd repo1
  C:> fossil new repo1.fossil
  C:> cd ..
  C:> mkdir repo2 && cd repo2
  C:> fossil clone file://../repo1/repo1.fossil repo2.fossil
  C:> fossil sync file://../repo1/repo1.fossil -R repo2.fossil
                  Bytes      Cards  Artifacts     Deltas
  Send:             263          3          0          0
  'fossil" http "C:' is not recognized as an internal or external command,
  operable program or batch file.
  C:> fossil open repo2.fossil
  C:> fossil sync file://../repo1/repo1.fossil
                  Bytes      Cards  Artifacts     Deltas
  Send:             263          3          0          0
  'fossil" http "C:' is not recognized as an internal or external command,
  operable program or batch file.
  </pre>

  <hr><i>anonymous claiming to be Twylite added on 2009-06-23 16:41:36:</i><br>
  Some more information:

  transport_flip() in http_transport.c is using system() to execute "fossil http" with some parameters.  By adding a strategic 'echo' to the front of the command I can tell that it's trying to do this ...

  <tt>cmd /c "fossil" http "C:/Temp/test/repo1/repo1.fossil" "C:/Temp/test/repo2/repo2.fossil-17469728767716370470-out.http" "C:/Temp/test/repo2/repo2.fossil-17469728767716370470-in.http" 127.0.0.1</tt>

  ... which executed on a command line gives the same error that I was seeing, i.e. <tt>'fossil" http "C:' is not recognized ...</tt>.

  The help for 'cmd' says the following:

  1. If all of the following conditions are met (SNIP - they aren't)

  2. Otherwise, old behavior is to see if the first character is a quote character and if so, strip the leading character and remove the last quote character on the command line, preserving any text after the last quote character.

  So on Windows XP we need to add additional double-quotes around the entire command to make it work correctly (and that should also be backwards compatible to 2000, NT, etc.).

  I assume that /bin/sh on *nix will be less happy about such a change.

  The crash is not directly related to this -- it would seem that waiting for "fossil http" causes a memory access violation (the crash happens after a similar delay if I execute a different/successful command in the system() call).




  <hr><i>anonymous claiming to be Twylite added on 2009-06-23 20:26:51:</i><br>
  Possible fix: use an #ifdef to change quoting on WIN32.

  The following patch appears to fix the problem (tested on WinXP SP3 under cmd shell and msys).  It should leave the behaviour on *nix systems untouched.

  <pre>
  --- src/http_transport.c
  +++ src/http_transport.c
  @@ -140,14 +140,21 @@
   /*
   ** This routine is called when the outbound message is complete and
   ** it is time to being recieving a reply.
   */
   void transport_flip(void){
  +#ifdef __MINGW32__
  +  /* If a command begins with a quote, cmd.exe will strip the leading char
  +   * and the last quote char on the line.  See 'cmd /?' */
  +  char* cmdformat = "\"\"%s\" http \"%s\" \"%s\" \"%s\" 127.0.0.1\"";
  +#else
  +  char* cmdformat = "\"%s\" http \"%s\" \"%s\" \"%s\" 127.0.0.1";
  +#endif
     if( g.urlIsFile ){
       char *zCmd;
       fclose(transport.pFile);
  -    zCmd = mprintf("\"%s\" http \"%s\" \"%s\" \"%s\" 127.0.0.1",
  +    zCmd = mprintf(cmdformat,
          g.argv[0], g.urlName, transport.zOutFile, transport.zInFile
       );
       system(zCmd);
       free(zCmd);
       transport.pFile = fopen(transport.zInFile, "rb");
  </pre>


  <hr><i>anonymous claiming to be Twylite added on 2009-06-24 12:53:43:</i><br>
  I think I posted that patch as 'pre' instead of 'verbatim'.  To safe a lot of frustration if you didn't notice the <nowiki>[bad-link:0]</nowiki> in there, here's a better copy:

  <verbatim>
  --- src/http_transport.c
  +++ src/http_transport.c
  @@ -140,14 +140,21 @@
   /*
   ** This routine is called when the outbound message is complete and
   ** it is time to being recieving a reply.
   */
   void transport_flip(void){
  +#ifdef __MINGW32__
  +  /* If a command begins with a quote, cmd.exe will strip the leading char
  +   * and the last quote char on the line.  See 'cmd /?' */
  +  char* cmdformat = "\"\"%s\" http \"%s\" \"%s\" \"%s\" 127.0.0.1\"";
  +#else
  +  char* cmdformat = "\"%s\" http \"%s\" \"%s\" \"%s\" 127.0.0.1";
  +#endif
     if( g.urlIsFile ){
       char *zCmd;
       fclose(transport.pFile);
  -    zCmd = mprintf("\"%s\" http \"%s\" \"%s\" \"%s\" 127.0.0.1",
  +    zCmd = mprintf(cmdformat,
          g.argv[0], g.urlName, transport.zOutFile, transport.zInFile
       );
       system(zCmd);
       free(zCmd);
       transport.pFile = fopen(transport.zInFile, "rb");

  </verbatim>



  <hr><i>drh added on 2009-06-25 12:54:02:</i><br>
  Fixed by check-in [2554ba460dd8b56]


tkt_uuid: e65daa109fbfc0c89b6a25c5269032aed414f440
type: Code_Defect
status: Open
severity: Critical
foundin: 767ae79c3d
private_contact: 9c86e1cba86ab4ae28de934533d61e9210808572
title: Unable to open a project due to null contents of VC source file
comment:
  I cloned my repository locally from 192.168.1.25. I then tried to open the repository to extract the code. All I got was this error. I had already upgraded to version 767ae79c3d and rebuilt the repository on server prior to cloning. I opened the tcl-dev repository file and examined the blob and filename tables and determined there were quite a few files with size -1 and Null contents.There are also many entries where the contents are empty and the size is not -1. The file below (aes.tcl) has a size of 84 and the contents are null. I changed the size to -1 and retried opening the local repository again and it failed with same error.  Perhaps a force option is needed to keep extracting the data when and error is hit.

   $fossil open ../../tcl-dev 
   Autosync:  http://192.168.1.25:8081/
                  Bytes      Cards  Artifacts     Deltas
   Send:            5911        124          0          0
   Received:          46          2          0          0
   (null): content missing for lib/tcl/tcllib-1.11/aes/aes.tcl


tkt_uuid: d798ba2e7927bb61afb1e81beb948a0052aee89f
type: Feature_Request
status: Open
severity: Minor
private_contact: 94f9aa215751acf313126f46b3eb62c38af4c9c7
resolution: Open
title: Hooks request
comment:
  Hello. Can fossil have a hook-mechanism such as hook's in subversion in a future ?

  <hr><i>drh added on 2009-07-07 14:28:24:</i><br>
  Can you be more specific about what you are looking for and what you are
  trying to accomplish?  Perhaps describe the problem you are trying to solve
  and suggest one or more potential solutions.

  <hr><i>anonymous claiming to be bch added on 2009-07-07 21:41:52:</i><br>
  I wonder if the reference is to this: [http://svnbook.red-bean.com/en/1.0/svn-book.html#svn-ch-5-sect-2.1]

  <hr /><i>anonymous added on 2010-11-19 11:21:59:</i><br />
  I would like, for example, some way to notify people by email on changes to tickets or things like that.
  Or maybe there is something like RSS?

  I don't know any other way of being up to date with tickets than to poll manually the tickets web and look for changes.

  <hr /><i>anonymous claiming to be Arnel added on 2010-11-19 15:13:30:</i><br />
  If you need RSS, try opening the <a href="http://www.fossil-scm.org/index.html/timeline">timeline view</a> for Fossil in Firefox. You should see an RSS icon on FF's address bar which points to this URL:

  http://www.fossil-scm.org/index.html/timeline.rss

  <hr /><i>dmitry added on 2011-09-08 22:06:19 UTC:</i><br />
  See also ticket [77de516a1f].


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: 607bc372c6def2e7ff87859fbe78c977fab12ecb
type: Code_Defect
status: Fixed
severity: Important
foundin: 767ae79c3d
private_contact: a44827559cb5ba06a95af4c4d260c5b79df45d69
resolution: Fixed
title: Segmentation fault fossil open ../clone.fsl
comment:
  Get 6663 Segmentation fault on "fossil open ../clone.fsl".

  0. Prebuilt fossil binary version [767ae79c3d] for Linux on amd64.
     Running on Linux 2.6.18-128.2.1.el5xen #1 SMP Tue Jul 14 07:07:49 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
  1. Started with repo golden.fsl (autosync 1)
  2. cloned it to clone.fsl (autosync 1)
  3. opened the clone, added a file, commited, closed
  4. tried second open and got segmentation fault.

  Shell script to reproduce problem below, with cut/paste of script execution.

  <verbatim>
  cat > bug.sh <<EOF
  #!/bin/bash
  fossil version
  rm -rf testsync
  mkdir -p testsync/co
  cd testsync
  echo 888888888888888888888888888 creating golden.fsl
  fossil new golden.fsl
  fossil setting autosync 1 -R golden.fsl
  fossil setting clearsign 0 -R golden.fsl
  echo   888888888888888888888888888 cloning to clone.fsl
  # fossil clone file://golden.fsl clone.fsl
  fossil clone golden.fsl clone.fsl
  echo   888888888888888888888888888 open clone.fsl
  cd co
  fossil open ../clone.fsl
  echo 888888888888888888888888888 adding file.txt to clone.fsl
  echo "test line 1" > file.txt
  fossil add file.txt
  echo   888888888888888888888888888 now commit clone.fsl
  fossil commit -m "added file.txt"
  echo   888888888888888888888888888 now close clone.fsl
  fossil close
  cd ..
  echo   888888888888888888888888888 open clone.fsl
  cd co
  fossil open ../clone.fsl
  echo   888888888888888888888888888 adding file2.txt to clone.fsl
  echo "test line 1" > file2.txt
  fossil add file2.txt
  echo   888888888888888888888888888 now commit clone.fsl
  fossil commit -m "added file2.txt"
  echo   888888888888888888888888888 now close clone.fsl
  fossil close
  cd ..
  EOF
  </verbatim>

  Output from above script is:

  <verbatim>
  [jgm@centos fossil]$ ./bug1.sh
  This is fossil version [767ae79c3d] 2009-04-24 18:40:03 UTC
  888888888888888888888888888 creating golden.fsl
  project-id: 376259cb21ae0842ced3944f8957bfa423f7ea09
  server-id:  cd966662db19ee7eb0e7e8807ab7e58f9db665fa
  admin-user: jgm (initial password is "709262")
  888888888888888888888888888 cloning to clone.fsl
  Repository cloned into clone.fsl
  Rebuilding repository meta-data...
  1 (100%)...
  project-id: 376259cb21ae0842ced3944f8957bfa423f7ea09
  server-id:  fa0ce966e276f68c299e7a06b63e14d797e780a2
  admin-user: jgm (password is "709262")
  888888888888888888888888888 open clone.fsl
  888888888888888888888888888 adding file.txt to clone.fsl
  ADDED  file.txt
  888888888888888888888888888 now commit clone.fsl
  Autosync:  file:///home/jgm/storage/workspace/fossil/testsync/golden.fsl
                  Bytes      Cards  Artifacts     Deltas
  Send:             130          1          0          0
  Received:          46          2          0          0
  New_Version: 58edecc0e57a46f2016c2e8281a9e4099992f9f1
  Autosync:  file:///home/jgm/storage/workspace/fossil/testsync/golden.fsl
                  Bytes      Cards  Artifacts     Deltas
  Send:             677          5          2          0
  Received:         138          5          0          0
  888888888888888888888888888 now close clone.fsl
  888888888888888888888888888 open clone.fsl
  Autosync:  file:///home/jgm/storage/workspace/fossil/testsync/golden.fsl
                  Bytes      Cards  Artifacts     Deltas
  Send:             130          1          0          0
  sh: : command not found
  ./bug1.sh: line 31:  6663 Segmentation fault      fossil open ../clone.fsl
  888888888888888888888888888 adding file2.txt to clone.fsl
  ADDED  file2.txt
  888888888888888888888888888 now commit clone.fsl
  Autosync:  file:///home/jgm/storage/workspace/fossil/testsync/golden.fsl
                  Bytes      Cards  Artifacts     Deltas
  Send:             130          1          0          0
  Received:         138          4          0          0
  fossil: would fork.  "update" first or use -f or --force.
  888888888888888888888888888 now close clone.fsl
  fossil: there are unsaved changes in the current checkout
  </verbatim>

  <hr><i>drh added on 2009-07-22 12:47:34:</i><br>
  The problem seems to have already been fixed by check-in [915bfd99fec69f978].
  I have posted the latest binaries on the website for ease of downloading.

  Thank you for an exceptionally clear bug report.


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

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


  Output of this script is as follows:

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

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

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

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

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

  End of investigation for now.

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

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

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

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

  Here's the output:

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

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


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

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

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

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

  </verbatim>


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

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

  </verbatim>


  Did I overlook anything?


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


tkt_uuid: 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: d5b429766a126c7765638629b87c4c694b2b0ba8
type: Incident
status: Closed
severity: Important
foundin: N/A
private_contact: ecf341e75e316de681ef834dfdb7946a47144093
resolution: Duplicate
title: Cannot access email list archive
comment:
  I am unable to access the email archive (URL is http://lists.fossil-scm.org:8080/pipermail/fossil-users/ ) from the list page.

  Error message is

  The requested URL /pipermail/fossil-users/ was not found on this server.

  <hr><i>anonymous added on 2009-08-06 12:58:31:</i><br>
  Duplicate of [3cda72fa7cbadb392e2442b435cdd4022d49a844] and perhaps other
  tickets as well.  This is a problem with the mailing list manager software,
  mailman.  We have had multiple experts look into the problem, but so far
  nobody has been able to come up with a solution.  


tkt_uuid: c84ee1364f83e0fba18fb651a5a7af954a1596dd
type: Feature_Request
status: Fixed
severity: Cosmetic
private_contact: 7fe1ab9c6c9d0383752910b0b70a42d65a2b0883
resolution: Fixed
title: Export zip from cli
comment:
  It would be very handy the addition of a cli command (eg. zip/export) which exports a revision to a zip file, similar to the wiki feature. This is handy when a graphical browser is not available (eg. console only environment).<br>
  Thanks

  <hr><i>anonymous claiming to be dlane added on 2010-03-03 16:29:51:</i><br>
  A workaround which works currently could be 

  <verbatim>
  $ curl "http://www.fossil-scm.org/fossil/zip/Fossil-71edacd95f.zip?uuid=71edacd95f" > 71edacd95f.zip
  </verbatim>

  Fossil generally treats urls sanely and changes them slowly. It generally allows unique prefixes for artifacts: the browser url has a longer value for uuid but it turns out to be enough to replicate the shorter prefix that is available, for example in

  <verbatim>
  $ fossil finfo <filename>
  </verbatim>

  The perl/python/ruby/tcl(?) to bind these conveniently should not be very hard.
  Tags etc left as a Simple Exercise for the Reader.

  <hr><i>ron added on 2010-03-03 18:55:16:</i><br>
  Actually, on Linux do "fossil set web-browser lynx".  Then when you do "fossil ui", you will get the console 'lynx' browser (substitute some other browser if you like).  This works nicely, I was able to get the zip this way without using Firefox etc.

  <hr><i>anonymous claiming to be Ross Berteig added on 2010-03-11 03:21:19:</i><br>
  I just posted a patch to zip.c to the mailing list to implement a fossil zip command that understands a uuid (or prefix) or tag and creates a zip file that is identical to the one created by the web ui.

  The existing fossil test-baseline-zip command produces archives that are very similar, but use a different name of the top level folder in the zip. And its undocumented.


tkt_uuid: 736af3b63b72fa24fac92ef84e2cccb618dab8fb
type: Feature_Request
status: Closed
severity: Minor
resolution: Fixed
title: Comment from file
comment:
  It would be a good command to get comment text not from the command line or from the user editor but from the file. For example, '--file <comment_file>' like it is in Subversion.
  Sorry for my English. :)

  <hr><i>jeremy_c added on 2009-12-31 04:17:16:</i><br>
  This has been added in the form of -M comment-file.txt


tkt_uuid: 1150abdbeed5d51cb3ebbe0c340d0c17fc61f2ce
type: Feature_Request
status: Closed
severity: Minor
private_contact: 1ce552a72be2cfbe25c7158568345c8dbbd93fc6
resolution: Fixed
title: option to limit the scope of extra and clean commands
comment:
  It would be helpful if I could perform extra and clean commands on specific directories within the repository as opposed to the entire repository.


tkt_uuid: 28044ab5a42b750e1fcbd394fd5fdcf250d38b5b
type: Incident
status: Fixed
severity: Minor
foundin: 79be9028eb
private_contact: 4fbe952a3fd0e91c08103e030a3f601770d643c0
resolution: Fixed
title: Zip archive dates are in the future
comment:
  If I download the most recent zip archive and then do a build, make keeps whining about clock skew being detected.  This is because several file dates are in the future (I am on US West Coast).

  I have no idea how zip stores time information and especially timezone information, but I haven't had this kind of issue with other projects that released their source via zip.  The issue should just go away if there has been sufficient time elapsed between the zip times and local times.  Maybe there is an alternative solution?

  <hr><i>drh added on 2009-08-13 13:03:20:</i><br>
  This is a limitation of the ZIP file format.  There is no provision
  in ZIP for a "timezone" field.  There is only a date and time field (in the
  old MSDOS format).  Fossil inserts the date and time as UTC.  If the program
  that unpacks the ZIP archive interprets the time in the local timezone, then the
  time can be off by several hours.

  I cannot think of a reasonable workaround.  Can anybody else suggest something?

  <hr><i>anonymous claiming to be bch added on 2009-08-13 16:40:17:</i><br>
  Timestamp UTC minus 1 whole day? A note could be included either as a link-through page, or beside the 'download zip' link to indicate archives are back-dated to accommodate build-systems (i.e. make ([http://en.wikipedia.org/wiki/GNU_make#Modern_versions]) and the limitations of zip datestamping.

  -bch

  <hr><i>anonymous claiming to be tsbg added on 2009-08-14 20:38:47:</i><br>
  Adding a "Extended Timestamp Extra Field" could solve this problem.
  The specification of this field can be found on the Info-Zip web page
  [http://www.info-zip.org/doc/] in the file appnote-iz-latest.zip.

  --
  tsbg


  <hr><i>drh added on 2009-08-15 02:18:47:</i><br>
  Thanks for suggesting the "extended timestamp" addition and for a pointer
  to where to find documentation about it.  That fixed the problem.
  See check-in [90048e0b30f12377b33110b279f19299643fe830],


tkt_uuid: 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: 2e924cf9b74e7bc777c0f896eda0349e1bf123c7
type: Feature_Request
status: Fixed
severity: Minor
foundin: 9cbef7a104e5d6168895a1ab99ad0a68484be369
private_contact: 9e3254e6e3c2643cc148bab2d55f46bb4c0446f4
resolution: Fixed
title: Change recursive add to allow inclusion of files starting with dot
comment:
  Currently a recursive add ignores dotfiles. This is annoying when adding for instance an eclipse project on windows (eclipse uses directories starting with . for project settings)
  I propose to add a flag -dotfiles to add so that when specified .files and .dir will be added as well.
  Following diff adds the option to fossil add:

  <verbatim>
  @@ -65,21 +65,24 @@
   ** All content of the zDir directory to the SFILE table.
   */
   void add_directory_content(const char *zDir){
     DIR *d;
     int origSize;
  +  int dotFlag;
     struct dirent *pEntry;
     Blob path;
  +  dotFlag = find_option("dotfiles","d",0)!=0;
   
     blob_zero(&path);
     blob_append(&path, zDir, -1);
     origSize = blob_size(&path);
     d = opendir(zDir);
     if( d ){
       while( (pEntry=readdir(d))!=0 ){
         char *zPath;
  -      if( pEntry->d_name[0]=='.' ) continue;
  +      if( pEntry->d_name[0]=='.' && !dotFlag) continue;
  +      if( strcmp(pEntry->d_name, "..")==0 ||  strcmp(pEntry->d_name, ".")==0 ) continue;
         blob_appendf(&path, "/%s", pEntry->d_name);
         zPath = blob_str(&path);
         if( file_isdir(zPath)==1 ){
           add_directory_content(zPath);
         }else if( file_isfile(zPath) ){
  @@ -112,10 +115,14 @@
   **
   ** Usage: %fossil add FILE...
   **
   ** Make arrangements to add one or more files to the current checkout
   ** at the next commit.
  +**
  +** When adding files recursively, by default files or directories
  +** starting with a . (dot), will not be added. This behaviour can be changed
  +** by the optional -dotfiles flag.
   */
   void add_cmd(void){
     int i;
     int vid;
     Blob repo;
  </verbatim>

  <hr><i>drh added on 2009-08-14 16:20:50:</i><br>
  Added with check-in [5bc5e88c86130400c184ba93b2470e7009f909c5]


tkt_uuid: 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: 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: 31bd22c31fcc1d1008c7b4b032b6f148a56a6e6b
type: Code_Defect
status: Fixed
severity: Minor
foundin: 5b91887495
private_contact: f6a9dd909d0ef561fc068d594fe1afe9ccc9cb4f
resolution: Fixed
title: sql error in db_unset
comment:
  db_unset has incorrect sql in the delete query..

  "DELETE INTO" should be "DELETE FROM" on lines 1232 & 1235

  <hr><i>anonymous added on 2009-08-15 16:06:51:</i><br>
  .. in src/db.c (in case that wasn't obvious)

  <hr><i>drh added on 2009-08-15 16:51:33:</i><br>
  Fixed in [74f7f6e6ad30a5]


tkt_uuid: c7c36ef52edabdfc29c113082a54709522e9baa9
type: Code_Defect
status: Fixed
severity: Severe
foundin: [137bff8294]
private_contact: 24b67375dd2ec6c7381a5ad34cfcf006f0b9c260
resolution: Fixed
title: recent fossil on non English variant of winXP fails to create new repo
comment:
  <verbatim>
  c:\soft\bin>fossil ve
  This is fossil version [137bff8294] 2009-08-15 17:45:28 UTC

  c:\soft\bin>fossil new qqq.foss
  fossil: unable to open database file
  </verbatim>
  Older versions on fossil were creating new repos on non English win XP just fine: <br>
  <verbatim>
  log of successful acces to _fossil database while executing "fossil new qqq.foss" with fossil version [1b0c251575]
  22:23:38.812	fossil.exe:1468	OPEN	C:\Documents and Settings\usr\Data aplikací\	SUCCESS	Options: Open Directory  Access: All	
  22:23:38.812	fossil.exe:1468	DIRECTORY	C:\Documents and Settings\usr\Data aplikací\	SUCCESS	FileBothDirectoryInformation: _fossil	
  22:23:38.812	fossil.exe:1468	CLOSE	C:\Documents and Settings\usr\Data aplikací\	SUCCESS		
  22:23:38.812	fossil.exe:1468	OPEN	C:\Documents and Settings\usr\Data aplikací\_fossil	SUCCESS	Options: OpenIf  Access: All	
  </verbatim>

  while recent version fails:<br>
  <verbatim>
  log of failed acces to _fossil database while executing "fossil new qqq.foss" with fossil version [137bff8294]
  22:27:00.863	fossil.exe:3780	DIRECTORY	C:\Documents and Settings\usr\Data aplikací\	SUCCESS	FileBothDirectoryInformation: _fossil	
  22:27:00.863	fossil.exe:3780	CLOSE	C:\Documents and Settings\usr\Data aplikací\	SUCCESS		
  22:27:00.863	fossil.exe:3780	OPEN	C:\Documents and Settings\usr\Data aplikac\_fossil	PATH NOT FOUND	Options: OpenIf  Access: All	
  22:27:00.863	fossil.exe:3780	OPEN	C:\Documents and Settings\usr\Data aplikac\_fossil	PATH NOT FOUND	Options: OpenIf  Access: All	
  </verbatim>

  I would guess, problem was introduced with check in [6b0196aeb8]<br>

  The problem seems to be stripped "í" character <br>
  (http://www.fileformat.info/info/unicode/char/00ed/index.htm)<br> 
  from the localised path to the location where _fossil file is.<br>

  OK<br>
  C:\Documents and Settings\usr\Data aplikací\_fossil<br>
  Wrong<br>
  C:\Documents and Settings\usr\Data aplikac\_fossil<br>

  <hr><i>drh added on 2009-08-15 21:41:16:</i><br>
  Check-in [00ac7945a9ead] seems a more likely cause than 
  check-in [6b0196aeb874f], in which case check-in [a25092b14ca]
  should fix the problem.  Please try [a25092b14ca] and mark this
  ticket as "fixed" if it works.  Thanks.

  <hr><i>anonymous claiming to be PF added on 2009-08-15 22:36:42:</i><br>
  Check in a25092b14ca helped and new repos are created OK. Thanks for your fix.


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: 69a4323277edc3e90c1b12502557de60a20d2d8c
type: Feature_Request
status: Closed
severity: Minor
resolution: Rejected
title: navegation
comment:
  Because is possible have large lists (i.e. 200 events in timeline) i think woud be very usefull :

    *  Keep the toolbar fix at top, ever visible; and/or
    *  Have button(s) to top

  <hr><i>anonymous claiming to be Thomas added on 2009-08-30 16:00:24:</i><br>
  This is easy to do through the CSS editor. I don't think that Fossil needs to be a presentation/layout engine, so it's probably best just to merge these with the existing styles:

  <pre>
  body {
    padding-top: 2em;
  }

  div.mainmenu {
    position: fixed;
    top: 0; 
    left: 0;
    width: 100%;
  }
  </pre>

  Tested in Safari and Firefox.

  <hr /><i>lrem added on 2011-08-30 13:46:35 UTC:</i><br />
  This is clearly a matter of taste. Going back to top of the page is a matter of a single button press or mouse gesture, so it does not change usability by much. Finally, if someone desires this on his own Fossil page, he can just edit the skin.


tkt_uuid: 43698c424703dc127687e6ca6a408c917b3706df
type: Incident
status: Closed
priority: Medium
severity: Important
foundin: 713b8be852
private_contact: 21c0f447532234366dbec18d60d747db150b5faa
resolution: External_Bug
title: Added a field Assigned to but can't change text and it at the same time.
comment:
  I need a field Assigned To so that I may pass tickets back and forth between users but it seems when I create or edit a new ticket I can't change that value and add text at the same time.  I first have to add text then hit edit again then changed the Assigned to value for it to take.  Anyone else run into this?

  I defined Assigned To choices in the common database information under tickets as follows 

  set assigned_To_choices {
    Joe
    Mama
    Both
  }

  is this ok?  In the new/edit tickets I added it to the HTML as follows

  <tr>
  <td align="right">Assign To:
  <th1>combobox type $assigned_To_choices 1</th1>
  </td>
  <td>Who is this ticket assigned to?</td>
  </tr>

  is this ok?

  <hr><i>drh added on 2009-09-09 15:42:50:</i><br>
  This sounds like you are requesting help or assistance in configuring
  Fossil, not reporting a bug.  Please reserve the use tickets for bug reports.

  For help in configuring Fossil, please post on the fossil users mailing list.
  Visit the fossil homepage for instructions on how to get to the users
  mailing list.

  <hr><i>anonymous added on 2009-09-09 17:04:16:</i><br>
  I agree it could be a configuration issue but I wasn't sure if it was pertaining to code or configuration so I posted it here.  All the other selections ie type, severity, resolution, and status are all setup the same what I have setup my new addition setup which makes me believe is could possibly be a bug.  Has anyone else had an issue like this?  I haven't seen another bug report like this.

  <hr><i>anonymous added on 2009-09-09 17:05:28:</i><br>
  I'm sorry I reported it incorrectly.  I meant to say I have added a field Assigned_To and this is occurring.  Sorry for the confusion.

  <hr><i>drh added on 2009-09-19 14:47:10:</i><br>
  I think this is the same problem in your configuration that was described
  in ticket [4c8803b3b168].


tkt_uuid: 3d11382ca195384604bb4a79d64e67fb9028a92d
type: Feature_Request
status: Open
severity: Important
resolution: Open
title: Milestone feature functionality
comment:
  I miss a milestone functionality, and a corresponding main menu entry to a milestone overview page which shows one bargraph for overall success and one piechart showing status of all tickets assigned to a milestone.

  <hr><i>drh added on 2009-09-09 18:31:57:</i><br>
  Understood.

  Note that milestones can be "simulated" by giving a well-known tag (ex: "milestone") to particular check-ins and setting the background color of those check-ins to something that stands out.  Nevertheless, I agree that milestones would be nice.  We'll look into it.

  <hr><i>anonymous added on 2009-09-09 18:47:52:</i><br>
  I did add a new column to the table, and to ticket form, and i did hacked an sql script for the report grouping by milestone showing count of !closed and closed and a percent progress, but the havin this report is not presentable due to its layout, but sure it worked.. for now...

  Anyway would that concept be very nice..

  /Henrik 

  <hr><i>anonymous added on 2010-01-22 14:49:36:</i><br>
  +1 

  Would be greate to have this feature...


tkt_uuid: 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: 71c9b46198c04e536dd4a8d4e70953a88719092d
type: Code_Defect
status: Fixed
severity: Severe
foundin: 713b8be852 2009-08-28 22:59:27 UTC
private_contact: 2359089ef753bc96e12743e299243d5232c749fa
resolution: Fixed
title: fossil clone fails on windows when username contains a space
comment:
  on a windows machine using powershell, my fossil clone attempts to use "ron wilson" as my login name without quotes.  this is my windows account name.<br>
  <br>
  PS C:\fossil> fossil clone http://www.fossil-scm.org/ fossil.fossil<br>
                  Bytes      Cards  Artifacts     Deltas<br>
  Send:             552         22          0          0<br>
  C:\WINDOWS\system32\fossil.exe: server says: bad command: login ron wilson be70bbac9fb714783e3460c62a2c142d2b894cfd fe7a08a0c11e6b99de544ab8a23002a97f689264<br>
  <br>
  i suspect fossil is grabbing my username from windows and using it as the username for logging in.  perhaps the name should be quoted?  i would prefer to specify a username with the clone command, but there doesn't seem to be a way.

  <hr><i>anonymous added on 2009-09-10 05:47:36:</i><br>
  You can use http://username@unknown.com as URL to sepcify username, you might have to add a %20 instead of the actual space.

  <hr><i>drh added on 2009-09-10 14:08:39:</i><br>
  Fixed by check-in [ee47021f51fa7b81bd00]

  <hr><i>anonymous added on 2009-09-10 14:32:09:</i><br>
  that works


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

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


tkt_uuid: e5232878345cb71d17cc1631b12dd5903b3d272f
type: Feature_Request
status: Closed
severity: Important
foundin: 6021279637
private_contact: 2359089ef753bc96e12743e299243d5232c749fa
resolution: Works_As_Designed
title: user passwords are stored in plain text
comment:
  user passwords are stored in the fossil repository as plain text instead of a hash.

  <hr><i>drh added on 2009-09-12 15:53:03:</i><br>
  There are two options:

    1.  User passwords can be stored cleartext in the local database but
        sent over the wire (during sync) as a hash.

    2.  User passwords are stored has a hash in the local database but are
        sent in the clear over the wire during a sync.

  We believe that (1) is the better choice since it requires an attacker to
  be able to see the local database in order to find passwords, and if the
  attacker can see the local database, then he has already compromised the
  machine.  But with (2), the attack need only passively monitor network
  communications in order to steal passwords.

  <hr><i>rwilson added on 2009-09-14 16:40:15:</i><br>
  there should be some 'best practice faq' for fossil then, because if i store the same username/password in my local repository as is in the remote repository, then compromising my local also compromises the remote.  also, i assumed that fossil was storing a hash of my password, so i chose a password that i use frequently on the internet.  so, now that you know what that is, please don't drain my checking account.

  <hr><i>drh added on 2009-09-14 19:19:08:</i><br>
  New "scrub" command remove private information from a repository.
  Check-in [6c6a978a537]

  <hr><i>rwilson added on 2010-01-10 04:54:59:</i><br>
  fixed in [cfe33dcf92] - hurray!


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: 474bf7c70e5f7d531940827e69a3a89a9a4c2543
type: Incident
status: Closed
priority: Medium
severity: Important
foundin: 6021279637
private_contact: 7d648926689058d41bb399cda295099d354b5b7d
resolution: Works_As_Designed
title: fossil-w32-20090911230450.zip can not commit with Cygwin GnuPG.
comment:
  "fossil commit" runs gpg after notepad.exe is closed, but cygwin gpg is freezed. 

  But I use fossil which is built from source (fossil-src-20090911230450.tar.gz), gpg is not freezed.


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: cdd360438de1331b83874fbb70f4e0d22fdbae79
type: Code_Defect
status: Fixed
severity: Minor
foundin: 713b8be852
private_contact: e64e062ff7022fc7fdd41ac56baff07e8ae485d9
resolution: Fixed
title: Fossil does not handle absolute paths without disk drives in Windows.
comment:
  <nowiki>
  Attempt #1 to open a repository in Windows:
  <pre>
  e:\source\c\fossil>fossil open \Source\Repositories\fossil.fsl
  fossil: repository does not exist or is in an unreadable directory: E:/Source/C/fossil/Source/Repositories/fossil.fsl
  </pre>

  Attempt #2:
  <pre>
  e:\source\c\fossil>fossil open E:\Source\Repositories\fossil.fsl
  BUILD.txt
  COPYRIGHT-GPL2.txt
  Makefile
  Makefile.w32
  art/CollRev1.dia
  art/CollRev2.dia
  art/CollRev3.dia
  art/CollRev4.dia
  art/branching.odp
  .
  .
  .
  </pre>

  It bizarrely assumes that a path with an opening backslash is relative to the current path instead of relative to the drive root like it should.

  It seems fossil only recognizes a full path specification if it includes device names.  This is a Bad Idea.  It makes me wonder how it handles UNC or UNCW paths as well:

  <pre>
  \\Computer\SharedFolder\Path\To\Destination\File
  \\?\UNC\Computer\SharedFolder\Path\To\Destination\File.
  </pre>

  (I have no way of testing that at the moment as the Windows machine I'm using is not on a network with any other Windows machines.)
  </nowiki>

  <hr><i>drh added on 2009-09-13 11:47:15:</i><br>
  I think that the following patch may be sufficient to fix this:

  <verbatim>
  --- src/file.c
  +++ src/file.c
  @@ -244,10 +244,11 @@
   ** Convert /A/../ to just /
   */
   void file_canonical_name(const char *zOrigName, Blob *pOut){
     if( zOrigName[0]=='/'
   #ifdef __MINGW32__
  +      || zOrigName[0]=='\\'
         || (strlen(zOrigName)>3 && zOrigName[1]==':'
              && (zOrigName[2]=='\\' || zOrigName[2]=='/'))
   #endif
     ){
       blob_set(pOut, zOrigName);
  </verbatim>

  I will strive to boot up a copy of windows this afternoon and try it out.
  In the meantime, a work-around might be to use forward slashes ("/") instead of
  backslashes ("\") in the pathname, at least for the first character of
  an absolute pathname.


  <hr><i>drh added on 2009-09-13 16:21:13:</i><br>
  The patch shown above turns out to work.  
  Fixed by check-in [42bf80978d9740dbac8c762033348fbb1da9b0de].


tkt_uuid: 6445480b9bd255a823f05ea18960a37a2e21a9cc
type: Documentation
status: Fixed
severity: Cosmetic
foundin: eb1db585a5
private_contact: 2359089ef753bc96e12743e299243d5232c749fa
resolution: Fixed
title: fossil branches - unknown command
comment:
  the quick start guide describes the command 'fossil branches' but it is an unknown command.  perhaps 'fossil branch list' was intended?  see checkin [da4363308c].

  <nowiki><pre>
  PS C:\fossil\fossil> fossil branches
  C:\WINDOWS\system32\fossil.exe: unknown command: branches
  C:\WINDOWS\system32\fossil.exe: use "help" for more information
  PS C:\fossil\fossil> fossil branch list
  === 2009-05-08 ===
  09:52:38 [ecd1f09632] Initial commit of Creole Wiki Parser extension. (user:
           robert tags: creole)
  === 2009-04-27 ===
  08:43:38 [47cc9dfec8] Experimental - Pass < !-- --> comments through the wiki
           unchanged unless inside a < verbatim > block in which case it is
  [...]
  14:09:59 [a28c83647d] initial empty baseline (user: drh tags: trunk)
  PS C:\fossil\fossil> fossil ver
  This is fossil version [eb1db585a5] 2009-09-14 16:56:29 UTC
  PS C:\fossil\fossil>
  </pre></nowiki>

  <hr><i>drh added on 2009-09-19 14:43:52:</i><br>
  Fixed the [/doc/tip/www/quickstart.wiki | Quick Start] document in
  check-in [849972ea0b9d2]


tkt_uuid: e4a31ae35cd521b84b4d888af08c19d1905489b3
type: Code_Defect
status: Fixed
severity: Cosmetic
foundin: 6021279637
private_contact: 2359089ef753bc96e12743e299243d5232c749fa
resolution: Fixed
title: project header/title shows html artifacts
comment:
  the header/title portion of the home page shows &amp;quot; while the header/logo does not.  to reproduce go to admin/configuration and set the project name to:  MyProject "MP2000"<br>
  <br>
  Apply the changes and go to the home page; compare the text top/left with top/center.  entering &amp;quot; instead of &quot; in the project name just creates more problems.

  <hr><i>drh added on 2009-09-15 00:59:41:</i><br>
  Fixed by check-in [dec4685720199]


tkt_uuid: 4f01957dbce0b0f6dd590d030407dd985bae10b2
type: Feature_Request
status: Closed
severity: Minor
foundin: eb1db585a5
private_contact: 2359089ef753bc96e12743e299243d5232c749fa
resolution: Not_A_Bug
title: remote admin rebuild
comment:
  it would be nice to be able to invoke a fossil rebuild remotely from the admin screen on the ui.  this happened to me when i downloaded the latest version of fossil, started the fossil server, and forgot to do the rebuild.  later, remotely,  the ui queries were all borked.  i wouldn't even ask for the feature except that not all upgrades require a rebuild, so its not part of my upgrade routine.

  <hr><i>drh added on 2009-09-15 11:30:29:</i><br>
  There is a "Rebuild" button on the "Shunned" screen of the "Admin" menu.


tkt_uuid: d23fb0b742ac2e989e36bfef98281f970ab34e8f
type: Feature_Request
status: Fixed
severity: Important
foundin: aa57354736
private_contact: 09bcfe9beb6bd1f9361d71b153c193630ed2ac65
resolution: Fixed
title: i18n for commit comments
comment:
  Using Fossil under Windows Vista, all works just perfect, thank you!

  One thing to fix: for 'fossil commit' there should be some hook to convert a file after it leaves EDITOR and before it get into Fossil database. EDITOR (a program with command line got from 'EDITOR' environment variable) most often using default 8-bit console charset (for Cyrillic it is 'Windows-1251' under Windows and 'KOI8-R' under Unix), but in the Fossil repo there is 'UTF-8' encoding. When I do commit with a Cyrillic (Russian) text in comment, Fossil put it into db w/o conversion (as Windows-1251), and when displaing it in UTF-8 UI it becomes unreadable. So it should be hook for convertor or some internal option or command line for iconv.

  Something like these GIT's options (from .gitconfig):
  <verbatim>
  [i18n]
  	commitencoding = windows-1251
  	logoutputencoding = cp866
  </verbatim>

  <hr><i>anonymous added on 2009-09-15 18:17:06:</i><br>
  Or just make charset in this line (cgi.c, line 322):
  <verbatim>  fprintf(g.httpOut, "Content-Type: %s; charset=utf-8\r\n", zContentType);</verbatim>
  configurable...

  <hr><i>anonymous claiming to be Dmitry Chestnykh added on 2009-10-11 20:11:34:</i><br>
  Maybe you don't need my opinion on this, but I think it's time drop old extended ASCII encodings everywhere and stick to UTF-8. Unicode standard has been available since 1991. Every major operating system and many editors support it. If your editor doesn't produce UTF-8 encoded output, pick another editor. Encoding conversion only makes code more complex (there are dozens of non-Unicode encodings) and doesn't add much value in 2009.

  Major Linux distributions, Mac OS X come with UTF-8 terminals by default, and Windows has it as an option, AFAIK.

  <hr /><i>jan.nijtmans added on 2012-10-29 22:34:51 UTC:</i><br />
  This is fixed in trunk now


tkt_uuid: 1d7bbe30aad51a1d1c2f69090b0b949db0e72c0e
type: Incident
status: Fixed
severity: Minor
foundin: aa57354736
private_contact: 09bcfe9beb6bd1f9361d71b153c193630ed2ac65
resolution: Fixed
title: .../xfer hangs or crashes (CGI)
comment:
  On Windows attempt to get http://server/fossil_base/xfer result to crash of fossil.exe (Windows pops window 'fossil.exe unexpectedly stops' and web-server, running this cgi, shows error page about fossil process).

  On Linux it seems to hang (nothing appears in browser if I run http://www.fossil-scm.org/fossil/xfer).

  This is not a code defect, but it would be useful, if this page (that normally accepts POSTs) output something in case of GET too, instead of crash. Meta information about cloneability, for example.

  <hr><i>drh added on 2009-09-16 14:51:07:</i><br>
  Fixed in check-in [39a144eb5cdde5bced1dce3aefa57272b80afbd3]


tkt_uuid: e19b873e0d8203e5d046f9eaabb475a2dd8bd17e
type: Feature_Request
status: Closed
severity: Severe
foundin: Latest
resolution: Not_A_Bug
title: Ability to check-out to a global revision number and/or date
comment:
  I hope I haven't just missed this in the documentation, but I can't find how to check out a complete set of code according to a global revision number (like subversion) or to a timestamp (like CVS).

  I would sincerely appreciate such a feature being added, if it is lacking, since unfortunately the Sqlite project has migrated away from CVS into Fossil.

  <hr><i>drh added on 2009-09-16 14:42:26:</i><br>
  Check-out complete code by the hexadecimal (SHA1-hash prefix) version
  number as follows:

     wget http://www.fossil-scm.org/fossil/zip/FILENAME.zip?uuid=VERSION

  Change FILENAME and VERSION in the above as appropriate for what you want
  to do.

  There is no way to get a ZIP Archive based on just the date.  (That is
  problematic because there could be multiple branches and forks going all
  at once.)  But you can get a timeline of check-ins that occur around a
  certain date by pointing your web-browser at a URL like the following:

      [http://www.fossil-scm.org/fossil/timeline?c=2009-08-01]

  Adjust the date at the end of the URL as appropriate, of course.


  <hr><i>altufaltu added on 2009-09-16 17:05:00:</i><br>
  I think ability to specify a combination of date/time and branch name (default to trunk) in fossil open and fossil update command would be helpful.

  I understand that other clones may have different data but given a local version of repository, this option will be helpful to go back and forth in time.

  Please consider this request.

  - Altu


tkt_uuid: 678eb0c20a07f601aa2b11439b7ac49ecaf21e5c
type: Incident
status: Closed
severity: Severe
foundin: 6cf7548a3c
private_contact: e64e062ff7022fc7fdd41ac56baff07e8ae485d9
resolution: Not_A_Bug
title: Large files make memory usage spike through the roof.
comment:
  I'm hosting a few repositories for small projects on a tiny (64MB RAM) VPS.  With all services running (lighttpd and sshd) this leaves me with 44MB available RAM.  This has not caused a problem until today.

  Today I sent up a fossil repository that has two sizable binary files: one 18MB, one 14MB.  I found to my surprise that I simply could not clone the repository when testing it.  I got cryptic error messages like these:

  <nowiki><pre>
  $ fossil clone http://retrotech.boldlygoingnowhere.org/repos/RSTS rsts.fsl
                  Bytes      Cards  Artifacts     Deltas
  Send:             552         22          0          0
  Received:        4852         29          0          0
  Send:             472          9          0          0
  1fossil: unknown command: Status:
  </pre></nowiki>

  Investigation by trying a local clone on the VPS showed me that Fossil was running out memory:

  <nowiki><pre>
  $ fossil clone http://retrotech.boldlygoingnowhere.org/repos/RSTS rsts.fsl
                  Bytes      Cards  Artifacts     Deltas
  Send:             552         22          0          0
  Received:        4149         25          0          0
  Send:             472          9          0          0
  out of memory
  </pre></nowiki>

  Instrumenting the memory profile on the remote side while running a clone from the server confirmed that yes, indeed, the system is rapidly running out of RAM just as Fossil is supposed to be sending data down the pipe.  It looks to me like it's pulling the whole repository into memory (weighing in at 12MB on disk) and then doing other stuff besides (decompressing in-situ, perhaps?) in order to clone.

  <hr><i>drh added on 2009-09-16 16:20:55:</i><br>
  No, fossil is <u>not</u> pulling the whole repository into memory....

  But it does construct an entire HTTP reply message in memory.  That involves
  reading in the 18MB blob out of the database and decompressing it,
  then appending that blob to the
  end of the growing HTTP reply (there is 36MB for you already) then compressing
  the entire HTTP reply using Z-lib.  As the HTTP reply buffer grows, it uses the
  trick of realloc-and-copy so growing a buffer might make require twice the size
  of the buffer.  Every compress/uncompress operation involves keeping both
  the original and the modified copy in RAM at least for a short while.
  Add to that malloc fragmentation and the memory space that
  SQLite will request (we configure SQLite in fossil to use lots of memory
  because that makes it faster and because fossil is designed to run on a 
  workstation, not a cellphone!) and it is little wonder that you
  are running out of RAM.

  The obvious solution here is to get more RAM.  That can't be hard.
  I use [http://www.linode.com/ | Linode] as my VPS provider and the 
  <em>smallest</em> system they sell is 360MB.
  I also use fossil on [http://www.he.net/ | Hurricane Electric].  HE is a
  shared hosting provider, not a VPS provider, but shared hosting is sufficient
  to support fossil and you don't have arbitrary RAM limits.

  Could fossil be reengineered to support 18MB binaries on a 64MB server?
  Probably.  But why would you want to?  RAM is cheap and getting cheaper
  daily.  Fossil does not use that much memory relative to the size of
  the files it stores - perhaps a multiplier of 3 or 4, but that is not so
  much in the grand scheme of things.  This problem has a very simple solution:
  throw memory at it and move on.

  <hr><i>anonymous added on 2009-09-17 00:46:35:</i><br>
  Living in a developing country puts limits on what I can afford in terms of VPS hosting, especially once currency controls are taken into account.  I have the VPS size I have simply for reasons of raw price: $7/mo.


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: 5adca29b9e11428a310f37c241e856055e50b29f
type: Feature_Request
status: Closed
severity: Cosmetic
foundin: [bbb8ae7ebf]
private_contact: e64e062ff7022fc7fdd41ac56baff07e8ae485d9
resolution: Rejected
title: Text area for wiki, et. al. is fixed width and too narrow.
comment:
  It would be nice if, instead of a hardcoded <code>textarea</code> tag with fixed <code>rows</code> and <code>cols</code>, we could have width and height specified in CSS classes on the various textareas instead.

  <hr /><i>lrem added on 2011-09-13 12:35:05 UTC:</i><br />
  This is no longer an issue, as all major browsers by default allow textarea resizing.


tkt_uuid: e8ac83275f4a3707458cd86d9e249a28d35ea92b
type: Code_Defect
status: Open
severity: Important
foundin: [bbb8ae7ebf]
private_contact: e64e062ff7022fc7fdd41ac56baff07e8ae485d9
title: Errors on the server side do not get well-propagated to the client side.
comment:
  Vis-a-vis ticket [678eb0c20a07f601aa2b11439b7ac49ecaf21e5c], if the memory footprint isn't a problem, the fact that the memory error was not propagated back to the client is.  In general I've found that errors when working with a local repository are informative and helpful.  (Things like "out of memory" are pretty clear.)  When the same errors are hit on a remote repository, however, they tend to be cryptic things like "1fossil: unknown command: Status:".


tkt_uuid: 2384764107f0d084867503e16461f18b80f72e24
type: Feature_Request
status: Open
priority: Medium
severity: Important
foundin: 0eb08b860c
private_contact: 76518fb407f147a1d053c00b5b993281a339c0e3
resolution: Open
title: Make the http command working on Windows.
comment:
  This would make it possible to use Fossil with Inetd like servers on Windows, for example [http://www.xmailserver.org/wininetd.html].

  The following patch against Fossil version [0eb08b860c] implements this functionality:

  <verbatim>
  diff -Naur fossil-src/src/cgi.c fossil-src-mod/src/cgi.c
  --- fossil-src/src/cgi.c	2009-09-13 09:37:48 +0000
  +++ fossil-src-mod/src/cgi.c	2009-09-17 11:25:47 +0000
  @@ -29,10 +29,11 @@
   */
   #include "config.h"
   #ifdef __MINGW32__
  -#  include <windows.h>           /* for Sleep once server works again */
  -#  include <winsock2.h>          /* socket operations */
  -#  define sleep Sleep            /* windows does not have sleep, but Sleep */
  -#  include <ws2tcpip.h>          
  +#  include <windows.h>           /* Windows specific declarations */
  +#  include <winsock2.h>          /* Windows socket operations */
  +#  include <ws2tcpip.h>          /* for socklen_t */
  +#  include <fcntl.h>
  +#  include <io.h>
   #else
   #  include <sys/socket.h>
   #  include <netinet/in.h>
  @@ -1076,6 +1077,95 @@
     return zResult;
   }
   
  +#ifdef __MINGW32__
  +/*
  +** Data structure related to all variables for the windows socket environment.
  +*/
  +typedef struct WinSocketData {
  +  int     fWSAInit;       /* True, if Windows sockets initialized */
  +  SOCKET  hSocket;        /* Handle to the socket */
  +} WinSocketData;
  +
  +static WinSocketData wsd;
  +
  +/*
  +** Exit handler routine. Make sure any remaining output gets flushed to the
  +** output stream. If the standard handles are redirected to a socket then
  +** make shure the socket gets closed properly and clean up the windows socket
  +** environment.
  +*/
  +static void cgi_handle_http_request_exit(void)
  +{
  +  fflush(g.httpOut);
  +
  +  if( wsd.hSocket != INVALID_SOCKET ){
  +    shutdown(wsd.hSocket, SD_BOTH);
  +    closesocket(wsd.hSocket);
  +  }
  +  if (wsd.fWSAInit) {
  +    WSACleanup();
  +  }
  +  return;
  +}
  +
  +/*
  +** This routine initalizes the environment on windows for the
  +** cgi_handle_http_request routine. It sets the standard input and ouput
  +** handles to binary mode, initalizes the windows socket environment and tries
  +** to get the socket handle from the standard handles. It also establishs a
  +** exit routine to clean up on program exit.
  +*/
  +void cgi_handle_http_request_init(void)
  +{
  +  WSADATA wd;
  +  SOCKET hSock;
  +  int socket_type;
  +  int socket_type_len = sizeof(socket_type);
  +
  +  /*
  +  ** Initialize the windows socket data structure.
  +  */
  +  wsd.fWSAInit = 0;
  +  wsd.hSocket = INVALID_SOCKET;
  +
  +  /*
  +  ** Register the exit function.
  +  */
  +  atexit(cgi_handle_http_request_exit);
  +
  +  /*
  +  ** Set the mode of the http input and output streams to binary.
  +  */
  +  _setmode(_fileno(g.httpIn),  _O_BINARY);
  +  _setmode(_fileno(g.httpOut), _O_BINARY);
  +
  +  /*
  +  ** Initialize the windows socket API. This is required if we need to
  +  ** call any other Windows Socket function.
  +  */
  +  if( WSAStartup(MAKEWORD(2,2), &wd) == 0 ) wsd.fWSAInit = 1;
  +
  +  /*
  +  ** Windows Socket handles must be handled differently than file handles.
  +  ** There is no function to detect if a file handle is a socket or not, so
  +  ** lets call a socket function with the handle from stdin, and if there is
  +  ** no error, assume it is a socket!
  +  */
  +  if( wsd.fWSAInit ){
  +    hSock = (SOCKET)_get_osfhandle(_fileno(stdin));
  +    if( getsockopt (hSock, SOL_SOCKET, SO_TYPE,
  +                    (char *)&socket_type, &socket_type_len) == 0 ){
  +      wsd.hSocket = hSock;
  +    }
  +  }
  +  return;
  +}
  +
  +#  define CGI_SOCKET wsd.hSocket
  +#else
  +#  define CGI_SOCKET fileno(g.httpIn)
  +#endif /* __MINGW32__ */
  +
   /*
   ** This routine handles a single HTTP request which is coming in on
   ** standard input and which replies on standard output.
  @@ -1092,6 +1182,9 @@
     size_t size = sizeof(struct sockaddr_in);
     char zLine[2000];     /* A single line of input. */
   
  +#ifdef __MINGW32__
  +  cgi_handle_http_request_init();
  +#endif
     g.fullHttpReply = 1;
     if( fgets(zLine, sizeof(zLine),g.httpIn)==0 ){
       malformed_request();
  @@ -1116,7 +1209,7 @@
     cgi_setenv("PATH_INFO", zToken);
     cgi_setenv("QUERY_STRING", &zToken[i]);
     if( zIpAddr==0 &&
  -        getpeername(fileno(g.httpIn), (struct sockaddr*)&remoteName, 
  +        getpeername(CGI_SOCKET, (struct sockaddr*)&remoteName, 
                                   (socklen_t*)&size)>=0
     ){
       zIpAddr = inet_ntoa(remoteName.sin_addr);
  </verbatim>

  --tsbg

  <hr><i>anonymous added on 2009-09-19 00:36:49:</i><br>
  From reference:
  "    Usage: fossil http REPOSITORY
      Handle a single HTTP request appearing on stdin.  The resulting webpage
      is delivered on stdout.  This method is used to launch an HTTP request
      handler from inetd, for example.  The argument is the name of the    repository.
  "

  Test with current Fossil under Windows Vista:<verbatim>
  ================================================================
  E:\dl\fossil-w32-20090915120431>fossil.exe http myclone.fossil
  GET / HTTP/1.0
  Host: localhost

  HTTP/1.0 302 Moved Temporarily
  Date: Sat, 19 Sep 2009 00:30:23 GMT
  Connection: close
  Location: http://localhost/doc/tip/www/index.wiki
  Cache-control: no-cache, no-store
  Content-Type: text/html; charset=utf-8
  Content-Length: 74

  <html>
  <p>Redirect to http://localhost/doc/tip/www/index.wiki</p>
  </html>
  =======================</verbatim>

  So it seems behave right, like declared.

  <hr><i>anonymous claiming to be tsbg added on 2009-09-19 08:46:37:</i><br>
  Yes it does, but only when stdin and stdout are not redirected to a socket. Windows treats file and socket handles differently. Another problem is, you cant't call socket functions like getpeername without initializing the windows socket environment.

  Try it with the above mentioned WinInetd server, and you will see no output until you apply the patch.

  --tsbg


  <hr><i>anonymous claiming to be Andrey added on 2009-09-21 00:37:14:</i><br>
  Seems this is a problem of WinInetd. It should not redirect files to sockets, it should copy between file handle and socket - just like any web-server does when running CGI application. It should not depend of ability of console app to operate with sockets and even know something about sockets. (sorry for my poor English)


tkt_uuid: f6747f854ba62b3d20fdb615d33386fca861f185
type: Code_Defect
status: Fixed
severity: Minor
foundin: aa57354736
private_contact: 20fca3084ce400a7f735d2d0056965355aee4050
resolution: Fixed
title: commens not visible for ticket with no description
comment:
  If a ticket is created with empty description and comment is appended later, the comment is not visible in ticket status, though it's available in ticket history.

  <hr><i>drh added on 2009-09-19 14:34:57:</i><br>
  Fixed by check-in [0b76ce7b6ba3b].
  Run rebuild for the change to take effect on existing repositories.


tkt_uuid: 4c8803b3b16812d64f4327bec87bafac07d68537
type: Code_Defect
status: Closed
severity: Minor
foundin: 713b8be852 2009-08-28
private_contact: 21c0f447532234366dbec18d60d747db150b5faa
resolution: External_Bug
title: Have to edit a ticket twice once for text another for drop down box.
comment:
  I edit text in the field that I'm currently writing to you in and change my assigned to drop down box but only the text get added to the ticket and not the drop down box value.  I have to edit the ticket after that to change the assigned to drop down box and apply the changes for the assigned to drop down settings stick.  The drop down is a new field that I have added but I used the template to create the new field.  The assigned to helps pass the tickets from one developer to the next.  Here is a copy of it... The names have been changed to protect the innocent.


  <hr>
  Below is my create table
  <hr>

  <verbatim>
  CREATE TABLE ticket(
    -- Do not change any column that begins with tkt_
    tkt_id INTEGER PRIMARY KEY,
    tkt_uuid TEXT UNIQUE,
    tkt_mtime DATE,
    -- Add as many field as required below this line
    assigned_To TEXT,
    type TEXT,
    status TEXT,
    subsystem TEXT,
    priority TEXT,
    severity TEXT,
    foundin TEXT,
    private_contact TEXT,
    resolution TEXT,
    title TEXT,
    comment TEXT
  );
  </verbatim>


  <hr>
  Below is my TH1 Script to initialize variable
  <hr>
  <verbatim>
  set type_choices {
     Need_To_Discuss
     Question
     Code_Defect
     Build_Problem
     Documentation
     Feature_Request
     Incident
  }
  set assigned_To_choices {
    Joe
    Mama
    Both
  }
  set priority_choices {
    Immediate
    High
    Medium
    Low
    Zero
  }
  set severity_choices {
    Critical
    Severe
    Important
    Minor
    Cosmetic
  }
  set resolution_choices {
    Open
    Fixed
    Rejected
    Unable_To_Reproduce
    Works_As_Designed
    External_Bug
    Not_A_Bug
    Duplicate
    Overcome_By_Events
    Drive_By_Patch
  }
  set status_choices {
    Open
    Verified
    Review
    Deferred
    Fixed
    Tested
    Closed
  }
  set subsystem_choices {
  }
  </verbatim>

  <hr>
  Below is my new ticket page
  <hr>

  <verbatim>
  <th1>
    if {[info exists submit]} {
       set status Open
       submit_ticket
    }
  </th1>
  <h1 align="center">Enter A New Bug Report</h1>
  <table cellpadding="5">
  <tr>
  <td colspan="2">
  Enter a one-line summary of the problem:<br>
  <input type="text" name="title" size="60" value="$<title>">
  </td>
  </tr>

  <tr>
  <td align="right">Type:
  <th1>combobox type $type_choices 1</th1>
  </td>
  <td>What type of ticket is this?</td>
  </tr>

  <tr>
  <td align="right">Assign To:
  <th1>combobox type $assigned_To_choices 1</th1>
  </td>
  <td>Who is this ticket assigned to?</td>
  </tr>

  <tr>
  <td align="right">File:
  <input type="text" name="foundin" size="20" value="$<foundin>">
  </td>
  <td>In what file did you observe the problem?</td>
  </tr>

  <tr>
  <td align="right">Severity:
  <th1>combobox severity $severity_choices 1</th1>
  </td>
  <td>How debilitating is the problem?  How badly does the problem
  affect the operation of the product?</td>
  </tr>


  <tr>
  <td colspan="2">
  Enter a detailed description of the problem.
  For code defects, be sure to provide details on exactly how
  the problem can be reproduced.  Provide as much detail as
  possible.
  <br>
  <th1>set nline [linecount $comment 50 10]</th1>
  <textarea name="comment" cols="80" rows="$nline"
   wrap="virtual" class="wikiedit">$<comment></textarea><br>
  <input type="submit" name="preview" value="Preview">
  </tr>

  <th1>enable_output [info exists preview]</th1>
  <tr><td colspan="2">
  Description Preview:<br><hr>
  <th1>wiki $comment</th1>
  <hr>
  </td></tr>
  <th1>enable_output 1</th1>

  <tr>
  <td align="right">
  <input type="submit" name="submit" value="Submit">
  </td>
  <td>After filling in the information above, press this button to create
  the new ticket</td>
  </tr>
  <tr>
  <td align="right">
  <input type="submit" name="cancel" value="Cancel">
  </td>
  <td>Abandon and forget this bug report</td>
  </tr>
  </table>
  </verbatim>

  <hr><i>drh added on 2009-09-19 14:22:11:</i><br>
  The line in your customized new-ticket script that says:

  <verbatim>
  <th1>combobox type $assigned_To_choices 1</th1>
  </verbatim>

  Should say:

  <verbatim>
  <th1>combobox assigned_To $assigned_To_choices 1</th1>
  </verbatim>


tkt_uuid: 4de876322f066d70cfe52b2cc0f8d5e941a13ad7
type: Code_Defect
status: Fixed
severity: Minor
foundin: 0eb08b860c
private_contact: d66ecbed41cfc11708f85c2d7a607eb4c13c38e6
resolution: Fixed
title: fossil extras ignores dot files
comment:
  When issuing 'fossil extras' in a working copy that contains dot files like .htaccess fossil doesn't notice them. Should it show them by default or possibly add --dotfiles as an option like add has?

  <hr><i>drh added on 2009-09-19 15:33:05:</i><br>
  Check-in [a2749215b71b297780c2b787a938eae82edf32b7] adds the --dotfiles
  option to the "extra" and "clean" commands.


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: 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: e11c8eb81b4dbadc33c79ce6ce2809e5c5970555
type: Feature_Request
status: Closed
severity: Minor
foundin: [aa57354736]
private_contact: e64e062ff7022fc7fdd41ac56baff07e8ae485d9
resolution: Works_As_Designed
title: There is no single, persistent link for the "latest known good" version of Fossil.
comment:
  Currently the most recent "known-good" source is available in a convenient tarball from http://www.fossil-scm.org/download.html.  Unfortunately the URL for that source file changes every time a new version goes up.  This interferes with possibilities like automating package builds for Linux distros (RPMs, DEBs, TGZs, LZMs, etc.).

  I propose a persistent link with a known, unvarying URL -- "http://www.fossil-scm.org/download/fossil-src-latest-good.tar.gz" -- which is just an alias pointing to whatever the latest updated build's name happens to be.  (As of this ticket it would be an alias for "http://www.fossil-scm.org/download/fossil-src-20090915120431.tar.gz".)  This would permit the proper creation of slackbuild scripts, for example (a prerequisite for fossil being included in Slackware) among others.


tkt_uuid: 3f0c73f2d2d08eb454339b49e4978f385bc4c385
type: Code_Defect
status: Fixed
severity: Important
foundin: 37f295c310
private_contact: 20fca3084ce400a7f735d2d0056965355aee4050
resolution: Fixed
title: diff-command with parameter doesn't work
comment:
  <pre>
  > fossil set diff-command 'diff -u'
  > fossil diff
  ...
  sh: diff -u: command not found
  </pre>

  <hr><i>rwilson added on 2009-09-22 13:26:01:</i><br>
  this happens in windows too.

  <hr><i>drh added on 2009-09-22 14:30:57:</i><br>
  This broke when I "fixed" ticket [8d073be8808b] -
  <i>diff/editor/gdiff settings don't support paths with spaces</i>.
  The fix for [8d073be8808b] was put the entire "diff" command argument
  in double-quotes so that it is treated as a single entity by system().

  I suppose the right solution here is to require windows people with spaces
  in their pathnames to add their own double-quotes around those paths.
  Otherwise, there is no way (that I can see) to distinguish between spaces
  in pathnames and separate arguments in a command.

  <hr><i>rwilson added on 2009-09-22 18:42:22:</i><br>
  the problem with the windows shell is that when you quote an argument to compensate for spaces, the shell gives you the argument in argv[n] without the quotes.  there doesn't seem to be a way to escape quotes in the shell.  my best workaround so far is to use the DOS-style paths without spaces.

  <pre>
  PS C:\fossil\xyntservice> fossil setting editor C:\progra~1\JGsoft\EditPadPro6\EditPadPro.exe /newinstance
  Usage: C:\WINDOWS\system32\fossil.exe setting ?PROPERTY? ?VALUE?
  PS C:\fossil\xyntservice> fossil settings editor '"c:\program files\jgsoft\editpadpro6\editpadpro.exe" /newinstance'
  Usage: C:\WINDOWS\system32\fossil.exe settings ?PROPERTY? ?VALUE?
  PS C:\fossil\xyntservice> fossil setting editor "C:\progra~1\JGsoft\EditPadPro6\EditPadPro.exe /newinstance"
  PS C:\fossil\xyntservice> fossil settings
  autosync             (local)  1
  diff-command
  dont-push
  editor               (local)  C:\progra~1\JGsoft\EditPadPro6\EditPadPro.exe /newinstance
  gdiff-command        (local)  C:\Program Files\Beyond Compare 3\BComp.exe
  http-port
  localauth            (local)  0
  clearsign            (local)  0
  pgp-command
  mtime-changes
  proxy
  web-browser
  PS C:\fossil\xyntservice>
  </pre>

  <hr><i>rwilson added on 2009-09-22 18:55:18:</i><br>
  double quoting doesn't work either, but i'm not sure its the shell.  technically you should be able to double-quote ("") or escape quotes with a carat (^").  windows powershell can escape with backquotes (`").  none of these methods appears to work with fossil.

  <pre>
  PS C:\fossil\xyntservice> fossil settings editor """c:\program files\jgsoft\editpadpro6\editpadpro.exe"" /newinstance"
  Usage: C:\WINDOWS\system32\fossil.exe settings ?PROPERTY? ?VALUE?
  </pre>

  <hr><i>drh added on 2009-10-31 15:09:12:</i><br>
  Check-in [b2fdf4fe143516126091186adb69c564ed7ced43]


tkt_uuid: 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: 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: 218153bb7c3425b21f6b8a9f38e7dd5c28bc2127
type: Code_Defect
status: Fixed
severity: Cosmetic
foundin: f969b6cdde
private_contact: 2359089ef753bc96e12743e299243d5232c749fa
resolution: Fixed
title: nowiki tag doesn't work in ticket summaries
comment:
  i was looking for a way to escape out a link in the summary of a ticket.  see ticket [886c302b3fab0212423e27e8c5dfb40a610b5541].

  <hr><i>drh added on 2009-09-23 13:09:43:</i><br>
  See check-in [d6bfe8d9a8ea9c417b1594c968f37f0af2ab9de8]

  <hr><i>drh added on 2009-09-23 15:53:58:</i><br>
  See check-in [d6bfe8d9a8ea9c417b1594c968f37f0af2ab9de8]


tkt_uuid: 6b310619203a65a3fcca6c7279f0ffa6caa46313
type: Code_Defect
status: Fixed
severity: Cosmetic
foundin: f969b6cdde
private_contact: 09bcfe9beb6bd1f9361d71b153c193630ed2ac65
resolution: Fixed
title: Artifacts da39a3ee5e6b4b0d3255bfef95601890afd80709 (empty files)
comment:
  The da39a3ee5e artifact (all empty files) shown in single long line -
  http://www.fossil-scm.org/index.html/artifact/da39a3ee5e
  but should be separate line for each file (insert BR before 'Also file').

  <hr /><i>dmitry added on 2011-09-08 18:47:47 UTC:</i><br />
  Fixed in [49402fc722].


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

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


tkt_uuid: 665995e4806e119cc5eb62abdc4df5214324a7f3
type: Code_Defect
status: Open
severity: Severe
foundin: 37f295c310
private_contact: 2359089ef753bc96e12743e299243d5232c749fa
resolution: Open
title: no such table: vvar
comment:
  i was unable to do a simple new, open:
  <pre>
  PS C:\Documents and Settings\ron wilson\My Documents> fossil new p:\backup\backup.f
  project-id: 0c559eca39534d82928edd0dee0e59a011461098
  server-id:  6b95e35610a5ea0b56e9cb1e8593d305ca6510a7
  admin-user: ron wilson (initial password is "2a32a6")
  PS C:\Documents and Settings\ron wilson\My Documents> fossil open p:\backup\backup.f
  C:\WINDOWS\system32\fossil.exe: no such table: vvar
  REPLACE INTO vvar(name,value) VALUES('repository','p:\backup\backup.f')
  PS C:\Documents and Settings\ron wilson\My Documents> fossil ver
  This is fossil version [37f295c310] 2009-09-21 19:19:20 UTC
  PS C:\Documents and Settings\ron wilson\My Documents>
  </pre>

  <hr><i>rwilson added on 2009-09-23 05:16:46:</i><br>
  this may be hardware related.  seems to work fine on C drive, but P is a sata drive in a usb external enclosure.  will investigate further.

  <hr><i>rwilson added on 2009-09-23 05:39:29:</i><br>
  it is not hardware related.  for some reason fossil is not able open a repository in the 'my documents' folder.  odd.  it is able to create the _FOSSIL_ file in 'my documents' and it appears to be complete, so i can't explain the error.

  <pre>
  PS C:\fossil> fossil new p:\backup\test.f
  project-id: 711304708008228f835ddfed439613f3179944d6
  server-id:  acdf9cf7de168d7d9a08f18b360b1ed1c5e9b422
  admin-user: ron wilson (initial password is "36625a")
  PS C:\fossil> md nospaces
  PS C:\fossil> cd nospaces
  PS C:\fossil\nospaces> fossil open p:\backup\test.f
  PS C:\fossil\nospaces> cd ..
  PS C:\fossil> md "one space"
  PS C:\fossil> cd 'one space'
  PS C:\fossil\one space> fossil open p:\backup\test.f
  PS C:\fossil\one space> cd 'C:\Documents and Settings'
  PS C:\Documents and Settings> fossil open p:\backup\test.f
  PS C:\Documents and Settings> cd 'ron wilson'
  PS C:\Documents and Settings\ron wilson> fossil open p:\backup\test.f
  PS C:\Documents and Settings\ron wilson> cd 'My Documents'
  PS C:\Documents and Settings\ron wilson\My Documents> fossil open p:\backup\test.f
  C:\WINDOWS\system32\fossil.exe: no such table: vvar
  REPLACE INTO vvar(name,value) VALUES('repository','p:\backup\test.f')
  PS C:\Documents and Settings\ron wilson\My Documents> ls
      Directory: Microsoft.PowerShell.Core\FileSystem::C:\Documents and Settings\ron wilson\My Documents
  Mode                LastWriteTime     Length Name
  ----                -------------     ------ ----
  -a---         9/23/2009   1:35 AM       7168 _FOSSIL_
  PS C:\Documents and Settings\ron wilson\My Documents> sqlite3 _FOSSIL_
  SQLite version 3.6.1
  Enter ".help" for instructions
  Enter SQL statements terminated with a ";"
  sqlite> .schema
  CREATE TABLE vfile(
    id INTEGER PRIMARY KEY,
    vid INTEGER REFERENCES blob,
    chnged INT DEFAULT 0,
    deleted BOOLEAN DEFAULT 0,
    rid INTEGER,
    mrid INTEGER,
    mtime INTEGER,
    pathname TEXT,
    origname TEXT,
    UNIQUE(pathname,vid)
  );
  CREATE TABLE vmerge(
    id INTEGER REFERENCES vfile,
    merge INTEGER,
    UNIQUE(id, merge)
  );
  CREATE TABLE vvar(
    name TEXT PRIMARY KEY NOT NULL,
    value CLOB,
    CHECK( typeof(name)='text' AND length(name)>=1 )
  );
  sqlite> .quit
  PS C:\Documents and Settings\ron wilson\My Documents>cd ..
  PS C:\Documents and Settings\ron wilson> md 'my documents2'
  PS C:\Documents and Settings\ron wilson> cd 'my documents2'
  PS C:\Documents and Settings\ron wilson\my documents2> fossil open p:\backup\test.f
  PS C:\Documents and Settings\ron wilson\my documents2>cd '..\My Documents'
  PS C:\Documents and Settings\ron wilson\My Documents> md test
  PS C:\Documents and Settings\ron wilson\My Documents> cd test
  PS C:\Documents and Settings\ron wilson\My Documents\test> fossil open p:\backup\test.f
  PS C:\Documents and Settings\ron wilson\My Documents\test>
  </pre>


tkt_uuid: d457feb387741bcb1b7cebfb206f9b19f377140b
type: Code_Defect
status: Closed
severity: Minor
foundin: 37f295c310
private_contact: 8275a2af5f6b03bc415b69b61fd8aecfb0c0dfb4
resolution: Works_As_Designed
title: Empty repository reports strange compression ratio
comment:
  <strong>Steps to reproduce:</strong>

    1  Create a new, empty fossil repository
    2  Invoke fossil ui for the repository
    3  Navigate to the stats page

  <strong>Expected behavior:</strong>

  Compression ratio is 1:1 (1 artifact stored as full text) or perhaps blank.

  <strong>Actual behavior:</strong>

  Compression ratio is reported as 0:10, which doesn't make sense.

  <hr /><i>lrem added on 2011-09-13 15:03:29 UTC:</i><br />
  The ratio is always described as x:10, what makes it quite nicely readable. Then, if there are no artifacts, x is undefined. Displaying it as 0 is as good as 10 or whatever else, but looks nicer (suggests, that the value does not have much sense).


tkt_uuid: 5317b79552cc460c4ff9fd27d4589e7fb619e727
type: Code_Defect
status: Open
severity: Severe
foundin: f969b6cdde
private_contact: 09bcfe9beb6bd1f9361d71b153c193630ed2ac65
resolution: Open
title: i18n for filenames
comment:
  When I run "fossil.exe add dir" under Windows, fossil recursively adding all files. If there are files with non-ascii names (Russian in my case), they inserted into fossil repo using system default encoding ('windows-1251' in Windows with Russian locale), and fossil works with them w/o problems. But in the web-interface on the files page (/dir) these files shown with unreadable names. This is because of UTF-8 <verbatim>fprintf(g.httpOut, "Content-Type: %s; charset=utf-8\r\n", zContentType);</verbatim> in the HTTP reply header (cgi.c).

  Please <b>delete "; charset=utf-8" part</b> from Content-Type header because there no CP convertor in the fossil. This will allow to set any charset in the META tags in the page header template and use browser's internal CP convertor or CP autodetector.

  This will also solve a problem from the ticket [d23fb0b742ac2e989e36bfef98281f970ab34e8f], I think.

  <hr><i>drh added on 2009-09-24 14:32:43:</i><br>
  The fossil repository should store all filenames as UTF8.  I think the bug
  here is that the "fossil add" command is not converting the names from the
  microsoft encoding into UTF8 before storing them.


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: f1c8f2d33cf37729ba674811fe1601aa34e91bdf
type: Feature_Request
status: Open
severity: Minor
foundin: f969b6cdde
private_contact: 09bcfe9beb6bd1f9361d71b153c193630ed2ac65
title: 'diff' command in the web-interface
comment:
  On the /finfo page (or /dir) add the 'diff' command to look at difference between leaf version and current working copy (from where 'fossil ui' started).


tkt_uuid: 3b1533a090eebd09da7121ab3fc9e3f6a7fbd6f5
type: Feature_Request
status: Open
severity: Minor
foundin: f969b6cdde
private_contact: 09bcfe9beb6bd1f9361d71b153c193630ed2ac65
resolution: Fixed
title: 'sync' command in the web-interface
comment:
  Having two fossil servers (cgi), one clone of another. How to sync them, if there no command line access? 'Sync now' button wanted in the admin section.

  <hr><i>ron added on 2010-01-27 07:52:35:</i><br>
  Fixed with checkin [fc23960258211b5bc752a82c429d5fb3f3286b67]

  <hr><i>drh added on 2010-04-22 15:19:43:</i><br>
  The change above was incorrect and has been removed.  This feature request is now reopened.

  <hr><i>anonymous added on 2010-04-22 18:27:49:</i><br>
  Until such time as there is a web ui for this, you can sync them from a remote machine with push/pull commands.  Assuming that URL1 and URL2 represent the two remote machines, you would do the following:

  <pre>
  fossil clone URL1 syncup.fossil
  fossil pull URL2 -R syncup.fossil
  # More pulls from other repositories here if more than 2
  fossil push URL1 -R syncup.fossil
  fossil push URL2 -R syncup.fossil
  # More pushes to other repositories here if more than 2
  rm syncup.fossil
  </pre>

  Not much additional network traffic except for the first clone and if the <tt>syncup.fossil</tt> repository is kept around between syncs instead of <tt>rm</tt>ing it (subsequently pulling from URL1 rather than cloning from URL1) network traffic really won't be all that large.  (Of course suitable users and passwords with appropriate clone/pull/push privileges will have to be used.)


tkt_uuid: 4c85bb0c27c94bb9b3b2db96d2edd141fa22e1f3
type: Feature_Request
status: Closed
severity: Important
private_contact: f90bcb24dfca980c917cc6e29c04b9cd06605ba9
resolution: Withdrawn
title: Will merge creole into trunk unless ...
comment:
  I will merge the creole parser branch into the trunk in 2 days unless there are any objection or unless drh vetoes the merge.

  <hr><i>drh added on 2009-09-26 12:19:04:</i><br>
  Please keep the creole parser on a branch for now.

  <hr><i>robert added on 2009-09-26 14:23:18:</i><br>
  Will do.


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

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


tkt_uuid: e776717962fbf6b25fa7692c59e0aa223b3edd3f
type: Feature_Request
status: Fixed
severity: Minor
foundin: 20090921191920
private_contact: ed6eee22101b988e911a72836c642f206b343b1d
resolution: Fixed
title: replace 'new' with 'init' command for repository creation
comment:
  The repository is created with command:

    fossil new DIR

  Please change this command to

    fossil init DIR

  Which is in use of the 90% of the existing version control software. This
  would help to keep fossil familiar to other users. Different command terminology is in many times confusing when different tools are switched.

  Please also review other commands, like:

    fossil open     => fossil checkout  (and alias "co")
    fossil timeline => fossil log
    fossil leaves   => fossil branches (?)

  Jari

  <hr><i>bharder added on 2009-09-29 15:26:59:</i><br>
  Setting up "aliases" for the requested commands can be considered, as has been done in the past (see my own "co" command).

  <hr><i>bharder added on 2009-09-29 15:30:17:</i><br>
  reference for "co" alias: [a89b436bc9]

  <hr><i>anonymous claiming to be Dmitry Chestnykh added on 2009-10-11 13:01:44:</i><br>
  I don't think it's a good idea to rename "new" to "init". 

  Firstly, I don't see why "init" describes creation of a new repository better than "new". 

  Secondly, "new" is actually different from "init" in Git or Mercurial, because it creates an SQLite file for repository, not a dot-folder inside the specified directory, so renaming it to "init" can be misleading. Also, it requires a name of the repository file, not directory.

  <hr><i>anonymous added on 2009-12-18 21:52:24:</i><br>
  Another thing to consider is after you create a "new" repository you still have to run "fossil open xxx" to actually start working in the repo. I would think that "new" should go ahead and "open" the repo.

  <hr /><i>anonymous added on 2010-11-08 11:27:32:</i><br />
  I agree that fossil should provide "init" as alias to "new" at least. <br>
  Common usage is "VCS init /path/to/repository". <br>
  Whether repository is a directory or a DBMS doesn't matter here.

  <hr /><i>dmitry added on 2011-09-08 21:53:24 UTC:</i><br />
  Fossil accepts both 'new' and 'init' as of [21880ca1b6].


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

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

     fossil setting omitsign on

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

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

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


tkt_uuid: aa494b5832ac1a1ee098d96278f08c0cb7e112b9
type: Code_Defect
status: Fixed
severity: Severe
foundin: 37f295c310
private_contact: ace2a438fb254e5d21ba2ed1295b2da8392d271c
resolution: Fixed
title: Fossil changes symlinks into seperate files
comment:
  When fossil adds directories that contain symbolic links to other directories in a fossil repository, on future checkouts the symbolic link will become an entirely seperate copy of the entire directory structure that was pointed to on disk. See below explanatory logs for example / steps to reproduce.

  Esp. look at the two outputs of "ls -l three/".

  <verbatim>
  $ fossil version
  This is fossil version [37f295c310] 2009-09-21 19:19:20 UTC

  $ fossil new tmp.fossil-scm
  [...]

  $ fossil open tmp.fossil-scm

  $ mkdir -p one/two three

  $ echo testing > one/two/txt.txt

  $ (cd three && ln -s ../one/two)

  $ ls -l three/
  total 0
  lrwxrwxrwx 1 djbclark djbclark 10 2009-09-29 15:05 two -> ../one/two

  $ fossil add one three
  ADDED  one/two/txt.txt
  ADDED  three/two/txt.txt

  $ fossil commit -m "test of unexpected behavior" --nosign
  New_Version: 160e9429f44953ea6f42902f62a706dd3838775c

  $ fossil close

  $ rm -rf manifest manifest.uuid one three

  $ ls
  tmp.fossil-scm

  $ fossil open tmp.fossil-scm
  one/two/txt.txt
  three/two/txt.txt
  [...]

  $ ls -l three/
  total 4
  drwxr-xr-x 2 djbclark djbclark 4096 2009-09-29 15:07 two
  # above - now "magically" an actual seperate copy, not a symlink

  $ grep txt.txt manifest
  F one/two/txt.txt 9801739daae44ec5293d4e1f53d3f4d2d426d91c
  F three/two/txt.txt 9801739daae44ec5293d4e1f53d3f4d2d426d91c
  # above - at least I'm guessing this means it doesn't take up extra
  # space in the repository, but stat shows they do take up extra
  # space on disk (different inodes) , which sucks esp. for this
  # project which needs to fit on a certain size of media...

  $ stat one/two/txt.txt
    File: `one/two/txt.txt'
    Size: 8         	Blocks: 8          IO Block: 4096   regular file
  Device: 801h/2049d	Inode: 319977      Links: 1
  Access: (0644/-rw-r--r--)  Uid: ( 1000/djbclark)   Gid: ( 1000/djbclark)
  Access: 2009-09-29 15:07:33.000000000 -0400
  Modify: 2009-09-29 15:07:33.000000000 -0400
  Change: 2009-09-29 15:07:33.000000000 -0400

  $ stat three/two/txt.txt
    File: `three/two/txt.txt'
    Size: 8         	Blocks: 8          IO Block: 4096   regular file
  Device: 801h/2049d	Inode: 319980      Links: 1
  Access: (0644/-rw-r--r--)  Uid: ( 1000/djbclark)   Gid: ( 1000/djbclark)
  Access: 2009-09-29 15:07:33.000000000 -0400
  Modify: 2009-09-29 15:07:33.000000000 -0400
  Change: 2009-09-29 15:07:33.000000000 -0400
  </verbatim>

  (Putting [http://thread.gmane.org/gmane.comp.version-control.fossil-scm.user/996/focus=1020|Re: limiting symlinks] in ticket form.)

  <hr /><i>dmitry added on 2011-09-08 18:56:37 UTC:</i><br />
  Fixed by [e4f1c1fe95].


tkt_uuid: 45f7d9e6b1fbf96c313d034bdbeacbe2d8d78570
type: Code_Defect
status: Closed
severity: Cosmetic
foundin: 37f295c310
private_contact: cac53f059e06402625535d363c84a4e2ab543e92
resolution: Overcome_By_Events
title: Logo image isn't displayed
comment:
  I am running a fossil server using the CGI method, as shown in the Fossil quick start.  When I connect to it over the web, the logo image isn't shown; instead, I get a missing image icon.  Some additional points:

    *  I've not changed the header HTML.
    *  If I point my browser at <url>/logo, I see the logo just fine.
    *  I get this behavior with both the default logo image and my own.

  <hr><i>anonymous added on 2009-10-04 16:34:17:</i><br>
  Some additional pieces of information:

    *  The server is a Linux machine.
    *  I'm browsing it from a Mac OS X 10.5.8 machine using Safari 4.0.3
    *  I get similar behavior from FireFox on a Win XP Home machine, except that it displays the alt= text instead of a broken image icon. 


  <hr><i>drh added on 2009-10-04 18:52:03:</i><br>
  I think this problem was fixed by check-in
  [631c52bc96367bd0f95aa29875a3907189f2a18a].  That check-in changes
  the default header.  For a repository that already exists, you might
  need to go into the "Admin/Header" screen and make the corresponding
  change to the header that is defined for your project.

  <hr><i>anonymous added on 2009-10-04 18:57:00:</i><br>
  Yes, that did it.  Thanks much!


tkt_uuid: 68c7f7bee9513021546efac9166a70674f663e0b
type: Code_Defect
status: Fixed
severity: Minor
foundin: 37f295c310
private_contact: 2359089ef753bc96e12743e299243d5232c749fa
resolution: Fixed
title: remote-url command doesn't persist username and password
comment:
  the remote-url command should preserve the username and password that are embedded in the url, but it does not.  my system is a windows system, if that makes a difference.  however, i think the problem is in remote_url_cmd() where it stores g.urlCanonical, which strips the usr:pwd@ from the url.   process_sync_args(), by comparison, will take <nowiki>arg[2]</nowiki> over g.urlCanonical as long as the url does not refer to a file.  i think remote_url_cmd() should do the same.
  <pre>
  PS C:\fossil\fossil> fossil remote-url --show-pw
  http://rwilson:password@www.fossil-scm.org/
  PS C:\fossil\fossil> fossil remote-url http://a:b@www.fossil-scm.org/
  http://www.fossil-scm.org/
  PS C:\fossil\fossil> fossil remote-url --show-pw
  http://www.fossil-scm.org/
  PS C:\fossil\fossil> fossil ver
  This is fossil version [37f295c310] 2009-09-21 19:19:20 UTC
  PS C:\fossil\fossil>
  </pre>

  <hr><i>drh added on 2009-10-31 14:08:58:</i><br>
  Check-in [11ecd5c0b512fdea2565a133e9dec19c4ba81e27]


tkt_uuid: 329d51eb80fa7920a05720b3cc02d591b2dd9c9e
type: Feature_Request
status: Fixed
severity: Cosmetic
foundin: f969b6cdde
private_contact: 2359089ef753bc96e12743e299243d5232c749fa
resolution: Works_As_Designed
title: default ticket schema does not include "submitted by"
comment:
  by default, the only way to identify the submitter of a ticket is by the optional email or "private_contact" field.  it would be nice if fossil recorded the submitter's username, even if it was anonymous; fossil already puts the username in the notes field when a ticket is edited, but the original submitter is not identified anywhere in the record.  if fossil can be configured to do this in the admin section, then i recommend it be the default configuration.

  <hr><i>rwilson added on 2009-10-07 00:31:07:</i><br>
  appended remarks identify the user, though this field can be erased before submitting the edit.

  <hr><i>rwilson added on 2009-10-07 17:57:12:</i><br>
  interesting - somehow the timeline knows who submitted a given ticket...

  <hr><i>ron added on 2010-02-17 04:41:05:</i><br>
  There should be an additional "submitted_by" field, which is autopopulated.  On the 'new ticket' page, the email should be automatically filled in from the log-in data if the user is logged-in (as not anonymous).



  <hr><i>ron added on 2010-02-18 17:38:05:</i><br>
  Instructions on how to implement this [http://www.fossil-scm.org/index.html/doc/tip/www/custom_ticket.wiki|are here].


tkt_uuid: 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: ce33b14f8fa9a41679705502086ca5fdfb5d142f
type: Incident
status: Open
severity: Minor
foundin: ca08c1d1b3
private_contact: 6b7d8d19b3584e0b0b59ee79d0f778ecd9f60111
resolution: Open
title: 'configure pull' command recevie empty response.
comment:
  Server send empty response for non authorative user's 'configure pull' command.

  I create three patch variations. (I think first version is simple and good.)

  1. when 'reqconfig' card received, grant 'nobody' capabilities to non-authoratives. (like 'clone' card)<br>xfer.c / page_xfer()<blockquote><verbatim>--- ../Fossil-ca08c1d1b3/src/xfer.c      2009-09-24 01:54:53.000000000 +0900
  +++ xfer-1.c    2009-10-09 09:11:39.000000000 +0900
  @@ -747,6 +747,7 @@
       if( blob_eq(&xfer.aToken[0], "reqconfig")
        && xfer.nToken==2
       ){
  +      login_check_credentials();
         if( g.okRead ){
           char *zName = blob_str(&xfer.aToken[1]);
           if( configure_is_exportable(zName) ){
  </verbatim></blockquote>
  Currently, 'check_login()' function defined in 'xfer.c' grants
  no capabilities to unauthoratives.

  2. when 'login' card received, grant 'nobody' capabilities if authorization failed.<br>(This patch also accept non-registered users and registered but wrong password specified as 'nobody')<br>This patch always need 'login' card.<br>xfer.c / check_login()<blockquote><verbatim>--- ../Fossil-ca08c1d1b3/src/xfer.c      2009-09-24 01:54:53.000000000 +0900
  +++ xfer-2.c    2009-10-09 09:13:16.000000000 +0900
  @@ -421,6 +421,8 @@
     if( rc==0 ){
       /* If the login was successful. */
       login_set_anon_nobody_capabilities();
  +  }else{
  +    login_check_credentials();
     }
   }
  </verbatim></blockquote>

  3. when 'login' card received, grant 'anonymous' capabilities to 'anonymous' with empty password.<br>(This patch deny non-registered users and registered but wrong password specified.<br>User who not registered need 'anonymous@' for 'configure pull' command URL parameter.)<br>NG: <tt>fossil configure pull skin http://example.net</tt><br>OK: <tt>fossil configure pull skin http://anonoymous@example.net</tt><br>This patch always need 'login' card.<br>xfer.c / check_login()<blockquote><verbatim>--- ../Fossil-ca08c1d1b3/src/xfer.c      2009-09-24 01:54:53.000000000 +0900
  +++ xfer-3.c    2009-10-09 09:14:21.000000000 +0900
  @@ -391,14 +391,16 @@
     db_prepare(&q,
        "SELECT pw, cap, uid FROM user"
        " WHERE login=%Q"
  -     "   AND login NOT IN ('anonymous','nobody','developer','reader')"
  +     "   AND login NOT IN ('nobody','developer','reader')"
        "   AND length(pw)>0",
        zLogin
     );
     if( db_step(&q)==SQLITE_ROW ){
       Blob pw, combined, hash;
       blob_zero(&pw);
  -    db_ephemeral_blob(&q, 0, &pw);
  +    if( strcmp(zLogin,"anonymous")!=0 ){
  +      db_ephemeral_blob(&q, 0, &pw);
  +    }
       blob_zero(&combined);
       blob_copy(&combined, pNonce);
       blob_append(&combined, blob_buffer(&pw), blob_size(&pw));
  </verbatim></blockquote>

  <hr /><i>anonymous added on 2011-02-18 19:52:23 UTC:</i><br />
  This would be nice to see. At present, if you aren't logged in via remote-url, <code>fs config pull all</code> silently fails unless you're really observant and notice there weren't any received cards. This took me a few minutes of head scratching to figure out. I'm not sure the patch is the right way to solve this (it could be), but I'm glad I'm not the only one who's run in to this oddity.

  <verbatim>% fs config pull all
                  Bytes      Cards  Artifacts     Deltas
  Sent:             660         26          0          0
  waiting for server...Total network traffic: 428 bytes sent, 0 bytes received
  % fs remote-url
  http://127.0.0.1:9023/
  % fs remote-url http://sean@127.0.0.1:9023/
  password for sean: 
  http://sean@127.0.0.1:9023/
  % fs config pull all
                  Bytes      Cards  Artifacts     Deltas
  Sent:             660         26          0          0
  Received:       55201         15          0          0
  Total network traffic: 490 bytes sent, 39537 bytes received</verbatim>


tkt_uuid: c3d668ad5286f0e780b47c54449314beea5edca2
type: Code_Defect
status: Fixed
foundin: b99aa66d1f
private_contact: 05f652db744266759b20d248ec2f451629420388
resolution: Fixed
title: "clean" command has an option --all, but documentation says it's --force
comment:
  Either documentation or code is wrong about the "clean" command option to disable prompt before removing files.

  Documentation says:
  <pre>
  $ fossil help clean
  Usage: fossil clean ?--force? ?--dotfiles?
  ...
  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.
  </pre>

  However, --force doesn't work (Fossil asks before removing files). Code in <code>checkin.c</code> ([2e4a6e1c0f]) says it wants "--all" option:

  <pre>
    allFlag = find_option("all","a",0)!=0;
  </pre>

  And "--all" option actually works.

  So either code or documentation needs to be updated.

  <hr><i>drh added on 2009-10-11 19:53:14:</i><br>
  Check-in [5308e468153]

  <hr><i>anonymous added on 2009-10-11 20:29:39:</i><br>
  Thanks!

  Also, here's an update for <code>www/reference.wiki</code>, since it has the old -all option and lacked --dotfiles.

  <verbatim>
  --- www/reference.wiki
  +++ www/reference.wiki
  @@ -214,18 +214,22 @@
       unless the "--nosign" options is used.  All files that have
       changed will be committed unless some subset of files is specified
       on the command line.
   
   <hr><a href="#tof">&#710;</a>
  -    <a name="clean">Usage: </a><a href="cmd_clean.wiki">fossil clean</a> ?-all?
  +    <a name="clean">Usage: </a><a href="cmd_clean.wiki">fossil clean</a> ?--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 -all flag.
  +    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.
   
   <hr><a href="#tof">&#710;</a>
       <a name="clone">Usage: </a><a href="cmd_clone.wiki">fossil clone</a> URL FILENAME
       Make a clone of a repository specified by URL in the local
       file named FILENAME.
  </verbatim>


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: 28d861eb5799a60e412fe33d15fa56b87000e412
type: Code_Defect
status: Fixed
severity: Cosmetic
foundin: 5308e46815
private_contact: 05f652db744266759b20d248ec2f451629420388
resolution: Fixed
title: File listing has extra space before file name
comment:
  File listing ("Files in the top-level directory") has an extra space before file name, which looks like underscore when used as link. I propose removing the space (see this picture: [http://i33.tinypic.com/9tfgo7.png]).

  <verbatim>
  --- src/browse.c
  +++ src/browse.c
  @@ -222,19 +222,19 @@
       }
       i++;
       zFName = db_column_text(&q, 0);
       if( zFName[0]=='/' ){
         zFName++;
  -      @ <li><a href="%s(zSubdirLink)%T(zFName)">
  -      @     %h(zFName)/</a></li>
  +      @ <li>
  +      @     <a href="%s(zSubdirLink)%T(zFName)">%h(zFName)/</a></li>
       }else if( zCI ){
         const char *zUuid = db_column_text(&q, 1);
         @ <li><a href="%s(g.zBaseURL)/artifact?name=%s(zUuid)">%h(zFName)</a>
       }else{
  -      @ <li><a href="%s(g.zBaseURL)/finfo?name=%T(zPrefix)%T(zFName)">
  -      @     %h(zFName)</a></li>
  +      @ <li>
  +      @     <a href="%s(g.zBaseURL)/finfo?name=%T(zPrefix)%T(zFName)">%h(zFName)</a></li>
       }
     }
     db_finalize(&q);
     @ </td></tr></table>
     style_footer();
   }
  </verbatim>

  <hr><i>anonymous claiming to be Dmitry Chestnykh added on 2009-10-21 18:02:17:</i><br>
  Here's a better version, since the first one goes over 79 chars per line:

  <verbatim>
  --- src/browse.c
  +++ src/browse.c
  @@ -223,18 +223,19 @@
       i++;
       zFName = db_column_text(&q, 0);
       if( zFName[0]=='/' ){
         zFName++;
         @ <li><a href="%s(zSubdirLink)%T(zFName)">
  -      @     %h(zFName)/</a></li>
  +      @ %h(zFName)/</a></li>
       }else if( zCI ){
         const char *zUuid = db_column_text(&q, 1);
         @ <li><a href="%s(g.zBaseURL)/artifact?name=%s(zUuid)">%h(zFName)</a>
       }else{
  -      @ <li><a href="%s(g.zBaseURL)/finfo?name=%T(zPrefix)%T(zFName)">
  -      @     %h(zFName)</a></li>
  +      @ <li>
  +      @ <a href="%s(g.zBaseURL)/finfo?name=%T(zPrefix)%T(zFName)">
  +      @ %h(zFName)</a></li>
       }
     }
     db_finalize(&q);
     @ </td></tr></table>
     style_footer();
   }
  </verbatim>

  <hr><i>drh added on 2009-10-31 13:24:04:</i><br>
  Check-in [4165033b4030ce9dc3dd4a71ed0acc870a32fb13]


tkt_uuid: dbf79085170a1f45417ac2c06d924b48a48505ff
type: Feature_Request
status: Open
severity: Important
foundin: [5308e46815]
private_contact: a7ec239b1a3401c4229e18dead1ea4225e287fb9
resolution: Open
title: Issues with logging-in
comment:
  The login mechanism used by fossil uses remote IP, which can change very often based on http proxy service provider.

  From may work place, I see that I'm logged in for many pages and I'm always logged out for other. This is very consistent and such behavior is seen only with fossil.

  This mechanism needs correction.

  - Altu

  <hr><i>drh added on 2009-10-31 13:30:11:</i><br>
  For security reasons, I want to continue to associate login credentials
  with a particular IP address.  I have moved this ticket from "code defect"
  to "feature request".


tkt_uuid: 6981de95b677bcc5ba7da4818015f1e5c049463f
type: Build_Problem
status: Closed
severity: Important
foundin: Fossil-86cbb69af2
private_contact: eddb745d665b3169de623ffaba97bc345afe81f5
resolution: Fixed
title: Makefile for OpenSolaris/Solaris is not correct
comment:
  With following diff of Makefile,

  <verbatim>
  root@600m:/export/home/tjyang/Fossil-076f7adff2# diff Makefile Makefile.orig
  39c39
  < # LIB += -lsocket
  ---
  > # LIB += lsocket
  41c41
  < LIB += -lsocket -lnsl
  ---
  > # LIB += -lsocket -lnsl
  root@600m:/export/home/tjyang/Fossil-076f7adff2#
  </verbatim>

  I was able to build fossil on opensolaris b124.

  <verbatim>
  root@600m:/export/home/tjyang/Fossil-076f7adff2# uname -a
  SunOS 600m 5.11 snv_122 i86pc i386 i86pc Solaris
  root@600m:/export/home/tjyang/Fossil-076f7adff2# cat /etc/release
                         OpenSolaris Development snv_122 X86
             Copyright 2009 Sun Microsystems, Inc.  All Rights Reserved.
                          Use is subject to license terms.
                              Assembled 28 August 2009
  root@600m:/export/home/tjyang/Fossil-076f7adff2# ls -l fossil
  -rwxr-xr-x 1 root root 1582864 2009-10-13 23:37 fossil
  root@600m:/export/home/tjyang/Fossil-076f7adff2#
  </verbatim>

  <hr><i>stephan added on 2009-10-17 12:07:44:</i><br>
  This seems to depend on the OpenSolaris version. i added those lines about a year ago, and -lnsl wasn't needed on the Nexenta OpenSolaris i used at the time. i don't remember if it was an error to link against it, though.

  <hr><i>anonymous added on 2009-10-18 02:26:59:</i><br>
  at least following diff need to be applied. "lsocket" need to be typed as "-lsocket".

  <nowiki> 
  <pre>
  < # LIB += -lsocket
  ---
  > # LIB += lsocket
  </pre>
  </nowiki> 


  tj yang

  <hr><i>anonymous added on 2009-12-29 19:15:49:</i><br>
  Hi, Can someone with upload/write permission to correct the error for Solaris/OpenSolaris OS.

  1.
  <nowiki> 
  <pre>
  .o sync.o tag.o th_main.o timeline.o tkt.o tktsetup.o undo.o update.o url.o user.o verify.o vfile.o wiki.o wikiformat.o winhttp.o xfer.o zip.o sqlite3.o th.o th_lang.o -lz  -lsocket
  Undefined                       first referenced
   symbol                             in file
  gethostbyname                       http_socket.o  (symbol belongs to implicit dependency /lib/libnsl.so.1)
  inet_addr                           http_socket.o  (symbol belongs to implicit dependency /lib/libnsl.so.1)
  inet_ntoa                           cgi.o  (symbol belongs to implicit dependency /lib/libnsl.so.1)
  ld: fatal: symbol referencing errors. No output written to fossil
  collect2: ld returned 1 exit status
  gmake: *** [fossil] Error 1
  root@600m:/pub/fossil/Fossil-86cbb69af2#
  </pre>
  </nowiki>

  <hr><i>anonymous added on 2009-12-29 19:24:56:</i><br>
  Please apply following patch to Makefile. I tested on on Solaris 10(sparc and x86) and OpenSolaris 124 up to 130 revision.

  <nowiki>
  <pre>
  --- Makefile.orig       2009-12-29 13:20:21.449765912 -0600
  +++ Makefile    2009-12-29 13:20:54.935476106 -0600
  @@ -35,9 +35,7 @@
   #    chroot jail.
   #
   LIB = -lz $(LDFLAGS)
  -# If you're on OpenSolaris:
  -# LIB += lsocket
  -# Solaris 10 needs:
  +# Solaris 10/OpenSolaris  needs:
   # LIB += -lsocket -lnsl
   # My assumption is that the Sol10 flags will work for Sol8/9 and possibly 11.

  </pre>
  </nowiki>

  <hr><i>anonymous added on 2009-12-29 20:19:21:</i><br>
  Correction, OpenSoaris 130 has following linking error.

  <pre>

  gcc -Os -Wall -o fossil add.o allrepo.o bag.o blob.o branch.o browse.o 
  captcha.o cgi.o checkin.o checkout.o clearsign.o clone.o comformat.o 
  configure.o construct.o content.o db.o delta.o deltacmd.o descendants.o diff.o 
  diffcmd.o doc.o encode.o file.o finfo.o http.o http_socket.o http_transport.o 
  info.o login.o main.o manifest.o md5.o merge.o merge3.o name.o pivot.o pqueue.o
   printf.o rebuild.o report.o rss.o rstats.o schema.o search.o setup.o sha1.o 
  shun.o skins.o stat.o style.o sync.o tag.o th_main.o timeline.o tkt.o 
  tktsetup.o undo.o update.o url.o user.o verify.o vfile.o wiki.o wikiformat.o 
  winhttp.o xfer.o zip.o sqlite3.o th.o th_lang.o -lsocket -lnsl

  Undefined                       first referenced
   symbol                             in file
  crc32                               zip.o
  deflateEnd                          blob.o
  deflateInit2_                       zip.o
  uncompress                          blob.o
  compress                            blob.o
  deflate                             blob.o
  deflateInit_                        blob.o
  ld: fatal: symbol referencing errors. No output written to fossil
  collect2: ld returned 1 exit status
  gmake: *** [fossil] Error 1
  root@600m:/pub/fossil/Fossil-86cbb69af2#
  root@600m:/pub/fossil/Fossil-86cbb69af2# cat /etc/release
                         OpenSolaris Development snv_130 X86
             Copyright 2009 Sun Microsystems, Inc.  All Rights Reserved.
                          Use is subject to license terms.
                             Assembled 18 December 2009
  root@600m:/pub/fossil/Fossil-86cbb69af2#

  </pre>

  <hr><i>anonymous added on 2009-12-29 20:30:15:</i><br>
  This is the new patch for OpenSolaris 130, zlib need to be described in LIB variable.

  <pre>

  --- Makefile.orig       2009-12-29 13:20:21.449765912 -0600
  +++ Makefile    2009-12-29 14:27:05.946202215 -0600
  @@ -35,10 +35,8 @@
   #    chroot jail.
   #
   LIB = -lz $(LDFLAGS)
  -# If you're on OpenSolaris:
  -# LIB += lsocket
  -# Solaris 10 needs:
  -# LIB += -lsocket -lnsl
  +# Solaris 10/OpenSolaris  needs:
  +LIB += -lsocket -lnsl
   # My assumption is that the Sol10 flags will work for Sol8/9 and possibly 11.

  </pre>

   gcc info on opensolaris 130.

  <pre>
  root@600m:/pub/fossil/Fossil-86cbb69af2# gcc -v
  Reading specs from /usr/sfw/lib/gcc/i386-pc-solaris2.11/3.4.3/specs
  Configured with: /builds2/sfwnv-gate/usr/src/cmd/gcc/gcc-3.4.3/configure 
  <snip>
  -languages=c,c++,f77,objc --enable-shared
  Thread model: posix
  gcc version 3.4.3 (csl-sol210-3_4-20050802)
  root@600m:/pub/fossil/Fossil-86cbb69af2#

  </pre>

  <hr /><i>steveb added on 2011-07-22 22:46:36 UTC:</i><br />
  Can you test with the latest version?

     ./configure; make

  It should find and link against all the appropriate libraries.

  <hr /><i>steveb added on 2011-11-18 05:21:55 UTC:</i><br />
  No response from the OP, but it should be fixed.


tkt_uuid: ec667f74f803490786abc4442553ca8befeac61a
type: Feature_Request
status: Open
severity: Important
foundin: Fossil-076f7adff2
private_contact: be550bfd65ad2b35c5af076e5620344955089a2e
resolution: Open
title: LDAP authentication and authorization support
comment:
  Fossil is good, so I am thinking of promoting Fossil in work place which use LDAP/AD for account login authentication and authorization. Please implement this feature.

  tj yang

  <hr /><i>anonymous added on 2010-11-05 17:17:02:</i><br />
  The easiest way to do this probably is to let the web server handle the LDAP via HTTP Basic Auth (secure enough when sent over SSL) and have Fossil merely pick up the login name from the CGI and use it as logged in user from there.

  Support for HTTP Basic Auth would also be needed for Fossil's own network support (i.e. when the client talks to the server).

  <hr /><i>anonymous added on 2010-11-08 14:47:28:</i><br />
  Also see discussion in <a href="http://www.mail-archive.com/fossil-users@lists.fossil-scm.org/msg02458.html">this thread<a/>.

  Fossil already supports REMOTE_USER when running as CGI, which means it can be set up to pick up the user name (for existing users only) from the webserver, which can be set up to handle LDAP or any other authentication. Problems here are that the fossil client doesn't support basic or digest authentication, which means it can't talk to a fossil server behind LDAP (or any other external authentication scheme) at the moment.


tkt_uuid: 369e246e508de6d0874ec8c400c79c6a5495b0d3
type: Feature_Request
status: Open
severity: Important
foundin: Fossil-076f7adff2
private_contact: be550bfd65ad2b35c5af076e5620344955089a2e
resolution: Open
title: Using EXTJS for JavaScript UI Framework
comment:
  Fossil + EXTJS = Power + Beauty.

  <hr><i>anonymous added on 2009-10-22 15:29:15:</i><br>
  <irony>I like jQuery..</irony>

  <hr><i>anonymous claiming to be Dmitry Chestnykh added on 2009-10-22 16:57:06:</i><br>
  So, what do you propose, exactly? I don't see any feature requests here.

  <hr><i>anonymous claiming to be Rene de Zwart added on 2009-11-02 08:42:03:</i><br>
  Adding an external javascript url to fossil means your cannot clone the repository
  anymore. Because the clone doesn't have the external javascript.

  <hr /><i>renez added on 2011-02-12 11:03:38 UTC:</i><br />
  I suggest to use a web page extern that will allow to load the file from the $HOME. If that fails it tries from /usr/share/fossil. I have coded an UNIX implementation. I'm not sure if and how security is compromised by this feature!

  For windows some other paths need to be used/found

  if I have a directory jscripts in $home and unpack tinymce there then I would code in header

  html "<script type='text/javascript' 
  src='extern/jscripts/tiny_mce/tiny_mce.js'></script>\n"

  and extern is coded like:
  <verbatim>
  /*
  ** WEBPAGE: extern
  ** URL: /extern/PATH
  **
  ** if the file
  **      $HOME/PATH is checked
  ** not exists then
  **      /usr/share/fossil/PATH
  ** is tried.
  **
  ** The content is returned straight without any interpretation or processing.
  */
  void ext_page(void){
    const char *zName;                /* Argument to the /extern page */
    const char *zMime;                /* Document MIME type */
    Blob filebody;                    /* Content of the documentation file */
    char *zFullpath = (char *) 0;
    static const char const * zSystem = {"/usr/share/fossil"};

    login_check_credentials();
    if( !g.okRead ){ login_needed(); return; }
    zName = PD("name", "");
    while( zName[0]=='/' ){ zName++; }
    zFullpath = mprintf("%s/%s", g.zHome, zName);
    if( !file_isfile(zFullpath) ){
  	  zFullpath = mprintf("%s/%s", zSystem, zName);
  	  if( !file_isfile(zFullpath) ){
  	    goto ext_not_found;
  	  }
    }
    if( blob_read_from_file(&filebody, zFullpath)<0 ){
      goto ext_not_found;
    }
    zMime = P("mimetype");
    if( zMime==0 ){
      zMime = mimetype_from_name(zName);
    }
    cgi_set_content_type(zMime);
    cgi_set_content(&filebody);
    return;

  ext_not_found:
    /* Jump here when unable to locate the document */
    style_header("External file Not Found");
    @ <p>No such external file: %s(zName) in %s(g.zHome) or %s(zSystem)</p>
    style_footer();
    return;
  }

  </verbatim>


tkt_uuid: 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: 36cb6b45fd9d31f6bc4bd4ad87f18aad50e5bce9
type: Feature_Request
status: Open
severity: Minor
foundin: 076f7adff2
private_contact: 2359089ef753bc96e12743e299243d5232c749fa
resolution: Open
title: in windows, fossil allows addition of the same file twice
comment:
  in windows, the file system is case insensitive.  fossil allows the addition of the same file twice differing only by case.  both files show up in the ui but technically they are versioned separately even though they are the same file on disk; it is unclear which artifact dominates on fossil open/update.

  <pre>
  PS C:\fossil> fossil new test.f
  project-id: 24ac0462f2082e82bcdf2de26ceb3c38aaffcfe4
  server-id:  0b879e4b0baa36b4da40631bf54866f3ae825323
  admin-user: rwilso20 (initial password is "ab6ad5")
  PS C:\fossil> md test
  PS C:\fossil> cd test
  PS C:\fossil\test> fossil open ..\test.f
  PS C:\fossil\test> notepad camelCase.txt
  PS C:\fossil\test> fossil add camelCase.txt
  ADDED  camelCase.txt
  PS C:\fossil\test> fossil add camelcase.txt
  ADDED  camelcase.txt
  PS C:\fossil\test> fossil commit
  notepad "C:/fossil/test/ci-comment-09044B4972BB.txt"
  'gpg' is not recognized as an internal or external command,
  operable program or batch file.
  unable to sign manifest.  continue [y/N]? y
  New_Version: b06866048f0a6cdf50573ef9e7767bb6fa4449db
  PS C:\fossil\test> fossil ls
  UNCHANGED camelCase.txt
  UNCHANGED camelcase.txt
  PS C:\fossil\test> fossil ver
  This is fossil version [076f7adff2] 2009-10-13 16:25:41 UTC
  PS C:\fossil\test>
  </pre>

  <hr><i>drh added on 2009-10-16 14:36:30:</i><br>
  Case-folding is locale-dependent
  (See, for example, [http://userguide.icu-project.org/transforms/casemappings])
  and is enormously complicated.  We do not want to go there.

  I suppose it does make sense to issue warnings if fossil detects
  possible conflicts in filenames.  This can be done easily enough
  for ASCII.  But because the problem is all but unsolvable for full
  unicode, the change should be to add warnings only, and then only
  for ASCII.  Some users may actually want to store files whose names 
  differ only in case and we don't want to have to go through all of
  the complication to try to figure out unicode case folding.

  I am changing this ticket to a feature request.

  <hr><i>jeremy_c added on 2010-01-05 14:09:04:</i><br>
  Missed that drh changed it to a feature request, opps.

  <hr><i>anonymous claiming to be Jose F. Gimenez added on 2010-01-16 18:33:47:</i><br>
  Sorry to jump in...

  I'm evaluating fossil to replace cvs for all my repositories, and I've stumbled in this problem.

  Since fossil has no gui actualy (similar to tortoiseXXX), and it has to be used by typing commands from the command line, it's very very easy to add a file twice or more times accidentaly. Also, to manage any versioned file you must type its name exactly as it was added or it cannot be found. So it indeed become a very big problem for those of us that work in windows or any other case-insensitive os.

  IMHO, a possible solution could be to allow configure the repository as case sensitive or insensitive. So, who works in a case-sensitive os don't have to renunce to the actual behaviour, while the windows (only) users will be happy.

  <hr><i>anonymous added on 2010-01-16 18:39:58:</i><br>
  That is fine, except when you have a mixed-mode environment (as I have at work), where some use Linux or OS/X while others use Windows, all using the same repo.

  <hr><i>anonymous added on 2010-01-20 05:21:49:</i><br>
  There's the added issue of "case" not making sense outside of the latin alphabet for the most part.  Case collision detection is a scary-complicated problem once you poke your head outside of the parochial ASCII/ANSI shell and into the rest of the world.  The code would be non-trivial, buggy and likely hugely bloated.

  <hr><i>anonymous claiming to be ramsan added on 2010-01-20 12:38:01:</i><br>
  But I do not understand the problem. When doing:
  <verbatim>
    PS C:\fossil\test> notepad camelCase.txt
    PS C:\fossil\test> fossil add camelCase.txt
    ADDED  camelCase.txt
    PS C:\fossil\test> fossil add camelcase.txt
    ADDED  camelcase.txt
  </verbatim>
  Command "fossil add ..." needs to ask the operating system if file 'camelcase.txt' exist. If it does not exist, the command fails. When doing this request, fossil can ask the operating system for the exact name of the file. In this case, the OS would answer "camelCase.txt". Then, it would be easy to detect that "camelCase.txt" has already been added and raise an error.


  <hr><i>drh added on 2010-01-20 13:36:53:</i><br>
  I'm a unix programmer, not a windows programmer, so please tell me:  How do
  you ask windows for the "exact" name of a file?

  <hr><i>anonymous claiming to be ramsan added on 2010-01-20 15:10:26:</i><br>
  In TCL, you would do:
  <verbatim>
    file tail [file normalize camelcase.txt]
    --->  camelCase.txt
  </verbatim>
  To do so in C, it is necessary to review the TCL C source code.


  <hr><i>rwilson added on 2010-01-20 15:36:36:</i><br>
  microsoft has an article on this: [http://msdn.microsoft.com/en-us/library/aa366789(VS.85).aspx?ppud=4]

  i just tested it myself and it works.

  <hr><i>rwilson added on 2010-01-20 17:49:36:</i><br>
  if you want i can port the above solution to fossil and test it.  fossil would have to link with psapi.lib.  i'm not sure if it already does this or not.

  <hr><i>drh added on 2010-01-20 18:38:34:</i><br>
  The psapi.lib fix might be technically better.  But my (ancient) mingw-gcc
  doesn't know that library exists and won't link to it.  So instead, I added
  code that disallows adding files that differ only in ASCII case under
  windows.  See check-in [4b9455bf03c38546c1adc49f5a03bd2eba096969].

  <hr><i>ron added on 2010-01-20 18:42:03:</i><br>
  I see drh just made a fix to prevent adding a file which difference only in case from a file in the repo.  OS/X users will I think need a similar treatment.

  What happens when the repo is shared between Linux and Windows users, and the Linux users add two files, say "makefile" and "Makefile"?  When the Windows user does an 'update', she will get one of the files, since Windows doesn't distinguish case (neither does OS/X).  So one file will be missing on Windows.

  Perhaps it makes sense to issue a notice to the Windows user in that case?

  <hr><i>anonymous claiming to be Jose F. Gimenez added on 2010-01-20 19:26:25:</i><br>
  rwilson, there is an easier way to get the real filename in windows. Check this C function:
  <verbatim>
     BOOL GetRealFilename( const char * szFilename, char * szRealFilename )
     {
        char szTempFilename[ MAX_PATH ];
        if( GetShortPathName( szFilename, szTempFilename, MAX_PATH ) )
           if( GetLongPathName( szTempFilename, szRealFilename, MAX_PATH ) )
              return TRUE;
        return FALSE;
     }
  </verbatim>
  Also, it allows to check the existance of a file, since it returns FALSE if the file doesn't exist.

  But that doesn't fix the problem at 100%. You could rename a file in your working directory, changing only case, and get again in a trouble. So, the check have to be done in the repository.

  The drh fix solves the most cases, although it doesn't deal with non ascii chars. Thanks, however!

  <hr><i>rwilson added on 2010-01-20 21:34:23:</i><br>
  jose - that is a clever solution; thanks.  i just tried it and it works well.

  drh - jose's solution only requires kernel32.lib, not psapi.lib.


tkt_uuid: 700d423d2a44853adf85303ecb8ca487b317c0ac
type: Feature_Request
status: Open
severity: Cosmetic
foundin: 0870a8e69b55cbbc4fe8fb95952c1649e58d9ece
private_contact: 4b6281b0da561d3b4396c6498527621c42b4ad58
resolution: Withdrawn
title: Tables in ticket view set the bgcolor
comment:
  I use a modified header/footer/css on my site, but the table for display a ticket sets the bgcolor rather than relying on css.  I'd submit a patch, but this ticket system doesn't have that, so here's what needs to change:

  <ol>
  <li>In tktsetup_.c remove all bgcolor="#d0d0d0" text.</li>
  <li>In style_.c add CSS to style the td tags (although they look find without it).</li>
  </ol>

  Additionally, these strings in the .c files could easily just be text files that are injected into sqlite.  Not sure what the purpose is of putting them in there.

  <hr><i>anonymous added on 2009-10-17 17:31:14:</i><br>
  Oops, sorry that's in src/tktsetup.c not tktsetup_.c.

  <hr><i>anonymous added on 2009-10-17 17:38:06:</i><br>
  Alright, I need to read the code more carefully.  I found the configuration page where you can just remove them.

  Fossil rocks! :-)

  <hr><i>anonymous claiming to be Dmitry Chestnykh added on 2009-10-21 15:28:12:</i><br>
  Still, it would be nice to move this to CSS, in case skins/themes are coming.


