D:\тестовый каталог GIT\тест>git st
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# renamed: all.txt -> "\302\253all\302\273.txt"
#
D:\тестовый каталог GIT\тест>git st
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# renamed: "\302\253all\302\273.txt" -> "\302\253all\302\273\303\227\302\251\342\200\243\303\227\342\200\242\342\200\243\302\251\342\200\242\342\210\222\302\253.txt"
#
Теперь я склонен согласиться с textExpanser'ом, что Git корректнее работает с юникодными именами файлов.
PS. для себя лично (преимущественно работаю с GIT) я все же останусь при своем мнении, что с юникодом работать лучше в Mercurial. Т.к. такие спецсимволы, которые не понимает консоль и mercurial в своей деятельности не встречал, а вот отображение юникодной информации (лог, читабельные имена файлов) от git и hg hg
D:\тестовый каталог GIT\тест>git show
commit 8e6fb65f53eec595ca17720c4329770500802e53
Author: Kirill Krasnov <krasnovforum@gmail.com>
Date: Tue Mar 19 12:11:44 2013 +0300
Переименование 2
diff --git "a/\302\253all\302\273.txt" "b/\302\253all\302\273.txt"
deleted file mode 100644
index 4c5ccfd..0000000
--- "a/\302\253all\302\273.txt"
+++ /dev/null
@@ -1 +0,0 @@
-ALL
\ No newline at end of file
diff --git "a/\302\253all\302\273\303\227\302\251\342\200\243\303\227\342\200\242\342\200\243\302\251\342\200\242\342\210\222\302\253.txt" "b/\302\253all\302\273\303\227\302\251\342\200\243\303\227\342\200\242\342\200\243\302\251\342\200\242\342\210\222\302\253.txt"
new file mode 100644
index 0000000..4c5ccfd
--- /dev/null
+++ "b/\302\253all\302\273\303\227\302\251\342\200\243\303\227\342\200\242\342\200\243\302\251\342\200\242\342\210\222\302\253.txt"
@@ -0,0 +1 @@
+ALL
\ No newline at end of file
Лично я долгое время пользовался TortoiseSVN, а когда стал осваивать Mercurial и Git, поставил соответствующих черепах. И комфортней оказалось работать с гитом, т.к. его черепаха оказалась больше похожа на TortoiseSVN.
Да, вышеназванный тест проводил через TortoiseHG и TortoiseGit, естественно.
Re: Git, Mercurial или Bazaar?
Posted: Tue 19 Mar, 2013 14:06
by Vertigo
Kirill wrote:
PS. для себя лично (преимущественно работаю с GIT) я все же останусь при своем мнении, что с юникодом работать лучше в Mercurial. Т.к. такие спецсимволы, которые не понимает консоль и mercurial в своей деятельности не встречал, а вот отображение юникодной информации (лог, читабельные имена файлов) от git и hg
Что меня напрягает - так это плохая поддержка разных кодировок: диффы просматриваются по-умолчанию или в cp1251, или в UTF8, на выбор. То есть что-то да будет кракозябрами вместо русского текста - это зависит от кодировки по-умолчанию в настройках. А так, чтобы в кодировке самого файла показывать и перекодировать при надобности - не нашел такой установки. Я говорю о просмотре диффов в Git GUI.
Можно ли как-то настроить, чтобы показывало в кодировке самого файла, чтобы никаких кракозябр небыло? (UTF-8 файлы у меня с BOM, а остальные - cp1251 по-умолчанию)
Re: Git, Mercurial или Bazaar?
Posted: Thu 21 Mar, 2013 12:59
by HaRT
textExpanser wrote:Можно ли как-то настроить, чтобы показывало в кодировке самого файла, чтобы никаких кракозябр небыло? (UTF-8 файлы у меня с BOM, а остальные - cp1251 по-умолчанию)
А что такое кодировка самого файла, когда файлов несколько?
Re: Git, Mercurial или Bazaar?
Posted: Thu 21 Mar, 2013 15:14
by Michael Lukashov
Существует механизм атрибутов. http://git-scm.com/book/ch7-2.html
Если вкратце, надо создать файл .gitattributes с содержимым
*.sql encoding=cp1251
*.txt encoding=utf-8
Как-то так.
Re: Git, Mercurial или Bazaar?
Posted: Thu 21 Mar, 2013 16:52
by textExpanser
HaRT
Ну файлы могут быть в разных кодировках. А GitGUI выбирает только одну, в ней показывает все файлы. То есть, скажем если выбрать CP1251, то файлы в UTF8 будут вместо русских букв показывать мусор. А хотелось бы, чтобы мне не дамп байтов (кракозябр) показывали, а осмысленный текст. И напрммер, если произошло перекодирование файла, то тоже показывалась разница между русским тестом.
Наверное это всё не очень заботит англоязычных разработчиков, так что без помощи нашего брата с кодировками в VCS удобств не будет.
Честно говоря, я не особо разбирался в настройках, жалко времени было. Может и есть такая настройка, на что и надеюсь.
ice_scream
Спасибо, уже что-то. Жаль, что от расширений зависит, а не само кодировки определяет, как Far или Notepad.
И ещё - кажется в этих всех контролях версий есть проблема с двухбайтовыми Unicode кодировками и такие файлы кажется интерпретируются как бинарные.
Re: Git, Mercurial или Bazaar?
Posted: Sun 07 Apr, 2013 03:12
by LRN
/me только что стянул r9983 через git-svn clone -r 9983. Лепота! (Это к тому, что в общем-то не обязательно переходить на что-то с svn, он юзабелен и так - через обёртки).
RA layer request failed: PROPFIND request failed on '/svn/trunk': PROPFIND of '/svn/trunk':
307 Temporary Redirect (http://farmanager.googlecode.com) at /usr/lib/perl5/site_perl/Git/SVN.pm line 148
У меня используется кастомный msysgit 1.8.4 (в оригинальном напортачили с определением относительного пути), но Git-1.8.3-preview20130601.exe должен работать без проблем.