Здравствуйте, DemAS, Вы писали:
DAS> Можно ли один и тот же файл одновременно править двум людям, а затем слить вместе изменения (merge) ? Если да, то как ?
Можно.
Надо в VSS Admin выбрать опцию Allow Multiple Check Outs.
Конфликт разрешает последний пользователь.
Отображается Слева — что в базе, справо — локальный файл, снизу — результат, который можно править ручками.
Здравствуйте, WoldemaR, Вы писали:
DAS>>Можно ли один и тот же файл одновременно править двум людям, а затем слить вместе изменения (merge) ? Если да, то как ?
WR>Можно. ;) WR>Надо в VSS Admin выбрать опцию Allow Multiple Check Outs. WR>Конфликт разрешает последний пользователь.
Другими словами — нельзя сделать merge :). Именно по этому пингвинам удалось провернуть такую деверсию, как WinCVS :)
Здравствуйте, Frostbitten, Вы писали:
WR>>Надо в VSS Admin выбрать опцию Allow Multiple Check Outs. WR>>Конфликт разрешает последний пользователь. F>Другими словами — нельзя сделать merge . Именно по этому пингвинам удалось провернуть такую деверсию, как WinCVS
всё можно, конфликт при check in'е возникает далеко не всегда
или я чего-то не понял?
Здравствуйте, Bullet, Вы писали:
WR>>>Надо в VSS Admin выбрать опцию Allow Multiple Check Outs. WR>>>Конфликт разрешает последний пользователь. F>>Другими словами — нельзя сделать merge :). Именно по этому пингвинам удалось провернуть такую деверсию, как WinCVS :)
B> всё можно, конфликт при check in'е возникает далеко не всегда :) B> или я чего-то не понял?
Если над компонентом работают несколько человек, а синхронизация нечаста — то постоянно.
Здравствуйте, Frostbitten, Вы писали:
F>Другими словами — нельзя сделать merge .
Неправда ваша. Можно. При merge могут возникнуть конфликты, но это не означает, что merge сделать нельзя. Кроме того, конфликты при merge относятся в равной степени и к VSS и к CVS и к другим системам.
F> Именно по этому пингвинам удалось провернуть такую деверсию, как WinCVS
А вот этого не нужно. Во-первых, пингвины тут не при чем, а во вторых, не нужно наезжать на WinCVS.
Здравствуйте, Михаил Можаев, Вы писали:
F>>Если над компонентом работают несколько человек, а синхронизация нечаста — то постоянно.
ММ>Тут уже надо задуматься о правильной организации работы.
:) В этом-то и дело — а хочется задумываться о самой работе. "Синхронизация нечаста" — это, скажем, 1-2 раза в неделю.
Я понимаю (кажется :) о чем вы хотите сказать, говоря о "правильной организации". Но факт остается — инструмент не позволяет при заданной организации...
Здравствуйте, Frostbitten, Вы писали:
ММ>>Тут уже надо задуматься о правильной организации работы. F> В этом-то и дело — а хочется задумываться о самой работе. "Синхронизация нечаста" — это, скажем, 1-2 раза в неделю. F>Я понимаю (кажется о чем вы хотите сказать, говоря о "правильной организации".
Понимаю Правильная организация работы — явление хорошее, но нечастое.
F>Но факт остается — инструмент не позволяет при заданной организации...
Думаю, тут дело не в инструменте. Он ведь не может решить, какой вариант из участвующих в конфликте правильный.
Во-первых спасибо. Попробовал, действительно работает.
F>Другими словами — нельзя сделать merge . Именно по этому пингвинам удалось провернуть такую деверсию, как WinCVS
Как я понимаю речь идет о случае, когда возникает конфликт. А что cvs может предложить здесь и чего не может VSS ?
Здравствуйте, DemAS, Вы писали:
DAS> Во-первых спасибо. Попробовал, действительно работает.
F>>Другими словами — нельзя сделать merge :). Именно по этому пингвинам удалось провернуть такую деверсию, как WinCVS :)
DAS> Как я понимаю речь идет о случае, когда возникает конфликт. А что cvs может предложить здесь и чего не может VSS ?
При (простите :) merge'е branch'ей для файлов, в которых возник конфликт он выдает diff-like отчет о различиях, который можно проанализировать и решить каким должен быть файл. %)
Др. словами, если в check-out'нутом file.c, ты написал новую функцию void A(), а я в ТО ЖЕ время у того же check-out'ного file.c написал новую void B(), то есть реальная возможность слить две наши версии в одну и продолжить с file.c, где будет и A(), и B(). Попробуй-ка сделай так в VSS :) Это общеизвестный факт: трабл в том, что VSS не поддерживает branch'и.
Здравствуйте, Михаил Можаев, Вы писали:
F>>Я понимаю (кажется :) о чем вы хотите сказать, говоря о "правильной организации". ММ>Понимаю :) Правильная организация работы — явление хорошее, но нечастое.
А если кодирование не профильно для некоторых из разработчиков (так... пописывают :)? Правильность организации весьма спорный вопрос — оставьте.
F>>Но факт остается — инструмент не позволяет при заданной организации... ММ>Думаю, тут дело не в инструменте. Он ведь не может решить, какой вариант из участвующих в конфликте правильный.
Но он должен предлагать максимум информации для принятия такого решения — а нет просто "нельзя и фсе".
И вообще, кто меня там обнулил? ;) VSS делает merge? А WinCVS — да. Но cvs — это прямиком из стана пингвинов... Я требую убрать 0! :) :) :) (шутка)
Здравствуйте, Frostbitten, Вы писали:
F>Др. словами, если в check-out'нутом file.c, ты написал новую функцию void A(), а я в ТО ЖЕ время у того же check-out'ного file.c написал новую void B(), то есть реальная возможность слить две наши версии в одну и продолжить с file.c, где будет и A(), и B(). Попробуй-ка сделай так в VSS Это общеизвестный факт: трабл в том, что VSS не поддерживает branch'и.
Разве ? Вот так я делал:
Woldemar>
Надо в VSS Admin выбрать опцию Allow Multiple Check Outs.
Конфликт разрешает последний пользователь.
Отображается Слева — что в базе, справо — локальный файл, снизу — результат, который можно править ручками.
Здравствуйте, Frostbitten, Вы писали:
F>И вообще, кто меня там обнулил? VSS делает merge? А WinCVS — да. Но cvs — это прямиком из стана пингвинов... Я требую убрать 0! (шутка)
Нуль убрал
Но про пингвинов — не согласен! Тогда уж антилопа гну Кроме того, фраза была про WinCVS.