The OpenNET Project / Index page

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

05.01.2016 10:26  Выпуск распределенной системы управления исходными текстами Git 2.7.0

После трёх месяцев разработки представлен релиз распределенной системы управления исходными текстами Git 2.7.0. Git является одной из самых популярных, надёжных и высокопроизводительных систем управления версиями, предоставляющей гибкие средства нелинейной разработки, базирующиеся на ответвлении и слиянии веток. Для обеспечения целостности истории и устойчивости к изменениям задним числом используются неявное хеширование всей предыдущей истории в каждом коммите, также возможно удостоверение цифровыми подписями разработчиков отдельных тегов и коммитов. Из проектов, разрабатываемых с использованием Git, можно отметить ядро Linux, Android, LibreOffice, Systemd, X.Org, Wayland, Mesa, Gstreamer, Wine, Debian, DragonFly BSD, Perl, Eclipse, GNOME, KDE, Qt, Ruby on Rails, PostgreSQL, VideoLAN, PHP, Xen, Minix.

По сравнению с прошлым выпуском в новую версию принято 539 изменений, подготовленные при участии 81 разработчика, из которых 26 впервые приняли своё участие в разработке. Основные изменения:

  • Реализация нейтральной схемы заданий начальных и конечных версий в "git bisect". Изначально, так как "git bisect" создавался для выявления ревизии, в которой возникло регрессивное изменение, заведомо рабочая версия помечалась ключём "good", а версия в которой проявляется проблема - "bad". Подобное наименование вызывает замешательство при использовании "git bisect" для поиска коммита вызвавшего изменения, не связанные с ошибками, например, для выявления ревизии в которой появилась новая функциональность или была исправлена ошибка.

    Для того чтобы исключить двойное трактование в git 2.7 представлена новая схема пометки начальной и конечной точек для рецензирования: конечная точка теперь может помечаться ключом "old" (вместо good), а начальная - "new" (вместо bad). Кроме того, имена ключей можно переопределить при помощи опций "--term-old" и "--term-new". Например, при поиске момента появления проблемы с производительностью, замеченной в ветке master, но отсутствующей в v4.2, можно выполнить:

    
       git bisect start --term-old=fast --term-new=slow
       $ git bisect fast v4.2
       $ git bisect slow master
    
  • В "git push" добавлена возможность определения базовой конфигурации опции "--recurse-submodules". Например, чтобы каждый раз не запускать "git push --recurse-submodules=on-demand origin" можно внести изменения в конфигурацию по умолчанию - "git config push.recurseSubmodules on-demand", после чего выполнять "git push origin" не заботясь о субмодулях. Для временного отключения сохранённых параметров в командной строке можно указать "--no-recurse-submodules";
  • Расширение возможностей команды "git worktree", позволяющей создать несколько рабочих копий, привязанных к одному локальному Git-репозиторию. В новом выпуске представлена новая команда "git worktree list", позволяющая просмотреть рабочие копии текущего репозитория и доступные в них ветки. Появилась возможность одновременного создания разных сеансов "git bisect" для разных рабочих копий, созданных через "git worktree add". Добавлена поддержка клонирования из любой привязанной рабочей копии. Улучшена поддержка субмодулей для рабочих копий;
  • В "git p4", прослойку для помещения и извлечения изменений между Git и репозиториями Perforce, добавлена поддержка хранилища больших файлов LFS ("Git Large File Storage"). Новая возможность позволяет сохранять полученные из Perforce большие файлы (например, мультимедийные материалы) отдельно от основного Git-репозитория, чтобы избежать чрезмерного расходования дискового пространства;
  • Проведена унификация команд для вывода ссылок. В Git предлагается три разных способа просмотра списков ссылок: git branch для вывода веток, git tag для вывода тегов и git for-each-ref для вывода ссылок на произвольные объекты. Проблема в том, что каждая из этих команд имеет свои особенности и отличается на уровне опций. В Git 2.7 для всех из этих команд предложен единый набор базовых опций, параметров форматирования вывода и сортировки. Например, добавлены следующие общие опции:
    • --points-at object - вывод любых ссылок, связанных с указанным объектом;
    • --merged [commit] - вывод только тех ссылок, которые прикреплены к коммиту (по умолчанию HEAD);
    • --no-merged [commit]: - вывод только тех ссылок, которые не прикреплены к коммиту (по умолчанию HEAD);
    • --contains [commit]: - вывод только тех ссылок, которые включают заданных коммит (по умолчанию HEAD).
  • В "git stash show" добавлена поддержка параметров конфигурацииstash.showPatch и stash.showDiff, определяющих правила показа записей по умолчанию;
  • В "git blame" обеспечена корректная работа с опцией "--first-parent" и при одновременном использовании опций "--reverse" и "--first-parent";
  • В gitk улучшена работа на системах с экранами высокого разрешения (highDPI);
  • Устранены уязвимости: целочисленное переполнение в коде оценки изменений (diff) и неограниченное рекурсивное извлечение субмодулей. Пользователям рекомендуется обновить Git до версий Git 2.3.10, 2.4.10, 2.5.4, 2.6.1 или 2.7.0.


  1. Главная ссылка к новости (https://lkml.org/lkml/2016/1/4...)
  2. OpenNews: В Git устранено несколько уязвимостей
  3. OpenNews: Выпуск распределенной системы управления исходными текстами Git 2.6.0
  4. OpenNews: Выпуск распределенной системы управления исходными текстами Git 2.5.0
  5. OpenNews: В Launchpad появилась экспериментальная поддержка Git
  6. OpenNews: Выпуск GitLab 8.3 и подкаст с основателем проекта
Лицензия: CC-BY
Тип: Программы
Ключевые слова: git
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, Аноним, 10:37, 05/01/2016 [ответить] [смотреть все]
  • –8 +/
    С этим git bisect old new ещё больше запутали, только привык к bad good Лучше б... весь текст скрыт [показать]
     
     
  • 2.19, SysA, 13:58, 05/01/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    Перечитай еще раз статью, там есть имена ключей можно переопределить при по... весь текст скрыт [показать] [показать ветку]
     
  • 1.3, Какаянахренразница, 10:59, 05/01/2016 [ответить] [смотреть все]  
  • +7 +/
    > Из проектов, разрабатываемых с использованием Git, можно отметить ядро Linux,
    > Android, LibreOffice, Systemd, X.Org, Wayland, Mesa, Gstreamer, Wine, Debian,
    > DragonFly BSD, Perl, Eclipse, GNOME, KDE, Qt, Ruby on Rails, PostgreSQL,
    > VideoLAN, PHP, Xen, Minix.

    Добавьте Python[1]. И ещё: уберите Minix. При всём уважении к Танненбауму, Миникс можно закапывать.

    [1] http://www.opennet.ru/opennews/art.shtml?num=43619

     
     
  • 2.10, Ph0zzy, 11:57, 05/01/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    закапывать миникс?
     
     
  • 3.11, Joe, 12:34, 05/01/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    Да, также как и все учебные материалы и книги, без обид но они все уже устарели ... весь текст скрыт [показать]
     
     
  • 4.12, Какаянахренразница, 13:02, 05/01/2016 [^] [ответить] [смотреть все]  
  • +8 +/
    > Да, также как и все учебные материалы и книги, без обид но
    > они все уже устарели)))))))))

    Книги по алхимии годятся в качестве учебных? А ведь когда-то они считались непреложной истиной.

    В качестве учебного пособия Миникс, наверное, ещё можно использовать. И в качестве музейного экспоната тоже. Но в качестве примера активного опенсорс проекта, использующего git, Миникс совсем не фонтан. Без обид.

     
  • 3.13, Какаянахренразница, 13:03, 05/01/2016 [^] [ответить] [смотреть все]  
  • +7 +/
    > закапывать миникс?

    Не хотите закапывать -- засушИте и отнесите в антикварную лавку.

     
  • 2.16, Igor, 13:35, 05/01/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Minix3 вполне жива!
     
  • 2.35, Stax, 15:47, 06/01/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Тут список разрабатываемых Python разрабатывается в hg, насчет гитхаба пока т... весь текст скрыт [показать] [показать ветку]
     
  • 1.21, myhand, 00:16, 06/01/2016 [ответить] [смотреть все]  
  • –3 +/
    Мне одному кажется как эта штука обрастает рюшечками, которые дублируют друг дру... весь текст скрыт [показать]
     
     
  • 2.22, Ytch, 01:31, 06/01/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Ну например, как пишут сами разработчики https git-scm com docs git-worktree ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.24, myhand, 02:08, 06/01/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    Ниче не понял ц Как именно все должно быть поломано, чтобы git stash не сраб... весь текст скрыт [показать]
     
     
  • 4.26, Ytch, 03:15, 06/01/2016 [^] [ответить] [смотреть все]  
  • +/
    Откуда мне знать Так пишут сами разработчики - я лишь привел цитату их же с... весь текст скрыт [показать]
     
     
  • 5.28, myhand, 03:57, 06/01/2016 [^] [ответить] [смотреть все]  
  • +/
    Пишут так, что кондратий скоро хватит при прочтении Ну, выше была тоже она, род... весь текст скрыт [показать]
     
     
  • 6.29, Ytch, 04:34, 06/01/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    Вообще это похоже немного на трогательную заботу о тех у кого опыт с другими VCS... весь текст скрыт [показать]
     
  • 2.23, anonymous, 01:53, 06/01/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Но ведь stash это совсем другое С worktree можно сделать checkout какого-нибудь... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.25, Ytch, 03:01, 06/01/2016 [^] [ответить] [смотреть все]  
  • +/
    Например немного фантазирую , может иногда оказаться удобным чтоб визуально с... весь текст скрыт [показать]
     
  • 3.27, myhand, 03:47, 06/01/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    git stash спасаем git checkout -b worktree_01 commit достаем ы ... весь текст скрыт [показать]
     
     
  • 4.36, anon007, 16:49, 06/01/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    Что ы и git stash и git checkout перезапишут вам рабочую директорию P S тут... весь текст скрыт [показать]
     
     
  • 5.38, myhand, 17:38, 06/01/2016 [^] [ответить] [смотреть все]  
  • +/
    git stash - _сохранит_ текущую рабочую директорию Тут просто кто-то не совсем ч... весь текст скрыт [показать]
     
  • 3.31, Andrey Mitrofanov, 10:31, 06/01/2016 [^] [ответить] [смотреть все]  
  • +/
    Не, это облегченный локальный git slone --share наверное я ж тоже не понимаю ... весь текст скрыт [показать]
     
     
  • 4.32, Andrey Mitrofanov, 11:48, 06/01/2016 [^] [ответить] [смотреть все]  
  • +/
    Полистал https duckduckgo com q why git worktrees are needed пару ответов на ... весь текст скрыт [показать]
     
     
  • 5.33, myhand, 14:32, 06/01/2016 [^] [ответить] [смотреть все]  
  • +/
    Заметьте, не я это предложил ... весь текст скрыт [показать]
     
     
  • 6.34, Andrey Mitrofanov, 15:38, 06/01/2016 [^] [ответить] [смотреть все]  
  • +/
    Не осилил, или я опять невнятен Попробую ещё раз возможно, git-worktree - эт... весь текст скрыт [показать]
     
     
  • 7.37, anon007, 17:12, 06/01/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    А мне кажется - что git-worktree это расширение возможностей веток типа па... весь текст скрыт [показать]
     
     
  • 8.42, Аноним, 15:54, 11/01/2016 [^] [ответить] [смотреть все]  
  • +/
    Верно, я с самого начала так git-worktree и воспринял Мне регулярно приходится ... весь текст скрыт [показать]
     
     
  • 9.43, Andrey Mitrofanov, 17:21, 11/01/2016 [^] [ответить] [смотреть все]  
  • +/
    Вкус фломастеров Кто мы такие, чтобы развевать ваши фантазии Впрочем Ветки,... весь текст скрыт [показать]
     
  • 4.41, Аноним, 15:51, 11/01/2016 [^] [ответить] [смотреть все]  
  • +/
    Это сообщение отформатировано настолько безумно, что я ничего не понял.
     
     
  • 5.44, Andrey Mitrofanov, 17:22, 11/01/2016 [^] [ответить] [смотреть все]  
  • +/
    А промолчал бы -- сошёл за умного ... весь текст скрыт [показать]
     
  • 1.39, Аноним, 04:42, 08/01/2016 [ответить] [смотреть все]  
  • –2 +/
    git --version git version 1 9 1 ... весь текст скрыт [показать]
     
     
  • 2.40, myhand, 11:51, 08/01/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    А некоторые племена на Земле используют каменные топоры ... весь текст скрыт [показать] [показать ветку]
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor TopList