Comments 10
Не видно тега «ненормальное программирование». По-моему, не нормально писать почти 300 строк кода ради… списка файлов.
+1
Ну, теперь вам и не придётся писать 300 строк — автор топика за вас их уже написал. А если так рассуждать, то любое программирование покажется ненормальным.
+2
Там не «почти 300», а очень даже 200. Точнее, 23 assert’а (20 + 1 на три строки) и 200 прочих строк.
0
А нет ли такого же, но для получения списка изменений? Эдакий hg log <path_to_remote_repo>.
0
Вообще‐то именно это и делается.
Если нужен распарсенный лог с моим кодом, то надо немного изменить SAX парсер, чтобы он также запоминал автора, дату и описание изменения: они там есть, просто парсер их игнорирует.
И учтите две проблемы:
hg incoming
— это тот же hg log
. Для пустого репозитория он выведет именно список всех изменений.Если нужен распарсенный лог с моим кодом, то надо немного изменить SAX парсер, чтобы он также запоминал автора, дату и описание изменения: они там есть, просто парсер их игнорирует.
И учтите две проблемы:
- Вам всё равно надо иметь пустой репозиторий где‐то.
- Этот вариант работает примерно в три раза медленнее, чем
hg clone
на tmpfs (причём проблема вhg incoming
, а не в моём коде). В принципе, он нужен только если вам принципиально не нравится идея клонировать себе потенциально очень большой репозиторий: что будет, если забьётся tmpfs я не знаю и не хочу знать, а вот то, что если забьётся память, то я ничего хуже MemoryError не получу (из‐за limits.conf я даже не забью себе память), я знаю.
0
Как все сложно… Все таки я наверное буду монтировать сервер с центральными репозиториями (nfs/sshfs) и дергать
По поводу клонирования — это не принципиально, просто есть не очень маленькое количество репозиториев с которыми необходимо работать (генерация отчетов к примеру, или автоматическое закрытие задач в трекере при послуплении коммита с сообщением «close issue #num», и т.д.), и клонировать всю пачку репозиториев для того чтобы выполнить в них
Хотя наверное проще дергать с определенной периодичностью rss-фид который отдает hg serve, ну или дописать hg serve чтобы можно было получить полный лог :)
Все таки в svn с логами было чуточку проще…
hg log
«локально».По поводу клонирования — это не принципиально, просто есть не очень маленькое количество репозиториев с которыми необходимо работать (генерация отчетов к примеру, или автоматическое закрытие задач в трекере при послуплении коммита с сообщением «close issue #num», и т.д.), и клонировать всю пачку репозиториев для того чтобы выполнить в них
hg log
слишком накладно получается.Хотя наверное проще дергать с определенной периодичностью rss-фид который отдает hg serve, ну или дописать hg serve чтобы можно было получить полный лог :)
Все таки в svn с логами было чуточку проще…
0
Sign up to leave a comment.
Получение списка файлов в удалённом репозитории