eddy_em: (Костерок)
[personal profile] eddy_em
Вот что за ненормальные придумали git? Почему простое изменение файла по умолчанию не отражается в git commit? Обязательно нужно флаг -a писать! Задолбался уже лишние коммиты делать!
А делал я коммит опять в Sbig340. Теперь туда добавлена полная "демонизация" и клиент-серверное взаимодействие: сервер высылает клиенту по запросу шапку вида "параметр=значение", где "параметры" — все необходимое для сохранения изображения, в том числе и оно само ("imdata=...").
Решил, что пока не добью, домой не пойду. И полезли всякие гадости: то malloc где-нибудь забуду, то, наоборот, free лишнее, то проверку не воткну...
Теперь работает. Сервер получает изображения, клиент их собирает и сохраняет в условленный файл. Экспозиция пока управляется только сервером. Но можно добавить при желании и управление клиентом.

В общем, минимум по обслуге камеры выполнен почти полностью (еще нужно запустить кубитрак, на котором будет крутиться сервер). На подходе болтвудовский датчик. Ну, а с завтрашнего дня надо вплотную заняться лекциями, которые мне уже скоро читать аспирантам, а их нет. Думал IRBIS'ом заняться (течи поискать), но это уж точно некогда.

Date: 2017-02-09 12:28 am (UTC)
From: [identity profile] dimas.livejournal.com
хм-с, что-то ты делаешь не так наверное?

git status тебе показывает измененные файлы, в git commit перечисляешь файлы что хочешь закоммитить, или -a для всех.

не хочешь делать "лишние" коммиты - можешь ресетнуть и перекоммитить, можешь сделать ребейз и сделать из нескольких коммитов один ...

Date: 2017-02-09 05:21 am (UTC)
From: [identity profile] eddy-em.livejournal.com
git status обычно пишет: такие-то файлы добавлены, а такие-то изменены (но в коммит не пойдут).
> в git commit перечисляешь файлы что хочешь закоммитить
Это полный дебилизм! Mercurial в этом плане значительно круче гита, т.к. не требует вручную добавлять уже отслеживаемые файлы к коммиту! А еще в mercurial есть hg addremove, гиту до этого как раком до Пекина!

В общем, git писан наркоманами. Но, к сожалению, гитхаб с гитлабом mercurial не понимают.

> можешь ресетнуть
Лучше вглубь этой наркоманской поделки не соваться. У меня в гите набор как у Эллочки-людоедки: status, diff, commit, push и pull. Т.е. создаю на гитхабе репу; делаю pull; наполняю файлами; делаю commit && push; клонирую на сосфорж, битбакет и гитлаб; а потом остается лишь каждый раз, как поменял файлы, делать commit и push.
Вот о том, что git — идиотский, и требует писать -a, я постоянно забываю!
Edited Date: 2017-02-09 05:22 am (UTC)

Date: 2017-02-09 08:52 am (UTC)
From: [identity profile] qvz.livejournal.com
Согласен. Логика, построенная на отрицании - неестественна для нормальных человеков.

Date: 2017-02-09 10:12 am (UTC)
From: [identity profile] dimas.livejournal.com
ну чего ж ты так мучаешься тогда, если тебя алиасы не спасают ... пользуйся битбакетом вместо гитхаба тогда, там меркуриал вроде пока не выпилили и бесплатные аккаунты есть ...

хотя ... да меркуриал же на ацком питоне писан! как ты можешь им пользоваться? :)))

ужас какой, да ты, похоже из луддитов, что инструкции больше полустранички не читают :) используешь супертул только для забивания гвоздей и жалуешься что неудобно :) у тебя даже бранчей нет? ужос-ужос-ужос ...

Date: 2017-02-09 11:57 am (UTC)
From: [identity profile] eddy-em.livejournal.com
На битбакете у меня тоже зеркало есть. Но т.к. и у гитлаба, и у битбакета какие-то жуткие интерфейсы, базу создаю на гитхабе.
Раньше я базу создавал на сосфорже в mercurial, а на гитхабе в git, в итоге в проектах и .git, и .hg директории...

> да меркуриал же на ацком питоне писан! как ты можешь им пользоваться?
С portage та же беда. Но, увы, зачем-то его не на кошерном ЯП писали, а на этом убожище.

> у тебя даже бранчей нет?
Я без понятия, что это. И мне это нафиг не надо.

Я вообще VCS использую только для одной цели — хранения исходников. Как зеркала дропбокса/гуглодрайва/яндодиска.

Date: 2017-02-09 12:01 pm (UTC)
From: [identity profile] dimas.livejournal.com
жудь :)

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

жудь. т.е. ты всегда сразу хреначишь в мастер? а если что-то сломалось? ждать пока починишь?

жудь. так может на дропбокс и класть с вандрайвом, мыломру и прочими боксами? :)

Date: 2017-02-09 12:18 pm (UTC)
From: [identity profile] eddy-em.livejournal.com
> ты всегда сразу хреначишь в мастер?
Естественно!

> а если что-то сломалось? ждать пока починишь?
Будто бы это кроме меня кому-то нужно.

Date: 2017-02-09 01:14 pm (UTC)
From: [identity profile] dimas.livejournal.com
Жудь :)

Ну а сам ты разве не смотришь зачем внес то или иное изменение?

Date: 2017-02-09 01:16 pm (UTC)
From: [identity profile] eddy-em.livejournal.com
В смысле? Заметил глюк — исправил — сделал коммит с соответствующим комментарием. Или: нужна фича — добавил — …
История изменений мне как-то неинтересна. Интересен лишь актуальный код.

А еще я заметил, что мои сниппеты, которые я везде использую, тоже постепенно совершенствуются. Но, блин, как их синхронизировать? Хоть бери, и пиши библиотеку!

Date: 2017-02-09 01:25 pm (UTC)
From: [identity profile] dimas.livejournal.com
В смысле вспомнить зачем то или иное изменение внесено, чтобы не исправить обратно, например :)

Сниппеты для редактора? Так точно так же кладется в git и все :)

Date: 2017-02-09 01:30 pm (UTC)
From: [identity profile] eddy-em.livejournal.com
> чтобы не исправить обратно
Для этого существуют комментарии внутри кода.

> Сниппеты для редактора?
Сниппеты кода. Просто если глянешь на мой гитхаб, то всякие usefull_macros.[ch], parseargs.[ch] и т.п. чуть ли не в половине есть. И почти везде они разные. ХЗ, как синхронизовать изменения без упаковки этого в отдельную библиотеку. Так-то они у меня тоже в гите лежат.

Date: 2017-02-09 01:31 pm (UTC)
From: [identity profile] dimas.livejournal.com
комментарии внутри кода тебе не покажут патчет целиком

ну я и говорю. так делаешь отдельный реп гитовский и цепляешь везде сабмодулем.

Date: 2017-02-09 01:33 pm (UTC)
From: [identity profile] eddy-em.livejournal.com
> цепляешь везде сабмодулем
Не, это совершенно не-KISS получается.

Date: 2017-02-09 01:47 pm (UTC)
From: [identity profile] dimas.livejournal.com
чем это не KISS то? как раз просто и в одном экземпляре, а не размножается по количеству проектов ...

у меня еще и .local.vimrc вовсю используются, потому как могут быть различия для разных проектов, а так же для разных версий того же питона ...

Date: 2017-02-09 01:56 pm (UTC)
From: [identity profile] eddy-em.livejournal.com
Инклюдить непонятно как. Опять же — ненужную документацию читать…
С другой стороны, включение одного и того же кода в разные вещи может в конце-конце привести к тому, что большая часть их перестанет собираться после очередного рефакторинга или модернизации включаемых частей.

Date: 2017-02-09 02:32 pm (UTC)
From: [identity profile] dimas.livejournal.com
всем понятно, ему непонятно :) man git submodule ;)

а вот именно чтобы не перестало сразу все пересобираться (а зачем собирать сниппеты, кстати?) и нужно хотя бы две ветки - продакшен и дев.

Date: 2017-02-09 02:35 pm (UTC)
From: [identity profile] eddy-em.livejournal.com
tl;dr

> а зачем собирать сниппеты, кстати?
Сами сниппеты — незачем, а вот все, что их использует — да.

> и нужно хотя бы две ветки - продакшен и дев\
И будет у меня везде ветка "продакшн" идеально пустой ☺

Date: 2017-02-09 02:48 pm (UTC)
From: [identity profile] dimas.livejournal.com
> tl;dr

вот это надо расшифровать :)

а у тебя каждый раз написанный код по сниппетам переделывается что ли?

продакшен ветка не может быть пустой, она всегда есть и рабочая.

Date: 2017-02-09 02:53 pm (UTC)
From: [identity profile] eddy-em.livejournal.com
В код обычно много из сниппетов берется, а кое-какие файлы (тот же разбор параметров командной строки или полезные функции/макросы) тащатся целиком.
Если зависимостей много, то я сразу делаю на cmake, если мало — ленюсь, и копирую из сниппетов Makefile (правда, иной раз бывает так, что потом приходится это на cmake переделывать).

Ладно. Изучать досконально git (дальше команд push/pull, stat/diff и commit) я не собираюсь, равно как и любую другую VCS.
Про mercurial же я вспомнил потому, что там была нормальная политика: все, что не запрещено, разрешено. Т.е. коммит охватывал абсолютно все изменения в отслеживаемых файлах.

Date: 2017-02-09 03:15 pm (UTC)
From: [identity profile] dimas.livejournal.com
ужОс, сплошное кое-какерство :)

так сделай себе алиас или обертку, и забывай про -a дальше :)

Date: 2017-02-09 10:36 am (UTC)
From: [personal profile] ex0_planet
Потому что я могу захотеть добавить в коммит меньше чем целый файл. Например.

Date: 2017-02-09 11:54 am (UTC)
From: [identity profile] eddy-em.livejournal.com
Это как? Как можно в коммит добавить часть изменения?

Date: 2017-02-09 11:57 am (UTC)
From: [personal profile] ex0_planet
add -p, добавляет один (или более) hunk'ов из патча.

Date: 2017-02-09 01:52 pm (UTC)
From: [identity profile] dimas.livejournal.com
кстати удобная штука, я только через раз про неё забываю и коммичу частями :)

October 2025

S M T W T F S
   1234
567 89 1011
121314 15161718
19202122232425
2627 28293031 

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 24th, 2026 09:17 pm
Powered by Dreamwidth Studios