Why does hglib not allow status for a revision and changes?

307 views Asked by At

To get a list of changes, this answer gives the command line:

hg status --change REV

But calling status using hglib gives an error:

>>> client.status(rev=-1, change=True)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\asdf\envs\stackoverflow\lib\site-packages\hglib\client.py", line 1384, in status
    raise ValueError('cannot specify both rev and change')
ValueError: cannot specify both rev and change

Why can't we specify both rev and change?

In answer to another recent question, I posted:

client.status(rev=[start, end], modified=True, added=True)

This works, but I was wondering why the other doesn't. What am I missing?

1

There are 1 answers

3
Sigve Kolbeinson On BEST ANSWER

hg status --change REV only specifies the --change flag, not the --rev flag.

The --change REV option displays the changes introduced with changeset REV. The --rev REV options displays the changes between the changeset REV and the working directory.

If you try hg status --change REVx --rev REVy, you'll have the same error that you see with client.status(rev=-1, change=True) Both the change and rev options take changesets as parameters

Note that --modified is different to --change REV - the filters the output to show modified files only.