On 24/03/2016 22:27, Ross Berteig wrote:
I've been thinking about the support for CLI access to technotes introduced in 
the (still a work in
progress) technoteattachcli branch.

A couple of things leap to mind that probably deserve some hashing from a 
larger pool of minds.

The easy one first. The (now reworded) help text for fossil wiki create:


    fossil wiki (create|commit) PAGENAME ?FILE? ?OPTIONS?

       Create a new or commit changes to an existing wiki page or
       technote from FILE or from standard input. PAGENAME is the
       name of the wiki entry or the timeline comment of the
       technote.

       Options:
         -M|--mimetype TEXT-FORMAT   The mime type of the update.
                                     Defaults to the type used by
                                     the previous version of the
                                     page, or text/x-fossil-wiki.
         -t|--technote DATETIME      Specifies the timestamp of
                                     the technote to be created or
                                     updated.
         --technote-tags TAGS        The set of tags for a technote.
         --technote-bgcolor COLOR    The color used for the technote
                                     on the timeline.


The help text should document what mimetypes are intended to be used, 
especially since it seems to
expect a full mimetype as its argument.

The GUI passes the mimetype selection through the function 
wiki_filter_mimetypes() to limit it to
one of "text/x-markdown", "text/plain", or "text/x-fossil-wiki". If any other 
mimetype was
specified, it is replaced with "text/x-fossil-wiki".

Should the CLI do that too?


Well this was/is the existing code/behaviour for wiki pages as well as tech notes, so this is a more general question than just for tech notes (personal opinion is yes it should do the same as the GUI (modulo your next suggestion)

Should the CLI allow -M to take friendly names like "plain", "markdown", and 
"wiki" which get
expanded to their full equivalent?


I think this will would be more friendly


The slightly more difficult question has to do with the treatment of the 
PAGENAME argument when the
-t|--technote option is present. With that option, the command creates a 
technote instead of a wiki
page. The PAGENAME argument is used (reasonably, IMHO) as the Timeline Comment 
for the technote, and
the optional FILE argument (or stdin) is used for the note content.

The internal representation of a technote does not require that a Timeline 
Comment (a C card in the
artifact) be specified. The C card is completely optional. Should the PAGENAME 
argument be optional
too?

A empty string for the pagename (i.e., passing "") or a string which just blanks will result in no C card being created.


As an argument against that idea, if it were optional, then it could only be 
omitted when the FILE
argument is also omitted. That narrows the possible use cases substantially.


Personally I feel that as a tech note with no comment appears on the timeline as just the link to the tech note, this is not something that is either terribly useful or to be encouraged. Hence I would be happy for the leaving this aspect of the CLI as it is :)

--
Dave
_______________________________________________
fossil-dev mailing list
fossil-dev@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/fossil-dev

Reply via email to