Анонсирован (https://lkml.org/lkml/2014/5/28/678) релиз распределенной системы управления исходными текстами Git 2.0 (http://git-scm.com/), примечательный изменением поведения команд "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" прекращена поддержка некоторых эвристических выводов, которые часто приводили к ошибкам.
Git является одной из самых эффективных, надёжных и высокопроизводительных систем управления версиями, предоставляющей гибкие средства нелинейной разработки, базирующиеся на ответвлении и слиянии веток. Для обеспечения целостности истории и устойчивости к изменениям задним числом используются криптографические методы, также возможна привязка цифровых подписей разработчиков к тегам и коммитам. Из проектов, разрабатываемых с использованием Git, можно отметить ядро Linux (https://git.kernel.org/cgit/linux/kernel/git/stable/linux-st.../), Android (https://android.googlesource.com/), Libreoffice (http://cgit.freedesktop.org/libreoffice), Systemd (http://cgit.freedesktop.org/systemd), X.Org (http://cgit.freedesktop.org/xorg), Wayland (http://cgit.freedesktop.org/wayland), Mesa (http://cgit.freedesktop.org/mesa/), Gstreamer (http://cgit.freedesktop.org/gstreamer), Wine (http://source.winehq.org/git/wine.git), Debian (http://anonscm.debian.org/gitweb), DragonFly BSD (http://gitweb.dragonflybsd.org/?p=dragonfly.git;a=summary), Perl (http://perl5.git.perl.org/perl.git), Eclipse (http://git.eclipse.org), GNOME (http://git.gnome.org/browse/), KDE (https://projects.kde.org/projects), Qt (http://qt.gitorious.org/), Ruby on Rails (https://github.com/rails/rails), PostgreSQL (http://git.postgresql.org/gitweb/), VideoLAN (http://git.videolan.org), PHP (http://git.php.net/), Xen (http://xenbits.xen.org/gitweb/), Minix (http://git.minix3.org/).
URL: https://lkml.org/lkml/2014/5/28/678
Новость: http://www.opennet.me/opennews/art.shtml?num=39883
История несовместимого питона 3 видимо никого ничему не научила.
Иногда я начинаю сомневаться в истинной разумности вида homo sapiens.
> Иногда я начинаю сомневаться в истинной разумности вида homo sapiens.не надо списывать всякий раз на глупость то, что возможно было сделано с умыслом
>> Иногда я начинаю сомневаться в истинной разумности вида homo sapiens.[да, я тоже на бейт-умысел именно этой фразы повёлся]
> не надо списывать всякий раз на глупость то, что возможно было сделано с умыслом
Милиция!! Два умысла с отягчающими этому Анониму.
> История несовместимого питона 3 видимо никого ничему не научила.Питон 3 поддерживают все крупные проекты. Большая часть уже перешла на тройку в качестве основной кодовой базы, для py2 оставили костыли совместимости.
> Иногда я начинаю сомневаться в истинной разумности вида homo sapiens.
Меньше пиши идиотских комментариев, иначе сомнений у людей не избежать.
Все делают ошибки, в т.ч. и при проектировании сложного ПО или дизайне языков. Если нет никаких механизмов исправления этих ошибок, а ради совместимости вокруг всего этого танцуют до бесконечности - получается Windows.
>Питон 3 поддерживают все крупные проекты.Twisted? Superwisor? python-daemon? python-ldap? mechanize? boto? Это проекты с от 1 000 000 загрузок до 15 000 000.
> Twisted? Superwisor? python-daemon? python-ldap? mechanize? boto?Грубо говоря, половина из них уже не подает признаков жизни...
> Это проекты с от 1 000 000 загрузок до 15 000 000.
Че-т не видно этих ваших загрузок... Даже 1млн:
https://pypi.python.org/pypi/python-daemon/
> Грубо говоря, половина из них уже не подает признаков жизни...Грубо говоря этот twisted используется половиной бидоноподелий.
> Че-т не видно этих ваших загрузок... Даже 1млн:
Нормальный такой критерий. А у тебя много проектов то с даунлоадами за миллион?
>> Грубо говоря, половина из них уже не подает признаков жизни...
> Грубо говоря этот twisted используется половиной бидоноподелий.Странно. Впервые о нем слышу. Посмотрел на проектах scipy.org - ни один не использует, даже ipython.
Может жизнь не заканчивается за пределами сайтоклепательства?
>> Че-т не видно этих ваших загрузок... Даже 1млн:
> Нормальный такой критерий.Дык против критерия я и не возражаю - лишь указал что приведенные проекты до него не дотягивают... Привел пример. Але?
> Может жизнь не заканчивается за пределами сайтоклепательства?Может, жизнь не заканчивается за пределами scipy.org?
> проекты до него не дотягивают... Привел пример. Але?
А по-моему это ваши критерии "за пределами scipy.org жизни нет" глуповаты. И вообще, броасание резко все переделывать хотя все и так прекрасно работало - отнюдь не плюс проекту, если что. Потому что заявка на багодром на ровном месте.
>> проекты до него не дотягивают... Привел пример. Але?
> А по-моему это ваши критерии "за пределами scipy.org жизни нет" глуповаты.А где у меня были такие критерии?
> И вообще, броасание резко все переделывать хотя все и так прекрасно работало
> - отнюдь не плюс проекту, если что.Не прекрасно, в том-то и дело. Альтернативой этому - плясать вокруг каждого своего бага до бесконечности, как это делали c Win95. Ведь каждый "программист" уже возвел вокруг таких багов свои любимые костыли и негоже их ломать.
Впрочем, переделывать никто ничего и не требует. К вам Гвидо приходил с АКМ, чтобы прям щас все переделали?
Кому надо - все давно сделал. Для открытых проектов, не являющихся полумертвыми - никакой проблемы это никогда не составляло.
>>Питон 3 поддерживают все крупные проекты.
> Twisted? Superwisor? python-daemon? python-ldap? mechanize? boto? Это проекты с от 1 000
> 000 загрузок до 15 000 000.http://labs.twistedmatrix.com/2014/05/twisted-1400-released....
Оставлю єто здесь )
> Питон 3 поддерживают все крупные проекты.Этот булщит мы уже слышали миллион раз.
> Меньше пиши идиoтских комментариев, иначе сомнений у людей не избежать.
К себе свой совет примените.
> совместимости вокруг всего этого танцуют до бесконечности - получается Windows.
При том достаточно большая доля популярности виндовса на этои и зиждется. Не любят люди когда всякие дятлы ломают им софт ради расовой верноты. И уходят с такого софта. В частности, питон2 придется поддерживать пока рак на горе свиснет, ибо питон3 с ним не совместим. Альтернативно, можно всех прокатить с поддержкой питон2. Ну ок, тогда народ перестанет пользоваться питоном.
Так, на подумать, в соседнем ларьке стоит касса под DOSом. Пашет ..цать лет. И еще столько же отпашет. И никому в голову не приходит апгрейдить там систему и переписывать софт.
>> Питон 3 поддерживают все крупные проекты.
> Этот булщит мы уже слышали миллион раз.Ну представь, что иногда ты можешь услышать и правду.
>> совместимости вокруг всего этого танцуют до бесконечности - получается Windows.
> При том достаточно большая доля популярности виндовса на этои и зиждется.Дык скопытился уже "тот виндовс". Аккурат во времена Win95. Маленький ты тогда был ишшо, вот и не понял о чем я. Угадал?
Дало это какой-то вклад в "популярности"? Возможно. Впрочем, с умением "впарить" любую дрянь - технические детали отходят далеко на второй план... Бесспорно лишь то, что это порядочно прибавило гемороя и разработчикам системы и, в конечном итоге, прикладным программистам под это чудо.
> Не любят люди когда всякие дятлы ломают им софт ради расовой верноты.
Я чего-то не пойму кто кому чего сломал.
> В частности, питон2 придется поддерживать пока
> рак на горе свиснет, ибо питон3 с ним не совместим.Не вижу логической связи.
> Альтернативно, можно всех прокатить с поддержкой питон2. Ну ок, тогда народ перестанет
> пользоваться питоном.А, я понял. Это постулаты такие.
Вообще-то тут так себе несовместимости. Ничего фатального.
> Вообще-то тут так себе несовместимости. Ничего фатального.Одна ложка дегтя?
>> Вообще-то тут так себе несовместимости. Ничего фатального.
> Одна ложка дегтя?Длительный период перехода с грозным предупреждениями заранее. Кому надо - в курсе. Кто [не] хочет - да хоть лопатами.
Если человек пользовался git 1.7, то предупреждение он просто не мог не увидеть.
> Если человек пользовался git 1.7, то предупреждение он просто не мог не
> увидеть.сидел-сидел, не чесался, и тут ВНИЗАПНА! решил обновиться. ССЗБ.
> Иногда я начинаю сомневаться в истинной разумности вида homo sapiens.Это потому, что бОльшая часть человечества уже давно homo sapiens sapiens, а ты всё ещё на уровне homo sapiens.
> Это потому, что бОльшая часть человечества уже давно homo sapiens sapiens, а
> ты всё ещё на уровне homo sapiens.Мне нужны доказательства того, что авторы несовместимых изменений популярных программах -
sapien. Очень серьезные доказательства.
Это тебе к Малдеру и Скалли.P.S. <i>разумный разумный</i> отличается от разумный вовсе не тем, что он разумный в квадрате.
> Это потому, что бОльшая часть человечества уже давно homo sapiens sapiensа ты, оптимист!
А в чем собственно несовместимость? Тут в отличии от питона ничего не сломано. Новое поведение для git push опционально появилось уже давно. Сейчас просто сменили настройки по умолчанию. Новым поведением я пользуюсь уже давно и мой локальный репозиторий без проблем синхронизируется с репозиторием который крутится на одной из старых версиях git 1.7 в котором данной опции не было.
ога. именно поэтому не смотря на то, что 5.5 лет назад вышел python 3.0 текущая стабильная ветка 3.4, а абсолютно подавляющее большинство людей и софта на планете используют 2ю ветку
> История несовместимого питона 3 видимо никого ничему не научила.опиши, пожалуйста, что сломалось. а то я как-то не заметил. неужели формат репозиториев другой? тогда гит очень хорошо это маскирует, потому что отлично и пушит, и клонирует репы от старых версий.
умолчания для команд? так гит об этом уж несколько версий предупреждал, и даже говорил, как сделать так, чтобы было как прежде. прямо вот в консоли и говорил.
хотя я знаю, отчего ты написал свой дурацкий комментарий: с гитом ты не работаешь, просто увидел, что «вторая версия», и решил, что там всё поломали, как в твоём любимом гвидобейсике. а была бы версия «1.12», например — ты бы промолчал.
Если уж решили править мелочевку, могли бы, наконец, исправить бред с поведением core.whitespace. Чтобы apply и am работали с whitespace=fix автоматически, а не отваливались как сейчас.
Нет надо выпустить 2.0, а затем 3.0. Нужны лайки, ретвиты, хайп. А баги править это старомодно.
> А баги править это старомодно.а что за баг? опиши подробно, пожалуйста.
Поздравляю всех пользователей этого славного средства с этой славной датой.// Коллектив пользователей hg
Спасибо!
Присоединяюсь! Искренне ваш, пользователь Mercurial.
"при неуказании добавляемых путей" - это точно на русском статья?
git всё такой же stupid content tracker или уже поумнел?Например, появился ли человеческий аналог следующей команды?
git ls-files -v | grep ^[a-z] | awk '{print $2}'
да, echo -n ""
> Например, появился ли человеческий аналог следующей команды?
> git ls-files -v | grep ^[a-z] | awk '{print $2}'Несколько сложновато восстанавливать числитель по результату от деления ну ноль.
> Например, появился ли человеческий аналог следующей команды?
> 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.
>>человеческий аналог следующей команды?
>> git ls-files -v | grep ^[a-z] | awk '{print $2}'
> Да ты знатный садомаз,Нет, он просто "перепутал" git с systemd. ОпенНЕТ-а начитался, перевозбудился.
> Например, появился ли человеческий аналог следующей команды?но зачем? ты, часом, никс с виндой не перепутал? хотя глупый вопрос: конечно, перепутал.
> Например, появился ли человеческий аналог следующей команды?
> git ls-files -v | grep ^[a-z] | awk '{print $2}'Да, давайте уберем grep и awk. Все в гит засунем.