Bug 38240 - gear-changelog: add option to translit/ascii non-ascii characters
Summary: gear-changelog: add option to translit/ascii non-ascii characters
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: gear (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Dmitry V. Levin
QA Contact: qa-sisyphus
URL: http://git.altlinux.org/people/lakost...
Keywords: relnote
Depends on:
Blocks:
 
Reported: 2020-03-19 14:44 MSK by Konstantin A Lepikhov (L.A. Kostis)
Modified: 2020-03-25 00:24 MSK (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Konstantin A Lepikhov (L.A. Kostis) 2020-03-19 14:44:20 MSK
Привет!

По итогам обсуждения ошибки с changelog у firmware-linux я сделал патч

http://git.altlinux.org/people/lakostis/packages/gear.git?p=gear.git;a=commit;h=d426c0ca28d6609a0e567af5da1721521c239846

Прошу применить, чтобы я смог починить cronbuilds.
Comment 1 Konstantin A Lepikhov (L.A. Kostis) 2020-03-19 14:45:02 MSK
[lakostis@lks .gear]$ ~/bin/gear-changelog --ascii cbd2178 --no-rules
* Thu Mar 19 2020 Konstantin A. Lepikhov <lakostis@altlinux.ru> 0.10.1-alt3
- .spec: bump release e e

[lakostis@lks .gear]$ ~/bin/gear-changelog cbd2178 --no-rules
* Thu Mar 19 2020 Konstantin A. Lepikhov <lakostis@altlinux.ru> 0.10.1-alt3
- .spec: bump release é é
Comment 2 Dmitry V. Levin 2020-03-19 14:59:49 MSK
(In reply to Konstantin A Lepikhov (L.A. Kostis) from comment #0)
> Привет!
> 
> По итогам обсуждения ошибки с changelog у firmware-linux я сделал патч
> 
> http://git.altlinux.org/people/lakostis/packages/gear.git?p=gear.git;
> a=commit;h=d426c0ca28d6609a0e567af5da1721521c239846
> 
> Прошу применить, чтобы я смог починить cronbuilds.

Вопрос, стоит ли зашивать -f utf8 в реализацию?
+ предсказуемость, независимость от текущей локали;
- негибкость, невозможность перекодировать из другой кодировки.

В printf '%s\n' лишний \n, но это мелочи.
Comment 3 Konstantin A Lepikhov (L.A. Kostis) 2020-03-19 15:06:42 MSK
(In reply to Dmitry V. Levin from comment #2)
> (In reply to Konstantin A Lepikhov (L.A. Kostis) from comment #0)
> > Привет!
> > 
> > По итогам обсуждения ошибки с changelog у firmware-linux я сделал патч
> > 
> > http://git.altlinux.org/people/lakostis/packages/gear.git?p=gear.git;
> > a=commit;h=d426c0ca28d6609a0e567af5da1721521c239846
> > 
> > Прошу применить, чтобы я смог починить cronbuilds.
> 
> Вопрос, стоит ли зашивать -f utf8 в реализацию?
> + предсказуемость, независимость от текущей локали;
> - негибкость, невозможность перекодировать из другой кодировки.
Да, но мы же читаем только вывод от git, где, я думаю, utf8 это кодировка по-умолчанию.

> 
> В printf '%s\n' лишний \n, но это мелочи.

Ok, это поправлю.
Comment 4 Dmitry V. Levin 2020-03-19 15:18:49 MSK
(In reply to Konstantin A Lepikhov (L.A. Kostis) from comment #3)
> (In reply to Dmitry V. Levin from comment #2)
> > (In reply to Konstantin A Lepikhov (L.A. Kostis) from comment #0)
> > > Привет!
> > > 
> > > По итогам обсуждения ошибки с changelog у firmware-linux я сделал патч
> > > 
> > > http://git.altlinux.org/people/lakostis/packages/gear.git?p=gear.git;
> > > a=commit;h=d426c0ca28d6609a0e567af5da1721521c239846
> > > 
> > > Прошу применить, чтобы я смог починить cronbuilds.
> > 
> > Вопрос, стоит ли зашивать -f utf8 в реализацию?
> > + предсказуемость, независимость от текущей локали;
> > - негибкость, невозможность перекодировать из другой кодировки.
> Да, но мы же читаем только вывод от git, где, я думаю, utf8 это кодировка
> по-умолчанию.

В документации к git log написано следующее:

git log, git show, git blame and friends look at the encoding header of a commit object, and try to re-code the log message into UTF-8 unless otherwise specified. You can specify the desired output encoding with i18n.logOutputEncoding in .git/config file, like this:
    [i18n]
        logOutputEncoding = ISO-8859-1
If you do not have this configuration variable, the value of i18n.commitEncoding is used instead.

Получается, что имеет смысл сделать так:
1. взять вывод git config i18n.logOutputEncoding, если там пусто, то
2. взять вывод git config i18n.commitEncoding, если там пусто, то
3. использовать UTF-8 в качестве значения по умолчанию.
Comment 5 Konstantin A Lepikhov (L.A. Kostis) 2020-03-19 15:21:29 MSK
(In reply to Dmitry V. Levin from comment #4)
>skip>
> В документации к git log написано следующее:
> 
> git log, git show, git blame and friends look at the encoding header of a
> commit object, and try to re-code the log message into UTF-8 unless
> otherwise specified. You can specify the desired output encoding with
> i18n.logOutputEncoding in .git/config file, like this:
>     [i18n]
>         logOutputEncoding = ISO-8859-1
> If you do not have this configuration variable, the value of
> i18n.commitEncoding is used instead.
> 
> Получается, что имеет смысл сделать так:
> 1. взять вывод git config i18n.logOutputEncoding, если там пусто, то
мне кажется, этот вывода будет более чем достаточно, т.к. в случае cronbuild мы рабоаем с удаленными репозиториями где на параметр commitEncoding нельзя влиять.

> 2. взять вывод git config i18n.commitEncoding, если там пусто, то
> 3. использовать UTF-8 в качестве значения по умолчанию.
Comment 6 Konstantin A Lepikhov (L.A. Kostis) 2020-03-19 15:22:56 MSK
(In reply to Konstantin A Lepikhov (L.A. Kostis) from comment #5)
> (In reply to Dmitry V. Levin from comment #4)
> >skip>
> > В документации к git log написано следующее:
> > 
> > git log, git show, git blame and friends look at the encoding header of a
> > commit object, and try to re-code the log message into UTF-8 unless
> > otherwise specified. You can specify the desired output encoding with
> > i18n.logOutputEncoding in .git/config file, like this:
> >     [i18n]
> >         logOutputEncoding = ISO-8859-1
> > If you do not have this configuration variable, the value of
> > i18n.commitEncoding is used instead.
> > 
> > Получается, что имеет смысл сделать так:
> > 1. взять вывод git config i18n.logOutputEncoding, если там пусто, то
> мне кажется, этот вывода будет более чем достаточно, т.к. в случае cronbuild
> мы рабоаем с удаленными репозиториями где на параметр commitEncoding нельзя
> влиять.
хм, а может, вообще забить на это и настроить git config для cronbuild? )) Тогда и конвертировать ничего не надо.
Comment 7 Dmitry V. Levin 2020-03-19 15:44:11 MSK
(In reply to Konstantin A Lepikhov (L.A. Kostis) from comment #6)
> (In reply to Konstantin A Lepikhov (L.A. Kostis) from comment #5)
> > (In reply to Dmitry V. Levin from comment #4)
> > >skip>
> > > В документации к git log написано следующее:
> > > 
> > > git log, git show, git blame and friends look at the encoding header of a
> > > commit object, and try to re-code the log message into UTF-8 unless
> > > otherwise specified. You can specify the desired output encoding with
> > > i18n.logOutputEncoding in .git/config file, like this:
> > >     [i18n]
> > >         logOutputEncoding = ISO-8859-1
> > > If you do not have this configuration variable, the value of
> > > i18n.commitEncoding is used instead.
> > > 
> > > Получается, что имеет смысл сделать так:
> > > 1. взять вывод git config i18n.logOutputEncoding, если там пусто, то
> > мне кажется, этот вывода будет более чем достаточно, т.к. в случае cronbuild
> > мы рабоаем с удаленными репозиториями где на параметр commitEncoding нельзя
> > влиять.
> хм, а может, вообще забить на это и настроить git config для cronbuild? ))
> Тогда и конвертировать ничего не надо.

Тоже вариант.  По крайней мере, у меня после
git config --add i18n.logOutputEncoding ASCII//TRANSLIT
gear-changelog всё сконвертировал.
Comment 8 Konstantin A Lepikhov (L.A. Kostis) 2020-03-25 00:24:29 MSK
Пока закрываю, т.к. проблема скорее в конфигурации git клиента, а не в gear-changelog.