Добавление управления версиями к существующему проекту

Как будто вы пытаетесь получить доступ к объекту, который является null. Рассмотрим ниже пример:

TypeA objA;

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

См. Также этот пример:

String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
17
задан Michael Currie 10 September 2015 в 21:32
поделиться

19 ответов

Расшириться немного на предыдущем ответе...

1) Создают новый репозиторий SVN
2) Фиксация весь код, Вы продолжили работать до сих пор к нему
, 3) Проверяют весь этот код снова, для создания рабочей копии на dev машине
4) Работа!

Это - определенно не препятствие, действительно.

16
ответ дан 30 November 2019 в 11:45
поделиться

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

hg init /path/to/repository

Добавляют файлы...

hg add /folder/pattern  

OR

hg add FILE

Затем Вы просто фиксируете...

hg commit

И Вы в порядке.

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

hg pull //desktop_name/path/to/repo/  
hg update

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

-1
ответ дан 30 November 2019 в 11:45
поделиться

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

С базаром это - действительно только несколько простых команд: 1) bzr init 2), bzr добавляют [файлы, Вы интересуетесь] 3) bzr фиксация

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

Относительно использования его как инструмент развертывания я совершенно уверен, что считал что-то об этом недавно. Документация действительно хороша так или иначе.

0
ответ дан 30 November 2019 в 11:45
поделиться

в дополнение ко всем другим комментариям о практичности получения проекта при управлении исходным кодом я поощрил бы Вас смотреть на Переданные потоком Строки: Переходящие Шаблоны для Параллельной Разработки программного обеспечения как руководство по строке кода и переходящим политикам - могли бы сохранить Вас, некоторые переделывают позже.

Также у Eric Sink был большой набор сообщений introdcing различные понятия управления исходным кодом - ПРАКТИЧЕСКОЕ РУКОВОДСТВО Управления исходным кодом

0
ответ дан 30 November 2019 в 11:45
поделиться

Для добавления к предыдущим ответам я повторно управлял бы также очевидным (но они должны быть сделаны явными), советы:

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

Теперь, остерегайтесь:

там инструмент, который автоматизирует загрузку на тест, затем развертывание на живых серверах?

, Что часть Вашего вопроса относится к' управление версиями ' процесс, и это очень отличающееся то 'управление версиями'.
я не уверен инструмент версии, который Вы выберете, может помочь активно. Особенно, когда Вы полагаете, что не должно быть никакого инструмента управления версиями на рабочем сервере (для хранения зависимости рабочего сервера с любым инструментом к минимуму: только отслеживание и сообщение инструмента должно быть позволено, кроме того, конечно, Вашей программы - здесь веб-сервера, например-)

0
ответ дан 30 November 2019 в 11:45
поделиться

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

0
ответ дан 30 November 2019 в 11:45
поделиться

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

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

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

0
ответ дан 30 November 2019 в 11:45
поделиться

Легким ответом является Подверсия наряду с Черепахой SVN.

я использовал Подверсию с Visual Studio, и я реализовал ее с существующим проектом. Существует свободный плагин Visual Studio по имени Ankh, которого я использовал с некоторым успехом. Однако у меня были некоторые проблемы, где Ankh отказывается оставаться в синхронизации с реальным состоянием файлов, как отражено в .svn метаданных (это сделало вещи, любят, настаивают, чтобы файл должен был быть обновлен, когда черепаха покажет мне, это было актуально). В этих экземплярах перезапуск Visual Studio устранил проблемы, но это болезненно и утомительно для меня.

В настоящее время, я прекратил использовать Ankh, и просто работайте мой проект нормальным в VS и затем используйте Черепаху и Windows Explorer для проверки их в. Это работает безупречно. Никакой VS не обновляет или перезапускает необходимый.

0
ответ дан 30 November 2019 в 11:45
поделиться

+1 на ответах, предоставленных Joe и Steve.. Я также упомянул бы, что важно настроить Ваши черные списки или Опоры SVN так, чтобы Вы не регистрировались в пользовательских файлах, resharper установка.

Также удостоверяются, что Вы включаете все, что может быть необходимо для сборки, такой как сценарии сборки, сторонние блоки, внешние инструменты, такие как nunit, nant и т.д.

, В то время как Вы в нем, я настоятельно рекомендовал бы, чтобы Вы посмотрели CC.net , и получение непрерывного сервера интеграции, установленного для автоматизации сборки.

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

0
ответ дан 30 November 2019 в 11:45
поделиться

1) Создаете новый репозиторий - можно создать его на тестовом сервере и более поздней передаче он к выделенному серверу / NAS, если он делает вещи простыми для Вас. 2) Импортируете весь свой существующий исходный код в репозиторий. 3) Можно создать использование 'svn' инструмента командной строки (и его связанных инструментов, как svnadmin) пакетный файл, который автоматизирует загрузку и процесс развертывания (последний, объединенный с компилятором, конечно).

можно найти больше информации здесь: книга SVN - только запускается, читает его - Вы не должны читать все это, чтобы запустить и получить выполнение svn. MSBuild - платформа автоматизации сборки Microsoft, хотя это может быть излишество, расцепляющее на размере Вашего проекта.

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

0
ответ дан 30 November 2019 в 11:45
поделиться

Легко начать использовать Подверсию. Загрузите TortoiseSVN, который интегрирует SVN в Windows Explorer. Загрузите AnkhSVN для интеграции VS. Настроенный svnserve как служба Windows (это находится в документах).

Затем все, что Вы делаете, проверить пустой каталог от svn и скопировать все Ваши файлы кода в него. Затем добавьте их с Черепахой и фиксацией. При изменении файлов в Visual Studio Анк покажет Вам, какие файлы Вы изменили, и можно фиксировать их там.

Мы делаем все наше развертывание со сценариями NAnt, хотя можно найти сценарии пакетной обработки и xcopy достаточными.

0
ответ дан 30 November 2019 в 11:45
поделиться

Я задающийся вопросом, почему Вы выбрали Subversion? Если Ваш проект не использует vc, можете быть Вы, должен рассмотреть для использования Подвижный или Мерзавец также.

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

, Если SVN не является требованием мэра, я рекомендую считать любого из обоих dvc системами.

1
ответ дан 30 November 2019 в 11:45
поделиться

Никакой сервер SVN не требуется.
Черепаха Использования, Подвижная http://sourceforge.net/project/showfiles.php?group_id=199155

Установка локальный repo
1), Загрузка и Установка
2) Открываются, окно проводника к базовому каталогу Вас проект
3) Щелкают правой кнопкой->, TortoiseHG-> Создают Репозиторий Здесь-> хорошо
, 4) Щелкают правой кнопкой-> Фиксация HG...
5) Тип Ваш комментарий фиксации, выберите, какие файлы отследить, и нажать Commit

Setup удаленный repo по доле файла (другие транспортные доступные методы)
1) Открытое окно проводника к удаленной папке
2a), Щелкают правой кнопкой-> TortoiseHG-> Клон Репозиторий
2b), С другой стороны, просто копируют Ваш локальный repo более чем [1 112]

Обновляющий удаленный repo после фиксации локального
1), Открытое окно проводника к удаленной папке
2) Щелкает правой кнопкой->, TortoiseHG-> Синхронизируются
3) Избранное "Обновление новой подсказки" в меню
4 Pull), Вводят путь к Вашему локальному repo в "Удаленный Путь": поле ввода 5), Нажимают Pull

2
ответ дан 30 November 2019 в 11:45
поделиться

Установка Сервера подверсии... Клиентские Библиотеки Subverison устанавливают...

Анк Установки для интеграции с Черепахой Установки VS для интеграции Файлового менеджера

В Файловом менеджере, щелкните правой кнопкой по высокоуровневому направлению с Решением... Импорт...

1
ответ дан 30 November 2019 в 11:45
поделиться

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

мне, лично, не нравится мое управление исходным кодом, интегрированное в IDE. Я использую черепаха SVN , которая интегрируется с Windows Explorer и позволяет Вам зарегистрироваться, разность, слияние, и т.д. файлы прямо от ОС.

2
ответ дан 30 November 2019 в 11:45
поделиться

Импортируйте свою существующую базу в репозиторий SVN, перепроверьте ее и начните работать снова.

3
ответ дан 30 November 2019 в 11:45
поделиться

Необходимо посмотреть Визуальный SVN, который интегрируется беспрепятственно в Visual Studio.

3
ответ дан 30 November 2019 в 11:45
поделиться

Я не видел, что кто-либо обратился к этой части Вашего вопроса/сообщения:

там инструмент, который автоматизирует загрузку на тест, затем развертывание на живых серверах?

Один глюк - то, что Подверсия создает скрытые .svn папки в Вашей рабочей копии. Одно из решений состоит в том, чтобы использовать команду экспорта svn. Это сделает копию Вашего репозитория на другом каталоге без .svn папок.

Насколько я знаю, нет никакого автоматизированного инструмента для этого. Можно создать пакетный файл, который даст команду экспорта svn как это:

svn export C:\MyReporitosy\Path C:\DestinationPath

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

7
ответ дан 30 November 2019 в 11:45
поделиться

Это может быть излишество для того, чего Вы требуете только создание репозитория SVN на одной машине, и затем на другой установке contious сервера интеграции. TeamCity является тем, который я рекомендовал бы. (можно также смочь использовать виртуальный ПК для этого, если аппаратные средства будут в большом почете)

, то Это позволит Вам добавлять сделанные на заказ шаги для развертывания на рабочие серверы, после того как сборка завершена и протестирована.

TeamCity для получения дополнительной информации. Thi также обеспечивает плагин в Visual Studio также

0
ответ дан 30 November 2019 в 11:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: