Объединить изменения кода без истинного контроля исходного кода - PullRequest
5 голосов
/ 14 октября 2008

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

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

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

Ответы [ 9 ]

6 голосов
/ 14 октября 2008

Другая возможность будет Beyond Compare от Scooter . Он имеет два и три способа слияния и отличную функциональность для файлов и каталогов. Если вы хотите узнать об этом немного больше, послушайте подкаст delphi от Джим МакКейт .

Но, как и большинству других, я бы порекомендовал либо использовать Git, либо изучать Harvest. Если система управления исходным кодом позволяет изменить приложение diff, Beyond Compare была бы отличной заменой.

6 голосов
/ 14 октября 2008

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

5 голосов
/ 14 октября 2008

Рассматривайте общий ресурс так, как если бы это была ваша система контроля версий. Сделайте общий доступ только для чтения, что заставит разработчиков получать локальные копии для внесения изменений. Тогда у вас есть несколько стабильная версия для сравнения. Это поможет облегчить возможность делать «слияния». «Проверка» кода должна состоять из некоторой стратегии резервного копирования для файла (возможно, создания копии файла с отметкой времени и имени пользователя как части нового имени файла) и замены оригинала новой версией. *

При этом выполнение этого вида деятельности без реальной надежной системы контроля источников будет трудным и подверженным ошибкам.

4 голосов
/ 14 октября 2008

Получите git и установите его локально на каждом компьютере разработчика. Затем установите репозитории для репликации.

3 голосов
/ 15 октября 2008

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

Слияние - вторая проблема. Вам просто нужен инструмент сравнения / слияния. Выбери один. Как ты прошел так долго без одного ?!

Араксис великолепен. Стоит несколько баксов. Ребята из SourceGear некоторое время свободно распространяли свой инструмент сравнения / слияния (тот, который поставляется с Vault). Это также серьезный соперник. Те два, которые я использовал, я знаю, все еще на рынке. Некоторые другие уже упоминали.

Объединение всего вручную - ненадежное решение. Объединение этого с , а не с использованием VCS - это путь к катастрофе.

2 голосов
/ 14 октября 2008

Возможно, этот вариант не подходит, но, возможно, вы могли бы использовать распределенную систему, такую ​​как базар , git или Mercurial .

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

2 голосов
/ 14 октября 2008

Существует стандартный инструмент командной строки Unix, называемый слиянием, который довольно разумно объединит два набора изменений в файл. Синтаксис:

merge mine older yours

Где "mine" - это файл с вашими изменениями, "old" - это исходный файл, а "yours" содержит чужие изменения.

Не уверен, если у вас есть окно UNIX (или Mac OS X), чтобы сделать это, хотя.

2 голосов
/ 14 октября 2008

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

1 голос
/ 14 октября 2008

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...