Автоматический идентификатор сборки

Просто найдите удаления перед активацией:

With activations as
( select * from t where EVENT_TYPE="USER_ACTIVATED"
),
deletions as
( select * from t where EVENT_TYPE="USER_DELETED"
),
select *
from deletions d
left outer join activations a
on d.USER_ID = a.USER_ID and
   d.EVENT_DATE < a.EVENT_DATE   --here
6
задан ggambett 2 January 2009 в 15:22
поделиться

6 ответов

Мы используем вывод svnversion, записанный в заголовочный файл и включенный. Мы опускаем файл из репозитория и создаем его на шаге перед сборкой; это работало вполне хорошо на нас. (Я не уверен, почему Вы возражаете против использования шага перед сборкой?)

Мы в настоящее время используем сценарий Perl для преобразования svnversionвывод в заголовочный файл; я позже узнал, что TortoiseSVN включает a subwcrev команда (который был также портирован к Linux), который может сделать большую часть того же самого.

9
ответ дан 8 December 2019 в 13:50
поделиться

Если Вам не нравится идея включать файла не в управлении исходным кодом, которое требуется для сборки, рассмотрите пакетный файл или другой шаг сборки, который программно создает регистрирование/включение, и назовите svnversion в рамках своего процесса сборки.

в основном ГЕНЕРИРУЙТЕ файл, таким образом, у Вас нет неимеющего версию и требуемого файла.

subwcrev Josh's РЕДАКТИРОВАНИЯ является, вероятно, лучшей идеей.

Прежде чем это было реализовано, я записал свой собственный hacky инструмент, чтобы сделать, то же самое - делает замену в шаблонном файле.

4
ответ дан 8 December 2019 в 13:50
поделиться

Это могло быть столь же просто как:

% make -DBUILD_NUMBER=`svnlook youngest /path/to/repo`
3
ответ дан 8 December 2019 в 13:50
поделиться

Я посмотрел бы на SvnRev. Можно использовать его в качестве пользовательского шага перед сборкой в VS или назвать его от make-файла, или независимо от того, что необходимо сделать, и это генерирует заголовочный файл, который можно включать в другие файлы, которые дадут Вам, в чем Вы нуждаетесь. Существует хорошая документация относительно сайта.

SubWCRev является другой опцией, хотя порт Linux является более новым, и я не знаю, что версия Mac существует. Это очень полезно в Windows для.NET (который я предполагаю, не проблема для Вас, но я добавляю это для дальнейшего использования), потому что это позволяет Вам создавать шаблонный файл, который может использоваться для генерации, например, файла Свойств для блока.NET.

2
ответ дан 8 December 2019 в 13:50
поделиться

Автоматические сборки могут обычно быть полными, чистыми сборками. В этом случае Вы запускаете в чистом каталоге и не было бы никакой проблемы с __DATE__ в любом случае. Иначе посмотрите идею Paul Beckinham.

0
ответ дан 8 December 2019 в 13:50
поделиться

Для почему бы не связи GUID с ним почти каждый язык имеет поддержку генерации той, или если Ваш, не делает существует много алгоритмов для этого вокруг.

(Хотя, если Вы действительно используете подверсию, мне лично нравится идея Josh's лучше!)

-1
ответ дан 8 December 2019 в 13:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: