top
logo


Релиз распределенной системы управления исходными текстами Git 1.9.0 PDF Печать E-mail
17.02.14 10:47

Доступен релиз распределенной системы управления исходными текстами Git 1.9.0. Скачок в нумерации версии связан с внесением изменений, нарушающих обратную совместимость. Более существенные нарушения совместимости, связанные с изменением поведения команд "git push" и "git add", отложены до выпуска Git 2.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.

Изменения в Git 1.9.0, влияющие на обратную совместимость:

  • Аргументы "$cmd $args" в команде "git submodule foreach $cmd $args", используемые по аналогии с указанием подобных аргументов в ssh, теперь передаются напрямую без выполнения через командный интерпретатор, что позволяет избежать непредсказуемого результата, если пользователь забудет экранировать данные в блоке $args;
  • Прекращена поддержка работающего в режиме только для чтения экспериментального формата несвязанных объектов (loose-object);
  • Изменено действие опции "--tags" в команде "git fetch", которая теперь приводит к извлечению не только тегов, но и данных, извлекаемых как при использовании команды без опции "--tags" (ранее при указании "--tags" извлекались только теги);
  • Расширен способ интерпретации аргумента $what в команде "git push $there $what", в ситуации когда, через двоеточие явно не определено, какая ссылка в репозитории $there должна быть обновлена;
  • Прекращена поддержка серии давно устаревших команд: repo-config, tar-tree, lost-found и peek-remote.

Среди других изменений в Git 1.9.0:

  • При использовании HTTP в качестве транспорта добавлена поддержка ответа "100 Continue" при выполнении HTTP GSS-Negotiate для того, чтобы избежать повторной пересылки больших объёмов данных;
  • Различные обновления в реализации "git p4", "git svn" и "gitk";
  • Разрешено контролируемое извлечение объектов из репозитория, клонированного в режиме shallow (клон без полной истории изменений, созданный с использованием опции "--depth");
  • Добавлена возможность переопределения обработчика команды lv через переменную окружения LV, по аналогии с переопределением less через LESS;
  • Использования опции "--prune" в команде "git fetch" теперь позволяет при извлечении удалённо отслеживаемой ветки 'frotz' осуществить предварительное удаление ранее извлечённой ветки 'frotz/nitfol' для высвобождения места;
  • Добавлена переменная конфигурации "diff.orderfile=file", выступающая аналогом опции "-Ofile" для команды "git diff";
  • Поддержка синтаксиса для исключения отдельных путей, например, "git log -- . ':!dir'" приведёт к обработке всего содержимого, кроме директории 'dir';
  • В процессе выполнения команды "git difftool" добавлено отображение общего числа файловых путей и сколько из них уже показано;
  • Команда "git push origin master", используемая для отправки текущей master-ветки для обновления внешней master-ветки в оригинальном репозитории, расширена возможностью указания идентичного метода маппинга ссылок, позволяющего определить какие из ссылок в оригинальном репозитории были обновлены на основании текущей master-ветки;
  • В "gitweb" добавлена возможность работы с иерархиями ссылок, отличных от refs/heads, когда используются дополнительные пространства имён веток, например, refs/changes/ в Gerrit;
  • В команды, подобные "git log", добавлена опция "--exclude=glob" для исключения при выводе истории изменений данных, соответствующих указанной маске, например, "git log --exclude='*/*' --branches".

Начиная с выпуска Git 2.0 будет изменено поведение команды "git push" по умолчанию. В ситуации когда при выполнении "git push" явно не указано что именно помещать в репозиторий в настоящее время используется семантика "matching", при которой для обновления выбираются все внешние ветки и теги с именами, совпадающими с локальными. В будущем поведение будет изменено и по умолчанию будет применяться семантика "simple", при которой изменения отправляются только из текущей ветки в ветку с тем же именем, в случае если локальная ветка назначена для интеграции с удалённой веткой. Переопределить новое поведение можно через конфигурационную переменную "push.default".

При неуказании добавляемых путей при выполнении "git add -u" и "git add -A", начиная с версии Git 2.0 данные команды будут применяться для всего репозитория, а не иерархии относительно текущей поддиректории, что соответствует поведению "git commit -a" и других похожих команд. Для распространения действия только начиная с текущей директории следует явно указывать текущий путь, например, "git add -u .". Команда "git add путь" в Git 2.0 будет соответствовать выполнению "git add -A путь" в выпусках Git 1.x. Кроме того, c refs/remotes на refs/remotes/origin/ будет изменён префикс по умолчанию для команды "git svn", если префикс не был явно задан при помощи опции "--prefix".

  1. Главная ссылка к новости (http://permalink.gmane.org/gmane.linux.k...)
  2. OpenNews: Инициатива по переводу Emacs c Bazaar на Git
  3. OpenNews: Релиз распределенной системы управления исходными текстами Git 1.8.4
  4. OpenNews: Релиз распределенной системы управления исходными текстами Git 1.8.1
  5. OpenNews: Релиз распределенной системы управления исходными текстами Git 1.8.2
  6. OpenNews: Релиз распределенной системы управления исходными текстами Git 1.8.3
Тип: Программы
Ключевые слова: git, (найти похожие документы)
При перепечатке указание ссылки на opennet.ru обязательно
Реклама
id=adv>
  1.1, Аноним, 15:36, 17/02/2014 [ответить] [смотреть все] –11 +/
Кстати о Mercurial https lists gnu org archive html emacs-devel 2014-01 msg003... весь текст скрыт [показать]
 
    3.8, Аноним, 16:45, 17/02/2014 [^] [ответить] [смотреть все]  +18 +/
Здравствуйте, это канал про git? Как пропатчить mercurial под freebsd?
 
2.11, Пропатентный тролль, 17:04, 17/02/2014 [^] [ответить] [смотреть все] [показать ветку]  +/ 
  3.34, Аноним, 22:18, 17/02/2014 [^] [ответить] [смотреть все]  +6 +/
Вы так говорите, как будто быть лучше других - преступление.
 
  4.41, Аноним, 08:55, 18/02/2014 [^] [ответить] [смотреть все]  +3 +/
Стас Михайлов и Дарья Донцова одобряют этот комментарий ... весь текст скрыт [показать]
 
1.3, Аноним, 16:04, 17/02/2014 [ответить] [смотреть все]  +/
а меркуриал умеет shallowly-cloned ... весь текст скрыт [показать]
 
  2.10, pavlinux, 16:51, 17/02/2014 [^] [ответить] [смотреть все] [показать ветку]  +21 +/
Что за шаловливые клоуны?
 
  3.31, Аноним, 21:12, 17/02/2014 [^] [ответить] [смотреть все]  +/
с английским языком вы походу не знакомы и новость не читали Разрешено контроли... весь текст скрыт [показать]
 
2.37, Аноним, 01:37, 18/02/2014 [^] [ответить] [смотреть все] [показать ветку]  –1 +/ 
1.4, бедный буратино, 16:17, 17/02/2014 [ответить] [смотреть все]  +/ вечерело, а тема ждала первого коммента про git, а не про mercurial :)
  1.6, Аноним, 16:22, 17/02/2014 [ответить] [смотреть все]  –5 +/
Занимаются всякой хрень, в то время как самый нужный способ создать ветку почему... весь текст скрыт [показать]
 
  2.22, arisu, 19:23, 17/02/2014 [^] [ответить] [смотреть все] [показать ветку]  +3 +/
 
  3.44, Аноним, 09:07, 18/02/2014 [^] [ответить] [смотреть все]  +1 +/
Да, только не авторы гит Найти чего-то чего бы было востребовано и гит так не у... весь текст скрыт [показать]
 
3.49, Аноним, 13:54, 18/02/2014 [^] [ответить] [смотреть все]  +/
Это Вы, пардон, к чему Задача нужно создать трэкинг брэнч с тем же именем, что... весь текст скрыт [показать]
 
  4.50, arisu, 14:35, 18/02/2014 [^] [ответить] [смотреть все]  +/
> Задача: нужно создать трэкинг брэнч с тем же именем, что и в
> удаленном репозитории

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

 
  5.54, Аноним, 15:00, 18/02/2014 [^] [ответить] [смотреть все]  +/
У меня его нет Мне нужно склонировать репозиторий в состояние ревизии REVISION... весь текст скрыт [показать]
 
  6.56, arisu, 15:09, 18/02/2014 [^] [ответить] [смотреть все]  +/
> У меня его нет. Мне нужно склонировать репозиторий в состояние ревизии $REVISION
> для ночной сборки. $REVISION можтет быть:
> а) идентификатором конкретного комита
> б) тэгом
> в) именем ветки (в этом случае — собрать надо HEAD этой ветки)

но ЗАЧЕМ? случаи «б» и «в» элеметнарно сводятся к «а».

> Должны работать все три случая единым способом (делается автоматически на сборочной машине).

сделай скрипт-обёртку. лично я, например — категорически против того, чтобы разные вещи делались одним и тем же способом.

> git очень хорош архитектурно, но система команд крива и не продумана.

а как по мне — всё достаточно логично. надо просто думать «по гитовски», и логика находится.

 
  7.57, Аноним, 15:59, 18/02/2014 [^] [ответить] [смотреть все]  +/
Как зачем Есть три сущности, однозначно идентифицирующие комит Надо достать ре... весь текст скрыт [показать]
 
  8.58, arisu, 16:08, 18/02/2014 [^] [ответить] [смотреть все]  +/
> То есть Вы против того, что checkout работает одинаково с ветками и
> тэгами при переключении?

в общем-то, да. хотя как это сделать лучше — я не знаю.

> Только сейчас оно работает от случая к случаю,
> а должно работать всегда.

хм. бывают случаи, когда checkout не переключается на указаный тэг?

> Может это со мной что-то не так, но я хочу ездить на
> автомобиле без изучения системы впрыска. У системы есть интерфейс, его должно
> быть достаточно. Если его не достаточно — значит он плохой, ч.т.д.

у меня есть мнение, что тогда dvcs была выбрана не совсем верно.

 
  9.59, Аноним, 17:15, 18/02/2014 [^] [ответить] [смотреть все]  +/
Тут соглашусь Нужна еще одна команда - switch для переключения между ветками, и... весь текст скрыт [показать]
 
  10.61, arisu, 17:17, 18/02/2014 [^] [ответить] [смотреть все]  +/
>> хм. бывают случаи, когда checkout не переключается на указаный тэг?
> «git checkout -b new_branch origin/some_tag» не сработает

это не переключение per se. но несколько нелогично, согласен.

 
  11.63, Аноним, 17:59, 18/02/2014 [^] [ответить] [смотреть все]  +/
О чем и я Если это не переключение - это не должна делать checkout В результат... весь текст скрыт [показать]
 
  12.65, rshadow, 00:10, 19/02/2014 [^] [ответить] [смотреть все]  +/
> Нужна отдельная команда, качественно отрабатывающая все кейсы

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

 
  13.66, arisu, 06:45, 19/02/2014 [^] [ответить] [смотреть все]  +/
так вперёд! код открыт — делай.
 
6.60, Аноним, 17:15, 18/02/2014 [^] [ответить] [смотреть все]  +/
git checkout REVISION работает для всего вышеперечисленного ... весь текст скрыт [показать]
 
  7.62, arisu, 17:18, 18/02/2014 [^] [ответить] [смотреть все]  +/
там, насколько я понял, человек немного другого хочет, просто описал косовато.
 
1.7, vitalif, 16:28, 17/02/2014 [ответить] [смотреть все]  –1 +/ А что такое "контролируемое извлечение объектов из репозитория, клонированного в режиме shallow"?
 
  2.45, Аноним, 09:08, 18/02/2014 [^] [ответить] [смотреть все] [показать ветку]  +/
Это извлечение не вообще всей истории а лишь части, на определенную глубину ... весь текст скрыт [показать] [показать ветку]
 
1.19, Аноним, 18:37, 17/02/2014 [ответить] [смотреть все]  +3 +/
Ура, ждём 2 0 PS Решил попробовать git после 2 лет mercurial а да так и осталс... весь текст скрыт [показать]
  1.36, Аноним, 01:32, 18/02/2014 [ответить] [смотреть все]  –3 +/
И MS, помнится, юзал git Пока, как и все остальные адекватные компаниии, не пер... весь текст скрыт [показать]
 
  2.38, r, 01:37, 18/02/2014 [^] [ответить] [смотреть все] [показать ветку]  +1 +/
Что такое: "MS" .?
 
  3.48, pkdr, 12:45, 18/02/2014 [^] [ответить] [смотреть все]  +2 +/
Известный производитель качественных клавиатур и мышей.

В 80-е они вроде бы ещё запилили какую-то графическую оболочку для MS-DOS, но ничего путного из неё не получилось.

 
  4.52, Аноним, 14:50, 18/02/2014 [^] [ответить] [смотреть все]  +/
Да, потому что они тогда ещё вроде бы запилили Windows 1, а в мс-досе была куча ... весь текст скрыт [показать]
 
4.64, Andrey Mitrofanov, 18:02, 18/02/2014 [^] [ответить] [смотреть все]  +/ > Известный производитель качественных клавиатур и мышей.

s/производитель качественных/продавец безумно переоцененных китайских/

, о чём нам намекает торго^Wразвод лохов на коробочки с воздухом с буквами eula и cal.

> но ничего путного из неё не получилось.

Им нравится. Клиент сидит плотнее, чем на героине.

   3.51, arisu, 14:43, 18/02/2014 [^] [ответить] [смотреть все]  +/ >> Пока, как и все остальные адекватные компаниии, не перешёл на svn.
> Что за адекватные компаниии -)))

те, видать, которые до этого на cvs сидели.

 2.46, Аноним, 09:09, 18/02/2014 [^] [ответить] [смотреть все] [показать ветку]  –1 +/
Да, даже до этих корпрративных жирафов стало доходить что их TFSы из каменного в... весь текст скрыт [показать] [показать ветку]
 
1.42, Аноним, 09:01, 18/02/2014 [ответить] [смотреть все]  +2 +/
Не нарадуюсь на него в DFBSD, особенно сравнивая с фряшным svn-ом Последний тор... весь текст скрыт [показать]
 
  2.47, Аноним, 09:10, 18/02/2014 [^] [ответить] [смотреть все] [показать ветку]  +/
 
2.55, Аноним, 15:06, 18/02/2014 [^] [ответить] [смотреть все] [показать ветку]  +1 +/
А зря молчите про CVS - по сравнению с современным SVN даже он выглядит конфетко... весь текст скрыт [показать] [показать ветку]
 
  3.67, Аноним, 09:23, 19/02/2014 [^] [ответить] [смотреть все]     [к модератору]  +/
Ну, у меня выборка конечно, нерепрезентативная, но судя по времени обновления со... весь текст скрыт [показать]
 

Ваш комментарий  

Read more http://www.opennet.ru/opennews/art.shtml?num=39108

 
Интересная статья? Поделись ей с другими:

bottom

 

Unreal Commander PfSense по русски Яндекс.Метрика