##// END OF EJS Templates
revset: optimize "draft() & ::x" pattern...
revset: optimize "draft() & ::x" pattern The `draft() & ::x` type query could be common for selecting one or more draft feature branches being worked on. Before this patch, `::x` may travel through the changelog DAG for a long distance until it gets a smaller revision number than `min(draft())`. It could be very slow on long changelog with distant (in terms of revision numbers) drafts. This patch adds a fast path for this situation, and will stop traveling the changelog DAG once `::x` hits a non-draft revision. The fast path also works for `secret()` and `not public()`. To measure the performance difference, I used drawdag to create a repo that emulates distant drafts: DRAFT4 | DRAFT3 # draft / PUBLIC9999 # public | PUBLIC9998 | . DRAFT2 . | . DRAFT1 # draft | / PUBLIC0001 # public And measured the performance using the repo: (BEFORE) $ hg perfrevset 'draft() & ::(DRAFT2+DRAFT4)' ! wall 0.017132 comb 0.010000 user 0.010000 sys 0.000000 (best of 156) $ hg perfrevset 'draft() & ::(all())' ! wall 0.024221 comb 0.030000 user 0.030000 sys 0.000000 (best of 113) (AFTER) $ hg perfrevset 'draft() & ::(DRAFT2+DRAFT4)' ! wall 0.000243 comb 0.000000 user 0.000000 sys 0.000000 (best of 9303) $ hg perfrevset 'draft() & ::(all())' ! wall 0.004319 comb 0.000000 user 0.000000 sys 0.000000 (best of 655) Differential Revision: https://phab.mercurial-scm.org/D441

File last commit:

r19968:7bec3f69 stable
r34067:c6c8a52e default
Show More
dates.txt
39 lines | 1.2 KiB | text/plain | TextLexer
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 Some commands allow the user to specify a date, e.g.:
- backout, commit, import, tag: Specify the commit date.
- log, revert, update: Select revision(s) by date.
Many date formats are valid. Here are some examples:
- ``Wed Dec 6 13:18:29 2006`` (local timezone assumed)
- ``Dec 6 13:18 -0600`` (year assumed, time offset provided)
- ``Dec 6 13:18 UTC`` (UTC and GMT are aliases for +0000)
- ``Dec 6`` (midnight)
- ``13:18`` (today assumed)
- ``3:39`` (3:39AM assumed)
- ``3:39pm`` (15:39)
- ``2006-12-06 13:18:29`` (ISO 8601 format)
- ``2006-12-6 13:18``
- ``2006-12-6``
- ``12-6``
- ``12/6``
- ``12/6/6`` (Dec 6 2006)
Paul Cavallaro
dates: support 'today' and 'yesterday' in parsedate (issue3764)...
r18537 - ``today`` (midnight)
- ``yesterday`` (midnight)
Augie Fackler
parsedate: understand "now" as a shortcut for the current time
r18614 - ``now`` - right now
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999
Lastly, there is Mercurial's internal format:
Pavlos Touboulidis
doc: fix internal date sample (issue4072)
r19968 - ``1165411109 0`` (Wed Dec 6 13:18:29 2006 UTC)
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999
Martin Geisler
help/dates: rephrase explanation of internal format...
r13882 This is the internal representation format for dates. The first number
is the number of seconds since the epoch (1970-01-01 00:00 UTC). The
second is the offset of the local timezone, in seconds west of UTC
(negative if the timezone is east of UTC).
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999
The log command also accepts date ranges:
Martin Geisler
help/dates: use DATE as place-holder in help and abort texts...
r13886 - ``<DATE`` - at or before a given date/time
- ``>DATE`` - on or after a given date/time
- ``DATE to DATE`` - a date range, inclusive
- ``-DAYS`` - within a given number of days of today