Hi all,

After encountering the "--test" option, which is named "--nochange"
on some commands, and "--limit" which is named "--count" in some
commands, I spent some time to have a a look at this command line
argument inconsistancy.

I would like to propose changing "--test" to "--nochange" and "--limit"
to "--count" in some fossil commands. Read on for the
full analysis.

@Stefan
This change has impact on JSON, so I am especially interested in
your opinion on this. Thanks!

----------------------------------------------
First, consider:
    fossil addremove --test ....
and compare this with
    fossil merge --nochange ...
    fossil update --nochange ...
In both commands, the intent is not to make any real changes, but
only show what would happen if the command was executed for real.
Making things worse:
    fossil help --test
Here the "--test" option means something completely different.

Second, compare:
    fossil annotate --limit N
    fossil finfo --limit N
with:
    fossil timeline --count N ...
Again two different option names for the same thing.
Making things worse:
    fossil ticket show ... --limit LIMITCHAR
Here, the option "--limit" is used for a completely different purpose.

Here is my proposal, to make those two situations consistant:

- Whereever the "--limit" option is used to indicate a maximum number
  after which the operation should be stopped, rename it to "--count|-n".
  The 2 affected commands are:
     fossil annotate
     fossil finfo
  In JSON it affects parameters/options changing from "limit"
  to "count", "--n" already exists there as short form.
  Not affected:
     fossil timeline (already has --count|-n)
     fossil ticket show (has --limit, but different meaning)

- Whereever the "--test" option is used to indicate a dry-run, use
  "--nochange|-n" in stead.
  The commands affected are:
     fossil addremove
     fossil all (has --test, but undocumented)
     fossil clean (has --test, but undocumented)
     fossil commit (has --test, but undocumented)
  Not affected:
     fossil merge (already has --nochange|-n)
     fossil update (already has --nochange|-n)
     fossil help (has --test, but different meaning)

Note that "-n" is the short form for both "--count" and "--nochange",
but because those two options are used for a different group of
commands there is no conflict here. There are no commands which
have both "--count" and "--nochange" and there should never be:
"--count" only exists on "query" type commands, which don't make
any changes to the filesystem/database anyway.

This proposal is committed in:
     <https://www.fossil-scm.org/index.html/info/e72af5058e>
The implementation keeps the "--test" and "--limit" as deprecated,
but I don't have any problems just removing those.

Feedback appreciated! If there are no objections, I would like
to merge this to trunk.

Regards,
       Jan Nijtmans
_______________________________________________
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to