Как сделать автоконтроль версий?

Тема в разделе "WASM.HEAP", создана пользователем intel_x128, 19 июл 2011.

  1. intel_x128

    intel_x128 New Member

    Публикаций:
    0
    Регистрация:
    17 май 2009
    Сообщения:
    345
    хочется, чтобы где-то в коде константой фиксировалось количество сборок проекта (грубо говоря, номер версии).
    Чтобы при каждой сборке ехе - константа была равна некоему порядковому номеру (версии) сборки.
    Как это реализовать на студии?
     
  2. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.623
    Адрес:
    Russia
    intel_x128 у меня была идея в проекте дописываешь утилиту которая собираясь и запускаясь правит инклуд вида
    Код (Text):
    1. my_app_version=0
    добавляя к нему единичку а проект естественным образом получает номер следующего билда

    по ботве реализации курите руководства по make файлам - я к своему стыду тоже все еще на батниках сижу
     
  3. 7mm

    7mm New Member

    Публикаций:
    0
    Регистрация:
    15 дек 2009
    Сообщения:
    442
    git describe

    :-D
     
  4. Cr4sh

    Cr4sh New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2006
    Сообщения:
    668
    Если собираете из Visual Studio - то поставить в post build events (в настройках проекта) примитивный .bat или .vbs сценарий, который будет читать содержимое заголовочного файла build_number.h вида:
    Код (Text):
    1. #define BUILD_NUMBER 100500
    Далее - парсить его, и делать инкремент значения константы.
    Этот же сценарий можно научить писать в заголовочный файл номер ревизии репозитория, и другую полезную информацию.
     
  5. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    cl -c ..... -dBUILD_NUMBER=100500 -REVISION_NUMBER=1234567890 ....

    итд

    но разумнее, имхо, маркировать не номерами сборок, а датой и временем сборки. это дефайнутые макросы __DATE__ и __TIME__ . тогда нумерация будет сделана полностью автоматически без доп телодвижения, всякие вспомогательные скрипты тоже могут узнавать дату и время, имхо, так удобнее, тк при баг репорте из номера версии можно еще и узнать когда она была слеплена (например, на выходе после днюхи), что тоже может помочь
     
  6. djmans

    djmans New Member

    Публикаций:
    0
    Регистрация:
    27 дек 2006
    Сообщения:
    312
    Например http://autobuildversion.codeplex.com/