Здравствуйте, -VaS-, Вы писали:
P_Y>> для нас основным был — невозможно ограничить доступ к части репозитория (например к коду защиты)
VS>А в HG это возможно?
Насколько мне кажется, в любой распределенной СКВ это невозможно. Нам ведь нужно хранить весь репозиторий у каждого участника.
Здравствуйте, <Аноним>, Вы писали:
P>>Если ваш продукт является производным от Git (ну например линкуется с ним каким-то образом) — то продукт должен быть выпущен под GPL. Но врядли это ваш случай.
А>можно точно разъяснить:
А>если я его использую только для контроля версий при разработке проекта, то мой проект должен быть под GNU?
Нет.
А>также не совсем понял, что значит линкуется? т.е. взял за основу GIT т.к. исходники открыты — допилил?
Да.
Здравствуйте, P_YegreS_P, Вы писали:
P_Y>2) описание недостатков Git P_Y> для нас основным был — невозможно ограничить доступ к части репозитория (например к коду защиты)
Здравствуйте, Peregrin, Вы писали:
P>Здравствуйте, <Аноним>, Вы писали:
P>>>Если ваш продукт является производным от Git (ну например линкуется с ним каким-то образом) — то продукт должен быть выпущен под GPL. Но врядли это ваш случай.
А>>можно точно разъяснить:
А>>если я его использую только для контроля версий при разработке проекта, то мой проект должен быть под GNU? P>Нет.
А>>также не совсем понял, что значит линкуется? т.е. взял за основу GIT т.к. исходники открыты — допилил? P>Да.
Здравствуйте, adontz, Вы писали:
a> .>А как это для части репо работает? a> Это уже фронт-эндом надо делать. Я предпочитаю апач, он гибче.
Просто мне непонятно как можно часть репо клонировать и как потом мержиться, как перемещения файлов между частями работает.
Здравствуйте, ., Вы писали:
a>> Это уже фронт-эндом надо делать. Я предпочитаю апач, он гибче. .>Просто мне непонятно как можно часть репо клонировать и как потом мержиться, как перемещения файлов между частями работает.
Копируется весь, ограничения только на запись. Закрыть часть репозитория от чтения не получится.
Здравствуйте, ., Вы писали:
.>Здравствуйте, adontz, Вы писали:
a>> .>А как это для части репо работает? a>> Это уже фронт-эндом надо делать. Я предпочитаю апач, он гибче. .>Просто мне непонятно как можно часть репо клонировать и как потом мержиться, как перемещения файлов между частями работает.
никак. частично ограничить можно только запись. чтение — бинарно. либо ты можешь читать весь репо, либо не можешь.
Здравствуйте, adontz, Вы писали:
a> Копируется весь, ограничения только на запись. Закрыть часть репозитория от чтения не получится.
А. Так не интересно, так и гит умеет.
Здравствуйте, P_YegreS_P, Вы писали:
P_Y>Насколько я понял, можно запретить только коммитить, читать всё равно можно. P_Y>А код защиты, именно хочется спрятать от чтения.
DVCS требуют наличия всего репо локально у каждого юзера. Так что один путь — вынести секретный код в отдельный репо. Его можно подключать к основному через git submodule, или вообще просто завести отдельный проект, к тому же, как я полагаю, код защиты вполне независимая вещь и можно девелопить её отдельно.
В hg так же, но я не знаю что там является аналогом submodule.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, adontz, Вы писали:
A>Здравствуйте, CaptainFlint, Вы писали:
CF>>Не совсем так. Во-первых, команда-таки есть: git mv. Во-вторых, если одновременно попытаться переименовать и изменить файл, то в этом случае не просто "не будет гарантии", а, наоборот, будет гарантия, что связь между старым и новым файлом уничтожится (старый файл удалён, новый добавлен). Сохранить в коммите запись о том, что файл был одновременно и переименован, и изменён, невозможно.
A>Это что правда так? Нельзя одновременно менять и переименовывать файлы с сохранением истории?
Можно, только что переименовал класс вместе с файлом, в котором класс описан. Всё подхватилось. Git оценил похожесть файлов. Насколько это всегда будет работать — не знаю.
Сообщение заговорено потомственным колдуном, целителем и магом в девятом поколении!
Модерирование или минусование сообщения ведет к половому бессилию, венерическим заболеваниям, венцу безбрачия и диарее!
В SVN копировать репозитории не рекомендуется (есть даже спец. команда для этого), в Mercurial я могу копировать весь каталог и со мной ничего плохого не случится (точнее, случится, но не по этой причине). Было бы неплохо, если бы где-то в статье было бы всё-таки кратко отражено, можно ли копировать репозитории: всё-таки вопрос хранения репозиториев не зря рассматривается (а читать инглиш ради одного абзаца очень не хочется).
FDS>В SVN копировать репозитории не рекомендуется (есть даже спец. команда для этого), в Mercurial я могу копировать весь каталог и со мной ничего плохого не случится (точнее, случится, но не по этой причине). Было бы неплохо, если бы где-то в статье было бы всё-таки кратко отражено, можно ли копировать репозитории: всё-таки вопрос хранения репозиториев не зря рассматривается (а читать инглиш ради одного абзаца очень не хочется).
Можно. Ничего плохого не случится. В git (как и в Mercurial) вне самого репозитория ничего не хранится. Если после этого захочется наладить связь с оригиральным репозиторием (pull-push), то придется сделать это руками (git remote). Поэтому лучше делать нормальный клон — он создаст все нужные связи и использует hard links вместо копирования (в случае локальной копии).
Есть проект P.
Есть часть проекта P\A, которая живёт отдельно (имеет независимые версии, которые могут использоваться с разными версиями P), но в то же время для удобства лежит в папке с файлами P и может изменяться под конкретные версии P. Мне уже объяснили, что git контролирует всё дерево файлов целиком, и задача решается используя submodule, но логика его работы в TortoiseGit от меня ускользает. Сейчас просто создал отдельный репозиторий A и переместил его в директорию P\. Покажите пожалуйста пример использования submodule (без cmd) в TortoiseGit или GitExtensions.
Здравствуйте, kr12, Вы писали:
K> Покажите пожалуйста пример использования submodule (без cmd) в TortoiseGit или GitExtensions.
Начинать работать с гуёвыми обёртками можно только после того, как освоишь командную строку и будешь понимать, какие команды за какими пунктами менюшек стоят.
Я бы, наверно, такую важную вещь, как первичная настройка submodule, делал полностью с командной строки. Хотя, возможно, в дальнейшем работал бы с уже настроенной структурой репозиториев с использованием гуя.