журнал hg — как отобразить диапазон дат ревизий в обратном порядке?

#bash #mercurial #revision #hg-log

#bash #mercurial #ревизия #hg-log

Вопрос:

В bash я использую диапазон дат для ограничения количества ревизий, отображаемых следующим образом:

 hg log -d "yyyy-mm-dd to yyyy-mm-dd"
  

Я хотел бы вывести, чтобы отобразить самую последнюю ревизию внизу. В настоящее время он начинается с самого последнего вверху и работает намного ниже.

Заранее спасибо!


Я пытаюсь внедрить hg log -r "(date("$startdate to $enddate"))" решение в скрипт bash, как показано ниже:

 read -p "Specify start of date range(yyyy-mm-dd): " startdate
read -p "Specify end of date range(yyyy-mm-dd): " enddate
hg log -r '(date("$startdate to $enddate"))'
  

Однако переменные больше не распознаются. Я пытался использовать двойные кавычки, а также заключать в кавычки сами переменные, но безрезультатно. Любая помощь приветствуется!

Ответ №1:

Вместо этого вы могли бы использовать revsets:

 hg log -r 'reverse(date("yyyy-mm-dd to yyyy-mm-dd"))'
  

Комментарии:

1. Просто последующий вопрос. Я пытаюсь реализовать вышесказанное в сценарии bash, как показано ниже: read -p «Укажите начало диапазона дат (гггг-мм-дд): » начальная дата чтения -p»Укажите конец диапазона дат (гггг-мм-дд): » конечная дата hg log -r ‘(дата(«от $startdate до $ enddate»))» Однако переменные больше не принимаются в этом формате. Я пытался использовать двойные кавычки и заключать переменные в кавычки безрезультатно. Есть идеи? Спасибо!

2. Замените внешние одинарные кавычки двойными и экранируйте внутренние кавычки обратной косой чертой

3. Работает для меня. Пример: журнал hg -r «обратный(дата(с «2020-12-31 по 2021-01-01″))»