git log неверно отображает время
Модератор: Модераторы разделов
-
- Бывший модератор
- Сообщения: 7390
- Статус: думающий о вечном
- ОС: Debian, LMDE
git log неверно отображает время
А не подскажете ли, почему гит записывает в коммиты время в часовом поясе -0700, и как его убедить, что я живу в Киеве?
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
-
- Сообщения: 2565
- ОС: Debian
Re: git log неверно отображает время
git log
commit f362aaaa58146e08d9846b3a018233c5ac06c6b8
Author: user <user@company.ru>
Date: Thu Jul 1 09:59:21 2010 +0400
$ date
Thu Jul 1 13:37:22 MSD 2010
-
- Бывший модератор
- Сообщения: 7390
- Статус: думающий о вечном
- ОС: Debian, LMDE
Re: git log неверно отображает время
IMB, нет, про опцию log.date=local я знаю. Меня интересует не отображаемый в логах формат даты, а хранящийся в репозитории.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
-
- Сообщения: 2565
- ОС: Debian
Re: git log неверно отображает время
Не знаю, ничего специально не выставлял.
Вроде тоже локальное время, или я не там смотрю?
head .git/logs/HEAD
889ff39e5b5f32f704ef0bf0898585b82e54330c
517259579c8b7a77bf4148d4f36e298a76950032
user <user@company.ru> 1265023668 +0300
commit: собранный из исходников проект
Вроде тоже локальное время, или я не там смотрю?
-
- Бывший модератор
- Сообщения: 7390
- Статус: думающий о вечном
- ОС: Debian, LMDE
Re: git log неверно отображает время
Хм… Полез проверять, убрал local. Теперь вообще непойми что. Точно помню, что в самом начале там было -0700. Теперь пишет, что якобы +0300. Но само время при этом…
С date = local:
Без:
На сервере github-а при этом:
С date = local:
Код: Выделить всё
$ git log | grep Date | head -1
Date: Thu Jul 1 08:12:17 2010
Без:
Код: Выделить всё
$ git log | grep Date | head -1
Date: Thu Jul 1 02:12:17 2010 +0300
На сервере github-а при этом:
Код: Выделить всё
Wed Jun 30 22:12:17 -0700 2010
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
-
- Бывший модератор
- Сообщения: 7390
- Статус: думающий о вечном
- ОС: Debian, LMDE
Re: git log неверно отображает время
Добавлю: думаю, из времени, отображаемого на сервере, видно, что из остальных двух верен «локальный» вариант.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
-
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: git log неверно отображает время
вот это буквально записано в репозитории:
так что проблема с отображением.
либо сказывается довольно старая версия git-а, либо какая-то специфика таблетки (это происходит на nokia, как я понял), либо то и другое вместе.
кстати, как убедиться, что git нас не накалывает:
как видно, в начало текста нужно добавить тип объекта (в данном случае "commit"), пробел, длину в байтах и символ 0x0.
и получится именно требуемая хеш-сумма.
upd. что-то меня понесло. не могу удержаться.
так вот. объекты в git-е сжимаются с помощью zlib. распаковать можно прилагающейся к zlib программкой zpipe:
в debian zpipe.c имеется в пакете zlib1g-dev:
QUOTE писал(а):$ git cat-file -p 248cf22220e0dcb60ecb671dd8a4596503bf1749
tree 9822ad5b5ae620484d740faa364057bafe117043
parent f558d6465736b13bc73b3128c259b57fe3affd69
author Tikhon Tarnavsky <t.t@unixforum.org> 1277961137 +0300
committer Tikhon Tarnavsky <t.t@unixforum.org> 1277961137 +0300
updated forgotten original file: en/multiplayer.txt
так что проблема с отображением.
либо сказывается довольно старая версия git-а, либо какая-то специфика таблетки (это происходит на nokia, как я понял), либо то и другое вместе.
кстати, как убедиться, что git нас не накалывает:
Код: Выделить всё
$ git cat-file -p 248cf22220e0dcb60ecb671dd8a4596503bf1749 | wc -c
272
$ git cat-file -p 248cf22220e0dcb60ecb671dd8a4596503bf1749 | sed '1s/^/commit 272\x00/' | sha1sum
248cf22220e0dcb60ecb671dd8a4596503bf1749 -
как видно, в начало текста нужно добавить тип объекта (в данном случае "commit"), пробел, длину в байтах и символ 0x0.
и получится именно требуемая хеш-сумма.
upd. что-то меня понесло. не могу удержаться.
так вот. объекты в git-е сжимаются с помощью zlib. распаковать можно прилагающейся к zlib программкой zpipe:
Код: Выделить всё
$ cat .git/objects/24/8cf22220e0dcb60ecb671dd8a4596503bf1749 | zpipe -d | sha1sum
248cf22220e0dcb60ecb671dd8a4596503bf1749 -
$ cat .git/objects/24/8cf22220e0dcb60ecb671dd8a4596503bf1749 | zpipe -d | hexdump -C
00000000 63 6f 6d 6d 69 74 20 32 37 32 00 74 72 65 65 20 |commit 272.tree |
00000010 39 38 32 32 61 64 35 62 35 61 65 36 32 30 34 38 |9822ad5b5ae62048|
00000020 34 64 37 34 30 66 61 61 33 36 34 30 35 37 62 61 |4d740faa364057ba|
00000030 66 65 31 31 37 30 34 33 0a 70 61 72 65 6e 74 20 |fe117043.parent |
00000040 66 35 35 38 64 36 34 36 35 37 33 36 62 31 33 62 |f558d6465736b13b|
00000050 63 37 33 62 33 31 32 38 63 32 35 39 62 35 37 66 |c73b3128c259b57f|
00000060 65 33 61 66 66 64 36 39 0a 61 75 74 68 6f 72 20 |e3affd69.author |
00000070 54 69 6b 68 6f 6e 20 54 61 72 6e 61 76 73 6b 79 |Tikhon Tarnavsky|
00000080 20 3c 74 2e 74 40 75 6e 69 78 66 6f 72 75 6d 2e | <t.t@unixforum.|
00000090 6f 72 67 3e 20 31 32 37 37 39 36 31 31 33 37 20 |org> 1277961137 |
000000a0 2b 30 33 30 30 0a 63 6f 6d 6d 69 74 74 65 72 20 |+0300.committer |
000000b0 54 69 6b 68 6f 6e 20 54 61 72 6e 61 76 73 6b 79 |Tikhon Tarnavsky|
000000c0 20 3c 74 2e 74 40 75 6e 69 78 66 6f 72 75 6d 2e | <t.t@unixforum.|
000000d0 6f 72 67 3e 20 31 32 37 37 39 36 31 31 33 37 20 |org> 1277961137 |
000000e0 2b 30 33 30 30 0a 0a 75 70 64 61 74 65 64 20 66 |+0300..updated f|
000000f0 6f 72 67 6f 74 74 65 6e 20 6f 72 69 67 69 6e 61 |orgotten origina|
00000100 6c 20 66 69 6c 65 3a 20 65 6e 2f 6d 75 6c 74 69 |l file: en/multi|
00000110 70 6c 61 79 65 72 2e 74 78 74 0a |player.txt.|
0000011b
в debian zpipe.c имеется в пакете zlib1g-dev:
Код: Выделить всё
$ cp /usr/share/doc/zlib1g-dev/examples/zpipe.c.gz .
$ gunzip zpipe.c.gz
$ gcc -o zpipe zpipe.c -lz
$ ls
zpipe zpipe.c
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
-
- Бывший модератор
- Сообщения: 7390
- Статус: думающий о вечном
- ОС: Debian, LMDE
Re: git log неверно отображает время
Спасибо. Да, всё это происходит на n810.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж