Перейти к содержанию
    

как воткнуть дату билда в бинарник ?

я в гите номер сгенерил из 4 полей

дата комита, количество комитов всего младше текущего, количество комитов в ветке младше текущего, и хэш.

по хэшу всегда могу найти комит, а номера идут довольно последовательно можно прикинуть старшинство версий

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

При очередной сборке забудете этот дефайн с ревизией поменять.

Мы написали скрипт, запускаемый в Prebuild, который получает с SVN-а ревизию и пишет её в хидер (в виде дефайна) подключаемый к проекту (с пересборкой всего проекта при его обновлении).

 

Сколь разговоров развели по такому случаю, если не секрет, для чего вы используете все эти ревизии?? Лично мне они нужны для того, чтоб клиенты не подсовывали всякую муру, несовместимые или очень устаревшие версии в качестве "обновления прошивок", либы пишу стандартные и универсальные, т.ч. при обнаружении глюка в либе ребилдю все проекты, которые ее используют, т.е. почти все :biggrin: . После этого рассылаю обновления тем, кому этот глюк так сильно донимает. За 2 года было таких случая 4 макс.

Изменено пользователем mantech

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

После этого рассылаю обновления тем, кому этот глюк так сильно донимает. За 2 года было таких случая 4 макс.

Вы видно сами это всё делаете - и компилите и сопровождаете и всё контролируете ;)

А когда производством и настройкой занимается одно подразделение, сопровождением и обновлением у заказчика - другие (и третьи) и при этом у нас, в разработке,

ещё и версии периодически новые выходят, и в разработке ПО у нас не один человек участвует, а группа. А есть ещё объекты с опытной эксплуатацией, куда

спец. версии компилятся, да когда ещё у устройства есть несколько исполнений с общим ПО (или линейка подобных друг другу устройств с небольшими отличиями в ПО)....

 

Вот тогда, иногда, в этом бардаке вдруг на объекте ответственного Заказчика возникает версия, которой там в принципе быть не должно (которая была скомпилена

кем-то (даже не разработчиком, который в это время был в отпуске), по личной просьбе в качестве исключения для кого-то, чтобы что-то испытать или проверить).

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

отправили эту версию, в которой даже протокол обмена может быть совсем другой, этому заказчику и порушили ему всю систему.

А так - все ходы записаны в образе самой прошивки ;)

И 4 случая таких сбоев за 2 года - это ОЧЕНЬ много для нас. Неприемлемо много.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

у меня тоже все просто, версия железа должна быть поддержана компьютером, появляется новый функционал.

Потому при старте компьютер запрашивает номер с чем он собственно работает, в номер у нас входит даже ревизия платы.

 

К каждой версии заполняется табличка с изменениями, и выкладывается поправленное РЭ. Номер версии очень нужен, и не просто номер версии, но еще и привязанный к системе контроля, по 2 причинам. 1 Всегда можно откатить до заданной ревизии и поглядеть как проявляется ошибка, и убедиться что она исправлена в новых версиях. 2 Нет возможности сделать новую прошивку со старым номером версии, в релизе такое - просто саботаж! Ну и 2.1 так скажем, - удобство. У меня в ПЛИС версию руками править приходиться, потому что ISE не умеет скрипты запускать до синтеза, ну во всяком случае я не смог научить, и признаться донимает после синтеза заметить что забыл обновить это поле...

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. rar

2. date

дата хороша тем, что можно смутно вспомнить, перед/после которой пьянкой собиралось, а номер неассоциативен

Изменено пользователем Огурцов

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

дата хороша тем, что можно смутно вспомнить, перед/после которой пьянкой собиралось, а номер неассоциативен

Чушь. Все значимые изменения зафиксированы в системе контроля версий (если разработчег не безумец, конечно). А там под номером ревизии записывается и дата, и время, и пояснения, включая подробности пьянки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы видно сами это всё делаете - и компилите и сопровождаете и всё контролируете

 

И 4 случая таких сбоев за 2 года - это ОЧЕНЬ много для нас. Неприемлемо много.

 

Да, конечно. От разработки и до клиента все делаю самостоятельно.

 

В 20 непростых проектах за 2 года 4 ошибки - много?? Ну тогда преклоняюсь перед вами, как разработчиком :laughing:

 

по 2 причинам. 1 Всегда можно откатить до заданной ревизии и поглядеть как проявляется ошибка, и убедиться что она исправлена в новых версиях.

 

А я просто держу архивы последних версий, места они занимают немного да и в качестве резерва тоже хорошо :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А я просто держу архивы последних версий, места они занимают немного да и в качестве резерва тоже хорошо

Попробуйте меркуриал hg с клиентом черепахой, просто чтобы стать лучше

 

Несколько лет назад я тоже держал архивы по датам, я вам честно скажу - прошлый век.

Перед попыткой вноса изменений, сохранить архив, внести изменения, чтобы откатить рыться в файлах и руками их менять, а если версии проекта под разные платформы?

Система контроля версий - однозначное добро! Просто попробуйте.

 

дата хороша тем, что можно смутно вспомнить, перед/после которой пьянкой собиралось, а номер неассоциативен

А мы в один день 3 релиза выпустили....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Несколько лет назад я тоже держал архивы по датам, я вам честно скажу - прошлый век.

Перед попыткой вноса изменений, сохранить архив, внести изменения, чтобы откатить рыться в файлах и руками их менять, а если версии проекта под разные платформы?

Система контроля версий - однозначное добро! Просто попробуйте.

Люто плюсую.

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

Только я советую SVN (под виндой TortoiseSVN, конечно). Он концептуально проще, и там всё есть. Ну и есть интересные (для меня, по крайней мере) особенности, например, можно в едином хранилище хранить множество проектов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

не верю (с)

был у меня случай с яндекс-диском каким-то облаком

всё супер, всё синхронизируется, всё точно, как в аптеке

и вот приспичило мне как-то откатить операционку на предыдущую точку восстановления

ну и эта...внезапно вдруг пришел пушной зверёк одному полностью собранному и отлаженному проекту

эта дура почему-то решила, что файлы проекта на моём диске старее, чем в облаке и переписала практически по состоянию на начало

неделя работы псу под хвост

не так, чтобы это было что-то важное, типо какая-то утилитка, но было сделано всё настолько красиво, что сил начать с нуля у меня уже не было - так и забил

 

 

А мы в один день 3 релиза выпустили....

для супершустрых там ещё время есть - можно каждую секунду релизы выпускать

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Яндекс.диск не система контроля версий. Цимес СКВ в том что всё что было написано и закомичено остается доступным для перехода на эту точку в любой момент. Не говоря уже о мерджах, воркфлоу и прочих вещах аппетит на которые приходит во время еды.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

неделя работы псу под хвост
Так через веб-интерфейс диска можно было достать "потерянные" файлы...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

был у меня случай с яндекс-диском каким-то облаком

 

Не доверю свои разработки всяким облакам, тучам и дождю никогда! Только резервирование и на внешнем носителе, уже все проходили, копья ломали... вообщем самое лучшее решение, что я нашел.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

не верю (с)

был у меня случай с яндекс-диском каким-то облаком

Вы что-то путаете. Система контроля версий и облако - это две большие разницы. Можно хранить на своём компьютере, можно на сервере в локальной сети, можно в облаке, а можно везде одновременно (резервное копирование).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну да, GIT к примеру распределенную систему делает, у меня копия всех проектов на диске, и на сервере копия, главное в системе что версии синхронизированы, и изменения описаны.

 

Если работаешь один это просто удобно, но если над проектом работает команда, и все могут менять его части, то контроль версий просто необходим.

 

Да и глупо это обсуждать, была бы ненужная вещь не сидела бы столько людей на ней, и не было бы столько вариантов

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...