The OpenNET Project / Index page

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



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

Оглавление

Выпуск распределенной системы управления исходными текстами ..., opennews (??), 28-Июл-15, (0) [смотреть все]

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


31. "Выпуск распределенной системы управления исходными текстами ..."  +1 +/
Сообщение от Crazy Alex (ok), 29-Июл-15, 01:56 
Для простых случаев - хорошо, когда легкои  просто. Но Git настолько распространён, что не уметь его всё равно нельзя. А раз так - зачем возиться с лишней SCM, которая кроме простоты (в данном случае невостребованной) ничего предложить не может?

Хотя такой, как у фоссила, гибрид проекта в git с вики, пожалуй, мог бы пригодиться по мелочи. Надо глянуть, наверняка кто-то уже сделал подобное.

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

50. "Выпуск распределенной системы управления исходными текстами ..."  –1 +/
Сообщение от fleonisemail (?), 29-Июл-15, 15:12 
На счёт не уметь гит согласен: куда не сунься, все на нём.

Но я уже несколько проектов делаю на fossil, ещё не упёрся в отсутствие функционала. Какие там функции отсутствуют, которые нужны или которые есть в гите?

Там не только вики, там еще и пользователи и просмотр когда и багтрекер :-)

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

55. "Выпуск распределенной системы управления исходными текстами ..."  +/
Сообщение от all_glory_to_the_hypnotoad (ok), 29-Июл-15, 20:17 
>  Какие там функции отсутствуют, которые нужны или которые есть в гите?

Например, rebase как он сделан в git. Без этой фичи (d)VCS совсем не нужна для работы с кодом.

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

57. "Выпуск распределенной системы управления исходными текстами ..."  –1 +/
Сообщение от Crazy Alex (ok), 29-Июл-15, 23:05 
вообще-то есть масса workflow, где rebase особо не используется. Самое простое - если задача делится на много простых фич/тасков, каждая живёт в своей ветке и merge --squash когда готова, после чего ветка убивается.
Ответить | Правка | Наверх | Cообщить модератору

58. "Выпуск распределенной системы управления исходными текстами ..."  +1 +/
Сообщение от all_glory_to_the_hypnotoad (ok), 29-Июл-15, 23:40 
> вообще-то есть масса workflow, где rebase особо не используется.

если кодить не ~ хеллоу ворлд, то таких workflow нет. Конечно, можно не пользоваться ребейзом и делать как-то иначе, но это от неопытности разработчика и/или из-за ограничения используемой VCS.

>  Самое простое - если задача делится на много простых фич/тасков, каждая живёт в своей ветке и merge --squash когда готова

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

Если ребейзом не пользоваться, то реп сразу же становится помойкой из комитов с коментами типа "fix", а если часто налегать squash, то в сборище беспощадных и бессмысленных мегакоммитов. В общем, во всех вариантах без ребейза реп превращается в тупой инкрементальный бэкап.

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

59. "Выпуск распределенной системы управления исходными текстами ..."  +/
Сообщение от fleonisemail (?), 30-Июл-15, 00:32 
Там есть приватные ветки. Они только на один репозиторий. Их тоже можно запулить в другой, только нужно указать спкцом, что ты этого хочешь.

По мне, так если знаешь sql, то в fossil rebase не нужен: delete все знаменит. А можно просто голову создать, потом закрыть и все, они останутся в истории, будут выглядеть как ветка, только без имени

На fossil он сам и sqlite

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

71. "Выпуск распределенной системы управления исходными текстами ..."  +/
Сообщение от all_glory_to_the_hypnotoad (ok), 30-Июл-15, 17:32 
> По мне, так если знаешь sql, то в fossil rebase не нужен: delete все знаменит.

Интересно, это как? Вот, есть, например, два последовательных коммита A и B над одним куском кода. Комит B перемещает редактируемый кусок кода в другой файл + делает некоторые изменения. Хочу ребейзом поменять их местами. git rebase умеет разруливать такие ситуации, в разумных пределах, без конфликтов (см. three-way merge, patch commutation и т.п.), а через тупой delete + add такого ну никак не сделаешь.

По-моему, ты совсем упоролся. Даже если знать хорошо SQL, то всю эту детерминированную машинерию скорее всего не сделаешь никогда. Ты бы ещё посоветовал сразу всё хранить в файликах и руками с ними работать. Ну если, конечно, хорошо знаешь bash, sed и awk.

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

61. "Выпуск распределенной системы управления исходными текстами ..."  +/
Сообщение от Crazy Alex (ok), 30-Июл-15, 01:31 
Разумеется, в основном последовательное деление - но какая разница? Главное, чтобы фичи были достаточно небольшими, не первращаясь в монстров при squash - ну так оно при скраме так или иначе полезно. И зачем в каждой ветке пилить несколько задач? Одна задача - одна ветка - один коммит в дев-ветке в итоге. Я, собственно, так работал в весьма немаленьком проекте (скажем так - миллионы строк). Сам, правда, rebase гонял в хвост и в гриву - но ровно потому, что имею привычку коммитить на любой чих с абсолютно бессмысленными мессаджами - просто для своего удобства, как замена stash, а уже потом выгребать из этого нужное. Коллеги без него обходились и обходятся.
Ответить | Правка | К родителю #58 | Наверх | Cообщить модератору

64. "Выпуск распределенной системы управления исходными..."  +/
Сообщение от arisu (ok), 30-Июл-15, 08:54 
> имею привычку коммитить на любой чих с абсолютно бессмысленными мессаджами -
> просто для своего удобства, как замена stash, а уже потом выгребать
> из этого нужное.

о, брателло! а то я думал, я один такой.

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

75. "Выпуск распределенной системы управления исходными текстами ..."  +/
Сообщение от all_glory_to_the_hypnotoad (ok), 30-Июл-15, 18:40 
> Одна задача - одна ветка - один коммит в дев-ветке в итоге .. Я, собственно, так работал в весьма немаленьком проекте (скажем так - миллионы строк)

Такое в разработке проекта на несколько М SLOCов бывает почти никогда, одна фича крайне редко состоит из одной задачи. Типичный цикл разработки содержит следующие типы мелких задач: рефакторинг уже имеющегося кода (в проектах хотя бы от 10К SLOC без этого уже никак), реализация какой-либо отсутствующей функциональности (в библиотеках, в ядре сервиса и т.п.) и, собственно, реализация самой фичи. Это уже минимум три задачи в каких-то простых случаях, причём все они пилятся хронологически одновременно, но логически последовательно.

> Коллеги без него обходились и обходятся.

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

Вы все поступаете неправильно: твои коллеги, видимо, засирают реп мусорными мелкими бессмысленными коммитами, а ты засираешь мегапатчами (да, я не верю что тебе приходится действительно пилить мало кода для фичи). В итоге ваш реп почти бесполезен в плане истории разработки, ибо...

* нельзя легко понять на чём именно что-то сломалось, т.к. локализация проблемы до гранулярности целой фичи совсем не прикольна, а до мусорного коммита малоинформативна;

* в обоих случаях не понятно что разработчику пришлось интересного сделать во время реализации. Это затрудняет ревью работы и коммуникацию внутри команды и между;

* нельзя легко портировать часть работы в другие ветки;

* пользоваться blame'ом становится трудно, из-за всего выше написанного.

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

56. "Выпуск распределенной системы управления исходными текстами ..."  +/
Сообщение от Crazy Alex (ok), 29-Июл-15, 23:01 
Я имею в виду, что гит всё равно знать приходится. А когда его знаешь уже нет необходимости в "чём-то попроще" - он,  в общем, не сложен, просто кривая освоения крутовата.

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

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

60. "Выпуск распределенной системы управления исходными текстами ..."  +/
Сообщение от fleonisemail (?), 30-Июл-15, 00:46 
Так вот fossil и есть покрупнее. Например если над проектом работают четыре человека, то как пользователей держать? Я у себя на vps запустил сервер fossil сделал перенаправление на его порт с определённого адреса в ngnix и все, теперь, если я хочу новый репозиторий создать, с пользователям и всеми наворотами, то просто создаю там его файлик и все. Получается полноценный сайт проекта за три минуты (пока дизайн выберешь и я его немного кастомизирую иногда).

Или, например, маленький проект для офиса. Просто запускаешь сервер на своём пк и к тебе могут заходить по ip писать баги и вики - какие-нибудь пояснения...

А с доксигн - это уже настраивать надо... К тому же если написать очень много код не видно :-) меня это в нём раздражает. Маленькая функция, а доков больше чем кода...
Особенно если хочешь чтобы на двух языках :-)

Кстати, на мой взгляд, единственное что я бы хотел видеть ещё в fossil - интернационализация. Но, похоже, автор со мной не согласен, мол надо разработку вести только на одном языке, а не на пяти :-)

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

62. "Выпуск распределенной системы управления исходными текстами ..."  +/
Сообщение от Crazy Alex (ok), 30-Июл-15, 01:49 
Вот насчёт интеранционализации я полностью с автором фоссила согласен. Впрочем, я вообще люблю минимизировать количество сущностей (и поэтому предпочитаю не связываться с fossil, зная git). Если человек занимается IT - то английский он знать обречён, а раз так - нечего лишний раз раскладки дрёгать и пытаться тащить русскоязычные кальки с терминов.

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

Насчёт офиса - ок, но там непонятно, зачем к этим вики и трекеру VCS :-) Кроме того, для неподготовленного народу оно очень уж аскетичное - даже картинку не вставишь, если не ошибаюсь. Ну и всякие "просто поднимаешь на своём ПК" порождает в перспективе слишком много мороки - либо оно не поднялось когда надо, либо вырубил кто-то машину... Вещи общего пользования должны быть на местном сервере или, на худой конец, где-то на VPS или в облаке. Хотя, конечно, иногда народ копейки экономит - но я бы скорее таких послал.

Доксиген один хрен в серьёзном проекте настраивать надо - ну хотя бы ради того, чтобы код документировался и это каким-то инструментом проверялось. И там он удобен тем, что текстовая болтовня хорошо увязывается с кодом - ссылки и т. п. И я не имел в виду, что большие объёмы текста надо совать в исходники - делаешь отдельные файлы да ссылки на них в содержании. Мороки больше, чем с вики, но результат лучше. Это на чём-то объёмном заметно скорее, когда в голову весь код уже даже близко не помещается, и максимум, что можно объяснить новичку - общую архитектуру.

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

65. "Выпуск распределенной системы управления исходными..."  +1 +/
Сообщение от arisu (ok), 30-Июл-15, 09:01 
ну чего спорите‐то? фоссил — не гит, и не задумывался, как замена гита же. у фоссила есть зато уберфича, которой у гита нет: он весь состоит из одного бинаря, а репозиторий — из одной sqlite-базы. бывают ситуации, когда это может быть нужно.

а в остальном — dvcs как dvcs.

2fleonis: в гите тоже можно без проблем рулить низкоуровневым хранилищем — садись да делай свои замены commit, rebase и прочих, если хочется. в смысле — все «кирпичи», из которых высокоуровневые команды построены, спокойно доступны в командной строке.

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

67. "Выпуск распределенной системы управления исходными..."  –1 +/
Сообщение от fleonisemail (?), 30-Июл-15, 12:08 
> ну чего спорите‐то?

Да, чего-то я... Хватит opennet заси****
> фоссил — не гит, и не задумывался, как замена
> гита же. у фоссила есть зато уберфича, которой у гита нет:
> он весь состоит из одного бинаря, а репозиторий — из одной
> sqlite-базы. бывают ситуации, когда это может быть нужно.

Это кстати круто :-)

> 2fleonis: в гите тоже можно без проблем рулить низкоуровневым хранилищем — садись
> да делай свои замены commit, rebase и прочих, если хочется. в
> смысле — все «кирпичи», из которых высокоуровневые команды построены,
> спокойно доступны в командной строке.

Хм.. Я не вникал в содержимое каталога .git , но где-то читал что его лучше не трогать :-)

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

68. "Выпуск распределенной системы управления исходными..."  +1 +/
Сообщение от arisu (ok), 30-Июл-15, 12:12 
> Хм.. Я не вникал в содержимое каталога .git , но где-то читал
> что его лучше не трогать :-)

а его и не надо трогать, git имеет низкоуровневые команды для манипуляций с базой. по сути, .git/ — это такое key-value хранилище. как оно там внутри реализовано — не так уж важно, потому что команды для манипуляции ключами и значениями есть прямо в коробке. понимать, конечно, что и как гит хранит, всё ещё надо. сами же вещи типа git init, git commit и прочие как раз используют доступные низкоуровневые команды, а не лазят в хранилище руками.

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

66. "Выпуск распределенной системы управления исходными текстами ..."  –1 +/
Сообщение от fleonisemail (?), 30-Июл-15, 12:02 
> Вот насчёт интеранционализации я полностью с автором фоссила согласен.

Сам сначала хотел ему написать, потом подумал и не стал, действительно не нужно разработку вести на нескольких языках. Он кстати специально не запилил любое изменение истории. Можно только комнтарий подправить, но старая версия все равно будет доступна.

> А насчёт проектов - я верю, что бывают проекты "на один раз",
> но я видел только два варианта - либо есть один разработчик,
> либо какая-то организация/команда. В первом случае в трекере и пользователях смысла
> нет,

Есть: для себя :-) если нужно быстро сделать, то нормальные доки писать некогда да и лень.а вот вики - самое то, когда нужно будет вернуться что-то поправить, то можно быстро вспомнить.
> а во втором один хрен нужно поднимать инфраструктуру, в которой
> потом только проекты новые заводят. Тут фоссил как раз не очень,
> так как в нём все проекты получатся совершенно изолированными, в то
> время как тот же гитлаб или мантис позволит нормально держать взаимосвязи.

Какая взаимосвязь? Субрепы? Они есть, а вот такого колва народу как на гитхабе, конечно нет :-(


> Насчёт офиса - ок, но там непонятно, зачем к этим вики и
> трекеру VCS :-) Кроме того, для неподготовленного народу оно очень уж
> аскетичное - даже картинку не вставишь, если не ошибаюсь. Ну и

Ну.. Я сайт делал, там нужна была админка специфическая. Где  народу описать как пользоваться? Вот пригодилось :-)  а картинки можно вставлять.
Кстати, когда последний сайт делал, заказчик, чуть-чуть разбирался в программировании. Попросил посмотреть :-) я ему ссылку кинул, пользователя создал, показал файла с переменными lesscss :-) он некоторые цвета сам подправил на сайте :-)
> всякие "просто поднимаешь на своём ПК" порождает в перспективе слишком много
> мороки - либо оно не поднялось когда надо, либо вырубил кто-то
> машину... Вещи общего пользования должны быть на местном сервере или, на
> худой конец, где-то на VPS или в облаке.

Ага, я один раз в облаке настроил, теперь там даже маленькие проекты делаю.
Ну, в офисе, как правило, есть свой такой сервер... Он у нас музыку раздаёт :-) там чувак сидит, который ее качает :-) ну и если чего по ssh можно зайти :-)

> Доксиген один хрен в серьёзном проекте настраивать надо - ну хотя бы
> ради того, чтобы код документировался и это каким-то инструментом проверялось. И
> там он удобен тем, что текстовая болтовня хорошо увязывается с кодом
> - ссылки и т. п. И я не имел в виду,
> что большие объёмы текста надо совать в исходники - делаешь отдельные
> файлы да ссылки на них в содержании. Мороки больше, чем с
> вики, но результат лучше. Это на чём-то объёмном заметно скорее, когда
> в голову весь код уже даже близко не помещается, и максимум,
> что можно объяснить новичку - общую архитектуру.

Да, кстати, надо по лучше присмотреться к ссылкам. Да, там удобно диаграммы.
У меня есть обычно файлик, или, если на fossil - wiki, где я пишу цели проекта и roadmap. Мне хватает обычного перечисления, так что не использую специальную систему. Такое в доксиген делать наверное не удобно: если откатишь дерево, то и этот файл тоже уйдет. Я когда с таким файлом работаю и мне нужно полазить по истории, открыватю его,а потом лазию :-)

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

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

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




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

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