* Re: [PATCH] gitweb: Try harder in parse_tag; perhaps it was given ambiguous name
From: Jakub Narebski @ 2007-12-05 10:13 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git, Guillaume Seguin
In-Reply-To: <7v3auh1v75.fsf@gitster.siamese.dyndns.org>
On Wed, 5 Dec 2007, Junio C Hamano wrote:
> I have these two patches still in my mailbox, unapplied:
>
> [PATCH] gitweb: disambiguate heads and tags withs the same name
> [PATCH] gitweb: Try harder in parse_tag; perhaps it was given ambiguous name
Actually second should be [PATCH/RFC] as it penalizes the "not found"
case (extra check 'if really not found').
First patch, which is modified version of Guillaume Seguin patch solves
problem that links in gitweb does lead to correct 'tag' view, while the
second one solves the problem from the other side: instead of ensuring
that links in gitweb are unambiguous it tries to resolve ambiguity.
The problem is caused by the fact that git _always_ prefer heads (head
refs) to tags (tag refs), even when it is clear
$ git cat-file tags ambiguous-ref
that we want a tag. So alternate solution would be to correct
git-cat-file.
> I am wondering if they should be part of 1.5.4. They look Ok but it is
> not very easy to pick up what the real breakage it is trying to fix from
> Perl gibberish.
>
> Can we have tests (not just "we do not spit out anything to stderr") for
> gitweb so that each patch can demonstrate the existing breakage, to make
> judging easier?
True, current way of testing gitweb does not allow for test which would
detect breakage noticed by Guillaume.
It would be quite easy I think to add checking if gitweb returns
expected HTTP return code (HTTP status). So what is the portable way
to check if first line of some output matches given regexp (given fixed
string)?
--
Jakub Narebski
Poland
^ permalink raw reply
* Re: * [BUG] "git clean" does not pay attention to its parameters
From: Junio C Hamano @ 2007-12-05 10:11 UTC (permalink / raw)
To: Johannes Schindelin; +Cc: Nanako Shiraishi, Shawn Bohrer, git
In-Reply-To: <Pine.LNX.4.64.0712050947370.27959@racer.site>
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
> Hi,
>
> On Tue, 4 Dec 2007, Junio C Hamano wrote:
>
>> @@ -85,12 +86,17 @@ int cmd_clean(int argc, const char **argv, const char *prefix)
>> read_directory(&dir, path, base, baselen, pathspec);
>> strbuf_init(&directory, 0);
>>
>> - for (j = 0; j < dir.nr; ++j) {
>> - struct dir_entry *ent = dir.entries[j];
>> - int len, pos, specs;
>> + if (pathspec) {
>> + for (i = 0; pathspec[i]; i++)
>> + ; /* nothing */
>> + seen = xmalloc();
>
> Did you mean xmalloc(i)?
Yes.
^ permalink raw reply
* Re:* [BUG] "git clean" does not pay attention to its parameters
From: Johannes Schindelin @ 2007-12-05 9:49 UTC (permalink / raw)
To: Junio C Hamano; +Cc: Nanako Shiraishi, Shawn Bohrer, git
In-Reply-To: <7veje1zibm.fsf@gitster.siamese.dyndns.org>
Hi,
On Tue, 4 Dec 2007, Junio C Hamano wrote:
> @@ -85,12 +86,17 @@ int cmd_clean(int argc, const char **argv, const char *prefix)
> read_directory(&dir, path, base, baselen, pathspec);
> strbuf_init(&directory, 0);
>
> - for (j = 0; j < dir.nr; ++j) {
> - struct dir_entry *ent = dir.entries[j];
> - int len, pos, specs;
> + if (pathspec) {
> + for (i = 0; pathspec[i]; i++)
> + ; /* nothing */
> + seen = xmalloc();
Did you mean xmalloc(i)?
Ciao,
Dscho
^ permalink raw reply
* [PATCH] Update ja.po for git-gui
From: しらいしななこ @ 2007-12-05 9:24 UTC (permalink / raw)
To: Shawn O. Pearce; +Cc: git
---
po/ja.po | 418 ++++++++++++++++++++++++++++++++++----------------------------
1 files changed, 229 insertions(+), 189 deletions(-)
diff --git a/po/ja.po b/po/ja.po
index f3a547b..e2cf5bd 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -8,41 +8,41 @@ msgid ""
msgstr ""
"Project-Id-Version: git-gui\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-10-10 04:04-0400\n"
-"PO-Revision-Date: 2007-10-31 16:23+0900\n"
+"POT-Creation-Date: 2007-11-24 10:36+0100\n"
+"PO-Revision-Date: 2007-12-05 06:12+0900\n"
"Last-Translator: しらいし ななこ <nanako3@bluebottle.com>\n"
"Language-Team: Japanese\n"
"MIME-Version: 1.0\n"
"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:604 git-gui.sh:618 git-gui.sh:631 git-gui.sh:714
+#: git-gui.sh:733
msgid "git-gui: fatal error"
msgstr "git-gui: 致命的なエラー"
-#: git-gui.sh:595
+#: git-gui.sh:565
#, tcl-format
msgid "Invalid font specified in %s:"
msgstr "%s に無効なフォントが指定されています:"
-#: git-gui.sh:620
+#: git-gui.sh:590
msgid "Main Font"
msgstr "主フォント"
-#: git-gui.sh:621
+#: git-gui.sh:591
msgid "Diff/Console Font"
msgstr "diff/コンソール・フォント"
-#: git-gui.sh:635
+#: git-gui.sh:605
msgid "Cannot find git in PATH."
msgstr "PATH 中に git が見つかりません"
-#: git-gui.sh:662
+#: git-gui.sh:632
msgid "Cannot parse Git version string:"
msgstr "Git バージョン名が理解できません:"
-#: git-gui.sh:680
+#: git-gui.sh:650
#, tcl-format
msgid ""
"Git version cannot be determined.\n"
@@ -61,79 +61,79 @@ msgstr ""
"\n"
"'%s' はバージョン 1.5.0 と思って良いですか?\n"
-#: git-gui.sh:853
+#: git-gui.sh:888
msgid "Git directory not found:"
msgstr "Git ディレクトリが見つかりません:"
-#: git-gui.sh:860
+#: git-gui.sh:895
msgid "Cannot move to top of working directory:"
msgstr "作業ディレクトリの最上位に移動できません"
-#: git-gui.sh:867
+#: git-gui.sh:902
msgid "Cannot use funny .git directory:"
msgstr "変な .git ディレクトリは使えません"
-#: git-gui.sh:872
+#: git-gui.sh:907
msgid "No working directory"
msgstr "作業ディレクトリがありません"
-#: git-gui.sh:1019
+#: git-gui.sh:1054
msgid "Refreshing file status..."
msgstr "ファイル状態を更新しています…"
-#: git-gui.sh:1084
+#: git-gui.sh:1119
msgid "Scanning for modified files ..."
msgstr "変更されたファイルをスキャンしています…"
-#: git-gui.sh:1259 lib/browser.tcl:245
+#: git-gui.sh:1294 lib/browser.tcl:245
msgid "Ready."
msgstr "準備完了"
-#: git-gui.sh:1525
+#: git-gui.sh:1560
msgid "Unmodified"
msgstr "変更無し"
-#: git-gui.sh:1527
+#: git-gui.sh:1562
msgid "Modified, not staged"
msgstr "変更あり、コミット未予定"
-#: git-gui.sh:1528 git-gui.sh:1533
+#: git-gui.sh:1563 git-gui.sh:1568
msgid "Staged for commit"
msgstr "コミット予定済"
-#: git-gui.sh:1529 git-gui.sh:1534
+#: git-gui.sh:1564 git-gui.sh:1569
msgid "Portions staged for commit"
msgstr "部分的にコミット予定済"
-#: git-gui.sh:1530 git-gui.sh:1535
+#: git-gui.sh:1565 git-gui.sh:1570
msgid "Staged for commit, missing"
msgstr "コミット予定済、ファイル無し"
-#: git-gui.sh:1532
+#: git-gui.sh:1567
msgid "Untracked, not staged"
msgstr "管理外、コミット未予定"
-#: git-gui.sh:1537
+#: git-gui.sh:1572
msgid "Missing"
msgstr "ファイル無し"
-#: git-gui.sh:1538
+#: git-gui.sh:1573
msgid "Staged for removal"
msgstr "削除予定済"
-#: git-gui.sh:1539
+#: git-gui.sh:1574
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:1576 git-gui.sh:1577 git-gui.sh:1578 git-gui.sh:1579
msgid "Requires merge resolution"
msgstr "要マージ解決"
-#: git-gui.sh:1579
+#: git-gui.sh:1614
msgid "Starting gitk... please wait..."
msgstr "gitk を起動中…お待ち下さい…"
-#: git-gui.sh:1588
+#: git-gui.sh:1623
#, tcl-format
msgid ""
"Unable to start gitk:\n"
@@ -144,295 +144,297 @@ msgstr ""
"\n"
"%s がありません"
-#: git-gui.sh:1788 lib/choose_repository.tcl:32
+#: git-gui.sh:1823 lib/choose_repository.tcl:35
msgid "Repository"
msgstr "リポジトリ"
-#: git-gui.sh:1789
+#: git-gui.sh:1824
msgid "Edit"
msgstr "編集"
-#: git-gui.sh:1791 lib/choose_rev.tcl:560
+#: git-gui.sh:1826 lib/choose_rev.tcl:560
msgid "Branch"
msgstr "ブランチ"
-#: git-gui.sh:1794 lib/choose_rev.tcl:547
+#: git-gui.sh:1829 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:1832 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:1833 lib/choose_rev.tcl:556
msgid "Remote"
msgstr "リモート"
-#: git-gui.sh:1807
+#: git-gui.sh:1842
msgid "Browse Current Branch's Files"
msgstr "現在のブランチのファイルを見る"
-#: git-gui.sh:1811
+#: git-gui.sh:1846
msgid "Browse Branch Files..."
msgstr "ブランチのファイルを見る…"
-#: git-gui.sh:1816
+#: git-gui.sh:1851
msgid "Visualize Current Branch's History"
msgstr "現在のブランチの履歴を見る"
-#: git-gui.sh:1820
+#: git-gui.sh:1855
msgid "Visualize All Branch History"
msgstr "全てのブランチの履歴を見る"
-#: git-gui.sh:1827
+#: git-gui.sh:1862
#, tcl-format
msgid "Browse %s's Files"
msgstr "ブランチ %s のファイルを見る"
-#: git-gui.sh:1829
+#: git-gui.sh:1864
#, tcl-format
msgid "Visualize %s's History"
msgstr "ブランチ %s の履歴を見る"
-#: git-gui.sh:1834 lib/database.tcl:27 lib/database.tcl:67
+#: git-gui.sh:1869 lib/database.tcl:27 lib/database.tcl:67
msgid "Database Statistics"
msgstr "データベース統計"
-#: git-gui.sh:1837 lib/database.tcl:34
+#: git-gui.sh:1872 lib/database.tcl:34
msgid "Compress Database"
msgstr "データベース圧縮"
-#: git-gui.sh:1840
+#: git-gui.sh:1875
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:1882 git-gui.sh:1886 git-gui.sh:1890 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:1895 lib/choose_repository.tcl:176 lib/choose_repository.tcl:184
msgid "Quit"
msgstr "終了"
-#: git-gui.sh:1867
+#: git-gui.sh:1902
msgid "Undo"
msgstr "元に戻す"
-#: git-gui.sh:1870
+#: git-gui.sh:1905
msgid "Redo"
msgstr "やり直し"
-#: git-gui.sh:1874 git-gui.sh:2366
+#: git-gui.sh:1909 git-gui.sh:2403
msgid "Cut"
msgstr "切り取り"
-#: git-gui.sh:1877 git-gui.sh:2369 git-gui.sh:2440 git-gui.sh:2512
+#: git-gui.sh:1912 git-gui.sh:2406 git-gui.sh:2477 git-gui.sh:2549
#: lib/console.tcl:67
msgid "Copy"
msgstr "コピー"
-#: git-gui.sh:1880 git-gui.sh:2372
+#: git-gui.sh:1915 git-gui.sh:2409
msgid "Paste"
msgstr "貼り付け"
-#: git-gui.sh:1883 git-gui.sh:2375 lib/branch_delete.tcl:26
+#: git-gui.sh:1918 git-gui.sh:2412 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:1922 git-gui.sh:2416 git-gui.sh:2553 lib/console.tcl:69
msgid "Select All"
msgstr "全て選択"
-#: git-gui.sh:1896
+#: git-gui.sh:1931
msgid "Create..."
msgstr "作成…"
-#: git-gui.sh:1902
+#: git-gui.sh:1937
msgid "Checkout..."
msgstr "チェックアウト"
-#: git-gui.sh:1908
+#: git-gui.sh:1943
msgid "Rename..."
msgstr "名前変更…"
-#: git-gui.sh:1913 git-gui.sh:2012
+#: git-gui.sh:1948 git-gui.sh:2048
msgid "Delete..."
msgstr "削除…"
-#: git-gui.sh:1918
+#: git-gui.sh:1953
msgid "Reset..."
msgstr "リセット…"
-#: git-gui.sh:1930 git-gui.sh:2313
+#: git-gui.sh:1965 git-gui.sh:2350
msgid "New Commit"
msgstr "新規コミット"
-#: git-gui.sh:1938 git-gui.sh:2320
+#: git-gui.sh:1973 git-gui.sh:2357
msgid "Amend Last Commit"
msgstr "最新コミットを訂正"
-#: git-gui.sh:1947 git-gui.sh:2280 lib/remote_branch_delete.tcl:99
+#: git-gui.sh:1982 git-gui.sh:2317 lib/remote_branch_delete.tcl:99
msgid "Rescan"
msgstr "再スキャン"
-#: git-gui.sh:1953
+#: git-gui.sh:1988
msgid "Stage To Commit"
msgstr "コミット予定する"
-#: git-gui.sh:1958
+#: git-gui.sh:1994
msgid "Stage Changed Files To Commit"
msgstr "変更されたファイルをコミット予定"
-#: git-gui.sh:1964
+#: git-gui.sh:2000
msgid "Unstage From Commit"
msgstr "コミットから降ろす"
-#: git-gui.sh:1969 lib/index.tcl:352
+#: git-gui.sh:2005 lib/index.tcl:393
msgid "Revert Changes"
msgstr "変更を元に戻す"
-#: git-gui.sh:1976 git-gui.sh:2292 git-gui.sh:2390
+#: git-gui.sh:2012 git-gui.sh:2329 git-gui.sh:2427
msgid "Sign Off"
msgstr "署名"
-#: git-gui.sh:1980 git-gui.sh:2296
+#: git-gui.sh:2016 git-gui.sh:2333
msgid "Commit@@verb"
msgstr "コミット"
-#: git-gui.sh:1991
+#: git-gui.sh:2027
msgid "Local Merge..."
msgstr "ローカル・マージ…"
-#: git-gui.sh:1996
+#: git-gui.sh:2032
msgid "Abort Merge..."
msgstr "マージ中止…"
-#: git-gui.sh:2008
+#: git-gui.sh:2044
msgid "Push..."
msgstr "プッシュ…"
-#: git-gui.sh:2019 lib/choose_repository.tcl:41
+#: git-gui.sh:2055 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:2058 git-gui.sh:2080 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:2062
msgid "Preferences..."
msgstr "設定…"
-#: git-gui.sh:2034 git-gui.sh:2558
+#: git-gui.sh:2070 git-gui.sh:2595
msgid "Options..."
msgstr "オプション…"
-#: git-gui.sh:2040 lib/choose_repository.tcl:47
+#: git-gui.sh:2076 lib/choose_repository.tcl:46
msgid "Help"
msgstr "ヘルプ"
-#: git-gui.sh:2081
+#: git-gui.sh:2117
msgid "Online Documentation"
msgstr "オンライン・ドキュメント"
-#: git-gui.sh:2165
+#: git-gui.sh:2201
#, tcl-format
msgid "fatal: cannot stat path %s: No such file or directory"
-msgstr "致命的: パス %s が stat できません。そのようなファイルやディレクトリはありません"
+msgstr ""
+"致命的: パス %s が stat できません。そのようなファイルやディレクトリはありま"
+"せん"
-#: git-gui.sh:2198
+#: git-gui.sh:2234
msgid "Current Branch:"
msgstr "現在のブランチ"
-#: git-gui.sh:2219
+#: git-gui.sh:2255
msgid "Staged Changes (Will Commit)"
msgstr "ステージングされた(コミット予定済の)変更"
-#: git-gui.sh:2239
+#: git-gui.sh:2274
msgid "Unstaged Changes"
msgstr "コミット予定に入っていない変更"
-#: git-gui.sh:2286
+#: git-gui.sh:2323
msgid "Stage Changed"
msgstr "変更をコミット予定に入れる"
-#: git-gui.sh:2302 lib/transport.tcl:93 lib/transport.tcl:182
+#: git-gui.sh:2339 lib/transport.tcl:93 lib/transport.tcl:182
msgid "Push"
msgstr "プッシュ"
-#: git-gui.sh:2332
+#: git-gui.sh:2369
msgid "Initial Commit Message:"
msgstr "最初のコミットメッセージ:"
-#: git-gui.sh:2333
+#: git-gui.sh:2370
msgid "Amended Commit Message:"
msgstr "訂正したコミットメッセージ:"
-#: git-gui.sh:2334
+#: git-gui.sh:2371
msgid "Amended Initial Commit Message:"
msgstr "訂正した最初のコミットメッセージ:"
-#: git-gui.sh:2335
+#: git-gui.sh:2372
msgid "Amended Merge Commit Message:"
msgstr "訂正したマージコミットメッセージ:"
-#: git-gui.sh:2336
+#: git-gui.sh:2373
msgid "Merge Commit Message:"
msgstr "マージコミットメッセージ:"
-#: git-gui.sh:2337
+#: git-gui.sh:2374
msgid "Commit Message:"
msgstr "コミットメッセージ:"
-#: git-gui.sh:2382 git-gui.sh:2520 lib/console.tcl:71
+#: git-gui.sh:2419 git-gui.sh:2557 lib/console.tcl:71
msgid "Copy All"
msgstr "全てコピー"
-#: git-gui.sh:2406 lib/blame.tcl:104
+#: git-gui.sh:2443 lib/blame.tcl:104
msgid "File:"
msgstr "ファイル:"
-#: git-gui.sh:2508
+#: git-gui.sh:2545
msgid "Refresh"
msgstr "再読み込み"
-#: git-gui.sh:2529
+#: git-gui.sh:2566
msgid "Apply/Reverse Hunk"
msgstr "パッチを適用/取り消す"
-#: git-gui.sh:2535
+#: git-gui.sh:2572
msgid "Decrease Font Size"
msgstr "フォントを小さく"
-#: git-gui.sh:2539
+#: git-gui.sh:2576
msgid "Increase Font Size"
msgstr "フォントを大きく"
-#: git-gui.sh:2544
+#: git-gui.sh:2581
msgid "Show Less Context"
msgstr "文脈を少なく"
-#: git-gui.sh:2551
+#: git-gui.sh:2588
msgid "Show More Context"
msgstr "文脈を多く"
-#: git-gui.sh:2565
+#: git-gui.sh:2602
msgid "Unstage Hunk From Commit"
msgstr "パッチをコミット予定から外す"
-#: git-gui.sh:2567
+#: git-gui.sh:2604
msgid "Stage Hunk For Commit"
msgstr "パッチをコミット予定に加える"
-#: git-gui.sh:2586
+#: git-gui.sh:2623
msgid "Initializing..."
msgstr "初期化しています…"
-#: git-gui.sh:2677
+#: git-gui.sh:2718
#, tcl-format
msgid ""
"Possible environment issues exist.\n"
@@ -447,7 +449,7 @@ msgstr ""
"以下の環境変数は %s が起動する Git サブプロセスによって無視されるでしょう:\n"
"\n"
-#: git-gui.sh:2707
+#: git-gui.sh:2748
msgid ""
"\n"
"This is due to a known issue with the\n"
@@ -457,7 +459,7 @@ msgstr ""
"これは Cygwin で配布されている Tcl バイナリに\n"
"関しての既知の問題によります"
-#: git-gui.sh:2712
+#: git-gui.sh:2753
#, tcl-format
msgid ""
"\n"
@@ -576,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 "作成"
@@ -729,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 "ブラウズ"
@@ -891,209 +893,225 @@ msgstr ""
"これはサンプル文です。\n"
"このフォントが気に入ればお使いになれます。"
-#: lib/choose_repository.tcl:25
+#: lib/choose_repository.tcl:27
msgid "Git Gui"
msgstr "Git GUI"
-#: 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:125
+msgid "Recent Repositories"
+msgstr "最近使ったリポジトリ"
+
+#: lib/choose_repository.tcl:131
+msgid "Open Recent Repository:"
+msgstr "最近使ったリポジトリを開く"
-#: lib/choose_repository.tcl:152
+#: 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 "GIT リポジトリ"
-#: 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 "URL:"
-#: 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 "Git リポジトリではありません: %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 "origin を設定できませんでした"
-#: lib/choose_repository.tcl:451
+#: lib/choose_repository.tcl:629
msgid "Counting objects"
msgstr "オブジェクトを数えています"
-#: lib/choose_repository.tcl:452
+#: 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 "オブジェクトを複写しています"
-#: lib/choose_repository.tcl:571
+#: lib/choose_repository.tcl:749
msgid "KiB"
msgstr "KiB"
-#: 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 "オブジェクトを連結しています"
-#: 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 "ブランチやオブジェクトを取得できません。コンソール出力を見て下さい"
-#: 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 を開けません:"
@@ -1232,7 +1250,7 @@ msgid ""
"\n"
"A good commit message has the following format:\n"
"\n"
-"- First line: Describe in one sentance what you did.\n"
+"- First line: Describe in one sentence what you did.\n"
"- Second line: Blank\n"
"- Remaining lines: Describe why this change is good.\n"
msgstr ""
@@ -1349,7 +1367,8 @@ msgid ""
msgstr ""
"このリポジトリにはおおよそ %i 個の個別オブジェクトがあります\n"
"\n"
-"最適な性能を保つために、%i 個以上の個別オブジェクトを作る毎にデータベースを圧縮することを推奨します\n"
+"最適な性能を保つために、%i 個以上の個別オブジェクトを作る毎にデータベースを圧"
+"縮することを推奨します\n"
"\n"
"データベースを圧縮しますか?"
@@ -1426,31 +1445,53 @@ 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 インデックスの更新が失敗しました。git-gui と同期をとるために再スキャンします。"
+
+#: 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 "何もしない"
@@ -1669,18 +1710,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 "リモート・ブランチを削除"
@@ -1765,11 +1794,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/shortcut.tcl:149
+#: lib/remote.tcl:213
+msgid "Push to"
+msgstr "プッシュ先"
+
+#: lib/shortcut.tcl:20 lib/shortcut.tcl:61
+msgid "Cannot write shortcut:"
+msgstr "ショートカットが書けません:"
+
+#: lib/shortcut.tcl:136
msgid "Cannot write icon:"
msgstr "アイコンが書けません:"
@@ -1840,4 +1881,3 @@ msgstr "Thin Pack を使う(遅いネットワーク接続)"
#: lib/transport.tcl:168
msgid "Include tags"
msgstr "タグを含める"
-
--
1.5.3.6
----------------------------------------------------------------------
Free pop3 email with a spam filter.
http://www.bluebottle.com/tag/5
^ permalink raw reply related
* Re: [PATCH] Documentation: add a new man page for "git-help" and -i|--info option.
From: Junio C Hamano @ 2007-12-05 8:58 UTC (permalink / raw)
To: Väinö Järvelä; +Cc: Christian Couder, git
In-Reply-To: <178B37CE-9B28-4CE2-B8A0-FCA28CF85E12@pp.inet.fi>
Perhaps your mail and my push crossed. The same fix is there at the tip
of 'master' branch since last night.
^ permalink raw reply
* Re: git-svn: .git/svn disk usage
From: Eric Wong @ 2007-12-05 8:54 UTC (permalink / raw)
To: David Voit; +Cc: git
In-Reply-To: <loom.20071203T182924-435@post.gmane.org>
David Voit <david.voit@gmail.com> wrote:
> Ollie Wild <aaw <at> google.com> writes:
>
> >
> > Hi,
> >
> > I've been using git-svn to mirror the gcc repository at
> > svn://gcc.gnu.org/svn/gcc. Recently, I noticed that my .git directory
> > is consuming 11GB of disk space. Digging further, I discovered that
> > 9.8GB of this is attributable to the .git/svn directory (which
> > includes 200 branches and 2,588 tags). Given that my .git/objects
> > directory is 652MB, it seems that it ought to be possible to store
> > this information in a more compact form.
> >
> > I'm curious if other developers have run into this issue. If so, are
> > there any proposals / plans for improving the storage of git-svn
> > metadata?
> >
> > Thanks,
> > Ollie
> >
>
> Hi all,
>
> I've seen the same effect, so i tried to reduce the size of the revdb and made a
> new format:
> First, in the bin files the sha1 are stored as hexvalues not as ascii, this
> reduces the a single sha1 from 41 bytes to 20.
> Second, only save the non-zero commits, thats what the idx are used for.
> A idx file has three 32bit integers per entry.
> The first integer represents the first zero svn revision, the second the last
> zero revision and the last integer is the position of the next non-zero revision
> in the bin.
>
> Example:
> Revision 0-373006 are zero revision and 373007 is the first actualy used revision
> and 373008-373623 are again zero revisions
> the idx has the following content:
> 0 373006 0
> 373007 373007 1
>
> and the bin only saves
> 59037b8043268c9ca0d87ba86519ed0b5358c8a1
> eef3f7e25993a46e3c4242aa502d93e909b08c57
I'd very much like rev_db to be smaller, but I find the idea of the data
relying on a separate index too fragile and difficult to recover
from if corruption occurs (mainly for --no-metadata users).
The rev_db is simply a lookup for mapping SVN revision numbers to
git commit SHA1s.
I have an idea for a more compact .rev_db format:
All records are 24 bytes:
4 bytes for a 32-bit integer representing the SVN revision
20 bytes for the git commit SHA1
rev_db is an append-only format, so the 32-bit integer will be
monotonically increasing over time, which allows:
Lookups by revision number done via binary search:
Which means empty revisions never need to be entered anymore.
Of course there needs to be a migration strategy for existing
repositories (mainly the ones using --no-metadata), too.
Users not using --no-metadata (nor the option for svk metadata) can just
remove their .rev_db* files and git-svn will automatically recreate them
as needed.
> The format currently used produce a 373624*41bytes large file.
>
> Used on a git-svn clone here, i get:
> The results are:
> old:
> 1,1G hadoop (1004M svn/)
> new:
> 47M hadoop (5,9M svn/)
Very nice reduction!
> Here a example sourcecode to test this idea:
>
> I try to integrate this in git-svn this week.
>
> NOTE: I'm not a perl hacker, so use at your own risk.
>
> Bye David
> ps.: I'm not a member of this list please reply directly to me.
If you don't have time, I'll try to implement my ideas sometime this
week or weekend (assuming I have time, too).
--
Eric Wong
^ permalink raw reply
* Re: How to jump between two repositories ...
From: Andreas Ericsson @ 2007-12-05 8:45 UTC (permalink / raw)
To: J. Bruce Fields; +Cc: g2, git
In-Reply-To: <20071205061425.GE11098@fieldses.org>
J. Bruce Fields wrote:
> On Tue, Dec 04, 2007 at 09:59:57PM -0800, g2 wrote:
>> Hello all,
>>
>> I am currently working on some code at the office that I also want to work
>> with at home. Seems like a good candidate for git. So I created a
>> repository at work and did a "git clone" at home. I've run into some
>> strange behaviour that I don't understand and would appreciate if someone
>> can clarify for me.
>>
>> Imagine this scenario. At work:
>> git init
>> edit test.c
>> git add test.c
>> git commit
>>
>> Then at home:
>> git clone <work git url>
>> edit test.c
>> git commit -a
>> git push
>
> You'll be much happier at this point if you ssh into work and then git
> pull from home....
>
>> At this point, I wanted to push my changes back to my work repository so I
>> can continue work the next day. So at home, I did a git push. I expect that
>> my work repository has the newest material, but I find that when I do "git
>> status" at work the next day, it tells me that my test.c is "modified" and
>> has already staged it for commit. I need to do a "git reset" followed by
>> "git checkout" to update my work folder to the latest stuff.
>>
>> Totally different from my expectation of the repository knowing that it is
>> out of date and then kindly suggesting that I should do a "git update" of
>> some sort. What piece of understanding am I missing to properly "get" what
>> is going on here, and how am I supposed to properly work with this setup?
>
> Git doesn't support pushing to any branch that's checked out somewhere.
>
Yes it does. It just supports it badly. If there is a work-tree connected to
the receiving repository and that work-tree is pristine, it would be safe and
sane to write the newly pushed changes to the connected working tree.
We do all our integration fixups by pushing to repositories with work-trees,
simply because it's ridiculously inconvenient to add the infrastructure to
pull to those repos from each individual developer. In that scenario, pushing
to a checked out branch is highly useful and perfectly safe.
--
Andreas Ericsson andreas.ericsson@op5.se
OP5 AB www.op5.se
Tel: +46 8-230225 Fax: +46 8-230231
^ permalink raw reply
* Re: [PATCH] Documentation: add a new man page for "git-help" and -i|--info option.
From: Väinö Järvelä @ 2007-12-05 8:33 UTC (permalink / raw)
To: Wincent Colaiuta; +Cc: Christian Couder, Junio Hamano, git
In-Reply-To: <B4734D40-9EE8-4B96-9426-FF5974F8488E@wincent.com>
On Dec 5, 2007, at 10:27, Wincent Colaiuta wrote:
> El 5/12/2007, a las 9:19, Väinö Järvelä escribió:
>
>> Patch attached to fix header error in this patch.
>>
>> (Attached because Mail.app mangles inline patches)
>
> I'm a Mail.app user as well. Any reason why you can't use "git send-
> email"? It's very useful.
I didn't remember that send-email had "--in-reply-to" parameter, and I
thought it would be cleaner to send as a reply. Thus I used Mail.app.
--
Väinö
^ permalink raw reply
* Re: [PATCH] Documentation: add a new man page for "git-help" and -i|--info option.
From: Wincent Colaiuta @ 2007-12-05 8:27 UTC (permalink / raw)
To: Väinö Järvelä; +Cc: Christian Couder, Junio Hamano, git
In-Reply-To: <178B37CE-9B28-4CE2-B8A0-FCA28CF85E12@pp.inet.fi>
El 5/12/2007, a las 9:19, Väinö Järvelä escribió:
> Patch attached to fix header error in this patch.
>
> (Attached because Mail.app mangles inline patches)
I'm a Mail.app user as well. Any reason why you can't use "git send-
email"? It's very useful.
Cheers,
Wincent
^ permalink raw reply
* Re: [PATCH] Documentation: add a new man page for "git-help" and -i|--info option.
From: Väinö Järvelä @ 2007-12-05 8:19 UTC (permalink / raw)
To: Christian Couder; +Cc: Junio Hamano, git
In-Reply-To: <20071204064429.1b5007b2.chriscool@tuxfamily.org>
[-- Attachment #1: Type: text/plain, Size: 3690 bytes --]
Patch attached to fix header error in this patch.
(Attached because Mail.app mangles inline patches)
--
Väinö
On Dec 4, 2007, at 07:44, Christian Couder wrote:
> Option -i|--info for "git-help" is documented only in the new
> "git-help.txt" man page, but this new man page is referenced
> from the "--help" option documentation in the "git.txt" man page.
>
> Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
> ---
> Documentation/git-help.txt | 53 +++++++++++++++++++++++++++++++++++
> +++++++++
> Documentation/git.txt | 11 ++++++--
> 2 files changed, 61 insertions(+), 3 deletions(-)
> create mode 100644 Documentation/git-help.txt
>
> This is a first documentation patch in my git-help
> improvement series.
>
> diff --git a/Documentation/git-help.txt b/Documentation/git-help.txt
> new file mode 100644
> index 0000000..232daae
> --- /dev/null
> +++ b/Documentation/git-help.txt
> @@ -0,0 +1,53 @@
> +git-help(1)
> +======
> +
> +NAME
> +----
> +git-help - display help information about git
> +
> +SYNOPSIS
> +--------
> +'git help' [-a|--all|-i|--info] [COMMAND]
> +
> +DESCRIPTION
> +-----------
> +
> +With no options and no COMMAND given, the synopsis of the 'git'
> +command and a list of the most commonly used git commands are printed
> +on the standard output.
> +
> +If the option '--all' or '-a' is given, then all available commands
> are
> +printed on the standard output.
> +
> +If a git command is named, a manual page for that command is brought
> +up. The 'man' program is used by default for this purpose, but this
> +can be overriden by other options.
> +
> +Note that 'git --help ...' is identical as 'git help ...' because the
> +former is internally converted into the latter.
> +
> +OPTIONS
> +-------
> +-a|--all::
> +
> + Prints all the available commands on the standard output. This
> + option superseeds any other option.
> +
> +-i|--info::
> + Use the 'info' program to display the manual page, instead of
> + the 'man' program that is used by default.
> +
> +Author
> +------
> +Written by Junio C Hamano <gitster@pobox.com> and the git-list
> +<git@vger.kernel.org>.
> +
> +Documentation
> +-------------
> +Initial documentation was part of the gitlink:git[7] man page.
> +Christian Couder <chriscool@tuxfamily.org> extracted and rewrote it a
> +little. Maintenance is done by the git-list <git@vger.kernel.org>.
> +
> +GIT
> +---
> +Part of the gitlink:git[7] suite
> diff --git a/Documentation/git.txt b/Documentation/git.txt
> index 5460201..f8d1eef 100644
> --- a/Documentation/git.txt
> +++ b/Documentation/git.txt
> @@ -100,9 +100,14 @@ OPTIONS
>
> --help::
> Prints the synopsis and a list of the most commonly used
> - commands. If a git command is named this option will bring up
> - the man-page for that command. If the option '--all' or '-a' is
> - given then all available commands are printed.
> + commands. If the option '--all' or '-a' is given then all
> + available commands are printed. If a git command is named this
> + option will bring up the manual page for that command.
> +
> + Other options are available to control how the manual page is
> + displayed. See gitlink:git-help[1] for more information,
> + because 'git --help ...' is converted internally into 'git
> + help ...'.
>
> --exec-path::
> Path to wherever your core git programs are installed.
> --
> 1.5.3.6.1993.g154f-dirty
>
> -
> 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
[-- Attachment #2: 0001-Fixed-git-help.txt-header-error.patch --]
[-- Type: application/octet-stream, Size: 738 bytes --]
From 6d9fa82be1074a9fe6bf3fad36a838c1142966ca Mon Sep 17 00:00:00 2001
From: =?utf-8?q?V=C3=A4in=C3=B6=20J=C3=A4rvel=C3=A4?= <v@pp.inet.fi>
Date: Wed, 5 Dec 2007 10:05:48 +0200
Subject: [PATCH] Fixed git-help.txt header error
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Väinö Järvelä <v@pp.inet.fi>
---
Documentation/git-help.txt | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/Documentation/git-help.txt b/Documentation/git-help.txt
index 232daae..c94e27b 100644
--- a/Documentation/git-help.txt
+++ b/Documentation/git-help.txt
@@ -1,5 +1,5 @@
git-help(1)
-======
+===========
NAME
----
--
1.5.3.7.2115.geb80
[-- Attachment #3: Type: text/plain, Size: 1 bytes --]
^ permalink raw reply related
* Re: Building git-1.5.3.7 on HP-UX 11.00
From: H.Merijn Brand @ 2007-12-05 8:08 UTC (permalink / raw)
To: Johannes Schindelin; +Cc: Junio C Hamano, Andreas Ericsson, git, Sam Vilain
In-Reply-To: <Pine.LNX.4.64.0712042245440.27959@racer.site>
On Tue, 4 Dec 2007 22:46:30 +0000 (GMT), Johannes Schindelin
<Johannes.Schindelin@gmx.de> wrote:
> Hi,
>
> On Tue, 4 Dec 2007, H.Merijn Brand wrote:
>
> > * FAIL 17: non-match
> > git config --get nextsection.nonewline !for
> > * FAIL 18: non-match value
> > test wow = $(git config --get nextsection.nonewline !for)
>
> Can you investigate further with "-i -v" and/or "-x"? Could be the
> exclamation mark...
* expecting success: git config --get nextsection.nonewline !for
* FAIL 17: non-match
git config --get nextsection.nonewline !for
+ git config nextsection.NoNewLine wow2 for me for me$
+ cat
+ 1> expect 0< /var/tmp/sh4066.13
+ test_expect_success multivar cmp .git/config expect
* expecting success: cmp .git/config expect
* ok 16: multivar
+ test_expect_success non-match git config --get nextsection.nonewline !for
* expecting success: git config --get nextsection.nonewline !for
* FAIL 17: non-match
git config --get nextsection.nonewline !for
> Ciao,
> Dscho
>
--
H.Merijn Brand Amsterdam Perl Mongers (http://amsterdam.pm.org/)
using & porting perl 5.6.2, 5.8.x, 5.10.x on HP-UX 10.20, 11.00, 11.11,
& 11.23, SuSE 10.1 & 10.2, AIX 5.2, and Cygwin. http://qa.perl.org
http://mirrors.develooper.com/hpux/ http://www.test-smoke.org
http://www.goldmark.org/jeff/stupid-disclaimers/
^ permalink raw reply
* Re: [PATCH] Do not rely on the exit status of "unset" for unset variables
From: H.Merijn Brand @ 2007-12-05 8:01 UTC (permalink / raw)
To: Johannes Schindelin; +Cc: Junio C Hamano, Andreas Ericsson, git, Sam Vilain
In-Reply-To: <Pine.LNX.4.64.0712042242310.27959@racer.site>
On Tue, 4 Dec 2007 22:45:16 +0000 (GMT), Johannes Schindelin
<Johannes.Schindelin@gmx.de> wrote:
> From: H.Merijn Brand <h.m.brand@xs4all.nl>
>
> POSIX says that exit status "0" means that "unset" successfully unset
> the variable. However, it is kind of ambiguous if an environment
> variable which was not set could be successfully unset.
>
> At least the default shell on HP-UX insists on reporting an error in
please, for now make that HP-UX 11.11 and older. I'll check if it also
fails in 11.23/IPF.
On 11.11 HP C-ANSI-C cannot be used either.
And I have to remove "#include <sys/select.h>" from pager.c on HP-UX, I
forgot to tell. With the Makefile change in place, building with 64bit
gcc,
--8<--- skip this part if you're not interested in 64bit builds on HP-UX
On 64bit gcc on HP-UX, there is no strtoull (). Nowhere! strtoul () is
the same there. But this is only in the 64bit world, so NO_STRTOULL can
not be set to YesPlease unconditionally. When I also set NO_STRTOUMAX,
I get shiploads of warnings like:
CC commit.o
In file included from cache.h:4,
from commit.c:1:
git-compat-util.h:166:1: warning: "strtoumax" redefined
In file included from git-compat-util.h:62,
from cache.h:4,
from commit.c:1:
/usr/include/inttypes.h:527:1: warning: this is the location of the previous
definition
And that is NOT your fault, as this include file has defines like
** When compiling in ILP32 mode long long will be used for the 64-bit data
** types. This will cause compilation errors if 64-bit data types are
** requested and the compiler in use does not support them.
#define strtoimax(__a, __b, __c) __strtoll(__a, __b, __c)
#define strtoumax(__a, __b, __c) __strtoull(__a, __b, __c)
and that is not guarded with something like
/* LP64 takes precedence */
#if (defined(__STDC_EXT__) || defined(_INCLUDE_LONGLONG))
&& !defined(__LP64__)
so I ended up replacing all strtoumax () to strtoul () in git-fast-import.c
Then I end up with the same error as on 11.00.
-->8---
> such a case, so just ignore the exit status of "unset".
>
> [Dscho: extended the patch to git-submodule.sh, as Junio realized that
> this is the only other place where we check the exit status of "unset".]
>
> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
> ---
>
> On Tue, 4 Dec 2007, Junio C Hamano wrote:
>
> > "H.Merijn Brand" <h.m.brand@xs4all.nl> writes:
> >
> > > On Tue, 4 Dec 2007 15:39:47 +0000 (GMT), Johannes Schindelin
> > > ...
> > > I found it! unset returns false
> > > ...
> > > I must leave now.
> >
> > Thanks, you two.
> >
> > I do not see "unset VAR... &&" outside t0001 test, but there are
> > instances of "unset VAR... &&" in git-submodule implementations
> > as well.
> >
> > In short, not too many places to fix.
>
> You're right. I grepped for "unset" in t/*.sh, but that catches
> only false positives other than t0001.
>
> Merijn, maybe you want to have your sign-off in the commit
> message?
Feel free to do so, I don't really care.
Will you also be looking into the install issue?
--
H.Merijn Brand Amsterdam Perl Mongers (http://amsterdam.pm.org/)
using & porting perl 5.6.2, 5.8.x, 5.10.x on HP-UX 10.20, 11.00, 11.11,
& 11.23, SuSE 10.1 & 10.2, AIX 5.2, and Cygwin. http://qa.perl.org
http://mirrors.develooper.com/hpux/ http://www.test-smoke.org
http://www.goldmark.org/jeff/stupid-disclaimers/
^ permalink raw reply
* Re:* [BUG] "git clean" does not pay attention to its parameters
From: Junio C Hamano @ 2007-12-05 7:55 UTC (permalink / raw)
To: Nanako Shiraishi; +Cc: Shawn Bohrer, git
In-Reply-To: <200712050654.lB56scKk000311@mi0.bluebottle.com>
Nanako Shiraishi <nanako3@bluebottle.com> writes:
> In a repository with LaTeX documents, I tried to see what *.aux files are left behind after formatting, by running "git clean -n" with the latest git (1.5.3.7-1005-gdada0c1):
>
> % git clean -n '*.aux'
>
> This however showed more than just '*.aux' files. With the released version 1.5.3.6, the output is correctly limited to the files that match the pattern.
Yuck. People actually use git-clean?
But thanks for reporting.
Comparing the corresponding part from builtin-ls-files.c and what
builtin-clean.c does, it does look broken.
Does this patch help? I am not sure why the directory side of the code
is written that way, but I have a suspicion that "was a directory
explicitly given as one of the pathspec" check is also bogus, although I
did not touch that part.
-- >8 --
[PATCH] git-clean: Honor pathspec.
git-clean "*.rej" should attempt to look at only paths that match
pattern "*.rej", but rewrite to C broke it.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
builtin-clean.c | 31 ++++++++++++++++++++-----------
1 files changed, 20 insertions(+), 11 deletions(-)
diff --git a/builtin-clean.c b/builtin-clean.c
index 56ae4eb..7dd901e 100644
--- a/builtin-clean.c
+++ b/builtin-clean.c
@@ -27,13 +27,14 @@ static int git_clean_config(const char *var, const char *value)
int cmd_clean(int argc, const char **argv, const char *prefix)
{
- int j;
+ int i;
int show_only = 0, remove_directories = 0, quiet = 0, ignored = 0;
int ignored_only = 0, baselen = 0, config_set = 0;
struct strbuf directory;
struct dir_struct dir;
const char *path, *base;
static const char **pathspec;
+ char *seen = NULL;
struct option options[] = {
OPT__QUIET(&quiet),
OPT__DRY_RUN(&show_only),
@@ -85,12 +86,17 @@ int cmd_clean(int argc, const char **argv, const char *prefix)
read_directory(&dir, path, base, baselen, pathspec);
strbuf_init(&directory, 0);
- for (j = 0; j < dir.nr; ++j) {
- struct dir_entry *ent = dir.entries[j];
- int len, pos, specs;
+ if (pathspec) {
+ for (i = 0; pathspec[i]; i++)
+ ; /* nothing */
+ seen = xmalloc();
+ }
+
+ for (i = 0; i < dir.nr; i++) {
+ struct dir_entry *ent = dir.entries[i];
+ int len, pos;
struct cache_entry *ce;
struct stat st;
- char *seen;
/*
* Remove the '/' at the end that directory
@@ -114,15 +120,13 @@ int cmd_clean(int argc, const char **argv, const char *prefix)
int matched_path = 0;
strbuf_addstr(&directory, ent->name);
if (pathspec) {
- for (specs =0; pathspec[specs]; ++specs)
- /* nothing */;
- seen = xcalloc(specs, 1);
- /* Check if directory was explictly passed as
- * pathspec. If so we want to remove it */
+ /*
+ * Check if directory was explictly passed as
+ * pathspec. If so we want to remove it.
+ */
if (match_pathspec(pathspec, ent->name, ent->len,
baselen, seen))
matched_path = 1;
- free(seen);
}
if (show_only && (remove_directories || matched_path)) {
printf("Would remove %s\n", directory.buf);
@@ -138,6 +142,10 @@ int cmd_clean(int argc, const char **argv, const char *prefix)
}
strbuf_reset(&directory);
} else {
+ if (pathspec &&
+ !match_pathspec(pathspec, ent->name, ent->len,
+ baselen, seen))
+ continue; /* excluded */
if (show_only) {
printf("Would remove %s\n", ent->name);
continue;
@@ -147,6 +155,7 @@ int cmd_clean(int argc, const char **argv, const char *prefix)
unlink(ent->name);
}
}
+ free(seen);
strbuf_release(&directory);
return 0;
--
1.5.3.7-2115-geb804
^ permalink raw reply related
* Re: How to jump between two repositories ...
From: Väinö Järvelä @ 2007-12-05 7:32 UTC (permalink / raw)
To: g2; +Cc: git
In-Reply-To: <33CB0252-20C7-4AF2-AEB3-2EAC20ED830B@gmail.com>
On Dec 5, 2007, at 08:44, g2 wrote:
> What I am gathering from this is that I can use git in two ways: 1)
> as "just another svn" bare git repository, or 2) only pull and don't
> push, because push causes confusion. I'd be happy to only ever use
> pull, but I have one machine behind a firewall and can't pull. I can
> push to a bare git repository like the svn model, but then I would
> just use svn. What's the value of "push" then?
I guess the value over svn, is in the excellent tools that Git
provides (such as rebase, bisect and merging). And that you can
develop offline and still retain the individual commits.
And you could use Steven Grimms solution, but I guess with that, you
need to be careful to not leave your servers working tree on any of
your laptop/ branch if you might push to one.
--
Väinö
^ permalink raw reply
* Re: [PATCH] Open external merge tool with original file extensions for all three files
From: Junio C Hamano @ 2007-12-05 7:24 UTC (permalink / raw)
To: Pini Reznik; +Cc: git, Theodore Ts'o
In-Reply-To: <1196839153-31084-1-git-send-email-pinir@expand.com>
Pini Reznik <pinir@expand.com> writes:
> Before this fix conflicted files were open in external merge tool with temporal extensions like REMOTE.$$ and LOCAL.$$.
> This way meld was unable to recognize these files and syntax highlighting feature was unusable.
>
>
> Signed-off-by: Pini Reznik <pinir@expand.com>
I have to wonder if it is fashionable to use overlooooong lines on this
list today... Please linewrap commit log message.
Ted, you added meld from the beginning to git-mergetool. Does the patch
look good?
> ---
> git-mergetool.sh | 9 +++++----
> 1 files changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/git-mergetool.sh b/git-mergetool.sh
> index 5587c5e..2f31fa2 100755
> --- a/git-mergetool.sh
> +++ b/git-mergetool.sh
> @@ -152,10 +152,11 @@ merge_file () {
> exit 1
> fi
>
> - BACKUP="$path.BACKUP.$$"
> - LOCAL="$path.LOCAL.$$"
> - REMOTE="$path.REMOTE.$$"
> - BASE="$path.BASE.$$"
> + ext="$$$(expr "$path" : '.*\(\.[^/]*\)$')"
> + BACKUP="$path.BACKUP.$ext"
> + LOCAL="$path.LOCAL.$ext"
> + REMOTE="$path.REMOTE.$ext"
> + BASE="$path.BASE.$ext"
I realize '.*\(\.[^./]*\)$' might have been better, as the above
expression as written will slurp ".b.c" as ext from "foo.b.c", but
probably for "merger knows the file type with file extension" purpose,
it does not make a difference.
^ permalink raw reply
* [PATCH] Open external merge tool with original file extensions for all three files
From: Pini Reznik @ 2007-12-05 7:19 UTC (permalink / raw)
To: git; +Cc: Pini Reznik
Before this fix conflicted files were open in external merge tool with temporal extensions like REMOTE.$$ and LOCAL.$$.
This way meld was unable to recognize these files and syntax highlighting feature was unusable.
Signed-off-by: Pini Reznik <pinir@expand.com>
---
git-mergetool.sh | 9 +++++----
1 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/git-mergetool.sh b/git-mergetool.sh
index 5587c5e..2f31fa2 100755
--- a/git-mergetool.sh
+++ b/git-mergetool.sh
@@ -152,10 +152,11 @@ merge_file () {
exit 1
fi
- BACKUP="$path.BACKUP.$$"
- LOCAL="$path.LOCAL.$$"
- REMOTE="$path.REMOTE.$$"
- BASE="$path.BASE.$$"
+ ext="$$$(expr "$path" : '.*\(\.[^/]*\)$')"
+ BACKUP="$path.BACKUP.$ext"
+ LOCAL="$path.LOCAL.$ext"
+ REMOTE="$path.REMOTE.$ext"
+ BASE="$path.BASE.$ext"
mv -- "$path" "$BACKUP"
cp -- "$BACKUP" "$path"
--
1.5.3.5
^ permalink raw reply related
* Re: Cosmetic git-am interactive bug
From: Junio C Hamano @ 2007-12-05 7:01 UTC (permalink / raw)
To: Jeff Garzik; +Cc: Git Mailing List
In-Reply-To: <4755A836.1050408@garzik.org>
Jeff Garzik <jeff@garzik.org> writes:
> The use of the older one-line summary led me to believe that it had
> not committed my changelog edits. Looking at the result, however,
> proved that the commit changelog was my new, corrected version.
I knew about this for quite some time but it was a very low priority for
me. This should fix it.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
diff --git a/git-am.sh b/git-am.sh
index 2e40708..339d863 100755
--- a/git-am.sh
+++ b/git-am.sh
@@ -117,6 +117,10 @@ It does not apply to blobs recorded in its index."
unset GITHEAD_$his_tree
}
+reread_subject () {
+ git stripspace <"$1" | sed -e 1q
+}
+
prec=4
dotest=.dotest sign= utf8=t keep= skip= interactive= resolved= binary=
resolvemsg= resume=
@@ -376,6 +380,7 @@ do
[aA]*) action=yes interactive= ;;
[nN]*) action=skip ;;
[eE]*) git_editor "$dotest/final-commit"
+ SUBJECT=$(reread_subject "$dotest/final-commit")
action=again ;;
[vV]*) action=again
LESS=-S ${PAGER:-less} "$dotest/patch" ;;
^ permalink raw reply related
* Re: [PATCH] gitweb: Try harder in parse_tag; perhaps it was given ambiguous name
From: Junio C Hamano @ 2007-12-05 7:01 UTC (permalink / raw)
To: Jakub Narebski; +Cc: git, Guillaume Seguin
In-Reply-To: <200712010247.25107.jnareb@gmail.com>
I have these two patches still in my mailbox, unapplied:
[PATCH] gitweb: disambiguate heads and tags withs the same name
[PATCH] gitweb: Try harder in parse_tag; perhaps it was given ambiguous name
I am wondering if they should be part of 1.5.4. They look Ok but it is
not very easy to pick up what the real breakage it is trying to fix from
Perl gibberish.
Can we have tests (not just "we do not spit out anything to stderr") for
gitweb so that each patch can demonstrate the existing breakage, to make
judging easier?
^ permalink raw reply
* Re: [PATCH] hg-to-git: handle an empty dir in hg by combining git commits
From: Junio C Hamano @ 2007-12-05 7:01 UTC (permalink / raw)
To: Mark Drago; +Cc: stelian, git
In-Reply-To: <7vd4tq41zt.fsf@gitster.siamese.dyndns.org>
Junio C Hamano <gitster@pobox.com> writes:
> Mark Drago <markdrago@gmail.com> writes:
>
>> This patch will detect that there are no changes to commit (using git-status),
>> and will not perform the commit, but will instead combine the log messages of
>> that (non-)commit with the next commit.
>
> I think a better approach would be to implement --no-tree-change-is-ok
> option to git-commit, strictly for use by foreign scm interface scripts
> like yours. It does not usually make sense to record a commit that has
> the exact same tree as its sole parent commit and that is why git-commit
> prevents you from making that mistake, but when data from foreign scm is
> involved, it is a different story. We are equipped to represent such a
> (perhaps insane, perhaps by mistake, or perhaps done on purpose) change
> and it is better to represent it bypassing the safety valve for native
> use.
So I did "git commit --allow-empty". With that, perhaps the following
will fix the issue?
I won't be commiting this myself until I hear a positive Ack.
---
contrib/hg-to-git/hg-to-git.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/contrib/hg-to-git/hg-to-git.py b/contrib/hg-to-git/hg-to-git.py
index 7a1c3e4..9befb92 100755
--- a/contrib/hg-to-git/hg-to-git.py
+++ b/contrib/hg-to-git/hg-to-git.py
@@ -211,7 +211,7 @@ for cset in range(int(tip) + 1):
os.system('git-ls-files -x .hg --deleted | git-update-index --remove --stdin')
# commit
- os.system(getgitenv(user, date) + 'git-commit -a -F %s' % filecomment)
+ os.system(getgitenv(user, date) + 'git commit --allow-empty -a -F %s' % filecomment)
os.unlink(filecomment)
# tag
^ permalink raw reply related
* fetch_refs_via_pack() discards status?
From: Junio C Hamano @ 2007-12-05 7:01 UTC (permalink / raw)
To: Daniel Barkalow, Shawn O. Pearce; +Cc: Git Mailing List
In-Reply-To: <7v3aunqvha.fsf_-_@gitster.siamese.dyndns.org>
The code calls fetch_pack() to get the list of refs it fetched, and
discards refs and always returns 0 to signal success.
But builtin-fetch-pack.c::fetch_pack() has error cases. The function
returns NULL if error is detected (shallow-support side seems to choose
to die but I suspect that is easily fixable to error out as well).
Shouldn't fetch_refs_via_pack() propagate that error to the caller?
---
transport.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/transport.c b/transport.c
index 50db980..048df1f 100644
--- a/transport.c
+++ b/transport.c
@@ -655,7 +655,7 @@ static int fetch_refs_via_pack(struct transport *transport,
free(heads);
free_refs(refs);
free(dest);
- return 0;
+ return (refs ? 0 : -1);
}
static int git_transport_push(struct transport *transport, int refspec_nr, const char **refspec, int flags)
^ permalink raw reply related
* Re: [PATCH] git-checkout --push/--pop
From: Junio C Hamano @ 2007-12-05 6:59 UTC (permalink / raw)
To: Nanako Shiraishi; +Cc: Matthieu Moy, Salikh Zakirov, git
In-Reply-To: <200712042204.lB4M4SVB002260@mi1.bluebottle.com>
Nanako Shiraishi <nanako3@bluebottle.com> writes:
> This introduces a branch-stack mechanism to record branch switching in $GIT_DIR/BRANCH_STACK file. If you are switching to another branch and plan to come back to the original branch soon, add '--push' option to record your current branch.
> When you want to come back, 'git checkout --pop' will switch back to the branch recorded at the top of the stack, while popping it.
>
> Signed-off-by: しらいしななこ <nanako3@bluebottle.com>
Hmph, is this in response to my "I am not sympathtic to 'I have to
remember'"?
Funnily enough, I often find myself almost typing pushd/popd when
switching branches, so in that sense "git checkout" to switch branches
does have some similarity to the notion of pushing and popping.
Matthieu, is this something that forgetful people would find useful?
Having said that, I think there are other push/pop people wanted from
you. Hint, hint...
^ permalink raw reply
* Re: How to jump between two repositories ...
From: Steven Grimm @ 2007-12-05 6:57 UTC (permalink / raw)
To: g2; +Cc: Väinö Järvelä, git
In-Reply-To: <33CB0252-20C7-4AF2-AEB3-2EAC20ED830B@gmail.com>
On Dec 4, 2007, at 10:44 PM, g2 wrote:
> What I am gathering from this is that I can use git in two ways: 1)
> as "just another svn" bare git repository, or 2) only pull and don't
> push, because push causes confusion. I'd be happy to only ever use
> pull, but I have one machine behind a firewall and can't pull. I can
> push to a bare git repository like the svn model, but then I would
> just use svn. What's the value of "push" then?
You can push. Just don't push to a checked-out branch. I do exactly
what you're describing and it works fine. It looks something like this:
server% git checkout mybranch
server% edit somefile.c
server% git commit
laptop% git checkout mybranch
laptop% git pull
(with a pull configuration that pulls server's mybranch into
laptop's)
laptop% edit somefile.c
laptop% git commit
laptop% git push server mybranch:laptop/mybranch
server% git checkout mybranch
server% git rebase laptop/mybranch
Presto, ready to go. The trick is to push into a branch that's
different from the one that's checked out, then rebase on top of that
on the remote side after the push.
Yeah, it'd be nicer if you could just push to the checked-out branch
directly (and there are hooks to let you do that) but this is only
slightly awkward and it's easy once you've done it a few times.
-Steve
^ permalink raw reply
* [BUG] "git clean" does not pay attention to its parameters
From: Nanako Shiraishi @ 2007-12-05 6:54 UTC (permalink / raw)
To: Shawn Bohrer; +Cc: git
In a repository with LaTeX documents, I tried to see what *.aux files are left behind after formatting, by running "git clean -n" with the latest git (1.5.3.7-1005-gdada0c1):
% git clean -n '*.aux'
This however showed more than just '*.aux' files. With the released version 1.5.3.6, the output is correctly limited to the files that match the pattern.
----------------------------------------------------------------------
Get a free email account with anti spam protection.
http://www.bluebottle.com/tag/2
^ permalink raw reply
* Re: [PATCH] Include diff options in the git-log manpage
From: Junio C Hamano @ 2007-12-05 6:45 UTC (permalink / raw)
To: Miklos Vajna; +Cc: git
In-Reply-To: <20071204122859.GQ31750@genesis.frugalware.org>
Miklos Vajna <vmiklos@frugalware.org> writes:
> On Thu, Nov 01, 2007 at 03:57:40PM +0100, Miklos Vajna <vmiklos@frugalware.org> wrote:
>> Recently I wanted to see what git log -M does but actually I was not able to
>> find it in the manpage, finally figured out that all the diff options are
>> missing from here.
>>
>> Removing -p as it's already in diff-options.txt.
>
> could you please have a look at this patch? this also fixes the "-C is
> missing from man git-log" issue which was reported on IRC today.
Have you proofread the whole output after your patch?
* It makes it say "--raw ... this is the default", while for "git log"
no diff output is the default.
* Also it says "-p ... (see section on generating patches)"; there is
no such section.
This can be a possible fixup on top of your patch. It has potential to
affect other documentation pages that includes the files touched. I
have formatted log, diff and format-patch before your patch and after
your patch plus this patch, and eyeballed the difference, but please
double check.
---
Documentation/diff-format.txt | 159 +--------------------------------
Documentation/diff-generate-patch.txt | 161 +++++++++++++++++++++++++++++++++
Documentation/diff-options.txt | 2 +
Documentation/git-log.txt | 2 +
4 files changed, 166 insertions(+), 158 deletions(-)
diff --git a/Documentation/diff-format.txt b/Documentation/diff-format.txt
index 9709c35..2c3a4c4 100644
--- a/Documentation/diff-format.txt
+++ b/Documentation/diff-format.txt
@@ -83,161 +83,4 @@ Note that 'combined diff' lists only files which were modified from
all parents.
-Generating patches with -p
---------------------------
-
-When "git-diff-index", "git-diff-tree", or "git-diff-files" are run
-with a '-p' option, or "git diff" without the '--raw' option, they
-do not produce the output described above; instead they produce a
-patch file. You can customize the creation of such patches via the
-GIT_EXTERNAL_DIFF and the GIT_DIFF_OPTS environment variables.
-
-What the -p option produces is slightly different from the traditional
-diff format.
-
-1. It is preceded with a "git diff" header, that looks like
- this:
-
- diff --git a/file1 b/file2
-+
-The `a/` and `b/` filenames are the same unless rename/copy is
-involved. Especially, even for a creation or a deletion,
-`/dev/null` is _not_ used in place of `a/` or `b/` filenames.
-+
-When rename/copy is involved, `file1` and `file2` show the
-name of the source file of the rename/copy and the name of
-the file that rename/copy produces, respectively.
-
-2. It is followed by one or more extended header lines:
-
- old mode <mode>
- new mode <mode>
- deleted file mode <mode>
- new file mode <mode>
- copy from <path>
- copy to <path>
- rename from <path>
- rename to <path>
- similarity index <number>
- dissimilarity index <number>
- index <hash>..<hash> <mode>
-
-3. TAB, LF, double quote and backslash characters in pathnames
- are represented as `\t`, `\n`, `\"` and `\\`, respectively.
- If there is need for such substitution then the whole
- pathname is put in double quotes.
-
-The similarity index is the percentage of unchanged lines, and
-the dissimilarity index is the percentage of changed lines. It
-is a rounded down integer, followed by a percent sign. The
-similarity index value of 100% is thus reserved for two equal
-files, while 100% dissimilarity means that no line from the old
-file made it into the new one.
-
-
-combined diff format
---------------------
-
-"git-diff-tree", "git-diff-files" and "git-diff" can take '-c' or
-'--cc' option to produce 'combined diff', which looks like this:
-
-------------
-diff --combined describe.c
-index fabadb8,cc95eb0..4866510
---- a/describe.c
-+++ b/describe.c
-@@@ -98,20 -98,12 +98,20 @@@
- return (a_date > b_date) ? -1 : (a_date == b_date) ? 0 : 1;
- }
-
-- static void describe(char *arg)
- -static void describe(struct commit *cmit, int last_one)
-++static void describe(char *arg, int last_one)
- {
- + unsigned char sha1[20];
- + struct commit *cmit;
- struct commit_list *list;
- static int initialized = 0;
- struct commit_name *n;
-
- + if (get_sha1(arg, sha1) < 0)
- + usage(describe_usage);
- + cmit = lookup_commit_reference(sha1);
- + if (!cmit)
- + usage(describe_usage);
- +
- if (!initialized) {
- initialized = 1;
- for_each_ref(get_name);
-------------
-
-1. It is preceded with a "git diff" header, that looks like
- this (when '-c' option is used):
-
- diff --combined file
-+
-or like this (when '--cc' option is used):
-
- diff --c file
-
-2. It is followed by one or more extended header lines
- (this example shows a merge with two parents):
-
- index <hash>,<hash>..<hash>
- mode <mode>,<mode>..<mode>
- new file mode <mode>
- deleted file mode <mode>,<mode>
-+
-The `mode <mode>,<mode>..<mode>` line appears only if at least one of
-the <mode> is different from the rest. Extended headers with
-information about detected contents movement (renames and
-copying detection) are designed to work with diff of two
-<tree-ish> and are not used by combined diff format.
-
-3. It is followed by two-line from-file/to-file header
-
- --- a/file
- +++ b/file
-+
-Similar to two-line header for traditional 'unified' diff
-format, `/dev/null` is used to signal created or deleted
-files.
-
-4. Chunk header format is modified to prevent people from
- accidentally feeding it to `patch -p1`. Combined diff format
- was created for review of merge commit changes, and was not
- meant for apply. The change is similar to the change in the
- extended 'index' header:
-
- @@@ <from-file-range> <from-file-range> <to-file-range> @@@
-+
-There are (number of parents + 1) `@` characters in the chunk
-header for combined diff format.
-
-Unlike the traditional 'unified' diff format, which shows two
-files A and B with a single column that has `-` (minus --
-appears in A but removed in B), `+` (plus -- missing in A but
-added to B), or `" "` (space -- unchanged) prefix, this format
-compares two or more files file1, file2,... with one file X, and
-shows how X differs from each of fileN. One column for each of
-fileN is prepended to the output line to note how X's line is
-different from it.
-
-A `-` character in the column N means that the line appears in
-fileN but it does not appear in the result. A `+` character
-in the column N means that the line appears in the last file,
-and fileN does not have that line (in other words, the line was
-added, from the point of view of that parent).
-
-In the above example output, the function signature was changed
-from both files (hence two `-` removals from both file1 and
-file2, plus `++` to mean one line that was added does not appear
-in either file1 nor file2). Also two other lines are the same
-from file1 but do not appear in file2 (hence prefixed with ` +`).
-
-When shown by `git diff-tree -c`, it compares the parents of a
-merge commit with the merge result (i.e. file1..fileN are the
-parents). When shown by `git diff-files -c`, it compares the
-two unresolved merge parents with the working tree file
-(i.e. file1 is stage 2 aka "our version", file2 is stage 3 aka
-"their version").
+include::diff-generate-patch.txt[]
diff --git a/Documentation/diff-generate-patch.txt b/Documentation/diff-generate-patch.txt
new file mode 100644
index 0000000..029c5f2
--- /dev/null
+++ b/Documentation/diff-generate-patch.txt
@@ -0,0 +1,161 @@
+Generating patches with -p
+--------------------------
+
+When "git-diff-index", "git-diff-tree", or "git-diff-files" are run
+with a '-p' option, "git diff" without the '--raw' option, or
+"git log" with the "-p" option, they
+do not produce the output described above; instead they produce a
+patch file. You can customize the creation of such patches via the
+GIT_EXTERNAL_DIFF and the GIT_DIFF_OPTS environment variables.
+
+What the -p option produces is slightly different from the traditional
+diff format.
+
+1. It is preceded with a "git diff" header, that looks like
+ this:
+
+ diff --git a/file1 b/file2
++
+The `a/` and `b/` filenames are the same unless rename/copy is
+involved. Especially, even for a creation or a deletion,
+`/dev/null` is _not_ used in place of `a/` or `b/` filenames.
++
+When rename/copy is involved, `file1` and `file2` show the
+name of the source file of the rename/copy and the name of
+the file that rename/copy produces, respectively.
+
+2. It is followed by one or more extended header lines:
+
+ old mode <mode>
+ new mode <mode>
+ deleted file mode <mode>
+ new file mode <mode>
+ copy from <path>
+ copy to <path>
+ rename from <path>
+ rename to <path>
+ similarity index <number>
+ dissimilarity index <number>
+ index <hash>..<hash> <mode>
+
+3. TAB, LF, double quote and backslash characters in pathnames
+ are represented as `\t`, `\n`, `\"` and `\\`, respectively.
+ If there is need for such substitution then the whole
+ pathname is put in double quotes.
+
+The similarity index is the percentage of unchanged lines, and
+the dissimilarity index is the percentage of changed lines. It
+is a rounded down integer, followed by a percent sign. The
+similarity index value of 100% is thus reserved for two equal
+files, while 100% dissimilarity means that no line from the old
+file made it into the new one.
+
+
+combined diff format
+--------------------
+
+"git-diff-tree", "git-diff-files" and "git-diff" can take '-c' or
+'--cc' option to produce 'combined diff'. For showing a merge commit
+with "git log -p", this is the default format.
+A 'combined diff' format looks like this:
+
+------------
+diff --combined describe.c
+index fabadb8,cc95eb0..4866510
+--- a/describe.c
++++ b/describe.c
+@@@ -98,20 -98,12 +98,20 @@@
+ return (a_date > b_date) ? -1 : (a_date == b_date) ? 0 : 1;
+ }
+
+- static void describe(char *arg)
+ -static void describe(struct commit *cmit, int last_one)
+++static void describe(char *arg, int last_one)
+ {
+ + unsigned char sha1[20];
+ + struct commit *cmit;
+ struct commit_list *list;
+ static int initialized = 0;
+ struct commit_name *n;
+
+ + if (get_sha1(arg, sha1) < 0)
+ + usage(describe_usage);
+ + cmit = lookup_commit_reference(sha1);
+ + if (!cmit)
+ + usage(describe_usage);
+ +
+ if (!initialized) {
+ initialized = 1;
+ for_each_ref(get_name);
+------------
+
+1. It is preceded with a "git diff" header, that looks like
+ this (when '-c' option is used):
+
+ diff --combined file
++
+or like this (when '--cc' option is used):
+
+ diff --c file
+
+2. It is followed by one or more extended header lines
+ (this example shows a merge with two parents):
+
+ index <hash>,<hash>..<hash>
+ mode <mode>,<mode>..<mode>
+ new file mode <mode>
+ deleted file mode <mode>,<mode>
++
+The `mode <mode>,<mode>..<mode>` line appears only if at least one of
+the <mode> is different from the rest. Extended headers with
+information about detected contents movement (renames and
+copying detection) are designed to work with diff of two
+<tree-ish> and are not used by combined diff format.
+
+3. It is followed by two-line from-file/to-file header
+
+ --- a/file
+ +++ b/file
++
+Similar to two-line header for traditional 'unified' diff
+format, `/dev/null` is used to signal created or deleted
+files.
+
+4. Chunk header format is modified to prevent people from
+ accidentally feeding it to `patch -p1`. Combined diff format
+ was created for review of merge commit changes, and was not
+ meant for apply. The change is similar to the change in the
+ extended 'index' header:
+
+ @@@ <from-file-range> <from-file-range> <to-file-range> @@@
++
+There are (number of parents + 1) `@` characters in the chunk
+header for combined diff format.
+
+Unlike the traditional 'unified' diff format, which shows two
+files A and B with a single column that has `-` (minus --
+appears in A but removed in B), `+` (plus -- missing in A but
+added to B), or `" "` (space -- unchanged) prefix, this format
+compares two or more files file1, file2,... with one file X, and
+shows how X differs from each of fileN. One column for each of
+fileN is prepended to the output line to note how X's line is
+different from it.
+
+A `-` character in the column N means that the line appears in
+fileN but it does not appear in the result. A `+` character
+in the column N means that the line appears in the last file,
+and fileN does not have that line (in other words, the line was
+added, from the point of view of that parent).
+
+In the above example output, the function signature was changed
+from both files (hence two `-` removals from both file1 and
+file2, plus `++` to mean one line that was added does not appear
+in either file1 nor file2). Also two other lines are the same
+from file1 but do not appear in file2 (hence prefixed with ` +`).
+
+When shown by `git diff-tree -c`, it compares the parents of a
+merge commit with the merge result (i.e. file1..fileN are the
+parents). When shown by `git diff-files -c`, it compares the
+two unresolved merge parents with the working tree file
+(i.e. file1 is stage 2 aka "our version", file2 is stage 3 aka
+"their version").
diff --git a/Documentation/diff-options.txt b/Documentation/diff-options.txt
index e4af393..d0154bb 100644
--- a/Documentation/diff-options.txt
+++ b/Documentation/diff-options.txt
@@ -6,7 +6,9 @@
ifndef::git-format-patch[]
ifndef::git-diff[]
+ifndef::git-log[]
:git-diff-core: 1
+endif::git-log[]
endif::git-diff[]
endif::git-format-patch[]
diff --git a/Documentation/git-log.txt b/Documentation/git-log.txt
index 4b1b982..5920d17 100644
--- a/Documentation/git-log.txt
+++ b/Documentation/git-log.txt
@@ -27,6 +27,7 @@ OPTIONS
include::pretty-options.txt[]
+:git-log: 1
include::diff-options.txt[]
-<n>::
@@ -77,6 +78,7 @@ include::diff-options.txt[]
include::pretty-formats.txt[]
+include::diff-generate-patch.txt[]
Examples
--------
^ permalink raw reply related
* Re: How to jump between two repositories ...
From: g2 @ 2007-12-05 6:44 UTC (permalink / raw)
To: Väinö Järvelä; +Cc: git
In-Reply-To: <3DD4D3BA-67B3-4AFC-AD24-799384D54408@pp.inet.fi>
What I am gathering from this is that I can use git in two ways: 1) as
"just another svn" bare git repository, or 2) only pull and don't
push, because push causes confusion. I'd be happy to only ever use
pull, but I have one machine behind a firewall and can't pull. I can
push to a bare git repository like the svn model, but then I would
just use svn. What's the value of "push" then?
On 4-Dec-07, at 10:20 PM, Väinö Järvelä wrote:
> On Dec 5, 2007, at 07:59, g2 wrote:
>
>> I am currently working on some code at the office that I also want
>> to work with at home. Seems like a good candidate for git. So I
>> created a repository at work and did a "git clone" at home. I've
>> run into some strange behaviour that I don't understand and would
>> appreciate if someone can clarify for me.
>>
>> Imagine this scenario. At work:
>> git init
>> edit test.c
>> git add test.c
>> git commit
>>
>> Then at home:
>> git clone <work git url>
>> edit test.c
>> git commit -a
>> git push
>>
>> At this point, I wanted to push my changes back to my work
>> repository so I can continue work the next day. So at home, I did a
>> git push. I expect that my work repository has the newest material,
>> but I find that when I do "git status" at work the next day, it
>> tells me that my test.c is "modified" and has already staged it for
>> commit. I need to do a "git reset" followed by "git checkout" to
>> update my work folder to the latest stuff.
>
> Did you clone a bare repository and push to it?
>
> Here is an excerpt from Git User's Manual:
> "Note that the target of a "push" is normally a bare repository. You
> can also push to a repository that has a checked-out working tree,
> but the working tree will not be updated by the push. This may lead
> to unexpected results if the branch you push to is the currently
> checked-out branch!"
>
> So to push to your work repository, you should create an
> intermediary repository between the work and home repositories. You
> can create it by running:
> $ git clone --bare /git/work/ /git/work.git/
>
> Then you clone normally from the bare repository and pushing to it
> works fine. After you have pushed your changes to the bare
> repository, you'll have to pull them to the work repository to get
> the updates, just like you would do with any public repository.
>
> Another option would be to pull from your home repository to the
> work repository, if you can access your home computer from the work
> computer.
>
> --
> Väinö
>
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox