Re: О Mercurial (грустно)
От: HotDog Швейцария www.denebspace.com
Дата: 13.11.12 15:39
Оценка:
Здравствуйте, itslave, Вы писали:

I>Вот подумываю свалить обратно на SVN(в первую очередь из-за полного произвола в авторстве ченджсетов). Неделя приседаний коту под хвост. У git-а говорят все еще печальней с точки зрения настройки-интеграции. Про bazaar даже не вспоминаю.


TFS? Благо на "попробовать" много времени не надо. В связи с http://tfs.visualstudio.com/ пробовать стало еще проще — все серверные проблемы перенял МС.
Re[3]: О Mercurial (грустно)
От: fddima  
Дата: 14.11.12 01:00
Оценка:
Здравствуйте, jazzer, Вы писали:

A>>Большая часть ваших проблем от того что вы решили всё прикрутить к IIS.

J>Странный подход... А если IIS — корпоративный стандарт и нельзя больше ничего, кроме него?
J>У IIS не такая маленькая доля на рынке, особенно в корпоративном сегменте, чтоб называющийся серьезным софт мог на него забивать
Блин, ребят, ну вы даёте. Apache vs IIS против hgweb.cgi который, извинияюсь *** хотел ложить и на первого и второго.
На IIS ставится hg вообще без проблем. При том, я использую такую некузявую конфигурацию — разрешен basic и windows auth, браузером — пожалуйста виндовс ауф, — хг — видимо басик. Я давно не переконфигурял. Из дома я вот с битбаткетом работают через ssh. Это клёво. Только это хрень собачья, потому что это тоже самое должно работать за прокси, а оно не работает, ибо SSH!
IIS vs Apache из всего этого — наименьшая проблема.
ё
Re[11]: О Mercurial (грустно)
От: Ziaw Россия  
Дата: 15.11.12 21:58
Оценка:
Здравствуйте, itslave, Вы писали:

I>Да. Это может потребоваться один раз в 20 лет, но тогда это действительно понадобится. На моей практике был капитальный один разбор по сорцам годичной давности, с твердым намерением "уволить виноватого". Но виноватый этого разбора не дождался и свалил за несколько месяцев до него.


Так это саботаж был или нет? Мне почему-то кажется, что год назад этот парень никак не думал комитить эти исходники под чужим именем.

Обычно для таких случаев достаточно хранить логи, кто и с какого компьютера засунул изменения в основной репо и если человек утверждает, что комит с его именем делал не он — просто поднять их.
Re[6]: О Mercurial (грустно)
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 18.11.12 08:56
Оценка:
Здравствуйте, rm822, Вы писали:

R>Большая часть этого безобразия есть в перфорсе


R>-возможность работать в оффлайне

R>только для галочки, реально полный отстой
R>они считают это идеологически неверным ходом для _коммерческой_ разработки (и я с ними согласен)

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

Если я разрабатываю какую-то фичу, я могу её коммитить хоть сидя на даче без интернета месяц по строке, потом перегруппировать локальные коммиты, сделать rebase на свежий код и потом наконец отправить на review (где мы сейчас на gerrit'е), или просто запушить, если простой центральный. Нафига мне при этом в процессе именно разработки связь с центром?
Объясните, пожалуйста.
The God is real, unless declared integer.
Re[11]: О Mercurial (грустно)
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 18.11.12 09:26
Оценка:
Здравствуйте, jazzer, Вы писали:

J>>>Это, конечно, тоже вариант, но я бы лично его не разрешил, учитывая, что апач может шариться несколькими подобными инсталляциями (например, какая-нть вики тоже потребует своего апача — и чего?) и рассматривал бы отдельно апач и отдельно меркуриал. Не говоря уже о том, что апач на 80 порте должен работать из-под рута.

A>>Из под рута только bind+listen+accept делается, реальная обработка запроса (recv/send) происходит в контексте www-data
J>Тем не менее сервер надо стартовать под рутом, не?

Вообще-то это уже с надцать лет не так, и не только в Linux. Все расширенные системы безопасности (а в любом современном дистрибутиве есть какая-то из них, чаще всего) позволяют произвольный доступ. Например, вот базовые описания для SELinux (см. субкоманду port) и grsec базовое описание, как разрешать доступ конкретной программе без рута. В BSD, включая MacOS, есть MAC инфраструктура для того же. То, что установки "из коробки" по умолчанию не делают этого, не значит, что его нет.

А ещё никто не мешает, например, ввести в локальный iptables правило вида -t nat -p tcp --dport 80 -j REDIRECT --to-ports 8000, и все входящие TCP на порт 80 пойдут (в данном примере) на порт 8000.

Так что прошу не делать сейчас выводы из знания матчасти на 20 лет назад.

J>А одно это — уже большая головная боль для любого безопасника, а уж плагинная система апача — это вообще одна большая дыра.


Плагинная система апача инициализируется ещё до принятия конкретных запросов, а принимает запросы после сокращения прав. Так что здесь она не в состоянии ничего испортить. Если стартовые конфиги не испорчены, то максимум вреда от неё всё равно ограничен пользователем, под которым идёт работа.

Если что-то тут и вредит, то политика suexec'ов (например, в Debian он ужесточён в совершенно бессмысленную сторону).

A>>Тот же кто SVN/TFS поменяет на HG. Я реально не поменяю почему замена VCS это меньшая проблема, чем добавление веб-сервера.

J>Очень просто. VCS обычно идет по графе Developer tools, вместе со всякими библиотеками и прочими решарперами, и рулится это обычно только отделом разработки с гораздо более мягкой политикой. А вот веб-сервер — это глобальная вещь, которая, в принципе, может смотреть наружу и дает доступ внутрь сети извне, и должна огораживаться с соответствующий строгостью.

Если developer tool, а конкретно, VCS требует доступа снаружи (а часто это так и есть), то у неё возникают такие же проблемы.

A>>Это IIS говорит — хрен вам, а не гибкая авторизация. И уже отсюда возникает вопрос об Apache. А Mercurial просто не дублирует то что Apache и так делает хорошо.

J>Да я ж не спорю, что Апач лучше ИИСа. Я говорю только о том, что в корпоративном сегменте обычно не разрешают ставить что попало, и поэтому любой софт, который хочет в корпоративный сегмент пробиться, должен поддерживать то, что там чаще всего используется, и ИИС в этот список, разумеется, входит. А без этого это будет инструментов опенсорсников, о чем, в принципе, и говорят приведенные комменты его разработчиков.

Тогда тот же IIS должен, кроме формального выполнения под ним, обеспечивать ограничения исполняемого. А это уже далеко не всегда возможно. По современному состоянию проще запустить виртуалку, ограничив ей доступ даже в локалку только безусловно необходимым.
The God is real, unless declared integer.
Re[3]: Аутентификация
От: Roman Odaisky Украина  
Дата: 18.11.12 14:30
Оценка: 2 (1)
Раз уж подняли тему...

Здравствуйте, itslave, Вы писали:

RO>>Ты подходишь к Mercurial с мерками централизованных систем контроля версий. А она так не работает. Типичный процесс: Вася реализовал какую-то функциональность, Петя взял Васины коммиты напрямую у него и на их основе сделал что-то еще, после чего произвел push в общий репозиторий. Получается, аутентифицировался Петя, но отправил в числе прочего Васины коммиты.

I>Да неважно откуда Петя взял данные: с гугля, у Васи, из головы. Важно то что именно Вася запостил их не проверив в центральный репозитарий. Значит в случае чего он должен огрести.

Нет, Вася не отправлял их туда, в том-то и дело!

1. Вася реализует нечто, как proof-of-concept. Коммитит в свой локальный репозиторий, и, возможно, в отдельную особо отмеченную ветку центрального репозитория.
2. Петя видит, что Васина работа поможет ему решить стоящую перед ним задачу. Он берет Васины коммиты (полностью или частично) и на их основе делает что-то свое.
3. Петина работа готова. Он прогоняет тесты, вешает тег о том, что такой-то тикет закрыт, подписывает и то ли сам коммитит в основную ветку центрального репозитория, то ли посылает pull request специально обученному человеку.

Вдруг что пошло не так — Вася никогда не обещал, что его код на 100% готов и работоспособен. А вот Петя берет на себя такую ответственность.

И еще, если система безопасности смотрит только на автора коммита, то можно провести replay attack — взять какой-нибудь промежуточный недоделанный коммит, вносящий уязвимость, и закоммитить в основную ветку от имени автора.
До последнего не верил в пирамиду Лебедева.
Re[17]: О Mercurial (грустно)
От: Eye of Hell  
Дата: 23.11.12 21:41
Оценка:
A>>>>В Линуксе все сервера слушающие порт с номером меньше 1024 стартуют под рутом. Нет только веб,вообще все. Так там сокеты работают.
J>>>Да, а еще 2+2=4. К чему этот ликбез для первоклассников, да еще и повторенный дважды?
J>>>К любой программе, стартующей под рутом, должны применяться повышенные требования безопасности. Точка.
C>>Ну поставь lighttpd и сделай проксирование на порт, скажем, 1080. Под которым и запускай Апач. Какие проблемы-то?

Я наверное сейчас очень глупый вопрос задам, но что мешает запустить этот многострадальный апач на порту выше 1024 не под рутом? И не страдать с безопасностью?
Re[7]: О Mercurial (грустно)
От: Eye of Hell  
Дата: 23.11.12 21:55
Оценка:
I>Т.е. люди не понимают что ревью ченджсетов(регулярное или из-за факапа) — ет таки отвественная процедура, по результатам которой нахомутавший может огрести по самое не могу, вплоть до увольнений в особо запущенных случаях. И кодревьюеру надо просто и ясно видеть, кто запушил чейнджсет в репозитарий.
I>Но мое мнение о hg осталось неизменно: для корпоративной бизнес разработке в среде windows он не годится.

В subversion "имя пользователя", который сделал коммит — это revision property, изменения которого не трекаются. Да, по умолчанию оно отключено — но если речь идет о саботаже и увольнении, то поменять задним числом не так трудно.

Тут вы, на мой взгляд, столкнулись с архитектурным вопросом. Subversion — централизованный репозиторий. Коммитера можно поменять задним числом, если есть доступ к репозиторию. Mercurial — у каждого репозиторий. Коммитера можно поменять... ну вы поняли . Поэтому с точки зрения безопасности в subversion от диверсий защищаются, блокируя репозиторий от нежелательных модификаций (и это ключено по умолчанию). В mercurial защищаются точно также — блакируют центральный репозиторий от нежелательных модификаций. Так как какой репозиторий "центральный" назначаете вы — то и хук на проверку стаить вам. Плата за гибкость .
Re[2]: О Mercurial (грустно)
От: Eye of Hell  
Дата: 23.11.12 21:56
Оценка:
A>часть сидит на linux, часть на mac. Что там не так с гитом?

MacOS is an acceptable flavor of linux. Windows is not an acceptable flavor of linux (c) не помню кто.
Re[8]: О Mercurial (грустно)
От: . Великобритания  
Дата: 23.11.12 22:42
Оценка:
Здравствуйте, Eye of Hell, Вы писали:

EH> I>Т.е. люди не понимают что ревью ченджсетов(регулярное или из-за факапа) — ет таки отвественная процедура, по результатам которой нахомутавший может огрести по самое не могу, вплоть до увольнений в особо запущенных случаях. И кодревьюеру надо просто и ясно видеть, кто запушил чейнджсет в репозитарий.

EH> I>Но мое мнение о hg осталось неизменно: для корпоративной бизнес разработке в среде windows он не годится.
EH> В subversion "имя пользователя", который сделал коммит — это revision property, изменения которого не трекаются. Да, по умолчанию оно отключено — но если речь идет о саботаже и увольнении, то поменять задним числом не так трудно.
Кстати да, от саботажа hg/git защищены гораздо лучше. В случае svn достаточно получить доступ к центральному репозиторию, чтобы всё нахакать как нравится — комар носу не подточит. А в случае hg/git незаметно историю поменять задним числом невозможно — поменяются все sha1 идентификаторы всех коммитов после, что вызовет полный ах во всех клонах, в логах билд серверов, в версиях артефактов, и т.п. А sha1 криптоустойчивый хеш, кстати говоря. А ещё pgp-подписи тегов есть...
avalon 1.0rc3 rev 0, zlib 1.2.3.4
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[3]: О Mercurial (грустно)
От: Anton Batenev Россия https://github.com/abbat
Дата: 24.11.12 19:46
Оценка:
Здравствуйте, jazzer, Вы писали:

j> A>Большая часть ваших проблем от того что вы решили всё прикрутить к IIS.

j> Странный подход... А если IIS — корпоративный стандарт и нельзя больше ничего, кроме него?

Тогда количество приемлемых вариантов резко сужается до продуктов MS.

j> У IIS не такая маленькая доля на рынке, особенно в корпоративном сегменте, чтоб называющийся серьезным софт мог на него забивать


Попробуй посмотреть на это с другой стороны: "У mercurial не такая маленькая доля на рынке, чтобы называющийся серьезным веб-сервер мог на него забивать" — сказка о курице и яйце. mercurial прекрасно работает в корпоративном сегменте, если этот корпоративный сегмент готов его принять. Вы пока не можете — ну чтож, это не фатально — используйте TFS или любой другой продукт, к которому вы пока готовы — в этом и вся прелесть свободы выбора.
avalon/1.0.432
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.