уважаемые посетители блога, если Вам понравилась, то, пожалуйста, помогите автору с лечением. Подробности тут.

Так как я перешел с Delphi 7 сразу на Delphi 2009, то не могу точно сказать в какой из версий появился такой замечательный инструмент для разработчика как History, видимо где-то в 2007 или ещё раньше. Помню, как ещё на пятом курсе университета, когда писал программку на дипломный проект, приходилось чуть ли не каждый час сохранять копию проекта в отдельную папку — не дай бог что не так пойдет и «Шеф! Всё пропало!» (с). Тем более, что тогда я только-только начинал узнавать о том, что кроме VCL в Delphi есть ещё много чего хорошего :). А сейчас всё стало намного проще и удобнее — есть History и в любой момент я могу вспомнить, что писал, как и даже зачем.

Как работает History

Работает инструмент History следующим образом. После того как Вы создаете проект, периодически происходит сохранение всех измененных файлов проекта в отдельную скрытую папку «_history», которая располагается в той же директории, что и проект. Каждый «снимок» файла имеет расширение типа ~1~, ~2~ и т.д., что соответствует номеру ревизии исходного кода.
Те, кто знаком с основами работы SVN заметит общие черты History и Subversion. Видимо поэтому разработчики, использующие SVN в своей работе называют history «бесполезным прибамбасом» и т.д. Но может он и бесполезен при работе с SVN, а в отсутствие возможности использовать subversion, по-моему этот инструмент будет в самый раз.
Итак, допустим Вы разрабатываете свой проект уже на протяжении несколько недель и вдруг Вам необходимо вспомнить некий фрагмент кода, который был удален «за ненадобностью» неделю назад. Нет ничего проще.
Переходим на вкладку History:

Перед Вами окно в котором Вы можете просмотреть содержимое файлов в каждой ревизии кода. Для удобства поиска можно воспользоваться датами сохранения файлов, именем автора модуля и т.д. Здесь же Вы можете выделить все содержимое или часть кода и скопировать, например, в отдельный модуль.
Если для Вас недостаточно просто найти «потерянный» код, но и требуется сравнить то что было ранее с тем, что стало, то здесь нам пригодится вкладка Diff окна History:

Опять же смысл работы этой части History напоминает SVN. Выбираем в списке слева файл исходный код которого надо сравнить с исходным кодом файла из правой части. Например, на рисунке я сравниваю текущую версию файла unit1.pas с тем, что было в 7-й ревизии.
Инструмент указывает мне те части кода, которые были удалены, добавлены или перемещены.

Если History не нужен

Не исключена и такая возможность, что History Вам ну никак не нужен. Например, у Вас вполне хорошо и замечательно налажена работа с SVN. Зачем хранить лишние данные? Или, что в нынешних условиях сомнительно, Вам катастрофически не хватает места на жестком диске, а каждая ревизия исходников «сжирает» по несколько мегабайт ценного пространства.
В этом случае не остается ничего иного, кроме как отключить поддержку History в Ваших проектах.
Для этого необходимо перейти в настройки IDE:

Tools — Options — Editor Options

и снять галочку с пункта «Create Backup Files»:

И с этого момента история изменений в вашем проекте более сохраняться не будет.
Вполне возможно, что многие из нас даже и не пробовали пользоваться инструментом History в силу различных причин. Но мне, допустим, жаль, что я не мог им воспользоваться лет эдак 5-6 назад. Смог бы сэкономить кучу времени и сил…

Книжная полка

Описание Подробно рассматривается библиотека FM, позволяющая создавать полнофункциональное программное обеспечение для операционных систем Windows и OS X, а также для смартфонов и планшетных компьютеров, работающих под управлением Android и iOS
купить книгу delphi на ЛитРес
Описание: Рассмотрены практические вопросы по разработке клиент-серверных приложений в среде Delphi 7 и Delphi 2005 с использованием СУБД MS SQL Server 2000, InterBase и Firebird. Приведена информация о теории построения реляционных баз данных и языке SQL. Освещены вопросы эксплуатации и администрирования СУБД.
купить книгу delphi на ЛитРес
Описание: Рассмотрены малоосвещенные вопросы программирования в Delphi. Описаны методы интеграции VCL и API. Показаны внутренние механизмы VCL и приведены примеры вмешательства в эти механизмы. Рассмотрено использование сокетов в Delphi: различные режимы их работы, особенности для протоколов TCP и UDP и др.
купить книгу delphi на ЛитРес
Описание: Книга рассчитана на подготовленного пользователя ПК, желающего самостоятельно научиться программировать и разрабатывать приложения и базы данных в среде Delphi. Опытные программисты смогут использовать издание как справочник. В тексте подробно описаны более 80 компонентов VCL, функции Object Pascal и Win32 API.
купить книгу delphi на ЛитРес
Автор: Юрий Магда
Описание: Описаны общие подходы к программированию приложений MS Office. Даны программные методы реализации функций MS Excel, MS Word, MS Access и MS Outlook в среде Delphi.
купить книгу delphi на ЛитРес
0 0 голоса
Рейтинг статьи
уважаемые посетители блога, если Вам понравилась, то, пожалуйста, помогите автору с лечением. Подробности тут.
Подписаться
Уведомить о
4 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии
deksden
deksden
05/05/2010 12:45

По мне, интереснее пользоваться сервисом dropbox, в котором хранятся все исходные тексты — во первых, немедленный backup файлов в облако, во вторых — исходные тексты доступны и на рабочем компе, и на домашнем компе, и на ноутбуке, и на нетбуке! К тому же сервис ведет историю файлов. Вывод: для casual использования и как инструмент хранения не столько версий, сколько резервных копий сервис удобен.

Если же требуется отслеживать именно изменения файлов, то механизм history предлагает некоторые дополнительные удобства! ну а полноценный контроль версий невозможен без приличных механизмов вроде svn или git.

Александр
05/05/2010 15:07

Dropbox, конечно, рулит, только там жёсткие ограничения на бесплатном аккаунте в плане истории. History в этом плане надёжней.

Да и к чему гонять все свои изменения через сеть, если тебе они нужны (и то не факт) только на локальной машине?

Valeriy
Valeriy
18/02/2011 23:08

Спасибо огромное! Уже года 2 удаляю эти _history вручную.Никак не мог найти где это отключить.С включенной функцией с большим проэктом работать не возможно,IDE жутко тормозит.