Ми консультуємось з програмного забезпечення з безліччю проектів для різних клієнтів. Ми традиційно використовуємо Subversion, але наразі розглядаємо можливість переходу до Git.
Значна частина вироблених нами документів ділиться з нашими замовниками (вимоги, глобальний дизайн, тестові характеристики тощо), і ми використовуємо MS Office для їх виготовлення. У програмі Subversion ми могли використовувати його функцію "Блокування", щоб гарантувати, що ніхто не редагував один і той же документ одночасно. У Git цього не можна зробити, оскільки за його поширеним характером у git немає замків.
Замки насправді трохи більше, ніж механізм зв'язку, але вони дуже ефективні.
В даний час наш код і орієнтовані на клієнта документи, як правило, знаходяться в різних папках іншого сховища svn. Що ви рекомендуєте робити, коли переходите до git? Я бачу набір варіантів:
Ми переміщуємо сховища svn до git 1-on-1. Замість використання замків у файлах Office, ми робимо те, що пропонують люди, і якось намагаємось змінити наш робочий процес, щоб його виправити. Це може працювати у відділенні над будь-яким редагуванням документа та об'єднувати його під час перегляду. Цей підхід розбивається, наприклад, на листах Excel, які містять інформацію про управління проектами; вони легко редагуються членами команди (і ми радимо, що це робиться), але вони не підлягають офіційному перегляду
Ми використовуємо git для коду та svn для документів та управління проектами. Це має той недолік, що деякі інші документи-дизайни не будуть «поруч» кодом, який він специфікує, збільшуючи шанс того, що люди забудуть їх оновити. Крім того, кожен повинен використовувати та розуміти два набори інструментів. Однак, можливо, це чудова можливість перейти до текстових інструментів для документообігу (латекс, розмітка, HTML та інше) для дизайнерів, що не стосуються клієнтів.
Як і 1, але ми зламаємо
git lock
команду, яка робить те, що робить замовлення svn для нас (відповідним чином перемикає прапор лише для читання та синхронізує з сервером якимись засобами).
Я не купую аргумент про те, що блокування не працює в DVCS, тому що система повинна працювати навіть у режимі офлайн. Замки Svn можна також відміняти; вони механізм зв'язку . Без якогось підключення до мережі ви не змусите комп’ютера багато спілкуватися.
Ми не можемо бути єдиним магазином, який дуже задоволений тим, як svn lock
вписується в наш робочий процес, правда?
Якісь ідеї чи поради?
Я знайшов /programming/119444/locking-binary-files-using-git-version-control-system, але обговорення досить технічне; Я шукаю способи вирішити або уникнути практичної проблеми двох членів команди, які одночасно редагують один і той же двійковий файл.