В прошлом, используя mercurial с Visual Studio, я использовал добавить меркурийные изменения в приложение для моего приложения, чтобы, когда пользователь сделал Help About, он перечислил всех компонентов и их точной ртутной ревизии. Он также регистрирует все идентификаторы изменений в файле журнала приложения каждый раз, когда он запускается. Эта процедура даже позволила мне увидеть, была ли изменена конкретная рабочая копия с момента последнего фиксации (mercurial hg id
указывает на грязную рабочую копию, добавив + в конец идентификатора набора изменений, который он сообщает).
Это было невероятно полезно, поскольку это означало, что в любое время, когда пользователь сообщал о проблеме, я мог бы быстро построить именно ту версию, которую они использовали. Я мог бы также сказать, когда люди быстро взломали проблему, чтобы исправить проблему, и не внесли никаких изменений и не рассказали мне об этом.
Теперь я хотел бы реплицировать одно и то же средство в моем RCP-приложении git
. К сожалению, я довольно новичок в разработке приложений git
и Eclipse RCP, поэтому я немного не понимаю, будет ли работать тот же метод.
В частности, мне не удалось выяснить, как сделать эквивалент hg id
с git
, как заставить систему сборки Eclipse вызвать git
для создания файла .gitignore
d, содержащего идентификатор, так что его можно скомпилировать в приложение/подключаемый модуль или как получить эту информацию на странице справки > О себе.
Если вы сделали это или что-то подобное, мне бы понравились некоторые указания относительно того, как вы это сделали. В качестве альтернативы, я был бы рад услышать любые предложения об альтернативных способах достижения конечного результата, который я ищу.
С небольшим количеством google-fu, читающим за строками и экспериментированием, похоже, что git rev-parse HEAD
или git rev-parse --short HEAD
, вероятно, ближе всего к hg id
, увы, я не могу найти способ указать, что работающий копия не чистая, поэтому мне кажется, что мне нужно проверить вывод git status --short
, а если он не пустой, добавьте +
в хеш-код фиксации вручную.
Теперь мне просто нужно понять, как заставить эти команды запускаться из системы сборки Eclipse и куда вводить эту информацию, чтобы она отображалась на страницах About.