Обмен исходным кодом между машинами - PullRequest
3 голосов
/ 05 мая 2009

Каков наилучший способ обмена исходными кодами на локальных машинах?

Я работаю над кроссплатформенным проектом с svn-репозиторием. Я выполняю проверку на одной платформе (возможно, osx) и вносю изменения. Затем я должен протестировать мой измененный код на других платформах (xp, vista, ...) ПЕРЕД проверкой. Ручное копирование файлов между компьютерами или запуск всего с сетевого диска - это боль ... какие у меня есть варианты? 1003 *

Ответы [ 9 ]

11 голосов
/ 05 мая 2009

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

3 голосов
/ 05 мая 2009

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

1 голос
/ 05 мая 2009

Вы всегда можете попробовать Git или какой-либо другой DVCS, который позволяет вам обмениваться информацией, не включая центральный сервер каждый раз.

Git позволяет вам выдвигать / извлекать (также коммитить / обновлять) на / с SVN-сервера, но дает вам больше возможностей на стороне.

1 голос
/ 05 мая 2009

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

Это также позволит вам проверять вещи, пока вы работаете с другими предметами.

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

1 голос
/ 05 мая 2009

почему бы вам не использовать svn still .. Прежде чем перейти на другую платформу, зарегистрируйтесь и отметьте текущую версию. Оформить заказ и проверить его на другой платформе. Если не получится, просто верните его.

0 голосов
/ 05 мая 2009

Основная проблема - тестирование ПЕРЕД регистрацией. Это как раз та проблема. Нет ничего плохого в проверке кода и последующем тестировании. Цель использования управления исходным кодом - разрешить откат, если что-то не работает.

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

Другой вариант - использовать виртуальные машины.

0 голосов
/ 05 мая 2009

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

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

0 голосов
/ 05 мая 2009

Я думаю, что вы делаете основную ошибку здесь. Правило с SVN (и другими адекватными системами VC) - «регистрируйся рано и часто, как голосование». Как говорит @Koray, проверьте код, верните его с других машин и перестройте. В противном случае вы рискуете своими потенциальными изменениями на других машинах, не возвращаясь к ним, или вам необходимо объединить различные наборы изменений.

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

0 голосов
/ 05 мая 2009

Исследуйте независимые от платформы монтирования сетевых дисков - что-то вроде sshfs. Проверьте источник на одном компьютере, а затем подключите его по сети на другом компьютере.

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

...