The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Выпуск распределенной системы управления исходными текстами Git 2.29, opennews (??), 20-Окт-20, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


71. "Выпуск распределенной системы управления исходными текстами ..."  +/
Сообщение от Аноним (8), 21-Окт-20, 01:04 
Недалёким неведомо что svn up при наличии незакоммиченных изменений в working copy делает ни что иное как ребейз [этих изменений на новый head].
Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

94. "Выпуск распределенной системы управления исходными текстами ..."  –1 +/
Сообщение от пох. (?), 21-Окт-20, 11:38 
> Недалёким неведомо что svn up при наличии незакоммиченных изменений в working copy
> делает ни что иное как ребейз [этих изменений на новый head].

это мерж. И более того, явный мерж делается точно так же - через working copy.

Недал...неосиляторам distributed-vcs (для этого необязательно быть недалеким, может и просто повезло, как леночке-проститутке) неведомо, что rebase - это перенос _истории_, а не всех отличий пачкой без разбора. Эгмх...подделка истории, тоись ;-)
Смысла в нем, чаще всего, никакого, просто у тех макак "здесь так принято".

Реальную проблему с svn я уже попытался разжевать: вот лежит у тебя в working copy ДВА разных набора патчей (пусть даже история тебе нахрен не нужна). А может и 22 (у меня в freebsd ports и больше может быть, а история в общем-то не нужна) Не закомичены и не будут - это не твой репо. up их ломает к хренам. Патчи нетривиальные, и чинить их надо строго по одному, и не факт что сможешь оба починить в принципе - возможно, придется радоваться что хоть один починишь. А может изменения апстрима совсем критичные, и надо собрать апстримную версию любой ценой прямо сейчас, а потом уже свое чинить. Что делать будиииим - новаяпапка21, да?

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

git или hg просто дадут тебе по рукам при попытке это сделать. И потребуют явно указать, что предпринять с несохраненными изменениями. Ничто, разумеется, не мешало снабдить подобной проверкой и svn/cvs, но их писали давно, проекты были маленькими, всем было лень напрягаться.

Ответить | Правка | Наверх | Cообщить модератору

116. "Выпуск распределенной системы управления исходными текстами ..."  +/
Сообщение от Аноним (8), 21-Окт-20, 18:19 
> что rebase - это перенос _истории_, а не всех отличий пачкой без разбора. Эгмх...подделка истории, тоись ;-)

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

Ответить | Правка | Наверх | Cообщить модератору

119. "Выпуск распределенной системы управления исходными текстами ..."  +/
Сообщение от пох. (?), 21-Окт-20, 18:38 
> С практической стороны в любом случае может произойти изменение в чужом коде которое сломает твоё
> изменение

не может - оно где-то в origin/чтототам происходит в терминах гита.
Твои комиты _никуда_ не денутся, и даже попортить автомагическим мержем НЕ закомиченое тебе не дадут. (Закомиченное - дадут, полагая что это именно то что ты хотел, но ты всегда можешь вернуть исходное состояние, это история.)

А в svn/cvs ничего из этого нет, и для работы с _чужими_ проектами это действительно проблема.

Подделка происходит при rebase. Поинтересуйся на досуге, что при этом на самом деле происходит с историей.

Ответить | Правка | Наверх | Cообщить модератору

133. "Выпуск распределенной системы управления исходными текстами ..."  +/
Сообщение от пох. (?), 22-Окт-20, 09:39 
> А нет никакой разницы

есть.

> в ваших терминах это в любом случае "подделка".

нет. Подделка - это именно подделка истории, когда изменения придуманные и реализованные при одном (одних, возможно - разных) состоянии кодовой базы - создаются кодом vcs заново, и выглядят в логе как сделанные при совсем другом ее состоянии. Так работает rebase - создавая фейковую историю вместо настоящей (поверх нее - настоящая на самом деле остается тоже, но ты ее не увидишь, а потом gc ее окончательно зачистит).

А что вы там нафантазировали - к моим терминам не имеет ни малейшего отношения.

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

Для именно совместной гит одна из самых неподходящих технологий. Но модные-современные ничего другого просто не умеют.

Ответить | Правка | К родителю #116 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру