powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Системы контроля версий и Delphi
25 сообщений из 81, страница 2 из 4
Системы контроля версий и Delphi
    #40125342
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargl
Alexander A. Sak
Извините за глупый вопрос. О каких пулл-реквестах в гите идет речь? Разве это к гиту относится? Я почему-то думал, что это фича всяких битбакетов-гитхабов-гитлабов.

То есть вот я сделал локально git init, git branch, потом решил перенести изменения из бранча в мастер и... Тут как-то делается пулл-реквест?
Нет это фича git, см учебник progit глава 5 (команда $ git request-pull origin/master myfork). Но можно в одиночку работать без нее


Спасибо, не знал.

git request-pull создает текст, который надо просто отправить владельцу репозитория. В этом тексте -- описание того, где находятся изменения (адрес репозитория, ветка, начальный коммит). Ну как-то не тянет на киллер-фичу ИМХО.
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125347
fkfka2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexander A. Sak
Спасибо, не знал.
git request-pull создает текст, который надо просто отправить владельцу репозитория. В этом тексте -- описание того, где находятся изменения (адрес репозитория, ветка, начальный коммит). Ну как-то не тянет на киллер-фичу ИМХО.

Ну да. А PR GitHub или MR GitLab - они точно о том же: "Я, типа, хочу, чтобы изменения из моей ветки взяли в общую". Там просто всякого блек-джека больше. Сам термин "pull request" пошел с тех времен, когда git использовали как распределенную систему без центрального репо (ради чего он и задумывался) и кто-то мог получить изменения из ветки кого-то другого сделав "git pull" из его ветки (не давая другому доступа на запись в своем репозитории).
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125364
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargl
В SVN, насколько я помню, тоже надо руками делать svn add *.x
Только один раз - сказать системе что файл надо держать под контролем. На каждый комит ее повторять не нужно.

Siemargl
И вообще про Мercurial забыли
А это прямой конкурент git'у. То же самое по возможностям, но по другому внешне.
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125365
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraks
White Owl
При отсутствии сети и серверов - rcs единственный выбор.

Почему это?
Например в том же TortoiseSVN в комплекте идет локальный сервер.
С TortoiseGit думаю примерно так же.
Git под винду тоже встречал.
Да конечно, просто как-то нелогично ставить сервер-клиент на одну и ту-же машину. Ну обычно... Хотя да. Соглашусь - rcs не единственный.
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125367
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asutp2
White Owl
Git в принципе не может быть удобнее человеку. Он может быть удобнее компании-корпорации, но не отдельным разработчикам.
...пропущено...
А вот в git предполагается что ты (человек-developer) делаешь изменения в своем репозитории, потом делаешь этот самый pull request и ждешь когда специальный человек-maintainer проверит твою работу и вытащит из твоего местечкового репозитория в репозиторий выше уровнем, ну или отправит эти изменения обратно на доработку. Это полезно для корпораций и с учетом что ты работаешь в команде отвечающей за малый участок большого проекта.
Сорян конечно, но ты заблуждаешься.
Я вот например для нескольких своих личных проектов использую git без всяких проблем. Там я единственный разработчик, и нет никаких других специальных людей, но при этом ведутся разные ветки, точно также могу сделать pull реквест из одной в другую и т.д.
И выше справедливо заметили, что git очень быстр. Сравниваю свой же опыт работы с svn, когда все реально тормозило не по детски....
Ну то что git ты используешь в рамках возможностей svn согласен?
А тормоза... не верю. На моих машинах что одно, что другое работают с одинаковой скоростью.
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125371
Ares_ekb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl
На моих машинах что одно, что другое работают с одинаковой скоростью.
А сервер на другой машине или той же? Apache Subversion или другой? По какому протоколу работает? https?
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125372
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ares_ekb
White Owl
На моих машинах что одно, что другое работают с одинаковой скоростью.
А сервер на другой машине или той же? Apache Subversion или другой? По какому протоколу работает? https?
На другой, но в LAN. Gnu. Ssh.
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125373
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl
Ares_ekb
пропущено...
А сервер на другой машине или той же? Apache Subversion или другой? По какому протоколу работает? https?
На другой, но в LAN. Gnu. Ssh.
Сравниваю с git в той-же самой lan, но на другом физическом сервере, на собственном git протоколе.
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125378
Ares_ekb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl,

я находил какую-то противоречивую информацию по производительности. Где-то пишут, что по ssh должно работать ощутимо быстрее, чем по https. Где-то пишут, что в последних версиях особой разницы нет. Вроде по https более гибкие возможности распределения прав доступа и видимо поэтому у нас этот протокол и используется, но сам я это не настраивал, это делали админы. Нужно будет уточнить, может они ssh включат.

Плюс у нас всё это ещё работает через vpn. То, что очень тормозит это факт. Но в чем причина... Я пытался смотреть что происходит через Wireshark. SVN-клиент отправляет просто кучу запросов на сервер, и у меня ощущение, что проблема именно в этом, и такая схема быстро работать не может.
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125392
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl
Siemargl
В SVN, насколько я помню, тоже надо руками делать svn add *.x
Только один раз - сказать системе что файл надо держать под контролем. На каждый комит ее повторять не нужно.
Так и в гите тоже, только наоборот, что не в .gitignore само пропишется. Я недопонял мысьль
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125413
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87
Являюсь Delphi - разработчиком.

Смешно.

Наталья87
Но вот почему-то у меня никак с ними не получается и хотелось бы понять, что я делаю не так.

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

Наталья87
В итоге уже через 7 дней после работы с проектом WinMerge показывает кашу и невозможно понять, где именно были сделаны реально важные изменения, а где мелкие правки, какой код, когда и куда был перемещён. Через 30 дней процедура Merge уже становится абсолютно бессмысленной

Похоже, главное, чего Вы не понимаете - система контроля версий позволяет собрать некий набор изменений в единую сущность, присвоить этому набору имя/номер и дальше манипулировать этим набором изменений как единым целым. Например - собрать в версию наборы изменений 1, 3 и 5 - пропустив 4 и 2, либо взять изменения, сделанные в версии 3.2 по задаче 456, и выполнить их же в версии 3.1

Никанор Кузьмич
Я бы git рекомендовал, он мне больше всего нравится.

Ну Вы даёте. Это всё равно что первокласснику вместо букваря подсовывать Канта.
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125414
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl
Если у вас одна команда совместно работающая над проектом - лучше брать svn. Намного удобнее и проще со всех точек зрения.

После того, как я перешёл с SVN на Mercurial, я оценил, насколько лучше в последнем мержи. Возвращаться к SVN с его кошмариками уже категорически не хочу.

Git по удобству использования здорово уступает Mercurial-у, но таки лучше SVN. Я согласен с тем, что SVN куда проще, но 95% времени с системой контроля версий занимают сложные мержи - и именно здесь SVN проигрывает в одну калитку. По сравнению с этим выучить нетривиальные особенности гитовых команд - мелочь, просто один раз сесть и разобраться.
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125415
fkfka2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarer
Git по удобству использования здорово уступает Mercurial-у

Mercurial был задуман как упрощенный вариант Git. Внутри там по сути все то же самое. Я после SVN как раз начинал с него, но, похоже, что Mercurial он-таки (как по мне, так по непонятным причинам) гонку с Git в итоге проиграл.
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125418
Никанор Кузьмич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl
Ага. Вот только 99% процентов людей обожающих git и хающих svn не выходят за рамки возможностей svn.
Как нужно это утверждение понимать? Типа, "если вы используете только те функции git, которые есть в SVN, то использоавть git запрещено"?

White Owl
Git в принципе не может быть удобнее человеку.
Это называется "есть мое мнение и есть неправильное"

White Owl
Тут каждый разработчик является полноценным maintainer'ом.
Что значит "полноценным"? И почему это должно быть важно? Когда я работаю в коммерческой организации, мне в первую очередь важно, чтобы зарплату платили вовремя и мозги не компостировали, а уж полноценный у меня репозиторий или нет - ваще фиолетово.

White Owl
Ты хочешь исправить код в паре исходников? Делаешь svn update (получаешь текущую ревизию себе в локальную копию), исправляешь код в той паре исходников, делаешь svn commit. Всё.
Не заметил, чтобы в git было иначе.

White Owl
И, кстати, не надо делать add каждый {неприличное_слово} раз, как в git...
Любой клиент делает это автоматом. А в командной строке надо напечатать только 10 символов.

White Owl
А вот в git предполагается что ты (человек-developer) делаешь изменения в своем репозитории, потом делаешь этот самый pull request и ждешь когда специальный человек-maintainer проверит твою работу и вытащит из твоего местечкового репозитория в репозиторий выше уровнем, ну или отправит эти изменения обратно на доработку.
Это не в git предполагается. Если вам приходится слать пул-реквесты, это значит, что админ репозитория так решил. В его власти дать вам право обойтись без пул-реквестов.

Alexander A. Sak
git request-pull создает текст, который надо просто отправить владельцу репозитория. В этом тексте -- описание того, где находятся изменения (адрес репозитория, ветка, начальный коммит). Ну как-то не тянет на киллер-фичу ИМХО.
Киллер - не киллер, это философский вопрос. Главное тут - какую проблему решает фича. Она решает проблему защиты репозитория от плохого кода. Допустим, у вас на проекте есть джуниор, за которым нужен глаз да глаз, или у вас просто принято делать код ревью, или вообще опенсорс репозиторий, куда может прислать код кто угодно. Человек, который высылает свой код, делает свою ветку, комитит изменения, а потом делает попытку merge с основным репозиторием. Вы получаете уведомление, открываете пул-реквест, смотрите, какое изменение вам предлагается. Если устраивает - жмете "принять". Все, код у вас в репозитории. Я бы не назвал это киллер фичей, но просто фича, которая в гите есть, а в SVN - нет.

softwarer
Ну Вы даёте. Это всё равно что первокласснику вместо букваря подсовывать Канта.
А че такова? Я с гита и начинал
Сначала первые несколько лет работал на проектах без контроля версий вообще. Потом подумал, что надо бы освоить контроль версий. А то все говорят "маст хэв", а я ни сном ни духом. Почитал холивары в энторнетах. Показалось, что гит таки получше. Начал использовать на своих пет проектах. Ну там все просто - ведешь себе линейную историю изменений и все. Попробовал пару вещей, чисто для себя - ветки посоздавать, мерджи поделать. Потом уже поработал на проектах с большими командами с и git, и с SVN. Как по мне, не так страшен черт, как его малюют. Ну вот если вообще без опыта работы с контролем версий придти на проект с CI, пул-реквестами, гитхабом и прочим фаршем, - да, с непривычки будет тяжело. А если потихоньку вливаться, то какая разница?
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125421
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkfka2
Mercurial был задуман как упрощенный вариант Git. Внутри там по сути все то же самое.

Да на здоровье. Но пользоваться им существенно удобнее. Кроме того, не знаю, насколько это особенность именно системы, а насколько - оболочки, но при использовании Tortoise с Mercurial есть совершенно восхитительная и отсутствующая в Tortoise/git возможность включать в коммит только некоторые изменения из файла. Это очень экономит время.

fkfka2
но, похоже, что Mercurial он-таки (как по мне, так по непонятным причинам) гонку с Git в итоге проиграл.

Согласен. Если бы я был технологическим лидером большого проекта, то сейчас начинать использовать Mercurial я бы уже не стал. А вот если бы я был начинающим разработчиком, которому для наколеночных поделок надо хоть как-то разобраться с контролем версий - думаю, Mercurial стал бы как раз таки лучшим выбором на ближайшие годы.
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125422
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никанор Кузьмич
А че такова? Я с гита и начинал

Думаю, Вы это делали не так, как Наташа. Судя по её вопросам - с git-ом она окончательно запутается.
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125425
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraks
Например в том же TortoiseSVN в комплекте идет локальный сервер.
Не так - subversion (сам) умеет работать и в режиме сервера и в режиме клиента.
При файловом доступе к репозиторию один и тот же процесс является и клиентом и сервером.
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125426
ma1tus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталья87
СКВ реально помогают и решают все проблемы, связанные с отслеживанием измннений в проекте. Но у меня вот не получается. Что я делаю не так?

Вместе с СКВ, отслеживание изменений в исходниках становится неотъемлемой частью процесса разработки. "Файлики-на-заметку" легко укладываются в репозиторий, меняются, удалятся; бинарники (fbd, exe, dcu ...) легко игнорируются. Что не так делаешь - не используешь нужный тебе инструмент и разгребаешь хаос, вместо того, чтобы предупредить его возникновение. СКВ помогает с этим - задаёт культуру ведения проекта. Плюс git'а - используешь в любое время на то количество процентов заложенного в нем функционала, насколько тебе нужно в конкретном случае; с ним - правила определяешь ты с командой, настолько, насколько комфортно. В этом случае, для захода, git - оптимально. Почитай перед сном книжку , поставь Git for Windows + адекватный gui-клиент ( Git Extensions или SmartGit ) + инструмент сравнения и слияния (знакомый тебе WinMerge или Kdiff3 ).
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125456
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если Наталья - новичек в системах версионного контроля и ей надо просто быстрое вхождение - то я-бы
все таки предложил SVN. Он проще с точки зрения состояний. Есть просто update,add,commit и вобщем-то
этого достаточно чтобы начать работать. И меньше шансов напортачить или закопаться в какой-то пустяк.

Чтобы работать с git надо уяснить чуть более широкую концепцию stages, которые проходят файлы в этой
системе. Желательно по картинке. В интернетах полно диаграмм которые моделируют состояния файлов
в этой системе.
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125461
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот как-то так для Git

...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125476
Никанор Кузьмич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
при использовании Tortoise с Mercurial есть совершенно восхитительная и отсутствующая в Tortoise/git возможность включать в коммит только некоторые изменения из файла.
SourceTree, емнип, умел что-то такое. Так что при работе с git в какой-то степени есть такая возможность.
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125497
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Там, понимаешь, еще в чем дело - у Гита, по сути, нет такого, как "локальный репо" или "удаленный репо". В действительности там все репо полностью равноправны и можно хоть целым кодлом работать вообще без какого-то централизованного сервера. Выделенный репо на сервере (да тот же Гитхаб, например) используется только для более простой синхронизации кода. И, как я писал, достаточно просто слегка понимать как у него устроена система версий, которых и него, на самом деле, в прямом смысле и нет :)), и веток, которых у него тоже на самом деле нет :)) И вся эта с виду сложная картинка она становится абсолютно не нужна, потому все становится совершенно прозрачно. Достаточно просто вместо заучивания каких-то магических команд потратить от силы час и прочитать в гитбуке пару глав про это. Для меня например то как работает SVN (правда, я с ним много меньше работал) это вот действительно какое-то шаманство :))
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125501
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мой личный опыт с этим не соглашается. У svn пожалуй главный недостаток - нельзя поработать без сети "в самолёте".

А в Гите можно и бранчи создавать и переключаться и мёржить все в оффлайне. Это пожалуй мой главный довод
против SVN, а в остальном (в дидактическом смысле) svn для начинающих - удобен. Кажущийся либерализм
веток такой как принципиальное отсутсвие например trunk или develop может быть как преимуществом так и
недостатком. Иногда новичек сам не знает какая ему нужна структура. И здесь может быть лучше как раз
предложить типовую структуру бранчевания а потом уже новичек с опытом сам поймет что ему надо.
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125508
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
предложить типовую структуру бранчевания

При которой в любой момент кто угодно может наложить кривым коммитом в общую ветку. Уже проходили :) Может сейчас с СВН как-то по другому работают, я просто не знаю.
...
Рейтинг: 0 / 0
Системы контроля версий и Delphi
    #40125519
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы (многие) как-то забываете, что топикстартер работает в одно лицо и ничего из "распределённости" git - ей просто не требуется.
SVN брать или тот же Fossil - вопрос десятый.
...
Рейтинг: 0 / 0
25 сообщений из 81, страница 2 из 4
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Системы контроля версий и Delphi
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (1): Анонимы (1)
Читали форум (3): Анонимы (2), Bing Bot 7 мин.
Пользователи онлайн (8): Анонимы (6), Yandex Bot, Bing Bot 1 мин.
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]