Текущий архив: 2011.04.17;
Скачать: CL | DM;
Вниз
Синхронизация файлов Найти похожие ветки
← →
@!!ex © (2011-01-05 17:43) [0]Ситуация:
есть два проекта. В их основе лежит несколько общих модулей.
Но специфика разработки требует, чтобы эти модули лежали не в одном каталоге, а были два отдельных файла. Для кажого проекта.
Необходимо, чтобы при редактировании одного файла второй тоже менялся.
Как сделать лучше?
P.S.
Задача двух отдельных файлов связана с тем, что сорсы проектов хранятся в разных репозиториях.
← →
DiamondShark © (2011-01-05 17:52) [1]Ну, даже не знаю.
Советовать использовать систему контроля версий, наверное, слишком банально получится.
← →
asail © (2011-01-05 17:56) [2]
> DiamondShark © (05.01.11 17:52) [1]
+1
В VSS, например, есть понятие "shared" файл/фолдер... Именно, то что тебе нужно. Подозреваю, что и во всех остальных тоже есть что-то подобное.
← →
@!!ex © (2011-01-05 18:10) [3]Мы используем SVN.
Не нашел возможности сделать файл общим.
Подскажите напримере той системы контроля версий, которую используете для случая:
Projec1/File.pas
Projec2/File.pas
← →
Styx (2011-01-05 18:20) [4]В SVN можно сделать switch. Переключаете два этих файла на файлы из другого проекта.
← →
Игорь Шевченко © (2011-01-05 18:23) [5]
> Но специфика разработки требует, чтобы эти модули лежали
> не в одном каталоге, а были два отдельных файла. Для кажого
> проекта.
> Необходимо, чтобы при редактировании одного файла второй
> тоже менялся.
команда copy не ?
← →
Pavia © (2011-01-05 18:28) [6]А как вы решаете проблему совместимости? Ну поправит вы что-то в этом модуле. 1 проект работает, а второй может не заработать? Я кроме как проверки не вижу. А тут без рук и головы не как. Так что по любому скопируете сами.
← →
Anatoly Podgoretsky © (2011-01-05 18:40) [7]> @!!ex (05.01.2011 17:43:00) [0]
Зеркало.
← →
Inovet © (2011-01-05 19:02) [8]Жесткие связи NTFS может помогут?
← →
DVM © (2011-01-05 19:11) [9]Svn externals если не ошибаюсь называется расширение для svn
← →
DVM © (2011-01-05 19:18) [10]http://habrahabr.ru/blogs/development/15823/
← →
asail © (2011-01-05 20:15) [11]Я ж говорю - в VSS это делается с полпинка: любой файл/проект мона расшарить в разные проекты. Т.е. они будут сидеть в каждом из них, но при изменении одного, все остальные так же обновятся автоматом. Я так понимаю, что в базе физически сидит только один.
Про SVN не скажу, ибо не использовал. Но, не сомневаюсь, что есть что-то подобное.
> Pavia © (05.01.11 18:28) [6]
> А как вы решаете проблему совместимости?
Головой исключительно. :)
В таких юнитах у нас сидят только обсолютно общие вещи... Типа всяких собственных оберток для работы с реестром, логами и т.д. и т.п.
Проектно-зависимый код ессно там не держим.
> Игорь Шевченко © (05.01.11 18:23) [5]
> команда copy не ?
> Anatoly Podgoretsky © (05.01.11 18:40) [7]
> Зеркало.
> Inovet © (05.01.11 19:02) [8]
> Жесткие связи NTFS
Супер-велосипеды? :)
← →
Юрий Зотов © (2011-01-05 20:43) [12]Странно. Тоже использую SVN, но общие для разных проектов файлы хранятся в одном экземпляре, так что ничего синхронизировать не надо.
← →
@!!ex © (2011-01-05 21:04) [13]> В SVN можно сделать switch. Переключаете два этих файла
> на файлы из другого проекта.
Это не то.
> команда copy не ?
Руками чтоли каждый раз? ну мы сейчас так делаем. файлов таких достаточно много. легко забыть что что-то правил.
> А как вы решаете проблему совместимости? Ну поправит вы
> что-то в этом модуле. 1 проект работает, а второй может
> не заработать?
1) Там лежат вещи, которые никак с проектами не связаны.
2) Ну расширили мы инструмент. ну сломался второй проект. Мы при компиляции увидили что новый модуль другой, посмотрели что изменилось, подкорректировали. пробелмы возникают когда мы забываем что надо новый модуль скопировать.
> Зеркало.
Не понял.
> Жесткие связи NTFS может помогут?
Как вариант. Попробую.
> Svn externals если не ошибаюсь называется расширение для
> svn
не. не годится. файлы с которыми работаем не являются частью какой-то либы. и они должны лежать в обоих репозиториях!
> Странно. Тоже использую SVN, но общие для разных проектов
> файлы хранятся в одном экземпляре, так что ничего синхронизировать
> не надо.
Не знаю как вы это делаете.
Наверно вы не фрилансер, который делает два разных проекта для двух разных заказчиков, которые не должны иметь доступ к репозиториям друг друга.
← →
@!!ex © (2011-01-05 21:31) [14]Использовал:
http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html#contact
Вроде дало то, что нужно.
← →
DVM © (2011-01-05 22:15) [15]
> @!!ex © (05.01.11 21:04) [13]
> и они должны лежать в обоих репозиториях!
что значит лежать? они будут образовываться в локальной копии при чекоуте, где они лежат без разницы.
← →
DVM © (2011-01-05 22:30) [16]
> Вроде дало то, что нужно.
не будет ли проблем в работе SVN - изменения файла в одном репозитории будут производиться через SVN, а в другом репозитории изменения будут автоматом возникать в обход SVN.
← →
@!!ex © (2011-01-06 03:45) [17]> [16] DVM © (05.01.11 22:30)
> не будет ли проблем в работе SVN - изменения файла в одном
> репозитории будут производиться через SVN, а в другом репозитории
> изменения будут автоматом возникать в обход SVN.
Не-не.
Все это происходит же не в репозитории, а на локальной копии.
Поэтому если я изменил файлик, то он просто изменился в обеих SVN репозиториях.
Если файлик изменили в одном репозитории, я сделаю апдейт, в одном проекте файлик изменится через Update, а второй просто будет считать что файлик локально изменили. Так что никаких конфликтов, никаких проблем.
SVN работает с двумя разными файлами. Просто они меняются одновременно.
← →
@!!ex © (2011-01-06 03:46) [18]Поэтому если я изменил файлик, то он просто изменился в обеих SVN локальных копиях.
Страницы: 1 вся ветка
Текущий архив: 2011.04.17;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.004 c