Я создаю инструмент PHP, который подключается к репозиторию, загружает список коммитов и сохраняет их локально. Однако из-за того, что некоторые репозитории ОГРОМНЫ и захват их журнала приводит к длительному времени ожидания и возможным тайм-аутам / ошибкам, я хотел бы загрузить каждое сообщение о фиксации, используя асинхронные запросы.
Итак, у меня есть начальная и конечная точки в истории ревизий, и я могу получить все журналы следующим образом:
svn log -r <from_revision>:<to_revision> <REPO_URL>
... и я, возможно, в конечном итоге получу файл XML, который настолько велик, что его загрузка займет много времени, много времени и много ресурсов для анализа и много времени для хранения.
Если я знаю начальную и конечную точку, я могу создать цикл for (), чтобы получать ревизии одну за другой:
svn log -r <revision> ...
НО, поскольку я не знаю, какие конкретные ревизии существуют для данного пути, я получу ошибку. Я могу заставить приложение игнорировать эту ошибку во время обновления, но это неприятный хак, который будет публиковать запросы и в любом случае ждать ответов - что совсем не хорошо.
Итак, мне нужно что-то вроде этого:
- «дай мне список номеров ревизий для этого пути», ИЛИ:
- "дайте мне список номеров ревизий для этого пути, между и
Таким образом, я смогу создать массив допустимых ревизий для пути к хранилищу и получать их по одному.
Все предложения приветствуются, заранее спасибо.