The OpenNET Project / Index page

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

Релиз распределенной системы управления исходными текстами Git 2.0

29.05.2014 10:28

Анонсирован релиз распределенной системы управления исходными текстами Git 2.0, примечательный изменением поведения команд "git push" и "git add", влияющим на обратную совместимость.

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

Что касается команды "git add", то изменение связано с тем, что при неуказании добавляемых путей при выполнении "git add -u" и "git add -A", данные команды отныне применяются для всего репозитория, а не иерархии относительно текущей поддиректории, что соответствует поведению "git commit -a" и других похожих команд. Для распространения действия только начиная с текущей директории следует явно указывать текущий путь, например, "git add -u .". Команда "git add путь" в Git 2.0 соответствует выполнению "git add -A путь" в выпусках Git 1.x, т.е. при указании "git add dir/" в репозиторий будет внесена запись об удалённых из директории путях (в прошлых выпусках при указании "git add путь" удаленные пути игнорировались, теперь нужно явно указывать опцию "git add --ignore-removal путь").

Кроме того, c refs/remotes на refs/remotes/origin/ изменён префикс по умолчанию для команды "git svn", если префикс не был явно задан при помощи опции "--prefix". Из команды "git diff-files" исключена опция "-q" которая часто путалась с операцией скрытия вывода ("quiet"), но на деле указывала на игнорирование удаления (вместо "-q" нужно использовать "git diff-files --diff-filter=d"). В реализации "git request-pull" прекращена поддержка некоторых эвристических выводов при выборе ветки для pull-запроса, которые часто приводили к ошибкам. Из состава удалён интерфейс "remote-hg/bzr", который теперь развивается как отдельный плагин. В файлах ".gitignore" обеспечено игнорирование пробелов в хвосте путей (если путь оканчивается пробелом теперь нужно явно указывать "path\\ ").

Из улучшений можно отметить добавление поддержки опций "--depth" в "git gc --aggressive", "--show-linear-break" в "git log", "--gpg-sign" в командах, создающих коммиты ("pull", "rebase"), "-N" в "git reset". В "git rebase" опция "-" разбирается как указание на прошлую ветку ("@{-1}"). Работа опций "-h" (скрытие заголовка) и "-c" (счётчик срабатываний) в "git grep" приближена к утилите grep. Команда "git push" при работе через интерфейс transport-helper теперь поддерживает инициирование принудительного обновления ссылок. Указание "-" вместо имени входного файла в команде "git config --file" позволяет организовать загрузку данных из входного потока.

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.

  1. Главная ссылка к новости (https://lkml.org/lkml/2014/5/2...)
  2. OpenNews: Релиз распределенной системы управления исходными текстами Git 1.9.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/39883-git
Ключевые слова: git
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (35) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 10:54, 29/05/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –26 +/
    История несовместимого питона 3 видимо никого ничему не научила.
    Иногда я начинаю сомневаться в истинной разумности вида homo sapiens.
     
     
  • 2.3, Аноним (-), 10:59, 29/05/2014 [^] [^^] [^^^] [ответить]  
  • –4 +/
    > Иногда я начинаю сомневаться в истинной разумности вида homo sapiens.

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

     
     
  • 3.5, Andrey Mitrofanov (?), 11:04, 29/05/2014 [^] [^^] [^^^] [ответить]  
  • +4 +/
    >> Иногда я начинаю сомневаться в истинной разумности вида homo sapiens.

    [да, я тоже на бейт-умысел именно этой фразы повёлся]

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

    Милиция!! Два умысла с отягчающими этому Анониму.

     
  • 2.6, myhand (ok), 11:07, 29/05/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > История несовместимого питона 3 видимо никого ничему не научила.

    Питон 3 поддерживают все крупные проекты.  Большая часть уже перешла на тройку в качестве основной кодовой базы, для py2 оставили костыли совместимости.

    > Иногда я начинаю сомневаться в истинной разумности вида homo sapiens.

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

    Все делают ошибки, в т.ч. и при проектировании сложного ПО или дизайне языков.  Если нет никаких механизмов исправления этих ошибок, а ради совместимости вокруг всего этого танцуют до бесконечности - получается Windows.

     
     
  • 3.11, Аноним (-), 12:17, 29/05/2014 [^] [^^] [^^^] [ответить]  
  • +/
    >Питон 3 поддерживают все крупные проекты.

    Twisted? Superwisor? python-daemon? python-ldap? mechanize? boto? Это проекты с от 1 000 000 загрузок до 15 000 000.

     
     
  • 4.40, myhand (ok), 11:50, 30/05/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Twisted? Superwisor? python-daemon? python-ldap? mechanize? boto?

    Грубо говоря, половина из них уже не подает признаков жизни...

    > Это проекты с от 1 000 000 загрузок до 15 000 000.

    Че-т не видно этих ваших загрузок...  Даже 1млн:
    https://pypi.python.org/pypi/python-daemon/

     
     
  • 5.48, Аноним (-), 18:40, 03/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Грубо говоря, половина из них уже не подает признаков жизни...

    Грубо говоря этот twisted используется половиной бидоноподелий.

    > Че-т не видно этих ваших загрузок...  Даже 1млн:

    Нормальный такой критерий. А у тебя много проектов то с даунлоадами за миллион?

     
     
  • 6.50, myhand (ok), 00:08, 12/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> Грубо говоря, половина из них уже не подает признаков жизни...
    > Грубо говоря этот twisted используется половиной бидоноподелий.

    Странно.  Впервые о нем слышу.  Посмотрел на проектах scipy.org - ни один не использует, даже ipython.

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

    >> Че-т не видно этих ваших загрузок...  Даже 1млн:
    > Нормальный такой критерий.

    Дык против критерия я и не возражаю - лишь указал что приведенные проекты до него не дотягивают...  Привел пример.  Але?


     
     
  • 7.52, Аноним (-), 00:32, 12/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Может жизнь не заканчивается за пределами сайтоклепательства?

    Может, жизнь не заканчивается за пределами scipy.org?

    > проекты до него не дотягивают...  Привел пример.  Але?

    А по-моему это ваши критерии "за пределами scipy.org жизни нет" глуповаты. И вообще, броасание резко все переделывать хотя все и так прекрасно работало - отнюдь не плюс проекту, если что. Потому что заявка на багодром на ровном месте.

     
     
  • 8.56, myhand (ok), 12:40, 12/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    А где у меня были такие критерии Не прекрасно, в том-то и дело Альтернативой ... текст свёрнут, показать
     
  • 4.49, ITCrow (?), 12:31, 06/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    >>Питон 3 поддерживают все крупные проекты.
    > Twisted? Superwisor? python-daemon? python-ldap? mechanize? boto? Это проекты с от 1 000
    > 000 загрузок до 15 000 000.

    http://labs.twistedmatrix.com/2014/05/twisted-1400-released.html?utm_source=f
    Оставлю єто здесь )

     
  • 3.47, Аноним (-), 18:39, 03/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Этот булщит мы уже слышали миллион раз К себе свой совет примените При том дос... большой текст свёрнут, показать
     
     
  • 4.54, myhand (ok), 01:08, 12/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    >> Питон 3 поддерживают все крупные проекты.
    > Этот булщит мы уже слышали миллион раз.

    Ну представь, что иногда ты можешь услышать и правду.

    >> совместимости вокруг всего этого танцуют до бесконечности - получается Windows.
    > При том достаточно большая доля популярности виндовса на этои и зиждется.

    Дык скопытился уже "тот виндовс".  Аккурат во времена Win95.  Маленький ты тогда был ишшо, вот и не понял о чем я.  Угадал?

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

    > Не любят люди когда всякие дятлы ломают им софт ради расовой верноты.

    Я чего-то не пойму кто кому чего сломал.

    > В частности, питон2 придется поддерживать пока
    > рак на горе свиснет, ибо питон3 с ним не совместим.

    Не вижу логической связи.

    > Альтернативно, можно всех прокатить с поддержкой питон2. Ну ок, тогда народ перестанет
    > пользоваться питоном.

    А, я понял.  Это постулаты такие.

     
  • 2.9, TiGR (?), 11:50, 29/05/2014 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Вообще-то тут так себе несовместимости. Ничего фатального.
     
     
  • 3.12, Аноним (-), 12:18, 29/05/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Вообще-то тут так себе несовместимости. Ничего фатального.

    Одна ложка дегтя?

     
     
  • 4.17, Andrey Mitrofanov (?), 12:32, 29/05/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >> Вообще-то тут так себе несовместимости. Ничего фатального.
    > Одна ложка дегтя?

    Длительный период перехода с грозным предупреждениями заранее. Кому надо - в курсе. Кто [не] хочет - да хоть лопатами.

     
     
  • 5.41, TiGR (?), 13:33, 30/05/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Если человек пользовался git 1.7, то предупреждение он просто не мог не увидеть.
     
     
  • 6.42, arisu (ok), 12:35, 31/05/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Если человек пользовался git 1.7, то предупреждение он просто не мог не
    > увидеть.

    сидел-сидел, не чесался, и тут ВНИЗАПНА! решил обновиться. ССЗБ.

     
  • 2.10, Led (ok), 12:17, 29/05/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Иногда я начинаю сомневаться в истинной разумности вида homo sapiens.

    Это потому, что бОльшая часть человечества уже давно homo sapiens sapiens, а ты всё ещё на уровне homo sapiens.

     
     
  • 3.14, Аноним (-), 12:24, 29/05/2014 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Это потому, что бОльшая часть человечества уже давно homo sapiens sapiens, а
    > ты всё ещё на уровне homo sapiens.

    Мне нужны доказательства того, что авторы несовместимых изменений популярных программах -
    sapien. Очень серьезные доказательства.

     
     
  • 4.24, КО (?), 15:39, 29/05/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Это тебе к Малдеру и Скалли.

    P.S. <i>разумный разумный</i> отличается от разумный вовсе не тем, что он разумный в квадрате.

     
  • 3.43, arisu (ok), 12:36, 31/05/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Это потому, что бОльшая часть человечества уже давно homo sapiens sapiens

    а ты, оптимист!

     
  • 2.18, Аноним (-), 13:25, 29/05/2014 [^] [^^] [^^^] [ответить]  
  • +9 +/
    А в чем собственно несовместимость? Тут в отличии от питона ничего не сломано. Новое поведение для git push опционально появилось уже давно. Сейчас просто сменили настройки по умолчанию. Новым поведением я пользуюсь уже давно и мой локальный репозиторий без проблем синхронизируется с репозиторием который крутится на одной из старых версиях git 1.7 в котором данной опции не было.
     
  • 2.39, Bvz (?), 09:51, 30/05/2014 [^] [^^] [^^^] [ответить]  
  • +/
    ога. именно поэтому не смотря на то, что 5.5 лет назад вышел python 3.0 текущая стабильная ветка 3.4, а абсолютно подавляющее большинство людей и софта на планете используют 2ю ветку
     
  • 2.44, arisu (ok), 12:39, 31/05/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > История несовместимого питона 3 видимо никого ничему не научила.

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

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

    хотя я знаю, отчего ты написал свой дурацкий комментарий: с гитом ты не работаешь, просто увидел, что «вторая версия», и решил, что там всё поломали, как в твоём любимом гвидобейсике. а была бы версия «1.12», например — ты бы промолчал.

     

  • 1.4, Аноним (-), 11:03, 29/05/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Если уж решили править мелочевку, могли бы, наконец, исправить бред с поведением core.whitespace. Чтобы apply и am работали с whitespace=fix автоматически, а не отваливались как сейчас.
     
     
  • 2.15, Аноним (-), 12:27, 29/05/2014 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Нет надо выпустить 2.0, а затем 3.0. Нужны лайки, ретвиты, хайп. А баги править это старомодно.
     
     
  • 3.45, arisu (ok), 12:41, 31/05/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А баги править это старомодно.

    а что за баг? опиши подробно, пожалуйста.

     

  • 1.7, бедный буратино (ok), 11:12, 29/05/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +11 +/
    Поздравляю всех пользователей этого славного средства с этой славной датой.

    // Коллектив пользователей hg

     
     
  • 2.8, upyx (??), 11:23, 29/05/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Спасибо!
     
  • 2.33, хрюкотающий зелюк (?), 20:47, 29/05/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Присоединяюсь! Искренне ваш, пользователь Mercurial.
     

  • 1.21, Аноним (-), 15:26, 29/05/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    "при неуказании добавляемых путей" - это точно на русском статья?
     
  • 1.34, Аноним (-), 21:41, 29/05/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    git всё такой же stupid content tracker или уже поумнел?

    Например, появился ли человеческий аналог следующей команды?

    git ls-files -v | grep ^[a-z] | awk '{print $2}'

     
     
  • 2.35, Аноним (-), 22:47, 29/05/2014 [^] [^^] [^^^] [ответить]  
  • +/
    да, echo -n ""
     
  • 2.36, bav (ok), 02:24, 30/05/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Например, появился ли человеческий аналог следующей команды?
    > git ls-files -v | grep ^[a-z] | awk '{print $2}'

    Несколько сложновато восстанавливать числитель по результату от деления ну ноль.

     
  • 2.37, bav (ok), 02:30, 30/05/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Например, появился ли человеческий аналог следующей команды?
    > git ls-files -v | grep ^[a-z] | awk '{print $2}'

    Да ты знатный садомаз, один на милион, какие вообще могут быть претензии?

    When these flags are specified, the object names recorded for the paths are not updated. Instead, these options set and unset the "assume unchanged" bit for the paths. When
    the "assume unchanged" bit is on, Git stops checking the working tree files for possible modifications, so you need to manually unset the bit to tell Git when you change the
    working tree file. This is sometimes helpful when working with a big project on a filesystem that has very slow lstat(2) system call (e.g. cifs).

    This option can be also used as a coarse file-level mechanism to ignore uncommitted changes in tracked files (akin to what .gitignore does for untracked files). Git will fail
    (gracefully) in case it needs to modify this file in the index e.g. when merging in a commit; thus, in case the assumed-untracked file is changed upstream, you will need to
    handle the situation manually.

     
     
  • 3.38, Andrey Mitrofanov (?), 09:30, 30/05/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >>человеческий аналог следующей команды?
    >> git ls-files -v | grep ^[a-z] | awk '{print $2}'
    > Да ты знатный садомаз,

    Нет, он просто "перепутал" git с systemd. ОпенНЕТ-а начитался, перевозбудился.

     
  • 2.46, arisu (ok), 12:43, 31/05/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Например, появился ли человеческий аналог следующей команды?

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

     
  • 2.53, Аноним (-), 00:35, 12/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Например, появился ли человеческий аналог следующей команды?
    > git ls-files -v | grep ^[a-z] | awk '{print $2}'

    Да, давайте уберем grep и awk. Все в гит засунем.

     

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



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

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