У меня есть репозиторий Mercurial, который несколько человек отправляют из своих локальных репозиториев. Я' я бы хотел иметь возможность запрашивать в этом центральном репозитории все изменения, которые поступили в этот репозиторий за последние 24 часа, в частности , а не только изменения, которые были зафиксированы в последние 24 часа.
Параметр hg log --date не выполняет то, что мне нужно. Он только уточняет выбор на основе даты фиксации. Итак, hg log --date -1 дает мне исправления, внесенные со вчерашнего дня, но не исправления, сделанные, скажем, три дня назад, а только , помещенные в это репо сегодня.
Если я смогу найти номер ревизии (или id) самой старой ревизии, поступившей в репо менее 24 часов назад, это поможет; но я ничего не вижу - даже в hg help revsets - похоже, что это будет работать. команда: list do | c | c.desc 'показать задачи в полной форме' c.switch: l c.action do | global, option, args | # какой-то код, который не ...
У меня есть DSL на Ruby, который работает так:
desc 'list all todos'
command :list do |c|
c.desc 'show todos in long form'
c.switch :l
c.action do |global,option,args|
# some code that's not relevant to this question
end
end
desc 'make a new todo'
command :new do |c|
# etc.
end
Другой разработчик посоветовал мне улучшить свой DSL, чтобы не передавать c
команде
и, следовательно, не требует c.
для всех
методы внутри; предположительно, он подразумевал, что я могу заставить следующий код работать так же:
desc 'list all todos'
command :list do
desc 'show todos in long form'
switch :l
action do |global,option,args|
# some code that's not relevant to this question
end
end
desc 'make a new todo'
command :new do
# etc.
end
Код для команды
выглядит примерно так:
def command(*names)
command = make_command_object(..)
yield command
end
Я пробовал несколько вещей и не смог заставить его работать; Я не мог понять, как изменить контекст / привязку кода внутри блока command
, чтобы он отличался от значения по умолчанию.
Есть идеи, возможно ли это и как я могу это сделать?