Непрерывный контроль версий - PullRequest
9 голосов
/ 27 марта 2009

Я не видел систему непрерывного контроля версий - такую, которая сохраняла бы изменения в вашем коде по мере их разработки, а не ожидала официальной регистрации. Изменения, конечно, будут сохранены как «не проверенные», но они будут сохранены для резервного копирования и просмотра другими пользователями до того, как вы действительно выполните официальную регистрацию.

Я не видел этого и удивляюсь, существует ли это или что-то подобное, и причины, по которым это может или не может быть хорошей идеей.

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

-Adam

Ответы [ 16 ]

2 голосов
/ 27 марта 2009

Некоторые люди настраивают ветку разработки для этой цели и заставляют разработчиков фиксировать свои изменения во время работы, прежде чем объединить их с веткой уровня обеспечения качества. Вы могли бы даже сделать так, чтобы разработчик выполнял работу над основными изменениями в своей собственной ветке перед тем, как фиксировать и объединять эти изменения с основной веткой разработки. Таким образом, ветвление может решить эту проблему.

2 голосов
/ 27 марта 2009

Вы можете зафиксировать каждую строку или символ с помощью DVCS, например, git, если хотите. Вообще, я думаю, что это хорошая идея - использовать как можно чаще при использовании DVCS, чтобы упростить поиск проблем с помощью таких инструментов, как git bisect. Если бы вы хотели, чтобы эффект, который вы описали, вы могли бы написать свой редактор для фиксации при каждом сохранении ... На практике, хотя я думаю, что это будет немного.

1 голос
/ 27 марта 2009

Rational ClearCase имеет концепцию динамического просмотра . В Windows ваш вид разработки отображается как подключенный диск, но изменения кода сохраняются на стороне сервера, как только вы нажмете «Сохранить». Это то, что вы ищете?

Есть, как и следовало ожидать, компромиссы с такой работой, поэтому, как и ответ Si выше , это не рекомендация ...

1 голос
/ 27 марта 2009

Как и Дэн упомянул , в IBM Visual Age IDE сохранялись все сохраненные вами версии файла исходного кода. Однако этот подход не ограничивается IDE; операционная система DEC VMS использовала аналогичный подход с версионной файловой системой . В VMS полное имя каждого файла включало номер версии, и каждый раз, когда вы сохраняли файл, создавалась новая копия с номером версии на один больше, чем предыдущее наибольшее число.

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

1 голос
/ 27 марта 2009

Имея более чем многолетний опыт программирования на Java, я до сих пор помню (с ностальгией) новый подход, который Visual Age привнес в процесс разработки. В Visual Age был нефайловый подход к исходному коду. Код был сохранен в реляционной базе данных. Обычно вы работаете с представлением, показывающим один метод. У вас также был полный просмотр файла, но вы бы его не использовали.

Что касается контроля версий, он будет генерировать версию при каждом сохранении. Вы можете явно проверить контрольную точку для метода, класса / интерфейса, пакета или всего проекта с номером / именем версии. Это также позволило более детально контролировать ваш источник на уровне метода. Как только я начал работать с Eclipse, хотя он унаследовал многие функции от Visual Age, а сегодня у него есть функция History, которая локально сохраняет все «сохранения» вашего кода, я не мог не чувствовать, что сделал шаг назад.

0 голосов
/ 05 января 2010

Как насчет VESTA?

http://www.vestasys.org/

...