Есть ли как я мог вернуться к коду, который последний раз успешно создавался / тестировался? - PullRequest
2 голосов
/ 18 сентября 2010

Разработка в NetBeans с Maven Я часто возвращаюсь назад к локальной истории и коду SVN, поскольку вещи больше не работают (TDD?). Кроме фиксации в ветке «тестирование новой идеи X» после каждой успешной сборки / теста, есть ли способ настроить Maven для выполнения этого при каждой сборке автоматически?

Кто-нибудь еще сталкивался с той же проблемой и подходил к ней по-другому?

РЕДАКТИРОВАТЬ: так что вопрос: как я могу иметь автоматическую фиксацию каждый раз, когда сборка Maven успешна, так что я могу вернуться к нему? Желательно с ртутью.

Ответы [ 5 ]

1 голос
/ 18 сентября 2010

(...) есть ли способ настроить Maven для возврата к коду, который последний раз был успешно собран / протестирован?

Maven не отслеживает изменения, это не такдля чего он предназначен.ИМО - это использование вашей VCS и внесение небольших рабочих изменений в ветку разработки.

0 голосов
/ 29 мая 2012

Лучше, чем сделать коммит при успехе, это продвинуть тег вперед. В Mercurial вы просто сделаете:

hg tag --local --force last_successful_build

Просто сделайте это последней строкой вашего скрипта сборки, и все готово. --local делает его тегом, который никогда не попадает в историю и / или толкается, а --force перемещает его вперед, если он уже существует. То же самое будет работать в git с немного другими командными строками.

0 голосов
/ 01 ноября 2010

Звучит так, будто вы делаете это наилучшим образом; использование SVN и вашей IDE для отката изменений в случае сбоя ваших сборок. Я полностью поддерживаю то, что рекомендовал Паскаль, когда он сказал, что вы должны делать локальные сборки перед фиксацией, а затем использовать инструмент CI, чтобы убедиться, что ваша кодовая база VCS всегда проходит сборку / тестирование.

Единственное изменение, которое я бы предложил, - это использование файлов .patch, когда вам нужна точка отката, если вы хотите поэкспериментировать. Так что, если у меня уже есть локальные моды, и я не уверен, что делать дальше, чтобы быть готовым к выполнению (у меня все еще есть тесты для взлома); Я создам файл .patch как снимок того, где я нахожусь. Затем я могу экспериментировать по мере необходимости, и когда все идет не так, я просто возвращаю все назад, а затем повторно применяю свой патч. Это альтернатива настройке git в качестве локального репозитория VCS.

Это может помочь вам, но ничто не заменит небольшую, дополнительную работу. Старайтесь как можно чаще избегать попадания в такие ситуации.

0 голосов
/ 06 октября 2010

Git имеет локальную историю, которую вы можете использовать для резервного копирования / восстановления на определенный момент времени, так что вы можете локально отменить отмену, не загромождая контроль исходного кода экспериментами.Примерно так же есть где-то на дорожной карте для SVN.

0 голосов
/ 18 сентября 2010

Похоже, вы делаете это правильно с SVN.В конце концов, для этого и нужен контроль исходного кода.

Возможно, вы захотите взглянуть на git в качестве альтернативы (или bridge ) подрывной деятельности, поскольку это может ускоритьи вы сможете сохранить свою историю SVN в хорошем и чистом виде.

Если вы можете управлять Vim, вы можете посмотреть на undo tree . Вот некоторая помощь по интеграции Vim-NetBeans .

...