Представитель Минцифры пояснил СМИ, что принятые Госдумой законопроекты, включая поправки в Уголовный кодекс РФ, не содержат прямого запрета на участие российских разработчиков в международных проектах СПО (свободное программное обеспечение).
Как привести в порядок историю ваших коммитов в Git
Инструкция как писать стандартизированные комментарии к коммитам (git commit)
Я полагаю вы уже знакомы с git. Чтобы не привело вас сюда, добро пожаловать и надеюсь найдете все, что вам необходимо знать.
Upsource: новая платформа от JetBrains
Как знают многие пользователи наших продуктов, JetBrains разработала и поддерживает гибкую расширяемую платформу IntelliJ, служащую фундаментом для всех наших интегрированных сред разработки, включая IntelliJ IDEA, PhpStorm, WebStorm, RubyMine, PyCharm и AppCode, а также для Android Studio от Google. Именно IntelliJ обеспечивает всю основную функциональность этих IDE; остальные особенности и «примочки», придающие индивидуальность каждой из IDE, — не более чем набор плагинов к платформе.
Несмотря на успешность этой модели, мы поняли, что платформу IntelliJ необходимо развивать. Поэтому вот уже более года мы ведем работу над внутренним проектом по ее модуляризации, с целью предоставления ее возможностей в «бескорпусном» исполнении. Это должно открыть путь для целого ряда новых применений, одним из которых является Upsource — тоже платформа, но серверная.
Графики вклада с учётом часовых зон
При подсчёте коммитов мы станем учитывать информацию о часовой зоне, присутствующую в метке времени из этих коммитов. Создаваемые во Всемирной Паутине проблемы и запросы на слияние станут использовать часовую зону вашего браузера. Если вы пользуетесь API, то также сможете указать свою часовую зону.
Испортить вашу нынешнюю полосу продуктивной работы мы не хотим, так что учёт часовых зон начнётся только для вклада, совершённого после понедельника 10 марта 2014 года (Temps Universel Coordonné).
Желаем весело провести время (вашей зоны)!
Рисуем коммитами на Гитхабе
[Пятничное]
Всегда хотел сделать свой график активности пользовательского профиля на Гитхабе. Например, выкладывать коммиты каждый день так, чтобы через год этот график превратился в какую-нибудь картинку, пусть и с ограничением по размерам в 52×7 квадратиков-пикселей (52 недели в году × 7 дней в неделе).
Проблема была в том, что даже при полной автоматизации процесса всё равно ждать целый год. А тут я почитал документацию Гитхаба и понял, что задача решается проще и более того — за один раз. А значит, надо делать не откладывая. Обычно названия проектам придумывать сложно, но тут оно пришло само. Кай рисовал льдинками, а Герда рисует коммитами!
Контролируем коммиты в SVN под Windows
Clean Git History, или Тёмная сторона VCS
Всем привет! Меня зовут Маша, и я Golang Backend Developer в компании Ozon. В этой статье я хотела бы поговорить о теме, так или иначе объединяющую все сферы нашего любимого мира IT. А именно — VCS Git.
Без системы контроля версий сейчас невозможно представить ни один проект. Это оплот любой кодовой базы, это мощнейший инструмент, с помощью которого эту базу можно изменять и отслеживать. Однако нередко чистотой истории изменений пренебрегают, полагаясь на старое доброе «И так сойдёт!», абсолютно игнорируя при этом сложность понимания и поддержки такой истории в будущем.
В этой статье я рассмотрю причины такого подхода, его недостатки, а также способы решения проблем, к которым он приводит. Я выделила несколько основных принципов, которые помогут прийти к чистой истории изменений проекта. Давайте же вместе исследуем эту темную, неизведанную сторону Git, которая нам в этом поможет.
Настраиваем Git server hook в GitLab On-Premise для защиты кода от вмешательства злоумышленников
Как убедиться в том, что коммиты в продуктовых репозиториях «настоящие»? То есть отправлены тем человеком, имя которого указано в коммите. Мы с коллегами из команды DevOps задались целью построить процесс, который будет давать нам полностью прозрачную картинку, и у нас это получилось. Эта статья довольно практическая, и решение, о котором я, Рамазан Ибрагимов, вместе с моим коллегой Александром Паздниковым пишу в этом материале, — лишь часть большой схемы по обеспечению безопасности. В качестве хранилища кода будем опираться на инстанс GitLab On-Premise внутри компании — вендора ПО.
Git rebase «по кнопке»
Когда мы говорим об автоматизации процесса разработки и тестирования, мы подразумеваем, что это очень масштабное действие, и это действительно так. А если разложить его по частям, то станут видны отдельные фрагменты всей картины ― такая фрагментация процесса очень важна в двух случаях:
- действия выполняются вручную, что требует сосредоточенности и аккуратности;
- жёсткие временные рамки.
В нашем случае налицо лимит по времени: релизы формируются, тестируются и выкатываются на продакшн-сервер два раза в день. При ограниченных сроках в жизненном цикле релиза процесс удаления (отката) из релизной ветки задачи, содержащей ошибку, имеет важное значение. Для её выполнения мы используем git rebase. Так как git rebase ― это полностью ручная операция, которая требует внимательности и скрупулезности и занимает продолжительное время, мы автоматизировали процесс удаления задачи из релизной ветки.
JetBrains Upsource EAP: продукт для просмотра репозиториев и code review, с которым теперь можно поиграться
Меньше года назад мы рассказывали о разработке нашей новой веб-платформы для просмотра исходного кода.
За прошедшее время Upsource претерпел массу мелких и крупных изменений и стал, в частности, инструментом для code review. На днях же мы открыли программу EAP (Early Access Program), и предрелизные билды Upsource теперь доступны для всех желающих. На момент написания статьи число желающих стремительно приближается к тысяче, и не исключено, что вам тоже будет интересно лично познакомиться с нашим новым продуктом.
Срез личного опыта: разработка, пулл реквесты, коммиты, софт скиллы
Привет, Хабрахабр! В этой статье поделюсь своим мнением про разработку програмного обеспечения. В информационных технологиях я не так давно, но у меня сложилось стойкое отношение к разработке, начиная от названий коммитов и заканчивая прояснением требований к поставленной задаче.
История потерянного коммита
Мне показали доказательства: вывод двух команд. Первая из них —
git show deadbeef
— показывала изменения файла, назовём его Page.php. В него добавились метод canBeEdited и его использование.
А в выводе второй команды —
git log -p Page.php
— коммита deadbeef не было. Да и в текущей версии файла Page.php не было метода canBeEdited.
Не найдя решения быстро, мы сделали ещё один патч в мастер, разложили изменения — и я решил, что вернусь к проблеме на свежую голову.
Автоматическая генерация сообщений к коммитам
О проекте
В области обработки языков программирования есть много интересных задач, автоматическое решение которых может пригодиться для создания удобных инструментов для разработчиков.
Исходный код программ во многом отличается от текстов на естественном языке, но его тоже можно воспринимать как последовательность токенов и использовать аналогичные методы. Например, в области обработки естественного языка активно применяется языковая модель BERT. Процесс её обучения предполагает две стадии: предобучение на большом наборе неразмеченных данных и дообучение под конкретные задачи на более маленьких размеченных датасетах. Такой подход позволяет многие задачи решать с очень хорошим качеством.
Недавние работы (1, 2, 3) показали, что если обучить модель BERT на большом датасете программного кода, то она и в этой области неплохо справляется с несколькими задачами (среди них, например, локализация и устранение неправильно использованных переменных и генерация комментариев к методам).
Проект направлен на исследование применения BERT для других задач, связанных с исходным кодом. В частности, мы сосредоточились на задаче автоматической генерации сообщений к коммитам.
Коммиты — это снимки, а не различия
Git имеет репутацию запутывающего инструмента. Пользователи натыкаются на терминологию и формулировки, которые вводят в заблуждение. Это более всего проявляется в "перезаписывающих" историю командах, таких как git cherry-pick или git rebase. По моему опыту, первопричина путаницы — интерпретация коммитов как различий, которые можно перетасовать. Однако коммиты — это не различия, а снимки! Я считаю, что Git станет понятным, если поднять занавес и посмотреть, как он хранит данные репозитория. Изучив модель хранения данных мы посмотрим, как новый взгляд помогает понять команды, такие как git cherry-pick и git rebase.