Git development
 help / color / mirror / Atom feed
* [PATCH] Updated russian translation of git-gui
From: Alex Riesen @ 2007-10-31 21:16 UTC (permalink / raw)
  To: git; +Cc: Shawn O. Pearce

Fixed some spelling mistakes.
---
 po/ru.po |  516 +++++++++++++++++++++++++++++++++++---------------------------
 1 files changed, 292 insertions(+), 224 deletions(-)

diff --git a/po/ru.po b/po/ru.po
index b8e9447..6727a83 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: git-gui\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-10-10 04:04-0400\n"
+"POT-Creation-Date: 2007-10-31 21:23+0100\n"
 "PO-Revision-Date: 2007-10-22 22:30-0200\n"
 "Last-Translator: Alex Riesen <raa.lkml@gmail.com>\n"
 "Language-Team: Russian Translation <git@vger.kernel.org>\n"
@@ -15,33 +15,33 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: git-gui.sh:41 git-gui.sh:634 git-gui.sh:648 git-gui.sh:661 git-gui.sh:744
-#: git-gui.sh:763
+#: git-gui.sh:41 git-gui.sh:597 git-gui.sh:611 git-gui.sh:624 git-gui.sh:707
+#: git-gui.sh:726
 msgid "git-gui: fatal error"
 msgstr "git-gui: критическая ошибка"
 
-#: git-gui.sh:595
+#: git-gui.sh:558
 #, tcl-format
 msgid "Invalid font specified in %s:"
 msgstr "В %s установлен неверный шрифт:"
 
-#: git-gui.sh:620
+#: git-gui.sh:583
 msgid "Main Font"
 msgstr "Шрифт интерфейса"
 
-#: git-gui.sh:621
+#: git-gui.sh:584
 msgid "Diff/Console Font"
 msgstr "Шрифт консоли и изменений (diff)"
 
-#: git-gui.sh:635
+#: git-gui.sh:598
 msgid "Cannot find git in PATH."
 msgstr "git не найден в PATH."
 
-#: git-gui.sh:662
+#: git-gui.sh:625
 msgid "Cannot parse Git version string:"
 msgstr "Невозможно распознать строку версии Git: "
 
-#: git-gui.sh:680
+#: git-gui.sh:643
 #, tcl-format
 msgid ""
 "Git version cannot be determined.\n"
@@ -59,79 +59,79 @@ msgstr ""
 "\n"
 "Принять '%s' как версию 1.5.0?\n"
 
-#: git-gui.sh:853
+#: git-gui.sh:881
 msgid "Git directory not found:"
 msgstr "Каталог Git не найден:"
 
-#: git-gui.sh:860
+#: git-gui.sh:888
 msgid "Cannot move to top of working directory:"
 msgstr "Невозможно перейти к корню рабочего каталога репозитория: "
 
-#: git-gui.sh:867
+#: git-gui.sh:895
 msgid "Cannot use funny .git directory:"
 msgstr "Каталог.git испорчен: "
 
-#: git-gui.sh:872
+#: git-gui.sh:900
 msgid "No working directory"
 msgstr "Отсутствует рабочий каталог"
 
-#: git-gui.sh:1019
+#: git-gui.sh:1047
 msgid "Refreshing file status..."
 msgstr "Обновление информации о состоянии файлов..."
 
-#: git-gui.sh:1084
+#: git-gui.sh:1112
 msgid "Scanning for modified files ..."
 msgstr "Поиск измененных файлов..."
 
-#: git-gui.sh:1259 lib/browser.tcl:245
+#: git-gui.sh:1287 lib/browser.tcl:245
 msgid "Ready."
 msgstr "Готово."
 
-#: git-gui.sh:1525
+#: git-gui.sh:1553
 msgid "Unmodified"
 msgstr "Не изменено"
 
-#: git-gui.sh:1527
+#: git-gui.sh:1555
 msgid "Modified, not staged"
 msgstr "Изменено, не подготовлено"
 
-#: git-gui.sh:1528 git-gui.sh:1533
+#: git-gui.sh:1556 git-gui.sh:1561
 msgid "Staged for commit"
 msgstr "Подготовлено для сохранения"
 
-#: git-gui.sh:1529 git-gui.sh:1534
+#: git-gui.sh:1557 git-gui.sh:1562
 msgid "Portions staged for commit"
 msgstr "Части, подготовленные для сохранения"
 
-#: git-gui.sh:1530 git-gui.sh:1535
+#: git-gui.sh:1558 git-gui.sh:1563
 msgid "Staged for commit, missing"
 msgstr "Подготовлено для сохранения, отсутствует"
 
-#: git-gui.sh:1532
+#: git-gui.sh:1560
 msgid "Untracked, not staged"
 msgstr "Не отслеживается, не подготовлено"
 
-#: git-gui.sh:1537
+#: git-gui.sh:1565
 msgid "Missing"
 msgstr "Отсутствует"
 
-#: git-gui.sh:1538
+#: git-gui.sh:1566
 msgid "Staged for removal"
 msgstr "Подготовлено для удаления"
 
-#: git-gui.sh:1539
+#: git-gui.sh:1567
 msgid "Staged for removal, still present"
 msgstr "Подготовлено для удаления, еще не удалено"
 
-#: git-gui.sh:1541 git-gui.sh:1542 git-gui.sh:1543 git-gui.sh:1544
+#: git-gui.sh:1569 git-gui.sh:1570 git-gui.sh:1571 git-gui.sh:1572
 msgid "Requires merge resolution"
 msgstr "Требуется разрешение конфликта при объединении"
 
-#: git-gui.sh:1579
+#: git-gui.sh:1607
 msgid "Starting gitk... please wait..."
 msgstr "Запускается gitk... пожалуйста, ждите..."
 
-#: git-gui.sh:1588
+#: git-gui.sh:1616
 #, tcl-format
 msgid ""
 "Unable to start gitk:\n"
@@ -142,296 +142,295 @@ msgstr ""
 "\n"
 "%s не существует"
 
-#: git-gui.sh:1788 lib/choose_repository.tcl:32
+#: git-gui.sh:1816 lib/choose_repository.tcl:35
 msgid "Repository"
 msgstr "Репозиторий"
 
-#: git-gui.sh:1789
+#: git-gui.sh:1817
 msgid "Edit"
 msgstr "Редактировать"
 
-#: git-gui.sh:1791 lib/choose_rev.tcl:560
+#: git-gui.sh:1819 lib/choose_rev.tcl:560
 msgid "Branch"
 msgstr "Ветвь"
 
-#: git-gui.sh:1794 lib/choose_rev.tcl:547
+#: git-gui.sh:1822 lib/choose_rev.tcl:547
 msgid "Commit@@noun"
 msgstr "Состояние"
 
-#: git-gui.sh:1797 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168
+#: git-gui.sh:1825 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168
 msgid "Merge"
 msgstr "Объединить"
 
-#: git-gui.sh:1798 lib/choose_rev.tcl:556
+#: git-gui.sh:1826 lib/choose_rev.tcl:556
 msgid "Remote"
 msgstr "Внешние репозитории"
 
-#: git-gui.sh:1807
+#: git-gui.sh:1835
 msgid "Browse Current Branch's Files"
 msgstr "Просмотреть файлы текущей ветви"
 
-#: git-gui.sh:1811
+#: git-gui.sh:1839
 msgid "Browse Branch Files..."
 msgstr "Показать файлы ветви..."
 
-#: git-gui.sh:1816
+#: git-gui.sh:1844
 msgid "Visualize Current Branch's History"
 msgstr "История текущей ветви наглядно"
 
-#: git-gui.sh:1820
+#: git-gui.sh:1848
 msgid "Visualize All Branch History"
 msgstr "История всех ветвей наглядно"
 
-#: git-gui.sh:1827
+#: git-gui.sh:1855
 #, tcl-format
 msgid "Browse %s's Files"
 msgstr "Показать файлы ветви %s"
 
-#: git-gui.sh:1829
+#: git-gui.sh:1857
 #, tcl-format
 msgid "Visualize %s's History"
 msgstr "История ветви %s наглядно"
 
-#: git-gui.sh:1834 lib/database.tcl:27 lib/database.tcl:67
+#: git-gui.sh:1862 lib/database.tcl:27 lib/database.tcl:67
 msgid "Database Statistics"
 msgstr "Статистика базы данных"
 
-#: git-gui.sh:1837 lib/database.tcl:34
+#: git-gui.sh:1865 lib/database.tcl:34
 msgid "Compress Database"
 msgstr "Сжать базу данных"
 
-#: git-gui.sh:1840
+#: git-gui.sh:1868
 msgid "Verify Database"
 msgstr "Проверить базу данных"
 
-#: git-gui.sh:1847 git-gui.sh:1851 git-gui.sh:1855 lib/shortcut.tcl:9
-#: lib/shortcut.tcl:45 lib/shortcut.tcl:84
+#: git-gui.sh:1875 git-gui.sh:1879 git-gui.sh:1883 lib/shortcut.tcl:7
+#: lib/shortcut.tcl:39 lib/shortcut.tcl:71
 msgid "Create Desktop Icon"
 msgstr "Создать ярлык на рабочем столе"
 
-#: git-gui.sh:1860 lib/choose_repository.tcl:36 lib/choose_repository.tcl:95
+#: git-gui.sh:1888 lib/choose_repository.tcl:176 lib/choose_repository.tcl:184
 msgid "Quit"
 msgstr "Выход"
 
-#: git-gui.sh:1867
+#: git-gui.sh:1895
 msgid "Undo"
 msgstr "Отменить"
 
-#: git-gui.sh:1870
+#: git-gui.sh:1898
 msgid "Redo"
 msgstr "Повторить"
 
-#: git-gui.sh:1874 git-gui.sh:2366
+#: git-gui.sh:1902 git-gui.sh:2395
 msgid "Cut"
 msgstr "Вырезать"
 
-#: git-gui.sh:1877 git-gui.sh:2369 git-gui.sh:2440 git-gui.sh:2512
+#: git-gui.sh:1905 git-gui.sh:2398 git-gui.sh:2469 git-gui.sh:2541
 #: lib/console.tcl:67
 msgid "Copy"
 msgstr "Копировать"
 
-#: git-gui.sh:1880 git-gui.sh:2372
+#: git-gui.sh:1908 git-gui.sh:2401
 msgid "Paste"
 msgstr "Вставить"
 
-#: git-gui.sh:1883 git-gui.sh:2375 lib/branch_delete.tcl:26
+#: git-gui.sh:1911 git-gui.sh:2404 lib/branch_delete.tcl:26
 #: lib/remote_branch_delete.tcl:38
 msgid "Delete"
 msgstr "Удалить"
 
-#: git-gui.sh:1887 git-gui.sh:2379 git-gui.sh:2516 lib/console.tcl:69
+#: git-gui.sh:1915 git-gui.sh:2408 git-gui.sh:2545 lib/console.tcl:69
 msgid "Select All"
 msgstr "Выделить все"
 
-#: git-gui.sh:1896
+#: git-gui.sh:1924
 msgid "Create..."
 msgstr "Создать..."
 
-#: git-gui.sh:1902
+#: git-gui.sh:1930
 msgid "Checkout..."
 msgstr "Перейти..."
 
-#: git-gui.sh:1908
+#: git-gui.sh:1936
 msgid "Rename..."
 msgstr "Переименовать..."
 
-#: git-gui.sh:1913 git-gui.sh:2012
+#: git-gui.sh:1941 git-gui.sh:2040
 msgid "Delete..."
 msgstr "Удалить..."
 
-#: git-gui.sh:1918
+#: git-gui.sh:1946
 msgid "Reset..."
 msgstr "Сбросить..."
 
-#: git-gui.sh:1930 git-gui.sh:2313
+#: git-gui.sh:1958 git-gui.sh:2342
 msgid "New Commit"
 msgstr "Новое состояние"
 
-#: git-gui.sh:1938 git-gui.sh:2320
+#: git-gui.sh:1966 git-gui.sh:2349
 msgid "Amend Last Commit"
 msgstr "Исправить последнее состояние"
 
-#: git-gui.sh:1947 git-gui.sh:2280 lib/remote_branch_delete.tcl:99
+#: git-gui.sh:1975 git-gui.sh:2309 lib/remote_branch_delete.tcl:99
 msgid "Rescan"
 msgstr "Перечитать"
 
-#: git-gui.sh:1953
+#: git-gui.sh:1981
 msgid "Stage To Commit"
 msgstr "Подготовить для сохранения"
 
-#: git-gui.sh:1958
+#: git-gui.sh:1986
 msgid "Stage Changed Files To Commit"
 msgstr "Подготовить измененные файлы для сохранения"
 
-#: git-gui.sh:1964
+#: git-gui.sh:1992
 msgid "Unstage From Commit"
 msgstr "Убрать из подготовленного"
 
-#: git-gui.sh:1969 lib/index.tcl:352
+#: git-gui.sh:1997 lib/index.tcl:393
 msgid "Revert Changes"
 msgstr "Отменить изменения"
 
-#: git-gui.sh:1976 git-gui.sh:2292 git-gui.sh:2390
+#: git-gui.sh:2004 git-gui.sh:2321 git-gui.sh:2419
 msgid "Sign Off"
 msgstr "Подписать"
 
-#: git-gui.sh:1980 git-gui.sh:2296
+#: git-gui.sh:2008 git-gui.sh:2325
 msgid "Commit@@verb"
 msgstr "Сохранить"
 
-#: git-gui.sh:1991
+#: git-gui.sh:2019
 msgid "Local Merge..."
 msgstr "Локальное объединение..."
 
-#: git-gui.sh:1996
+#: git-gui.sh:2024
 msgid "Abort Merge..."
 msgstr "Прервать объединение..."
 
-#: git-gui.sh:2008
+#: git-gui.sh:2036
 msgid "Push..."
 msgstr "Отправить..."
 
-#: git-gui.sh:2019 lib/choose_repository.tcl:41
-#, fuzzy
+#: git-gui.sh:2047 lib/choose_repository.tcl:40
 msgid "Apple"
 msgstr ""
 
-#: git-gui.sh:2022 git-gui.sh:2044 lib/about.tcl:13
-#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:50
+#: git-gui.sh:2050 git-gui.sh:2072 lib/about.tcl:13
+#: lib/choose_repository.tcl:43 lib/choose_repository.tcl:49
 #, tcl-format
 msgid "About %s"
 msgstr "О %s"
 
-#: git-gui.sh:2026
+#: git-gui.sh:2054
 msgid "Preferences..."
 msgstr "Настройки..."
 
-#: git-gui.sh:2034 git-gui.sh:2558
+#: git-gui.sh:2062 git-gui.sh:2587
 msgid "Options..."
 msgstr "Настройки..."
 
-#: git-gui.sh:2040 lib/choose_repository.tcl:47
+#: git-gui.sh:2068 lib/choose_repository.tcl:46
 msgid "Help"
 msgstr "Помощь"
 
-#: git-gui.sh:2081
+#: git-gui.sh:2109
 msgid "Online Documentation"
 msgstr "Документация в интернете"
 
-#: git-gui.sh:2165
+#: git-gui.sh:2193
 #, tcl-format
 msgid "fatal: cannot stat path %s: No such file or directory"
 msgstr "критическая ошибка: %s: нет такого файла или каталога"
 
-#: git-gui.sh:2198
+#: git-gui.sh:2226
 msgid "Current Branch:"
 msgstr "Текущая ветвь:"
 
-#: git-gui.sh:2219
+#: git-gui.sh:2247
 msgid "Staged Changes (Will Commit)"
 msgstr "Подготовлено (будет сохранено)"
 
-#: git-gui.sh:2239
+#: git-gui.sh:2266
 msgid "Unstaged Changes"
 msgstr "Изменено (не будет сохранено)"
 
-#: git-gui.sh:2286
+#: git-gui.sh:2315
 msgid "Stage Changed"
 msgstr "Подготовить все"
 
-#: git-gui.sh:2302 lib/transport.tcl:93 lib/transport.tcl:182
+#: git-gui.sh:2331 lib/transport.tcl:93 lib/transport.tcl:182
 msgid "Push"
 msgstr "Отправить"
 
-#: git-gui.sh:2332
+#: git-gui.sh:2361
 msgid "Initial Commit Message:"
 msgstr "Комментарий к первому состоянию:"
 
-#: git-gui.sh:2333
+#: git-gui.sh:2362
 msgid "Amended Commit Message:"
 msgstr "Комментарий к исправленному состоянию:"
 
-#: git-gui.sh:2334
+#: git-gui.sh:2363
 msgid "Amended Initial Commit Message:"
 msgstr "Комментарий к исправленному первоначальному состоянию:"
 
-#: git-gui.sh:2335
+#: git-gui.sh:2364
 msgid "Amended Merge Commit Message:"
 msgstr "Комментарий к исправленному объединению:"
 
-#: git-gui.sh:2336
+#: git-gui.sh:2365
 msgid "Merge Commit Message:"
 msgstr "Комментарий к объединению:"
 
-#: git-gui.sh:2337
+#: git-gui.sh:2366
 msgid "Commit Message:"
 msgstr "Комментарий к состоянию:"
 
-#: git-gui.sh:2382 git-gui.sh:2520 lib/console.tcl:71
+#: git-gui.sh:2411 git-gui.sh:2549 lib/console.tcl:71
 msgid "Copy All"
 msgstr "Копировать все"
 
-#: git-gui.sh:2406 lib/blame.tcl:104
+#: git-gui.sh:2435 lib/blame.tcl:104
 msgid "File:"
 msgstr "Файл:"
 
-#: git-gui.sh:2508
+#: git-gui.sh:2537
 msgid "Refresh"
 msgstr "Обновить"
 
-#: git-gui.sh:2529
+#: git-gui.sh:2558
 msgid "Apply/Reverse Hunk"
 msgstr "Применить/Убрать изменение"
 
-#: git-gui.sh:2535
+#: git-gui.sh:2564
 msgid "Decrease Font Size"
 msgstr "Уменьшить размер шрифта"
 
-#: git-gui.sh:2539
+#: git-gui.sh:2568
 msgid "Increase Font Size"
 msgstr "Увеличить размер шрифта"
 
-#: git-gui.sh:2544
+#: git-gui.sh:2573
 msgid "Show Less Context"
 msgstr "Меньше контекста"
 
-#: git-gui.sh:2551
+#: git-gui.sh:2580
 msgid "Show More Context"
 msgstr "Больше контекста"
 
-#: git-gui.sh:2565
+#: git-gui.sh:2594
 msgid "Unstage Hunk From Commit"
 msgstr "Не сохранять часть"
 
-#: git-gui.sh:2567
+#: git-gui.sh:2596
 msgid "Stage Hunk For Commit"
 msgstr "Подготовить часть для сохранения"
 
-#: git-gui.sh:2586
+#: git-gui.sh:2615
 msgid "Initializing..."
 msgstr "Инициализация..."
 
-#: git-gui.sh:2677
+#: git-gui.sh:2706
 #, tcl-format
 msgid ""
 "Possible environment issues exist.\n"
@@ -448,7 +447,7 @@ msgstr ""
 "запущенными из %s\n"
 "\n"
 
-#: git-gui.sh:2707
+#: git-gui.sh:2736
 msgid ""
 "\n"
 "This is due to a known issue with the\n"
@@ -458,7 +457,7 @@ msgstr ""
 "Это известная проблема с Tcl,\n"
 "распространяемым Cygwin."
 
-#: git-gui.sh:2712
+#: git-gui.sh:2741
 #, tcl-format
 msgid ""
 "\n"
@@ -579,7 +578,7 @@ msgstr "Создание ветви"
 msgid "Create New Branch"
 msgstr "Создать новую ветвь"
 
-#: lib/branch_create.tcl:31 lib/choose_repository.tcl:199
+#: lib/branch_create.tcl:31 lib/choose_repository.tcl:375
 msgid "Create"
 msgstr "Создать"
 
@@ -732,9 +731,9 @@ msgstr "[На уровень выше]"
 msgid "Browse Branch Files"
 msgstr "Показать файлы ветви"
 
-#: lib/browser.tcl:277 lib/choose_repository.tcl:215
-#: lib/choose_repository.tcl:305 lib/choose_repository.tcl:315
-#: lib/choose_repository.tcl:811
+#: lib/browser.tcl:277 lib/choose_repository.tcl:391
+#: lib/choose_repository.tcl:482 lib/choose_repository.tcl:492
+#: lib/choose_repository.tcl:989
 msgid "Browse"
 msgstr "Показать"
 
@@ -788,7 +787,8 @@ msgstr "Рабочая область заблокирована другим п
 msgid ""
 "Last scanned state does not match repository state.\n"
 "\n"
-"Another Git program has modified this repository since the last scan.  A rescan must be performed before the current branch can be changed.\n"
+"Another Git program has modified this repository since the last scan.  A "
+"rescan must be performed before the current branch can be changed.\n"
 "\n"
 "The rescan will be automatically started now.\n"
 msgstr ""
@@ -822,11 +822,13 @@ msgstr "Ветвь '%s' остается текущей."
 msgid ""
 "You are no longer on a local branch.\n"
 "\n"
-"If you wanted to be on a branch, create one now starting from 'This Detached Checkout'."
+"If you wanted to be on a branch, create one now starting from 'This Detached "
+"Checkout'."
 msgstr ""
 "Вы находитесь не в локальной ветви.\n"
 "\n"
-"Если вы хотите снова вернуться к какой-нибудь ветви, создайте ее сейчас, начиная с 'Текущего отсоединенного состояния'."
+"Если вы хотите снова вернуться к какой-нибудь ветви, создайте ее сейчас, "
+"начиная с 'Текущего отсоединенного состояния'."
 
 #: lib/checkout_op.tcl:446
 #, tcl-format
@@ -856,19 +858,21 @@ msgstr "Наглядно"
 msgid ""
 "Failed to set current branch.\n"
 "\n"
-"This working directory is only partially switched.  We successfully updated your files, but failed to update an internal Git file.\n"
+"This working directory is only partially switched.  We successfully updated "
+"your files, but failed to update an internal Git file.\n"
 "\n"
 "This should not have occurred.  %s will now close and give up."
 msgstr ""
 "Не удалось установить текущую ветвь.\n"
 "\n"
-"Ваш рабочий каталог обновлен только частично. Были обновлены все файлы кроме служебных файлов Git. \n"
+"Ваш рабочий каталог обновлен только частично. Были обновлены все файлы кроме "
+"служебных файлов Git. \n"
 "\n"
 "Этого не должно было произойти. %s завершается."
 
 #: lib/choose_font.tcl:39
 msgid "Select"
-msgstr "Выделить все"
+msgstr "Выбрать"
 
 #: lib/choose_font.tcl:53
 msgid "Font Family"
@@ -890,210 +894,226 @@ msgstr ""
 "Это пример текста.\n"
 "Если Вам нравится этот текст, это может быть Ваш шрифт."
 
-#: lib/choose_repository.tcl:25
+#: lib/choose_repository.tcl:27
 msgid "Git Gui"
 msgstr ""
 
-#: lib/choose_repository.tcl:69 lib/choose_repository.tcl:204
+#: lib/choose_repository.tcl:80 lib/choose_repository.tcl:380
 msgid "Create New Repository"
 msgstr "Создать новый репозиторий"
 
-#: lib/choose_repository.tcl:74 lib/choose_repository.tcl:291
+#: lib/choose_repository.tcl:86
+msgid "New..."
+msgstr "Новый..."
+
+#: lib/choose_repository.tcl:93 lib/choose_repository.tcl:468
 msgid "Clone Existing Repository"
 msgstr "Склонировать существующий репозиторий"
 
-#: lib/choose_repository.tcl:79 lib/choose_repository.tcl:800
+#: lib/choose_repository.tcl:99
+msgid "Clone..."
+msgstr "Склонировать..."
+
+#: lib/choose_repository.tcl:106 lib/choose_repository.tcl:978
 msgid "Open Existing Repository"
 msgstr "Выбрать существующий репозиторий"
 
-#: lib/choose_repository.tcl:91
-msgid "Next >"
-msgstr "Дальше >"
+#: lib/choose_repository.tcl:112
+msgid "Open..."
+msgstr "Открыть..."
 
-#: lib/choose_repository.tcl:152
+#: lib/choose_repository.tcl:125
+msgid "Recent Repositories"
+msgstr "Недавние репозитории"
+
+#: lib/choose_repository.tcl:131
+msgid "Open Recent Repository:"
+msgstr "Открыть последний репозиторий"
+
+#: lib/choose_repository.tcl:294
 #, tcl-format
 msgid "Location %s already exists."
 msgstr "Путь '%s' уже существует."
 
-#: lib/choose_repository.tcl:158 lib/choose_repository.tcl:165
-#: lib/choose_repository.tcl:172
+#: lib/choose_repository.tcl:300 lib/choose_repository.tcl:307
+#: lib/choose_repository.tcl:314
 #, tcl-format
 msgid "Failed to create repository %s:"
 msgstr "Не удалось создать репозиторий %s:"
 
-#: lib/choose_repository.tcl:209 lib/choose_repository.tcl:309
+#: lib/choose_repository.tcl:385 lib/choose_repository.tcl:486
 msgid "Directory:"
 msgstr "Каталог:"
 
-#: lib/choose_repository.tcl:238 lib/choose_repository.tcl:363
-#: lib/choose_repository.tcl:834
+#: lib/choose_repository.tcl:415 lib/choose_repository.tcl:544
+#: lib/choose_repository.tcl:1013
 msgid "Git Repository"
 msgstr "Репозиторий"
 
-#: lib/choose_repository.tcl:253 lib/choose_repository.tcl:260
+#: lib/choose_repository.tcl:430 lib/choose_repository.tcl:437
 #, tcl-format
 msgid "Directory %s already exists."
 msgstr "Каталог '%s' уже существует."
 
-#: lib/choose_repository.tcl:265
+#: lib/choose_repository.tcl:442
 #, tcl-format
 msgid "File %s already exists."
 msgstr "Файл '%s' уже существует."
 
-#: lib/choose_repository.tcl:286
+#: lib/choose_repository.tcl:463
 msgid "Clone"
 msgstr "Склонировать"
 
-#: lib/choose_repository.tcl:299
+#: lib/choose_repository.tcl:476
 msgid "URL:"
 msgstr "Ссылка:"
 
-#: lib/choose_repository.tcl:319
+#: lib/choose_repository.tcl:496
 msgid "Clone Type:"
 msgstr "Тип клона:"
 
-#: lib/choose_repository.tcl:325
+#: lib/choose_repository.tcl:502
 msgid "Standard (Fast, Semi-Redundant, Hardlinks)"
 msgstr "Стандартный (Быстрый, полуизбыточный, \"жесткие\" ссылки)"
 
-#: lib/choose_repository.tcl:331
+#: lib/choose_repository.tcl:508
 msgid "Full Copy (Slower, Redundant Backup)"
 msgstr "Полная копия (Медленный, создает резервную копию)"
 
-#: lib/choose_repository.tcl:337
+#: lib/choose_repository.tcl:514
 msgid "Shared (Fastest, Not Recommended, No Backup)"
 msgstr "Общий (Самый быстрый, не рекомендуется, без резервной копии)"
 
-#: lib/choose_repository.tcl:369 lib/choose_repository.tcl:418
-#: lib/choose_repository.tcl:560 lib/choose_repository.tcl:630
-#: lib/choose_repository.tcl:840 lib/choose_repository.tcl:848
+#: lib/choose_repository.tcl:550 lib/choose_repository.tcl:597
+#: lib/choose_repository.tcl:738 lib/choose_repository.tcl:808
+#: lib/choose_repository.tcl:1019 lib/choose_repository.tcl:1027
 #, tcl-format
 msgid "Not a Git repository: %s"
 msgstr "Каталог не является репозиторием: %s"
 
-#: lib/choose_repository.tcl:405
+#: lib/choose_repository.tcl:586
 msgid "Standard only available for local repository."
 msgstr "Стандартный клон возможен только для локального репозитория."
 
-#: lib/choose_repository.tcl:409
+#: lib/choose_repository.tcl:590
 msgid "Shared only available for local repository."
 msgstr "Общий клон возможен только для локального репозитория."
 
-#: lib/choose_repository.tcl:439
+#: lib/choose_repository.tcl:617
 msgid "Failed to configure origin"
 msgstr "Не могу сконфигурировать исходный репозиторий."
 
-#: lib/choose_repository.tcl:451
+#: lib/choose_repository.tcl:629
 msgid "Counting objects"
 msgstr "Считаю объекты"
 
-#: lib/choose_repository.tcl:452
-#, fuzzy
+#: lib/choose_repository.tcl:630
 msgid "buckets"
 msgstr ""
 
-#: lib/choose_repository.tcl:476
+#: lib/choose_repository.tcl:654
 #, tcl-format
 msgid "Unable to copy objects/info/alternates: %s"
 msgstr "Не могу скопировать objects/info/alternates: %s"
 
-#: lib/choose_repository.tcl:512
+#: lib/choose_repository.tcl:690
 #, tcl-format
 msgid "Nothing to clone from %s."
 msgstr "Нечего клонировать с %s."
 
-#: lib/choose_repository.tcl:514 lib/choose_repository.tcl:728
-#: lib/choose_repository.tcl:740
+#: lib/choose_repository.tcl:692 lib/choose_repository.tcl:906
+#: lib/choose_repository.tcl:918
 msgid "The 'master' branch has not been initialized."
 msgstr "Не инициализирована ветвь 'master'."
 
-#: lib/choose_repository.tcl:527
+#: lib/choose_repository.tcl:705
 msgid "Hardlinks are unavailable.  Falling back to copying."
 msgstr "\"Жесткие ссылки\" не доступны. Буду использовать копирование."
 
-#: lib/choose_repository.tcl:539
+#: lib/choose_repository.tcl:717
 #, tcl-format
 msgid "Cloning from %s"
 msgstr "Клонирование %s"
 
-#: lib/choose_repository.tcl:570
+#: lib/choose_repository.tcl:748
 msgid "Copying objects"
 msgstr "Копирование objects"
 
-#: lib/choose_repository.tcl:571
+#: lib/choose_repository.tcl:749
 msgid "KiB"
 msgstr "КБ"
 
-#: lib/choose_repository.tcl:595
+#: lib/choose_repository.tcl:773
 #, tcl-format
 msgid "Unable to copy object: %s"
 msgstr "Не могу скопировать объект: %s"
 
-#: lib/choose_repository.tcl:605
+#: lib/choose_repository.tcl:783
 msgid "Linking objects"
 msgstr "Создание ссылок на objects"
 
-#: lib/choose_repository.tcl:606
+#: lib/choose_repository.tcl:784
 msgid "objects"
 msgstr "объекты"
 
-#: lib/choose_repository.tcl:614
+#: lib/choose_repository.tcl:792
 #, tcl-format
 msgid "Unable to hardlink object: %s"
 msgstr "Не могу \"жестко связать\" объект: %s"
 
-#: lib/choose_repository.tcl:669
+#: lib/choose_repository.tcl:847
 msgid "Cannot fetch branches and objects.  See console output for details."
-msgstr "Не могу получить ветви и объекты. Дополнительная информация на консоли."
+msgstr ""
+"Не могу получить ветви и объекты. Дополнительная информация на консоли."
 
-#: lib/choose_repository.tcl:680
+#: lib/choose_repository.tcl:858
 msgid "Cannot fetch tags.  See console output for details."
 msgstr "Не могу получить метки. Дополнительная информация на консоли."
 
-#: lib/choose_repository.tcl:704
+#: lib/choose_repository.tcl:882
 msgid "Cannot determine HEAD.  See console output for details."
 msgstr "Не могу определить HEAD. Дополнительная информация на консоли."
 
-#: lib/choose_repository.tcl:713
+#: lib/choose_repository.tcl:891
 #, tcl-format
 msgid "Unable to cleanup %s"
 msgstr "Не могу очистить %s"
 
-#: lib/choose_repository.tcl:719
+#: lib/choose_repository.tcl:897
 msgid "Clone failed."
 msgstr "Клонирование не удалось."
 
-#: lib/choose_repository.tcl:726
+#: lib/choose_repository.tcl:904
 msgid "No default branch obtained."
 msgstr "Не было получено ветви по умолчанию."
 
-#: lib/choose_repository.tcl:737
+#: lib/choose_repository.tcl:915
 #, tcl-format
 msgid "Cannot resolve %s as a commit."
 msgstr "Не могу распознать %s как состояние."
 
-#: lib/choose_repository.tcl:749
+#: lib/choose_repository.tcl:927
 msgid "Creating working directory"
 msgstr "Создаю рабочий каталог"
 
-#: lib/choose_repository.tcl:750 lib/index.tcl:15 lib/index.tcl:80
-#: lib/index.tcl:149
+#: lib/choose_repository.tcl:928 lib/index.tcl:65 lib/index.tcl:127
+#: lib/index.tcl:193
 msgid "files"
 msgstr "файлов"
 
-#: lib/choose_repository.tcl:779
+#: lib/choose_repository.tcl:957
 msgid "Initial file checkout failed."
 msgstr "Не удалось получить начальное состояние файлов репозитория."
 
-#: lib/choose_repository.tcl:795
+#: lib/choose_repository.tcl:973
 msgid "Open"
 msgstr "Открыть"
 
-#: lib/choose_repository.tcl:805
+#: lib/choose_repository.tcl:983
 msgid "Repository:"
 msgstr "Репозиторий:"
 
-#: lib/choose_repository.tcl:854
+#: lib/choose_repository.tcl:1033
 #, tcl-format
 msgid "Failed to open repository %s:"
 msgstr "Не удалось открыть репозиторий %s:"
@@ -1116,7 +1136,7 @@ msgstr "Ветвь слежения"
 
 #: lib/choose_rev.tcl:84 lib/choose_rev.tcl:537
 msgid "Tag"
-msgstr "Метка"
+msgstr "Таг"
 
 #: lib/choose_rev.tcl:317
 #, tcl-format
@@ -1143,7 +1163,8 @@ msgstr "Ссылка"
 msgid ""
 "There is nothing to amend.\n"
 "\n"
-"You are about to create the initial commit.  There is no commit before this to amend.\n"
+"You are about to create the initial commit.  There is no commit before this "
+"to amend.\n"
 msgstr ""
 "Отсутствует состояние для исправления.\n"
 "\n"
@@ -1153,11 +1174,14 @@ msgstr ""
 msgid ""
 "Cannot amend while merging.\n"
 "\n"
-"You are currently in the middle of a merge that has not been fully completed.  You cannot amend the prior commit unless you first abort the current merge activity.\n"
+"You are currently in the middle of a merge that has not been fully "
+"completed.  You cannot amend the prior commit unless you first abort the "
+"current merge activity.\n"
 msgstr ""
 "Невозможно исправить состояние во время объединения.\n"
 "\n"
-"Текущее объединение не завершено. Невозможно исправить предыдущее сохраненное состояние не прерывая текущее объединение.\n"
+"Текущее объединение не завершено. Невозможно исправить предыдущее "
+"сохраненное состояние не прерывая текущее объединение.\n"
 
 #: lib/commit.tcl:49
 msgid "Error loading commit data for amend:"
@@ -1169,19 +1193,21 @@ msgstr "Невозможно получить информацию об авто
 
 #: lib/commit.tcl:81
 msgid "Invalid GIT_COMMITTER_IDENT:"
-msgstr "Неверная GIT_COMMITTER_IDENT:"
+msgstr "Неверный GIT_COMMITTER_IDENT:"
 
 #: lib/commit.tcl:133
 msgid ""
 "Last scanned state does not match repository state.\n"
 "\n"
-"Another Git program has modified this repository since the last scan.  A rescan must be performed before another commit can be created.\n"
+"Another Git program has modified this repository since the last scan.  A "
+"rescan must be performed before another commit can be created.\n"
 "\n"
 "The rescan will be automatically started now.\n"
 msgstr ""
 "Последнее прочитанное состояние репозитория не соответствует текущему.\n"
 "\n"
-"С момента последней проверки репозиторий был изменен другой программой Git. Необходимо перечитать репозиторий, прежде чем изменять текущую ветвь. \n"
+"С момента последней проверки репозиторий был изменен другой программой Git. "
+"Необходимо перечитать репозиторий, прежде чем изменять текущую ветвь. \n"
 "\n"
 "Это будет сделано сейчас автоматически.\n"
 
@@ -1190,11 +1216,13 @@ msgstr ""
 msgid ""
 "Unmerged files cannot be committed.\n"
 "\n"
-"File %s has merge conflicts.  You must resolve them and stage the file before committing.\n"
+"File %s has merge conflicts.  You must resolve them and stage the file "
+"before committing.\n"
 msgstr ""
 "Нельзя сохранить необъединенные файлы.\n"
 "\n"
-"Для файла %s возник конфликт объединения. Разрешите конфликт и добавьте к подготовленным файлам перед сохранением.\n"
+"Для файла %s возник конфликт объединения. Разрешите конфликт и добавьте к "
+"подготовленным файлам перед сохранением.\n"
 
 #: lib/commit.tcl:162
 #, tcl-format
@@ -1333,13 +1361,15 @@ msgstr "Проверка базы объектов при помощи fsck"
 msgid ""
 "This repository currently has approximately %i loose objects.\n"
 "\n"
-"To maintain optimal performance it is strongly recommended that you compress the database when more than %i loose objects exist.\n"
+"To maintain optimal performance it is strongly recommended that you compress "
+"the database when more than %i loose objects exist.\n"
 "\n"
 "Compress the database now?"
 msgstr ""
 "Этот репозиторий сейчас содержит примерно %i свободных объектов\n"
 "\n"
-"Для лучшей производительности рекомендуется сжать базу данных, когда есть более %i несвязанных объектов.\n"
+"Для лучшей производительности рекомендуется сжать базу данных, когда есть "
+"более %i несвязанных объектов.\n"
 "\n"
 "Сжать базу данных сейчас?"
 
@@ -1355,15 +1385,18 @@ msgid ""
 "\n"
 "%s has no changes.\n"
 "\n"
-"The modification date of this file was updated by another application, but the content within the file was not changed.\n"
+"The modification date of this file was updated by another application, but "
+"the content within the file was not changed.\n"
 "\n"
-"A rescan will be automatically started to find other files which may have the same state."
+"A rescan will be automatically started to find other files which may have "
+"the same state."
 msgstr ""
 "Изменений не обнаружено.\n"
 "\n"
 "в %s отутствуют изменения.\n"
 "\n"
-"Дата изменения файла была обновлена другой программой, но содержимое файла осталось прежним.\n"
+"Дата изменения файла была обновлена другой программой, но содержимое файла "
+"осталось прежним.\n"
 "\n"
 "Сейчас будет запущено перечитывание репозитория, чтобы найти подобные файлы."
 
@@ -1413,32 +1446,57 @@ msgstr "предупреждение"
 msgid "You must correct the above errors before committing."
 msgstr "Прежде чем сохранить, исправьте вышеуказанные ошибки."
 
-#: lib/index.tcl:241
+#: lib/index.tcl:6
+msgid "Unable to unlock the index."
+msgstr "Не удалось разблокировать индекс"
+
+#: lib/index.tcl:15
+msgid "Index Error"
+msgstr "Ошибка индекса"
+
+#: lib/index.tcl:21
+msgid ""
+"Updating the Git index failed.  A rescan will be automatically started to "
+"resynchronize git-gui."
+msgstr ""
+"Не удалось обновить индекс Git. Состояние репозитория будет"
+"перечитано автоматически."
+
+#: lib/index.tcl:27
+msgid "Continue"
+msgstr "Продолжить"
+
+#: lib/index.tcl:31
+msgid "Unlock Index"
+msgstr "Разблокировать индекс"
+
+#: lib/index.tcl:282
 #, tcl-format
 msgid "Unstaging %s from commit"
 msgstr "Удаление %s из подготовленного"
 
-#: lib/index.tcl:285
+#: lib/index.tcl:326
 #, tcl-format
 msgid "Adding %s"
 msgstr "Добавление %s..."
 
-#: lib/index.tcl:340
+#: lib/index.tcl:381
 #, tcl-format
 msgid "Revert changes in file %s?"
 msgstr "Отменить изменения в файле %s?"
 
-#: lib/index.tcl:342
+#: lib/index.tcl:383
 #, tcl-format
 msgid "Revert changes in these %i files?"
 msgstr "Отменить изменения в %i файле(-ах)?"
 
-#: lib/index.tcl:348
+#: lib/index.tcl:389
 msgid "Any unstaged changes will be permanently lost by the revert."
 msgstr ""
-"Любые изменения, не подготовленные к сохранению, будут потеряны при данной операции."
+"Любые изменения, не подготовленные к сохранению, будут потеряны при данной "
+"операции."
 
-#: lib/index.tcl:351
+#: lib/index.tcl:392
 msgid "Do Nothing"
 msgstr "Ничего не делать"
 
@@ -1450,19 +1508,22 @@ msgid ""
 msgstr ""
 "Невозможно выполнить объединение во время исправления.\n"
 "\n"
-"Завершите исправление данного состояния перед выполнением операции объединения.\n"
+"Завершите исправление данного состояния перед выполнением операции "
+"объединения.\n"
 
 #: lib/merge.tcl:27
 msgid ""
 "Last scanned state does not match repository state.\n"
 "\n"
-"Another Git program has modified this repository since the last scan.  A rescan must be performed before a merge can be performed.\n"
+"Another Git program has modified this repository since the last scan.  A "
+"rescan must be performed before a merge can be performed.\n"
 "\n"
 "The rescan will be automatically started now.\n"
 msgstr ""
 "Последнее прочитанное состояние репозитория не соответствует текущему.\n"
 "\n"
-"С момента последней проверки репозиторий был изменен другой программой Git. Необходимо перечитать репозиторий, прежде чем изменять текущую ветвь.\n"
+"С момента последней проверки репозиторий был изменен другой программой Git. "
+"Необходимо перечитать репозиторий, прежде чем изменять текущую ветвь.\n"
 "\n"
 "Это будет сделано сейчас автоматически.\n"
 
@@ -1473,12 +1534,15 @@ msgid ""
 "\n"
 "File %s has merge conflicts.\n"
 "\n"
-"You must resolve them, stage the file, and commit to complete the current merge.  Only then can you begin another merge.\n"
+"You must resolve them, stage the file, and commit to complete the current "
+"merge.  Only then can you begin another merge.\n"
 msgstr ""
 "Предыдущее объединение не завершено из-за конфликта.\n"
 "\n"
 "Для файла %s возник конфликт объединения.\n"
-"Разрешите конфликт, подготовьте файл и сохраните. Только после этого можно начать следующее объединение.\n"
+"\n"
+"Разрешите конфликт, подготовьте файл и сохраните. Только после этого можно "
+"начать следующее объединение.\n"
 
 #: lib/merge.tcl:54
 #, tcl-format
@@ -1487,13 +1551,15 @@ msgid ""
 "\n"
 "File %s is modified.\n"
 "\n"
-"You should complete the current commit before starting a merge.  Doing so will help you abort a failed merge, should the need arise.\n"
+"You should complete the current commit before starting a merge.  Doing so "
+"will help you abort a failed merge, should the need arise.\n"
 msgstr ""
 "Изменения не сохранены.\n"
 "\n"
-"Файл  %s изменен.\n"
+"Файл %s изменен.\n"
 "\n"
-"Подготовьте и сохраните измения перед началом объединения. В случае необходимости это позволит прервать операцию объединения.\n"
+"Подготовьте и сохраните измения перед началом объединения. В случае "
+"необходимости это позволит прервать операцию объединения.\n"
 
 #: lib/merge.tcl:106
 #, tcl-format
@@ -1631,7 +1697,7 @@ msgstr "Шаблон для имени новой ветви"
 
 #: lib/option.tcl:176
 msgid "Change Font"
-msgstr "Шрифт интерфейса"
+msgstr "Изменить шрифт"
 
 #: lib/option.tcl:180
 #, tcl-format
@@ -1640,7 +1706,6 @@ msgstr "Выберите %s"
 
 # carbon copy
 #: lib/option.tcl:186
-#, fuzzy
 msgid "pt."
 msgstr ""
 
@@ -1652,18 +1717,6 @@ msgstr "Настройки"
 msgid "Failed to completely save options:"
 msgstr "Не удалось полностью сохранить настройки:"
 
-#: lib/remote.tcl:165
-msgid "Prune from"
-msgstr "Чистка"
-
-#: lib/remote.tcl:170
-msgid "Fetch from"
-msgstr "Получение из"
-
-#: lib/remote.tcl:213
-msgid "Push to"
-msgstr "Отправить"
-
 #: lib/remote_branch_delete.tcl:29 lib/remote_branch_delete.tcl:34
 msgid "Delete Remote Branch"
 msgstr "Удалить внешнюю ветвь"
@@ -1707,16 +1760,17 @@ msgid ""
 "\n"
 " - %s"
 msgstr ""
-"Следующие ветви объединены с %s не полностью:"
-"\n"
+"Следующие ветви объединены с %s не полностью:\n"
 " - %s"
 
 #: lib/remote_branch_delete.tcl:189
 #, tcl-format
-msgid "One or more of the merge tests failed because you have not fetched the necessary commits.  Try fetching from %s first."
+msgid ""
+"One or more of the merge tests failed because you have not fetched the "
+"necessary commits.  Try fetching from %s first."
 msgstr ""
-"Один или несколько тестов на объединение не прошли, потому что "
-"Вы не получили необходимые состояния. Попробуйте сначала получить их из %s."
+"Один или несколько тестов на объединение не прошли, потому что Вы не "
+"получили необходимые состояния. Попытайтесь получить их из %s."
 
 #: lib/remote_branch_delete.tcl:207
 msgid "Please select one or more branches to delete."
@@ -1746,11 +1800,23 @@ msgstr "Не указан репозиторий."
 msgid "Scanning %s..."
 msgstr "Перечитывание %s... "
 
-#: lib/shortcut.tcl:26 lib/shortcut.tcl:74
-msgid "Cannot write script:"
-msgstr "Невозможно записать скрипт:"
+#: lib/remote.tcl:165
+msgid "Prune from"
+msgstr "Чистка"
+
+#: lib/remote.tcl:170
+msgid "Fetch from"
+msgstr "Получение из"
+
+#: lib/remote.tcl:213
+msgid "Push to"
+msgstr "Отправить"
+
+#: lib/shortcut.tcl:20 lib/shortcut.tcl:61
+msgid "Cannot write shortcut:"
+msgstr "Невозможно записать ссылку:"
 
-#: lib/shortcut.tcl:149
+#: lib/shortcut.tcl:136
 msgid "Cannot write icon:"
 msgstr "Невозможно записать значок:"
 
@@ -1821,5 +1887,7 @@ msgstr "Использовать thin pack (для медленных сетев
 
 #: lib/transport.tcl:168
 msgid "Include tags"
-msgstr "Включить метки"
+msgstr "Передать таги"
 
+#~ msgid "Next >"
+#~ msgstr "Дальше >"
-- 
1.5.3.4.500.g3a531f

^ permalink raw reply related

* Re: cogito and remote#branch, was Re: [PATCH] Git homepage: remove all the references to Cogito
From: Jonas Fonseca @ 2007-10-31 21:17 UTC (permalink / raw)
  To: Petr Baudis; +Cc: Johannes Schindelin, Paolo Ciarrocchi, git
In-Reply-To: <20071031170951.GR18279@machine.or.cz>

On Oct 31, 2007 6:09 PM, Petr Baudis <pasky@suse.cz> wrote:
> And some command in Git to easily get the equivalent of cg-status -g
> output is something I probably miss the most in Git now. (Originally I
> was about to say that I just miss an equivalent of cg-status, but
> thinking about it, most of the time I'm interested only in either -g
> (long branch info) or -w (git status output)).

Try `git branch -v` ... maybe with an added -a.

-- 
Jonas Fonseca

^ permalink raw reply

* Re: Newbie: report of first experience with git-rebase.
From: Alex Riesen @ 2007-10-31 21:25 UTC (permalink / raw)
  To: Sergei Organov; +Cc: git
In-Reply-To: <87d4uv3wh1.fsf@osv.gnss.ru>

Sergei Organov, Wed, Oct 31, 2007 20:39:06 +0100:
> $ git rebase --continue
> You must edit all merge conflicts and then
> mark them as resolved using git add
> 
> me> Nice helpful message, -- need to do git-add
> 
> $ git add Documentation/core-tutorial.txt
> $ git rebase --continue
> 
> Applying Use new syntax (-m option) for git-merge.
> 
> No changes - did you forget to use 'git add'?

This "No changes" was meant as a hint

> When you have resolved this problem run "git rebase --continue".
> If you would prefer to skip this patch, instead run "git rebase --skip".
> To restore the original branch and stop rebasing run "git rebase --abort".
> 
> me> What?! I just did the git-add! Moreover, before I did git-add, the
> me> error was different and helpful. Something went wrong? 

Well, you edited you tree to look exactly like it already is.

> me> No luck :( A few seconds of thinking... Hmm... no-op patch, do I
> me> need to skip it? Let's try the --skip:
> 
> $ git rebase --skip

Exactly.

> Applying Fix SYNOPSIS.
> 
> error: patch failed: Documentation/git-merge.txt:10
> error: Documentation/git-merge.txt: patch does not apply
> Using index info to reconstruct a base tree...
> Falling back to patching base and 3-way merge...
> Auto-merged Documentation/git-merge.txt
> CONFLICT (content): Merge conflict in Documentation/git-merge.txt
> Failed to merge in the changes.
> Patch failed at 0003.
> 
> When you have resolved this problem run "git rebase --continue".
> If you would prefer to skip this patch, instead run "git rebase --skip".
> To restore the original branch and stop rebasing run "git rebase --abort".
> 
> me> Aha, that's it! But why git didn't just skip the no-op patch
> me> automatically? Well, anyway , now I have a new expected conflict,

it was not a noop patch before you resolved the conflict.

> me> and I'm sure I just want to skip this patch, so let's try exactly
> me> that:
> 
> $ git rebase --skip
> Dirty index: cannot apply patches (dirty: Documentation/git-merge.txt)

Well... This one kind of hard: git-rebase _cannot_ know whether it is
safe to just drop all changes in the index and work tree (you could
have made the changes on purpose). It was decided not to drop
anything. You always can do

    $ git reset --hard # kills all changes in index and work tree
    $ git rebase --skip

(or maybe git-rebase is just too careful...)

> me> No luck :( Well, let's go the long way, -- edit conflicting
> me> Documentation/git-merge.txt (so that it matches upstream),
> 
> $ git add Documentation/git-merge.txt
> $ git rebase --skip
> Nothing to do.
> 
> me> Well, I already knew this will work, but why should I edit the file
> me> and then git-add it just to skip the patch? Is there better way?
> me> Anyway, the "Nothing to do." above is slightly confusing, -- did it
> me> actually skip the patch? So let's check the result:

Yes. It was the last commit. You were just too unlucky to hit all the
hard cases your first day.

^ permalink raw reply

* Re: remote#branch
From: Jeff King @ 2007-10-31 21:26 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: David Kastrup, Jakub Narebski, git
In-Reply-To: <alpine.LFD.0.999.0710311350100.3342@woody.linux-foundation.org>

On Wed, Oct 31, 2007 at 02:01:54PM -0700, Linus Torvalds wrote:

> > Yes, this means that if you have a bizarre repo name, you can't
> > necessarily switch between host:file syntax and git:// syntax by simple
> > cut and paste. But you really can't _anyway_, since there is no
> > guarantee that they are rooted at the same location, or have the same
> > view of the filesystem.
> 
> .. but in practice it works fine, especially for something like kernel.org 
> where it really *is* the same filesystem, just mirrored out.

Yes, and in practice, it works with or without URL encoding, since
people aren't using names that need encoded.

> Also, more importantly, I think the quoting is *stupid*. It adds pointless 
> code for absolutely zero gain. Are you going to unquote '/'? Or how about 
> '~'?

I don't think it's zero gain; I think it's exactly what users who use
repos with characters that need quoting will expect to happen. That
being said, _I_ don't personally care that much since I think spaces in
filenames are the work of the devil, and I will never use them. And as a
result, I'm not going to implement the code to do it.

But I do think your argument that there is no value in the URL syntax is
just wrong.

I don't understand your mention of '~' and '/'; they don't need quoted
in URLs, and generally are not (though of course they can be).

> .. because it's a simple format, and it *works*. The same way INI config 
> files are simple and *work*.

But if you wrote a bunch of documentation referring to the git config
file as an INI file, would you expect people to complain when it
_didn't_ follow the usual expectation for INI files?


OK, this discussion is just getting nowhere, and there is useful git
work I could be doing, so let me sum up my position:

  - We should either resolve that some repo specifiers are URLs, or we
    should resolve that they are not. I think they are.
  - If they are URLs, then we should treat them like URLs, and not
    handling quoting is probably a bug. I refuse to accept that it is an
    _important_ bug until somebody actually has a repo that needs
    quoting, finds that git is substandard, and provides a patch.
  - If they are not URLs, then we should probably stop calling them that
    in the documentation.

And with that, I shall say no more on the subject. In the spirit of not
saying "oh, I don't want to talk about it anymore, you don't get to say
anything else," I invite you to respond to any of my comments above.

-Peff

^ permalink raw reply

* Re: unmerging feature branches
From: martin f krafft @ 2007-10-31 21:27 UTC (permalink / raw)
  To: git discussion list
In-Reply-To: <20071031211658.GA5430@inspiron>

[-- Attachment #1: Type: text/plain, Size: 960 bytes --]

also sprach Alejandro Martinez Ruiz <alex@flawedcode.org> [2007.10.31.2216 +0100]:
> So how about an "undo" command or a switch for revert with a special
> meaning like "hey, this one is a nice commit, but it ain't ready yet,
> I'd like you to ignore I ever committed the thing when merging or
> rebasing again, thanks"?

Revert does exactly that, by reverting the content. That's all Git
cares about. Does

  http://lists-archives.org/git/634475-unmerging-feature-branches.html

make it clear?

-- 
martin | http://madduck.net/ | http://two.sentenc.es/
 
"getting a scsi chain working is perfectly simple if you remember that
 there must be exactly three terminations: one on one end of the
 cable, one on the far end, and the goat, terminated over the scsi
 chain with a silver-handled knife whilst burning *black* candles."
                                                     -- anthony deboer
 
spamtraps: madduck.bogus@madduck.net

[-- Attachment #2: Digital signature (see http://martin-krafft.net/gpg/) --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply

* Re: remote#branch
From: Linus Torvalds @ 2007-10-31 21:28 UTC (permalink / raw)
  To: Jeff King; +Cc: David Kastrup, Jakub Narebski, git
In-Reply-To: <alpine.LFD.0.999.0710311350100.3342@woody.linux-foundation.org>



On Wed, 31 Oct 2007, Linus Torvalds wrote:
> 
> If you don't like the fact that git doesn't quote, just don't use the 
> magic characters. It's that easy. And if somebody quotes the '/', just 
> tell him off for being an ass.

Side note - none of the repos I use are likely to actually have any 
quoting as an issue, so in that sense I don't actually care. I'd never 
notice if git did any quoting or not.

What I care about - and where I entered the discussion - is that the real 
impetus for this *stupid* quoting is not the actual need for quoting in 
itself (which doesn't seem to exist), but because people want to extend 
the repository naming to contain other things too, in particular the 
broken cogito single-branch naming thing.

So I could care less about some detail that I'll never even notice, if it 
wasn't for the fact that there's all this other baggage that goes with 
this whole thing. So the quoting itself is more of a symptom of the real 
problem.

Guess what? I didn't make the config file follow any Windows INI standards 
either. I'm just waiting for the first person to point out that you cannot 
parse a .gitconfig file with standard INI parsers.

			Linus

^ permalink raw reply

* Re: Newbie: report of first experience with git-rebase.
From: J. Bruce Fields @ 2007-10-31 21:29 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: Sergei Organov, git
In-Reply-To: <Pine.LNX.4.64.0710312111170.4362@racer.site>

On Wed, Oct 31, 2007 at 09:12:06PM +0000, Johannes Schindelin wrote:
> Hi,
> 
> On Wed, 31 Oct 2007, Sergei Organov wrote:
> 
> > Yes, and that's the problem. Why 'git --continue' didn't just skip this 
> > patch that *already became no-op* after conflict resolution and forced 
> > me to explicitly use 'git --skip' instead?
> 
> Isn't that obvious?  To prevent you from accidentally losing a commit.

That would make sense to me if this was a mistake that could easily
happen.

I'd assumed that in the case of a conflict that stopped the rebase
process, the index and working tree are always left dirty, so that if
they both agree with the HEAD at the time of commit, then it's because
the user explicitly made them that way.

I ran into the same confusion as the original poster when starting to
use rebase, so I suspect it's common.

--b.

^ permalink raw reply

* Re: remote#branch
From: Jeff King @ 2007-10-31 21:31 UTC (permalink / raw)
  To: Andreas Ericsson; +Cc: Linus Torvalds, David Kastrup, Jakub Narebski, git
In-Reply-To: <4728EE95.1020004@op5.se>

On Wed, Oct 31, 2007 at 10:07:33PM +0100, Andreas Ericsson wrote:

> Great. Now you just need a git-repo with an url that needs quoting, and
> this discussion could at least potentially solve a real problem for someone.

I would make one on repo.or.cz just to spite you, but it refuses to
create repos with exotic characters in the name.

-Peff

P.S. I agree with your point.

^ permalink raw reply

* Re: [PATCH 10/10] push: teach push to be quiet if local ref is strict subset of remote ref
From: Junio C Hamano @ 2007-10-31 21:31 UTC (permalink / raw)
  To: Steffen Prohaska; +Cc: git
In-Reply-To: <B16F7DA1-E3E5-47A4-AFD3-6680741F38F1@zib.de>

Steffen Prohaska <prohaska@zib.de> writes:

>> You forgot a lot more important part.  Pushing into publishing
>> repositories.  And the discussion is about git-push command.
>
> Exactly, here are two examples:
>
> If you push only to publishing repositories that are read
> only by others, you'll never encounter the problem that
> 10/10 tried to solve. The publishing repository is never
> changed by others. You are the only one who pushes to this
> repository. Therefore the remote never advances unexpectedly.

Wrong.

People can and do work from more than one private repositories
(I do).  In a sense, that is sharing the repository with
oneself.

I may do an emergency patch to fix breakage on 'maint' (and
'maint' only) from a location that is not my primary development
box and push the fix out.  I fully expect that the push will
push out 'maint' and expect the other branches such as 'master'
on the remote side to stay the same, as I haven't touched
'master' on that box for quite a while and it is now stale.  In
that situation, I _want_ the "git push" itself to report failure
to notify me that it did not push what _I_ asked it to push out,
so that I can be reminded that I'd better do "git push $remote
maint" the next time.  In the meantime, even though it reports
a failure, 'master' on the remote side is _not_ updated, so the
behaviour is still _safe_.

> Another difference is the way changes are integrated. In
> a workflow without shared repositories, only pull is used
> for integration, while push in only used for publishing the
> changes.

Wrong.  push is a mirror of fetch and does not do _any_
integration.  It is just a safe (because it insists on
fast-forward) propagation mechanism.  Your integration still
happens with pull (actually, shared repository people seem to
prefer "fetch + rebase" over "pull" which is "fetch + merge").

> This is different if you work with a shared repository. Bob
> checks out the shared branch foo to his local branch bar and
> later he needs to push bar back to the shared branch foo. Bob
> needs to push changes from his local branch bar to the branch
> foo in the remote repository, a branch with a different name.
> This need does not emerge when working with two publishing
> repositories, as described above.

So you do "git push $remote bar:foo".  If you do that regulary,
there are configuration mechanisms to help you reduce your
keyboard wear.  What's the problem?

^ permalink raw reply

* Re: unmerging feature branches
From: Linus Torvalds @ 2007-10-31 21:34 UTC (permalink / raw)
  To: Alejandro Martinez Ruiz; +Cc: martin f krafft, git discussion list
In-Reply-To: <20071031211658.GA5430@inspiron>



On Wed, 31 Oct 2007, Alejandro Martinez Ruiz wrote:
> 
> So how about an "undo" command or a switch for revert with a special
> meaning like "hey, this one is a nice commit, but it ain't ready yet,
> I'd like you to ignore I ever committed the thing when merging or
> rebasing again, thanks"?

There is only one undo command, and that one we've had since day 1:

	git reset --hard <state-you-want-to-go-back-to>

will happily undo anything at all (including an earlier undo, apart from 
uncommitted dirty tree state, which is gone, gone, gone after that 
"undo" and can not be retrieved).

That's the only real true "undo" with clear semantics - it actually does 
undo the whole history.

But the kind of "undo" you wish for is not really possible. It implies a 
level of semantics that the system just doesn't know or care about. It 
also implies that anything else than the shape of history would matter for 
merging, which is just anathema to everything that makes git good in the 
first place.

That said, in practice, this really seldom does come up. You can often use 
"git revert" as that kind of undo, and when you later do the merge, and 
the other side has fixed up the code, it's (a) likely going to be obvious 
in the conflicts and (b) if the fixes were to infrastructure and you had 
no conflicts, it's really easy to just revert the revert too!

			Linus

^ permalink raw reply

* Re: Newbie: report of first experience with git-rebase.
From: Junio C Hamano @ 2007-10-31 21:39 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: Sergei Organov, git
In-Reply-To: <Pine.LNX.4.64.0710312111170.4362@racer.site>

Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:

> On Wed, 31 Oct 2007, Sergei Organov wrote:
>
>> Yes, and that's the problem. Why 'git --continue' didn't just skip this 
>> patch that *already became no-op* after conflict resolution and forced 
>> me to explicitly use 'git --skip' instead?
>
> Isn't that obvious?  To prevent you from accidentally losing a commit.

In case it is not obvious...

A rebase conflict resolution that results in emptiness is a
rather rare event (especially because rebase drops upfront the
identical changes from the set of commits to be replayed), but
it does happen.  One could argue that "rebase --continue" can
notice that the resolved index is identical to the tree of the
HEAD commit and skip it automatically.

Given an index that is identical to HEAD, however, it is not
easy to safely determine if that is because the patch did not
apply at all, or the patch was applied with conflicts _and_ the
user decided to make the patch a no-op by resolving.  The
automatic droppage of the commit needs to happen only on the
latter and never on the former.

^ permalink raw reply

* Re: [PATCH] Implement sending mails over TLS in git-send-email.
From: Baz @ 2007-10-31 21:45 UTC (permalink / raw)
  To: Simon Sasburg; +Cc: git
In-Reply-To: <1193845859-1788-1-git-send-email-Simon.Sasburg@gmail.com>

On 31/10/2007, Simon Sasburg <simon.sasburg@gmail.com> wrote:
> Signed-off-by: Simon Sasburg <Simon.Sasburg@gmail.com>
> ---
>
> With this patch I was able to use git-send-email to send mail through gmail's
> smpt server, which uses TLS.

Net::SMTP::SSL handles this just fine.

> Net::SMTP::TLS apparently doesn't do proper error handling, so the TLS
> codepath is essentially not checked for errors. I'm not really happy with this.

Net::SMTP::TLS is a bit ugly. It seems unable to do any checking of
the server certificate, a limitation its inherited from the original
script it was hacked from. I suspect some people wouldn't touch this
option if that's the case (although I doubt any tin-foil hatters use
gmail anyway, and we don't use this check for SSL either).

Secondly, Net::SMTP::SSL has no problem connecting to gmail - it does
everything Net::SMTP::TLS does and more; you can use all of the
options of IO::Socket::SSL with it. A common problem seems to be not
having Authen::SASL installed (this is required to authenticate with
gmail) - the one thing Net::SMTP::TLS *does* do is auth without using
that module.

In other words, this patch should be entirely unnecessary if you have
Authen::SASL installed - could you try this? (I've checked for myself,
git-send-email sends me mail fine via gmail without this patch)

> The Net::SMTP::TLS docs say this about error handling:
> >ERROR HANDLING:
> >This module will croak in the event of an SMTP error. Should you wish to handle this gracefully in your application, you may wrap your mail transmission in an eval {} block and check $@ afterward.
>
> But my perl knowledge is way too limited for me to know if/how that helps.
> (This patch was just made by copying existing code and fiddling with it untill it did what i wanted)
>
> Maybe someone who knows more about perl than I do can finish this?

My perl knowledge is a also bit stale, havent had to use it in anger
for a few years; your code looks ok to me, its the dodgy module I'm
worried about :)

> Or give an estimate how difficult it would be for me to fix after pointing me in the right direction?
> (I'm willing to learn a little perl for this, but not too much :-p)
> ---
>  git-send-email.perl |   64 +++++++++++++++++++++++++++++++++-----------------
>  1 files changed, 42 insertions(+), 22 deletions(-)
>
> diff --git a/git-send-email.perl b/git-send-email.perl
> index 96051bc..5cf220f 100755
> --- a/git-send-email.perl
> +++ b/git-send-email.perl
> @@ -88,6 +88,9 @@ Options:
>
>     --smtp-ssl     If set, connects to the SMTP server using SSL.
>
> +   --smtp-tls     If set, connects to the SMTP server using TLS.
> +                  Overrides --smtp-ssl.
> +
>     --suppress-from Suppress sending emails to yourself if your address
>                    appears in a From: line. Defaults to off.
>
> @@ -175,7 +178,7 @@ my ($quiet, $dry_run) = (0, 0);
>
>  # Variables with corresponding config settings
>  my ($thread, $chain_reply_to, $suppress_from, $signed_off_cc, $cc_cmd);
> -my ($smtp_server, $smtp_server_port, $smtp_authuser, $smtp_authpass, $smtp_ssl);
> +my ($smtp_server, $smtp_server_port, $smtp_authuser, $smtp_authpass, $smtp_ssl, $smtp_tls);
>  my ($identity, $aliasfiletype, @alias_files, @smtp_host_parts);
>
>  my %config_bool_settings = (
> @@ -184,6 +187,7 @@ my %config_bool_settings = (
>      "suppressfrom" => [\$suppress_from, 0],
>      "signedoffcc" => [\$signed_off_cc, 1],
>      "smtpssl" => [\$smtp_ssl, 0],
> +    "smtptls" => [\$smtp_tls, 0],
>  );
>
>  my %config_settings = (
> @@ -213,6 +217,7 @@ my $rc = GetOptions("sender|from=s" => \$sender,
>                     "smtp-user=s" => \$smtp_authuser,
>                     "smtp-pass=s" => \$smtp_authpass,
>                     "smtp-ssl!" => \$smtp_ssl,
> +                   "smtp-tls!" => \$smtp_tls,
>                     "identity=s" => \$identity,
>                     "compose" => \$compose,
>                     "quiet" => \$quiet,
> @@ -613,31 +618,46 @@ X-Mailer: git-send-email $gitversion
>                         die "The required SMTP server is not properly defined."
>                 }
>
> -               if ($smtp_ssl) {
> -                       $smtp_server_port ||= 465; # ssmtp
> -                       require Net::SMTP::SSL;
> -                       $smtp ||= Net::SMTP::SSL->new($smtp_server, Port => $smtp_server_port);
> +               if ($smtp_tls) {
> +                       require Net::SMTP::TLS;
> +                       $smtp ||= Net::SMTP::TLS->new(
> +                               $smtp_server,
> +                               Port => $smtp_server_port,
> +                               User => $smtp_authuser,
> +                               Password=> $smtp_authpass);
> +
> +                       $smtp->mail( $raw_from );
> +                       $smtp->to( @recipients );
> +                       $smtp->data;
> +                       $smtp->datasend("$header\n$message");
> +                       $smtp->dataend();
>                 }
>                 else {
> -                       require Net::SMTP;
> -                       $smtp ||= Net::SMTP->new((defined $smtp_server_port)
> -                                                ? "$smtp_server:$smtp_server_port"
> -                                                : $smtp_server);
> -               }
> +                       if ($smtp_ssl) {
> +                               require Net::SMTP::SSL;
> +                               $smtp ||= Net::SMTP::SSL->new($smtp_server, Port => $smtp_server_port);
> +                       }
> +                       else {
> +                               require Net::SMTP;
> +                               $smtp ||= Net::SMTP->new((defined $smtp_server_port)
> +                                                        ? "$smtp_server:$smtp_server_port"
> +                                                        : $smtp_server);
> +                       }
>
> -               if (!$smtp) {
> -                       die "Unable to initialize SMTP properly.  Is there something wrong with your config?";
> -               }
> +                       if (!$smtp) {
> +                               die "Unable to initialize SMTP properly.  Is there something wrong with your config?";
> +                       }
>
> -               if ((defined $smtp_authuser) && (defined $smtp_authpass)) {
> -                       $smtp->auth( $smtp_authuser, $smtp_authpass ) or die $smtp->message;
> +                       if ((defined $smtp_authuser) && (defined $smtp_authpass)) {
> +                               $smtp->auth( $smtp_authuser, $smtp_authpass ) or die $smtp->message;
> +                       }
> +                       $smtp->mail( $raw_from ) or die $smtp->message;
> +                       $smtp->to( @recipients ) or die $smtp->message;
> +                       $smtp->data or die $smtp->message;
> +                       $smtp->datasend("$header\n$message") or die $smtp->message;
> +                       $smtp->dataend() or die $smtp->message;
> +                       $smtp->ok or die "Failed to send $subject\n".$smtp->message;
>                 }
> -               $smtp->mail( $raw_from ) or die $smtp->message;
> -               $smtp->to( @recipients ) or die $smtp->message;
> -               $smtp->data or die $smtp->message;
> -               $smtp->datasend("$header\n$message") or die $smtp->message;
> -               $smtp->dataend() or die $smtp->message;
> -               $smtp->ok or die "Failed to send $subject\n".$smtp->message;
>         }
>         if ($quiet) {
>                 printf (($dry_run ? "Dry-" : "")."Sent %s\n", $subject);
> @@ -651,7 +671,7 @@ X-Mailer: git-send-email $gitversion
>                         print "Sendmail: $smtp_server ".join(' ',@sendmail_parameters)."\n";
>                 }
>                 print "From: $sanitized_sender\nSubject: $subject\nCc: $cc\nTo: $to\n\n";
> -               if ($smtp) {
> +               if ($smtp && !$smtp_tls) {
>                         print "Result: ", $smtp->code, ' ',
>                                 ($smtp->message =~ /\n([^\n]+\n)$/s), "\n";
>                 } else {
> --
> 1.5.3.4.498.g9c514
>
>
> -
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

^ permalink raw reply

* Re: [PATCH 1/1] Add --first-parent support to interactive rebase.
From: Junio C Hamano @ 2007-10-31 21:53 UTC (permalink / raw)
  To: Jeff King
  Cc: Dmitry Potapov, Karl Hasselström, Björn Steinbrink,
	Johannes.Schindelin, git
In-Reply-To: <20071031180557.GA12211@coredump.intra.peff.net>

Jeff King <peff@peff.net> writes:

> It is our old friend vger adding the iso-8859-1 header, I think, since
> no encoding was specified.
>
> I think the problem is that git-format-patch only decides whether to
> append a MIME header based on the commit message contents; it does not
> take the Signed-Off-By into account. This may also be the cause of the
> recent complaints from Matti Aarnio.

I agree.  "Signed-off-by" as part of the existing commit message
should be fine, but with "format-patch -s" the code needs to be
careful.

The following is on top of 'master'.  I haven't tested it.  If it
works, great.  If it doesn't, at least it should illustrate what
needs to be touched.

Ideally a fix to 'maint' is needed --- the pretty-print
infrastructure on the 'master' side has strbuf changes and the
patch may have conflicts at the textual level, but it should be
straightforward to adjust to it by anybody so inclined (hint,
hint).

---

 builtin-branch.c      |    2 +-
 builtin-log.c         |    2 +-
 builtin-rev-list.c    |    3 ++-
 builtin-show-branch.c |    2 +-
 commit.c              |    5 ++---
 commit.h              |    4 +++-
 log-tree.c            |   15 ++++++++++++++-
 7 files changed, 24 insertions(+), 9 deletions(-)

diff --git a/builtin-branch.c b/builtin-branch.c
index 3da8b55..3e020cc 100644
--- a/builtin-branch.c
+++ b/builtin-branch.c
@@ -276,7 +276,7 @@ static void print_ref_item(struct ref_item *item, int maxwidth, int verbose,
 		commit = lookup_commit(item->sha1);
 		if (commit && !parse_commit(commit)) {
 			pretty_print_commit(CMIT_FMT_ONELINE, commit,
-					    &subject, 0, NULL, NULL, 0);
+					    &subject, 0, NULL, NULL, 0, 0);
 			sub = subject.buf;
 		}
 		printf("%c %s%-*s%s %s %s\n", c, branch_get_color(color),
diff --git a/builtin-log.c b/builtin-log.c
index e8b982d..8b2bf63 100644
--- a/builtin-log.c
+++ b/builtin-log.c
@@ -787,7 +787,7 @@ int cmd_cherry(int argc, const char **argv, const char *prefix)
 			struct strbuf buf;
 			strbuf_init(&buf, 0);
 			pretty_print_commit(CMIT_FMT_ONELINE, commit,
-			                    &buf, 0, NULL, NULL, 0);
+			                    &buf, 0, NULL, NULL, 0, 0);
 			printf("%c %s %s\n", sign,
 			       sha1_to_hex(commit->object.sha1), buf.buf);
 			strbuf_release(&buf);
diff --git a/builtin-rev-list.c b/builtin-rev-list.c
index 4439332..6970467 100644
--- a/builtin-rev-list.c
+++ b/builtin-rev-list.c
@@ -86,7 +86,8 @@ static void show_commit(struct commit *commit)
 		struct strbuf buf;
 		strbuf_init(&buf, 0);
 		pretty_print_commit(revs.commit_format, commit,
-					&buf, revs.abbrev, NULL, NULL, revs.date_mode);
+				    &buf, revs.abbrev, NULL, NULL,
+				    revs.date_mode, 0);
 		if (buf.len)
 			printf("%s%c", buf.buf, hdr_termination);
 		strbuf_release(&buf);
diff --git a/builtin-show-branch.c b/builtin-show-branch.c
index 07a0c23..6dc835d 100644
--- a/builtin-show-branch.c
+++ b/builtin-show-branch.c
@@ -266,7 +266,7 @@ static void show_one_commit(struct commit *commit, int no_name)
 	strbuf_init(&pretty, 0);
 	if (commit->object.parsed) {
 		pretty_print_commit(CMIT_FMT_ONELINE, commit,
-					&pretty, 0, NULL, NULL, 0);
+				    &pretty, 0, NULL, NULL, 0, 0);
 		pretty_str = pretty.buf;
 	}
 	if (!prefixcmp(pretty_str, "[PATCH] "))
diff --git a/commit.c b/commit.c
index ac24266..8262f6a 100644
--- a/commit.c
+++ b/commit.c
@@ -479,7 +479,7 @@ static int get_one_line(const char *msg)
 }
 
 /* High bit set, or ISO-2022-INT */
-static int non_ascii(int ch)
+int non_ascii(int ch)
 {
 	ch = (ch & 0xff);
 	return ((ch & 0x80) || (ch == 0x1b));
@@ -1046,12 +1046,11 @@ static void pp_remainder(enum cmit_fmt fmt,
 void pretty_print_commit(enum cmit_fmt fmt, const struct commit *commit,
 				  struct strbuf *sb, int abbrev,
 				  const char *subject, const char *after_subject,
-				  enum date_mode dmode)
+				  enum date_mode dmode, int plain_non_ascii)
 {
 	unsigned long beginning_of_body;
 	int indent = 4;
 	const char *msg = commit->buffer;
-	int plain_non_ascii = 0;
 	char *reencoded;
 	const char *encoding;
 
diff --git a/commit.h b/commit.h
index b779de8..678c62b 100644
--- a/commit.h
+++ b/commit.h
@@ -61,13 +61,15 @@ enum cmit_fmt {
 	CMIT_FMT_UNSPECIFIED,
 };
 
+extern int non_ascii(int);
 extern enum cmit_fmt get_commit_format(const char *arg);
 extern void format_commit_message(const struct commit *commit,
                                   const void *format, struct strbuf *sb);
 extern void pretty_print_commit(enum cmit_fmt fmt, const struct commit*,
                                 struct strbuf *,
                                 int abbrev, const char *subject,
-                                const char *after_subject, enum date_mode);
+                                const char *after_subject, enum date_mode,
+				int non_ascii_present);
 
 /** Removes the first commit from a list sorted by date, and adds all
  * of its parents.
diff --git a/log-tree.c b/log-tree.c
index 3763ce9..a34beb0 100644
--- a/log-tree.c
+++ b/log-tree.c
@@ -125,6 +125,18 @@ static unsigned int digits_in_number(unsigned int number)
 	return result;
 }
 
+static int has_non_ascii(const char *s)
+{
+	int ch;
+	if (!s)
+		return 0;
+	while ((ch = *s++) != '\0') {
+		if (non_ascii(ch))
+			return 1;
+	}
+	return 0;
+}
+
 void show_log(struct rev_info *opt, const char *sep)
 {
 	struct strbuf msgbuf;
@@ -273,7 +285,8 @@ void show_log(struct rev_info *opt, const char *sep)
 	 */
 	strbuf_init(&msgbuf, 0);
 	pretty_print_commit(opt->commit_format, commit, &msgbuf,
-				  abbrev, subject, extra_headers, opt->date_mode);
+			    abbrev, subject, extra_headers, opt->date_mode,
+			    has_non_ascii(opt->add_signoff));
 
 	if (opt->add_signoff)
 		append_signoff(&msgbuf, opt->add_signoff);

^ permalink raw reply related

* Re: [PATCH 1/1] Add --first-parent support to interactive rebase.
From: Jeff King @ 2007-10-31 21:56 UTC (permalink / raw)
  To: Junio C Hamano
  Cc: Dmitry Potapov, Karl Hasselström, Björn Steinbrink,
	Johannes.Schindelin, git
In-Reply-To: <7v8x5jgdck.fsf@gitster.siamese.dyndns.org>

On Wed, Oct 31, 2007 at 02:53:47PM -0700, Junio C Hamano wrote:

> The following is on top of 'master'.  I haven't tested it.  If it
> works, great.  If it doesn't, at least it should illustrate what
> needs to be touched.

You beat me to it, as I was busy flaming Linus. :)

The patch I started is very similar to this, but I had one concern that
I was tracking down: is the author name encoding necessarily the same as
the commit text encoding?

-Peff

^ permalink raw reply

* Re: [PATCH] Implement sending mails over TLS in git-send-email.
From: Simon Sasburg @ 2007-10-31 22:04 UTC (permalink / raw)
  To: Baz; +Cc: git
In-Reply-To: <2faad3050710311445l51d1152cs6761803e2f3a77d3@mail.gmail.com>

> Secondly, Net::SMTP::SSL has no problem connecting to gmail - it does
> everything Net::SMTP::TLS does and more; you can use all of the
> options of IO::Socket::SSL with it. A common problem seems to be not
> having Authen::SASL installed (this is required to authenticate with
> gmail) - the one thing Net::SMTP::TLS *does* do is auth without using
> that module.

Ah, yes, i got the Authen::SASL errors at first, but even after
resolving all missing module dependencies,
the --smpt-ssl still did not work for me, so i started looking at
other solutions and found Net::SMTP::TLS.

> In other words, this patch should be entirely unnecessary if you have
> Authen::SASL installed - could you try this? (I've checked for myself,
> git-send-email sends me mail fine via gmail without this patch)

Well, it fails here, maybe maybe you can show me exactly what you did
(configuration/parameters etc)?

This is what i do now:
> git-send-email testfile.patch -to simon.sasburg@gmail.com --chain-reply-to --smtp-server smtp.gmail.com --smtp-user simon.sasburg --smtp-pass secret --smtp-ssl --smtp-server-port 587
and it fails, while the same line using --smtp-tls instead of
--smtp-ssl with my patch applied works.

What am i missing?

^ permalink raw reply

* Re: Newbie: report of first experience with git-rebase.
From: Steven Grimm @ 2007-10-31 22:06 UTC (permalink / raw)
  To: J. Bruce Fields; +Cc: Johannes Schindelin, Sergei Organov, git
In-Reply-To: <20071031212923.GL4569@fieldses.org>

J. Bruce Fields wrote:
> I ran into the same confusion as the original poster when starting to
> use rebase, so I suspect it's common.
>   

I've been using rebase just about every day for close to a year and it 
*still* annoys me when it happens. Especially the "Did you forget to git 
add?" part of the message. The thought that always goes through my head 
is, "No, Mr. Rebase, I did NOT forget to git add. I remembered to git 
add, then you were too stupid to do the right thing after that."

Just happened to me this morning, in fact: I had a quick hack in place 
to work around a bug, the bug got fixed for real, and I rebased. In the 
process of conflict resolution I saw that my workaround wasn't needed 
any more and accepted the upstream version of that particular part of 
the file. Ran git-add on it, then rebase --continue, and boom, was 
accused of forgetting to run git-add.

It is a minor annoyance and nowadays I just sigh a bit and run --skip 
instead, but it'd be nice if it didn't happen. I don't like having to 
care whether or not I happened to change other files in a particular 
commit after I resolve conflicts in one file in favor of the upstream 
version.

-Steve

^ permalink raw reply

* [PATCH] cvsexportcommit: Add switch to specify CVS workdir
From: Robin Rosenberg @ 2007-10-31 22:12 UTC (permalink / raw)
  To: gitster; +Cc: git, Robin Rosenberg

Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
---
 Documentation/git-cvsexportcommit.txt |   22 ++++++++++++++----
 git-cvsexportcommit.perl              |   39 ++++++++++++++++++++++----------
 2 files changed, 44 insertions(+), 17 deletions(-)

I finally got tired of swapping working directories.

-- robin

diff --git a/Documentation/git-cvsexportcommit.txt b/Documentation/git-cvsexportcommit.txt
index c3922f9..310d56a 100644
--- a/Documentation/git-cvsexportcommit.txt
+++ b/Documentation/git-cvsexportcommit.txt
@@ -8,7 +8,7 @@ git-cvsexportcommit - Export a single commit to a CVS checkout
 
 SYNOPSIS
 --------
-'git-cvsexportcommit' [-h] [-u] [-v] [-c] [-P] [-p] [-a] [-d cvsroot] [-f] [-m msgprefix] [PARENTCOMMIT] COMMITID
+'git-cvsexportcommit' [-h] [-u] [-v] [-c] [-P] [-p] [-a] [-d cvsroot] [-w cvsworkdir] [-f] [-m msgprefix] [PARENTCOMMIT] COMMITID
 
 
 DESCRIPTION
@@ -16,8 +16,9 @@ DESCRIPTION
 Exports a commit from GIT to a CVS checkout, making it easier
 to merge patches from a git repository into a CVS repository.
 
-Execute it from the root of the CVS working copy. GIT_DIR must be defined.
-See examples below.
+Specify the name of a CVS checkout using the -w switch or execute it 
+from the root of the CVS working copy. In the latter case GIT_DIR must
+be defined. See examples below.
 
 It does its best to do the safe thing, it will check that the files are
 unchanged and up to date in the CVS checkout, and it will not autocommit
@@ -61,6 +62,11 @@ OPTIONS
 -u::
 	Update affected files from CVS repository before attempting export.
 
+-w::
+	Specify the location of the CVS checkout to use for the export. This
+	option does not require GIT_DIR to be set before execution if the 
+	current directory is within a git repository.
+
 -v::
 	Verbose.
 
@@ -76,6 +82,12 @@ $ git-cvsexportcommit -v <commit-sha1>
 $ cvs commit -F .msg <files>
 ------------
 
+Merge one patch into CVS (-c and -w options). The working directory is within the Git Repo::
++
+------------
+	$ git-cvsexportcommit -v -c -w ~/project_cvs_checkout <commit-sha1>
+------------
+
 Merge pending patches into CVS automatically -- only if you really know what you are doing::
 +
 ------------
@@ -86,11 +98,11 @@ $ git-cherry cvshead myhead | sed -n 's/^+ //p' | xargs -l1 git-cvsexportcommit
 
 Author
 ------
-Written by Martin Langhoff <martin@catalyst.net.nz>
+Written by Martin Langhoff <martin@catalyst.net.nz> and others.
 
 Documentation
 --------------
-Documentation by Martin Langhoff <martin@catalyst.net.nz>
+Documentation by Martin Langhoff <martin@catalyst.net.nz> and others.
 
 GIT
 ---
diff --git a/git-cvsexportcommit.perl b/git-cvsexportcommit.perl
index f284c88..47973e8 100755
--- a/git-cvsexportcommit.perl
+++ b/git-cvsexportcommit.perl
@@ -1,28 +1,42 @@
 #!/usr/bin/perl -w
 
-# Known limitations:
-# - does not propagate permissions
-# - error handling has not been extensively tested
-#
-
 use strict;
 use Getopt::Std;
 use File::Temp qw(tempdir);
 use Data::Dumper;
 use File::Basename qw(basename dirname);
 
-unless ($ENV{GIT_DIR} && -r $ENV{GIT_DIR}){
-    die "GIT_DIR is not defined or is unreadable";
-}
-
-our ($opt_h, $opt_P, $opt_p, $opt_v, $opt_c, $opt_f, $opt_a, $opt_m, $opt_d, $opt_u);
+our ($opt_h, $opt_P, $opt_p, $opt_v, $opt_c, $opt_f, $opt_a, $opt_m, $opt_d, $opt_u, $opt_w);
 
-getopts('uhPpvcfam:d:');
+getopts('uhPpvcfam:d:w:');
 
 $opt_h && usage();
 
 die "Need at least one commit identifier!" unless @ARGV;
 
+if ($opt_w) {
+	unless ($ENV{GIT_DIR}) {
+		# Remember where our GIT_DIR is before changing to CVS checkout
+		my $gd =`git-rev-parse --git-dir`;
+		chomp($gd);
+		if ($gd eq '.git') {
+			my $wd = `pwd`;
+			chomp($wd);
+			$gd = $wd."/.git"	;
+		}
+		$ENV{GIT_DIR} = $gd;
+	}
+
+	if (! -d $opt_w."/CVS" ) {
+		die "$opt_w is not a CVS checkout";
+	}
+	chdir $opt_w or die "Cannot change to CVS checkout at $opt_w";
+}
+unless ($ENV{GIT_DIR} && -r $ENV{GIT_DIR}){
+    die "GIT_DIR is not defined or is unreadable";
+}
+
+
 my @cvs;
 if ($opt_d) {
 	@cvs = ('cvs', '-d', $opt_d);
@@ -267,6 +281,7 @@ if ($dirtypatch) {
     print "You'll need to apply the patch in .cvsexportcommit.diff manually\n";
     print "using a patch program. After applying the patch and resolving the\n";
     print "problems you may commit using:";
+    print "\n    cd \"$opt_w\"" if $opt_w;
     print "\n    $cmd\n\n";
     exit(1);
 }
@@ -294,7 +309,7 @@ sleep(1);
 
 sub usage {
 	print STDERR <<END;
-Usage: GIT_DIR=/path/to/.git ${\basename $0} [-h] [-p] [-v] [-c] [-f] [-m msgprefix] [ parent ] commit
+Usage: GIT_DIR=/path/to/.git ${\basename $0} [-h] [-p] [-v] [-c] [-f] [-u] [-w cvsworkdir] [-m msgprefix] [ parent ] commit
 END
 	exit(1);
 }
-- 
1.5.3.4-dirty

^ permalink raw reply related

* Re: [PATCH] Don't use cpio in git-clone when not installed
From: Junio C Hamano @ 2007-10-31 22:29 UTC (permalink / raw)
  To: Mike Hommey; +Cc: git
In-Reply-To: <1193861145-20357-1-git-send-email-mh@glandium.org>

"type"?  That's probably better than using "which", but sounds
quite wrong.  Why not add Makefile target that the shell scripts
depend on to see if necessary tools are available and let the
builder know if they are not?

^ permalink raw reply

* Re: [PATCH 1/1] Add --first-parent support to interactive rebase.
From: Junio C Hamano @ 2007-10-31 22:31 UTC (permalink / raw)
  To: Jeff King
  Cc: Dmitry Potapov, Karl Hasselström, Björn Steinbrink,
	Johannes.Schindelin, git
In-Reply-To: <20071031215625.GC14211@coredump.intra.peff.net>

Jeff King <peff@peff.net> writes:

> ... I had one concern that
> I was tracking down: is the author name encoding necessarily the same as
> the commit text encoding?

The user is screwing himself already if that is the case and
uses -s to format-patch, isn't he?

^ permalink raw reply

* Re: Newbie: report of first experience with git-rebase.
From: Daniel Barkalow @ 2007-10-31 22:35 UTC (permalink / raw)
  To: Steven Grimm; +Cc: J. Bruce Fields, Johannes Schindelin, Sergei Organov, git
In-Reply-To: <4728FC5C.30709@midwinter.com>

On Wed, 31 Oct 2007, Steven Grimm wrote:

> J. Bruce Fields wrote:
> > I ran into the same confusion as the original poster when starting to
> > use rebase, so I suspect it's common.
> >   
> 
> I've been using rebase just about every day for close to a year and it *still*
> annoys me when it happens. Especially the "Did you forget to git add?" part of
> the message. The thought that always goes through my head is, "No, Mr. Rebase,
> I did NOT forget to git add. I remembered to git add, then you were too stupid
> to do the right thing after that."
> 
> Just happened to me this morning, in fact: I had a quick hack in place to work
> around a bug, the bug got fixed for real, and I rebased. In the process of
> conflict resolution I saw that my workaround wasn't needed any more and
> accepted the upstream version of that particular part of the file. Ran git-add
> on it, then rebase --continue, and boom, was accused of forgetting to run
> git-add.
> 
> It is a minor annoyance and nowadays I just sigh a bit and run --skip instead,
> but it'd be nice if it didn't happen. I don't like having to care whether or
> not I happened to change other files in a particular commit after I resolve
> conflicts in one file in favor of the upstream version.

I think it's worth requiring you to say --skip in order to acknowledge 
that you won't have as many commits and you'll lose the commit message. On 
the other hand, the message should probably suggest that you might want to 
skip this commit instead of suggesting that you come up with some other 
change to include in it.

Certainly, if "git diff" returns no changes, "git add" is a bad 
suggestion, and it would be nicer to suggest something possibly correct.

	-Daniel
*This .sig left intentionally blank*

^ permalink raw reply

* Re: Newbie: report of first experience with git-rebase.
From: J. Bruce Fields @ 2007-10-31 22:38 UTC (permalink / raw)
  To: Steven Grimm; +Cc: Johannes Schindelin, Sergei Organov, git
In-Reply-To: <4728FC5C.30709@midwinter.com>

On Wed, Oct 31, 2007 at 03:06:20PM -0700, Steven Grimm wrote:
> I've been using rebase just about every day for close to a year and it 
> *still* annoys me when it happens. Especially the "Did you forget to git 
> add?" part of the message. The thought that always goes through my head is, 
> "No, Mr. Rebase, I did NOT forget to git add. I remembered to git add, then 
> you were too stupid to do the right thing after that."
>
> Just happened to me this morning, in fact: I had a quick hack in place to 
> work around a bug, the bug got fixed for real, and I rebased. In the 
> process of conflict resolution I saw that my workaround wasn't needed any 
> more and accepted the upstream version of that particular part of the file. 
> Ran git-add on it, then rebase --continue, and boom, was accused of 
> forgetting to run git-add.
>
> It is a minor annoyance and nowadays I just sigh a bit and run --skip 
> instead, but it'd be nice if it didn't happen. I don't like having to care 
> whether or not I happened to change other files in a particular commit 
> after I resolve conflicts in one file in favor of the upstream version.

Yeah, I think a message saying "patch is now empty, skipping..." would
be sufficient to let the user know what's going on.  This doesn't seem
so perilous to me that it's worth requiring a positive acknowledgement.

--b.

^ permalink raw reply

* [ANNOUNCE] GIT 1.5.3.5
From: Junio C Hamano @ 2007-10-31 22:40 UTC (permalink / raw)
  To: git; +Cc: linux-kernel

The latest maintenance release GIT 1.5.3.5 is available at the
usual places:

  http://www.kernel.org/pub/software/scm/git/

  git-1.5.3.5.tar.{gz,bz2}			(tarball)
  git-htmldocs-1.5.3.5.tar.{gz,bz2}		(preformatted docs)
  git-manpages-1.5.3.5.tar.{gz,bz2}		(preformatted docs)
  RPMS/$arch/git-*-1.5.3.5-1.$arch.rpm	(RPM)

There are many fixes including a handful bugs that led to
segfaults.

----------------------------------------------------------------
GIT v1.5.3.5 Release Notes
==========================

Fixes since v1.5.3.4
--------------------

 * Comes with git-gui 0.8.4.

 * "git-config" silently ignored options after --list; now it will
   error out with a usage message.

 * "git-config --file" failed if the argument used a relative path
   as it changed directories before opening the file.

 * "git-config --file" now displays a proper error message if it
   cannot read the file specified on the command line.

 * "git-config", "git-diff", "git-apply" failed if run from a
   subdirectory with relative GIT_DIR and GIT_WORK_TREE set.

 * "git-blame" crashed if run during a merge conflict.

 * "git-add -i" did not handle single line hunks correctly.

 * "git-rebase -i" and "git-stash apply" failed if external diff
   drivers were used for one or more files in a commit.  They now
   avoid calling the external diff drivers.

 * "git-log --follow" did not work unless diff generation (e.g. -p)
   was also requested.

 * "git-log --follow -B" did not work at all.  Fixed.

 * "git-log -M -B" did not correctly handle cases of very large files
   being renamed and replaced by very small files in the same commit.

 * "git-log" printed extra newlines between commits when a diff
   was generated internally (e.g. -S or --follow) but not displayed.

 * "git-push" error message is more helpful when pushing to a
   repository with no matching refs and none specified.

 * "git-push" now respects + (force push) on wildcard refspecs,
   matching the behavior of git-fetch.

 * "git-filter-branch" now updates the working directory when it
   has finished filtering the current branch.

 * "git-instaweb" no longer fails on Mac OS X.

 * "git-cvsexportcommit" didn't always create new parent directories
   before trying to create new child directories.  Fixed.

 * "git-fetch" printed a scary (but bogus) error message while
   fetching a tag that pointed to a tree or blob.  The error did
   not impact correctness, only user perception.  The bogus error
   is no longer printed.

 * "git-ls-files --ignored" did not properly descend into non-ignored
   directories that themselves contained ignored files if d_type
   was not supported by the filesystem.  This bug impacted systems
   such as AFS.  Fixed.

 * Git segfaulted when reading an invalid .gitattributes file.  Fixed.

 * post-receive-email example hook fixed was fixed for
   non-fast-forward updates.

 * Documentation updates for supported (but previously undocumented)
   options of "git-archive" and "git-reflog".

 * "make clean" no longer deletes the configure script that ships
   with the git tarball, making multiple architecture builds easier.

 * "git-remote show origin" spewed a warning message from Perl
   when no remote is defined for the current branch via
   branch.<name>.remote configuration settings.

 * Building with NO_PERL_MAKEMAKER excessively rebuilt contents
   of perl/ subdirectory by rewriting perl.mak.

 * http.sslVerify configuration settings were not used in scripted
   Porcelains.

 * "git-add" leaked a bit of memory while scanning for files to add.

 * A few workarounds to squelch false warnings from recent gcc have
   been added.

 * "git-send-pack $remote frotz" segfaulted when there is nothing
   named 'frotz' on the local end.

 * "git-rebase -interactive" did not handle its "--strategy" option
   properly.


----------------------------------------------------------------

Changes since v1.5.3.4 are as follows:

Alex Bennee (1):
      Ensure we add directories in the correct order

Alex Riesen (1):
      Fix generation of perl/perl.mak

Andrew Clausen (1):
      helpful error message when send-pack finds no refs in common.

Aurelien Bompard (1):
      honor the http.sslVerify option in shell scripts

Benoit Sigoure (1):
      Fix a small memory leak in builtin-add

Bj旦rn Steinbrink (3):
      Fix --strategy parsing in git-rebase--interactive.sh
      git-rebase--interactive.sh: Don't pass a strategy to git-cherry-pick.
      git-rebase--interactive.sh: Make 3-way merge strategies work for -p.

Brian Gernhardt (1):
      cvsserver: Use exit 1 instead of die when req_Root fails.

Frank Lichtenheld (1):
      git-config: don't silently ignore options after --list

Gerrit Pape (2):
      git-config: handle --file option with relative pathname properly
      git-config: print error message if the config file cannot be read

Jean-Luc Herren (2):
      git add -i: Fix parsing of abbreviated hunk headers
      git add -i: Remove unused variables

Jeff King (1):
      send-pack: respect '+' on wildcard refspecs

Joakim Tjernlund (1):
      Improve receive-pack error message about funny ref creation

Johannes Schindelin (5):
      clear_commit_marks(): avoid deep recursion
      rebase -i: use diff plumbing instead of porcelain
      Fix setup_git_directory_gently() with relative GIT_DIR & GIT_WORK_TREE
      fix filter-branch documentation
      filter-branch: update current branch when rewritten

Julian Phillips (1):
      fast-import: Fix argument order to die in file_change_m

Junio C Hamano (8):
      git-remote: fix "Use of uninitialized value in string ne"
      sha1_file.c: avoid gcc signed overflow warnings
      merge-recursive.c: mrtree in merge() is not used before set
      RelNotes-1.5.3.5: describe recent fixes
      Prevent send-pack from segfaulting (backport from 'master')
      git-merge: document but discourage the historical syntax
      Update GIT 1.5.3.5 Release Notes
      GIT 1.5.3.5

Lars Hjemli (1):
      Make merge-recursive honor diff.renamelimit

Linus Torvalds (6):
      Fix embarrassing "git log --follow" bug
      Clean up "git log" format with DIFF_FORMAT_NO_OUTPUT
      git-blame shouldn't crash if run in an unmerged tree
      Avoid scary errors about tagged trees/blobs during git-fetch
      Fix directory scanner to correctly ignore files without d_type
      Fix diffcore-break total breakage

Mathias Megyei (1):
      Do not remove distributed configure script

Michael W. Olson (1):
      Documentation/git-cvsexportcommit.txt: s/mgs/msg/ in example

Michele Ballabio (2):
      git-reflog: document --verbose
      git-archive: document --exec

Nicolas Pitre (1):
      cherry-pick/revert: more compact user direction message

Patrick Welche (1):
      Define NI_MAXSERV if not defined by operating system

Ralf Wildenhues (1):
      gitk.txt: Fix markup.

Robert Schiele (1):
      fixing output of non-fast-forward output of post-receive-email

Sergei Organov (1):
      core-tutorial: Use new syntax for git-merge.

Shawn O. Pearce (17):
      git-gui: Display message box when we cannot find git in $PATH
      git-gui: Handle starting on mapped shares under Cygwin
      git-gui: Ensure .git/info/exclude is honored in Cygwin workdirs
      git-gui: Allow gitk to be started on Cygwin with native Tcl/Tk
      git-gui: Don't crash when starting gitk from a browser session
      Whip post 1.5.3.4 maintenance series into shape.
      Correct typos in release notes for 1.5.3.5
      Avoid 'expr index' on Mac OS X as it isn't supported
      Document additional 1.5.3.5 fixes in release notes
      Yet more 1.5.3.5 fixes mentioned in release notes
      Avoid invoking diff drivers during git-stash
      Further 1.5.3.5 fixes described in release notes
      Paper bag fix diff invocation in 'git stash show'
      git-gui: Correctly report failures from git-write-tree
      git-gui: Handle progress bars from newer gits
      git-gui: Don't display CR within console windows
      Describe more 1.5.3.5 fixes in release notes

Simon Sasburg (1):
      git-gui: Avoid using bold text in entire gui for some fonts

Steffen Prohaska (2):
      git-gui: accept versions containing text annotations, like 1.5.3.mingw.1
      attr: fix segfault in gitattributes parsing code

^ permalink raw reply

* Re: Newbie: report of first experience with git-rebase.
From: David Kastrup @ 2007-10-31 22:49 UTC (permalink / raw)
  To: Johannes Schindelin; +Cc: Sergei Organov, git
In-Reply-To: <Pine.LNX.4.64.0710312111170.4362@racer.site>

Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:

> On Wed, 31 Oct 2007, Sergei Organov wrote:
>
>> Yes, and that's the problem. Why 'git --continue' didn't just skip this 
>> patch that *already became no-op* after conflict resolution and forced 
>> me to explicitly use 'git --skip' instead?
>
> Isn't that obvious?  To prevent you from accidentally losing a commit.

The commit would not change anything, so what is there to lose?

-- 
David Kastrup, Kriemhildstr. 15, 44793 Bochum

^ permalink raw reply

* Re: Newbie: report of first experience with git-rebase.
From: David Kastrup @ 2007-10-31 22:53 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Johannes Schindelin, Sergei Organov, git
In-Reply-To: <7vhck7gdzs.fsf@gitster.siamese.dyndns.org>

Junio C Hamano <gitster@pobox.com> writes:

> A rebase conflict resolution that results in emptiness is a rather
> rare event (especially because rebase drops upfront the identical
> changes from the set of commits to be replayed), but it does happen.
> One could argue that "rebase --continue" can notice that the resolved
> index is identical to the tree of the HEAD commit and skip it
> automatically.
>
> Given an index that is identical to HEAD, however, it is not
> easy to safely determine if that is because the patch did not
> apply at all,

Wouldn't there be a conflict in the index?  A conflict which can only be
resolved by adding?  Which then results in a question whether you forgot
to add?

-- 
David Kastrup, Kriemhildstr. 15, 44793 Bochum

^ permalink raw reply

* Re: [PATCH] Don't use cpio in git-clone when not installed
From: Johannes Schindelin @ 2007-10-31 23:55 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Mike Hommey, git
In-Reply-To: <7v4pg6hq8u.fsf@gitster.siamese.dyndns.org>

Hi,

On Wed, 31 Oct 2007, Junio C Hamano wrote:

> "type"?  That's probably better than using "which", but sounds quite 
> wrong.  Why not add Makefile target that the shell scripts depend on to 
> see if necessary tools are available and let the builder know if they 
> are not?

I thought the accord was that "cpio" is a _runtime_ dependency.  But yes, 
I agree "type" is not necessarily the best choice.  Maybe testing the exit 
code for 127 (not found) is the better choice?

Ciao,
Dscho

^ permalink raw reply


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox