В настоящее время программисты считают управление исходным кодом интегрированием пакетов кода, но почему бы не сделать эти пакеты меньше и непрерывно интегрироваться?
Я бы сказал, что DVCS уже в основном делают это сейчас, не потому, что они децентрализованы, а потому, что коммиты выполняются намного быстрее. С git я делаю коммит гораздо чаще, чем с SVN. Это также упрощает фиксацию "чанков". "или специфический код (с использованием git add -i
или git gui
), и, как правило, гораздо больше внимания уделяется отслеживанию строк кода, а не целым файлам (как" традиционные "VCS, такие как Subversion)
Кроме того, то, как работает git по своей сути, означает, как вы сказали, «изменения будут сохранены как« не проверенные », конечно». Когда вы фиксируете изменения, они локальные, а затем отправляете их на удаленный компьютер с помощью отдельной команды. Вы можете фиксировать каждый раз, когда сохраняете, а затем преобразовывать их в один коммит, если хотите.
Что касается инструмента, который выполняет «непрерывный контроль версий», вы можете сделать это довольно просто с помощью сценария оболочки, что-то вроде ..
while [ 1 ]; do
git add -a && git commit -m "Autocommit at $(date)";
sleep 10;
done
Существует скрипт, CACM ( github ), который делает что-то похожее
[CACM] наблюдает за конкретным каталогом и фиксирует все изменения в отдельном репозитории Git.
Для использования просто сделайте:
cacm --repo dir_of_git_repo --watch dir_to_watch
Я не уверен, почему вы захотите это сделать. Я считаю, что одна из самых полезных вещей в использовании VCS - это разница в том, что я изменил (со времени последнего коммита). Кажется, что постоянные / автоматические коммиты были бы просто шумом.
Кроме того, текстовый редактор "e" имеет интересную особенность, он визуализирует историю отмен с ветвлением. На нем есть сообщение в блоге со скриншотами.