From: Bo Yang <struggleyb.nku@gmail.com>
To: git@vger.kernel.org
Cc: Jens.Lehmann@web.de, trast@student.ethz.ch, gitster@pobox.com
Subject: [PATCH V5 16/17] Add tests for line history browser
Date: Wed, 11 Aug 2010 23:03:41 +0800 [thread overview]
Message-ID: <1281539022-31616-17-git-send-email-struggleyb.nku@gmail.com> (raw)
In-Reply-To: <1281539022-31616-1-git-send-email-struggleyb.nku@gmail.com>
t/t4301-log-line-single-history.sh:
test the linear line of history.
t/t4302-log-line-merge-history.sh:
test the case that there are merges in the history.
Signed-off-by: Bo Yang <struggleyb.nku@gmail.com>
---
Note that applying this with --whitespace=fix will make the tests
fail, as there are diffs contained which must preserve the SP TAB
sequence of context lines.
t/t4301-log-line-single-history.sh | 627 ++++++++++++++++++++++++++++++++++++
t/t4302-log-line-merge-history.sh | 163 ++++++++++
2 files changed, 790 insertions(+), 0 deletions(-)
create mode 100755 t/t4301-log-line-single-history.sh
create mode 100755 t/t4302-log-line-merge-history.sh
diff --git a/t/t4301-log-line-single-history.sh b/t/t4301-log-line-single-history.sh
new file mode 100755
index 0000000..19b0cb7
--- /dev/null
+++ b/t/t4301-log-line-single-history.sh
@@ -0,0 +1,627 @@
+#!/bin/sh
+#
+# Copyright (c) 2010 Bo Yang
+#
+
+test_description='Test git log -L with single line of history
+
+'
+. ./test-lib.sh
+. "$TEST_DIRECTORY"/diff-lib.sh
+
+echo >path0 'void func(){
+ int a = 0;
+ int b = 1;
+ int c;
+ c = a + b;
+}
+'
+
+echo >path1 'void output(){
+ printf("hello world");
+}
+'
+
+test_expect_success \
+ 'add path0/path1 and commit.' \
+ 'git add path0 path1 &&
+ git commit -m "Base commit"'
+
+echo >path0 'void func(){
+ int a = 10;
+ int b = 11;
+ int c;
+ c = a + b;
+}
+'
+
+echo >path1 'void output(){
+ const char *str = "hello world!";
+ printf("%s", str);
+}
+'
+
+test_expect_success \
+ 'Change the 2,3 lines of path0 and path1.' \
+ 'git add path0 path1 &&
+ git commit -m "Change 2,3 lines of path0 and path1"'
+
+echo >path0 'void func(){
+ int a = 10;
+ int b = 11;
+ int c;
+ c = 10 * (a + b);
+}
+'
+
+test_expect_success \
+ 'Change the 5th line of path0.' \
+ 'git add path0 &&
+ git commit -m "Change the 5th line of path0"'
+
+echo >path0 'void func(){
+ int a = 10;
+ int b = 11;
+ printf("%d", a - b);
+}
+'
+
+test_expect_success \
+ 'Final change of path0.' \
+ 'git add path0 &&
+ git commit -m "Final change of path0"'
+
+cat >expected-path0 <<\EOF
+Final change of path0
+
+diff --git a/path0 b/path0
+index 44db133..1518c15 100644
+--- a/path0
++++ b/path0
+@@ -1,6 +1,5 @@
+ void func(){
+ int a = 10;
+ int b = 11;
+- int c;
+- c = 10 * (a + b);
++ printf("%d", a - b);
+ }
+
+Change the 5th line of path0
+
+diff --git a/path0 b/path0
+index 9ef1692..44db133 100644
+--- a/path0
++++ b/path0
+@@ -1,6 +1,6 @@
+ void func(){
+ int a = 10;
+ int b = 11;
+ int c;
+- c = a + b;
++ c = 10 * (a + b);
+ }
+
+Change 2,3 lines of path0 and path1
+
+diff --git a/path0 b/path0
+index aabffdf..9ef1692 100644
+--- a/path0
++++ b/path0
+@@ -1,6 +1,6 @@
+ void func(){
+- int a = 0;
+- int b = 1;
++ int a = 10;
++ int b = 11;
+ int c;
+ c = a + b;
+ }
+
+Base commit
+
+diff --git a/path0 b/path0
+new file mode 100644
+index 0000000..aabffdf
+--- /dev/null
++++ b/path0
+@@ -0,0 +1,6 @@
++void func(){
++ int a = 0;
++ int b = 1;
++ int c;
++ c = a + b;
++}
+EOF
+
+cat >expected-path1 <<\EOF
+Change 2,3 lines of path0 and path1
+
+diff --git a/path1 b/path1
+index 997d841..1d711b5 100644
+--- a/path1
++++ b/path1
+@@ -1,3 +1,4 @@
+ void output(){
+- printf("hello world");
++ const char *str = "hello world!";
++ printf("%s", str);
+ }
+
+Base commit
+
+diff --git a/path1 b/path1
+new file mode 100644
+index 0000000..997d841
+--- /dev/null
++++ b/path1
+@@ -0,0 +1,3 @@
++void output(){
++ printf("hello world");
++}
+EOF
+
+cat >expected-pathall <<\EOF
+Final change of path0
+
+diff --git a/path0 b/path0
+index 44db133..1518c15 100644
+--- a/path0
++++ b/path0
+@@ -1,6 +1,5 @@
+ void func(){
+ int a = 10;
+ int b = 11;
+- int c;
+- c = 10 * (a + b);
++ printf("%d", a - b);
+ }
+
+Change the 5th line of path0
+
+diff --git a/path0 b/path0
+index 9ef1692..44db133 100644
+--- a/path0
++++ b/path0
+@@ -1,6 +1,6 @@
+ void func(){
+ int a = 10;
+ int b = 11;
+ int c;
+- c = a + b;
++ c = 10 * (a + b);
+ }
+
+Change 2,3 lines of path0 and path1
+
+diff --git a/path0 b/path0
+index aabffdf..9ef1692 100644
+--- a/path0
++++ b/path0
+@@ -1,6 +1,6 @@
+ void func(){
+- int a = 0;
+- int b = 1;
++ int a = 10;
++ int b = 11;
+ int c;
+ c = a + b;
+ }
+diff --git a/path1 b/path1
+index 997d841..1d711b5 100644
+--- a/path1
++++ b/path1
+@@ -1,3 +1,4 @@
+ void output(){
+- printf("hello world");
++ const char *str = "hello world!";
++ printf("%s", str);
+ }
+
+Base commit
+
+diff --git a/path0 b/path0
+new file mode 100644
+index 0000000..aabffdf
+--- /dev/null
++++ b/path0
+@@ -0,0 +1,6 @@
++void func(){
++ int a = 0;
++ int b = 1;
++ int c;
++ c = a + b;
++}
+diff --git a/path1 b/path1
+new file mode 100644
+index 0000000..997d841
+--- /dev/null
++++ b/path1
+@@ -0,0 +1,3 @@
++void output(){
++ printf("hello world");
++}
+EOF
+
+cat >expected-linenum <<\EOF
+Change 2,3 lines of path0 and path1
+
+diff --git a/path0 b/path0
+index aabffdf..9ef1692 100644
+--- a/path0
++++ b/path0
+@@ -1,2 +1,2 @@
+ void func(){
+- int a = 0;
++ int a = 10;
+
+Base commit
+
+diff --git a/path0 b/path0
+new file mode 100644
+index 0000000..aabffdf
+--- /dev/null
++++ b/path0
+@@ -0,0 +1,2 @@
++void func(){
++ int a = 0;
+EOF
+
+cat >expected-always <<\EOF
+Final change of path0
+
+diff --git a/path0 b/path0
+index 44db133..1518c15 100644
+--- a/path0
++++ b/path0
+@@ -1,2 +1,2 @@
+ void func(){
+ int a = 10;
+
+Change the 5th line of path0
+
+diff --git a/path0 b/path0
+index 9ef1692..44db133 100644
+--- a/path0
++++ b/path0
+@@ -1,2 +1,2 @@
+ void func(){
+ int a = 10;
+
+Change 2,3 lines of path0 and path1
+
+diff --git a/path0 b/path0
+index aabffdf..9ef1692 100644
+--- a/path0
++++ b/path0
+@@ -1,2 +1,2 @@
+ void func(){
+- int a = 0;
++ int a = 10;
+
+Base commit
+
+diff --git a/path0 b/path0
+new file mode 100644
+index 0000000..aabffdf
+--- /dev/null
++++ b/path0
+@@ -0,0 +1,2 @@
++void func(){
++ int a = 0;
+EOF
+
+test_expect_success \
+ 'Show the line level log of path0' \
+ 'git log --pretty=format:%s%n%b -L /func/,/^}/ path0 > current-path0'
+
+test_expect_success 'validate the path0 output.' '
+ test_cmp current-path0 expected-path0
+'
+test_expect_success \
+ 'Show the line level log of path1' \
+ 'git log --pretty=format:%s%n%b -L /output/,/^}/ path1 > current-path1'
+
+test_expect_success 'validate the path1 output.' '
+ test_cmp current-path1 expected-path1
+'
+test_expect_success \
+ 'Show the line level log of two files' \
+ 'git log --pretty=format:%s%n%b -L /func/,/^}/ path0 -L /output/,/^}/ path1 > current-pathall'
+
+test_expect_success 'validate the all path output.' '
+ test_cmp current-pathall expected-pathall
+'
+test_expect_success \
+ 'Test the line number argument' \
+ 'git log --pretty=format:%s%n%b -L 1,2 path0 > current-linenum'
+
+test_expect_success 'validate the line number output.' '
+ test_cmp current-linenum expected-linenum
+'
+test_expect_success \
+ 'Test the --full-line-diff option' \
+ 'git log --pretty=format:%s%n%b --full-line-diff -L 1,2 path0 > current-always'
+
+test_expect_success 'validate the --full-line-diff output.' '
+ test_cmp current-always expected-always
+'
+
+# Rerun all log with graph
+test_expect_success \
+ 'Show the line level log of path0 with --graph' \
+ 'git log --pretty=format:%s%n%b --graph -L /func/,/^}/ path0 > current-path0-graph'
+
+test_expect_success \
+ 'Show the line level log of path1 with --graph' \
+ 'git log --pretty=format:%s%n%b --graph -L /output/,/^}/ path1 > current-path1-graph'
+
+test_expect_success \
+ 'Show the line level log of two files with --graph' \
+ 'git log --pretty=format:%s%n%b --graph -L /func/,/^}/ path0 --graph -L /output/,/^}/ path1 > current-pathall-graph'
+
+test_expect_success \
+ 'Test the line number argument with --graph' \
+ 'git log --pretty=format:%s%n%b --graph -L 1,2 path0 > current-linenum-graph'
+
+test_expect_success \
+ 'Test the --full-line-diff option with --graph option' \
+ 'git log --pretty=format:%s%n%b --full-line-diff --graph -L 1,2 path0 > current-always-graph'
+
+cat > expected-path0-graph <<\EOF
+* Final change of path0
+|
+| diff --git a/path0 b/path0
+| index 44db133..1518c15 100644
+| --- a/path0
+| +++ b/path0
+| @@ -1,6 +1,5 @@
+| void func(){
+| int a = 10;
+| int b = 11;
+| - int c;
+| - c = 10 * (a + b);
+| + printf("%d", a - b);
+| }
+|
+* Change the 5th line of path0
+|
+| diff --git a/path0 b/path0
+| index 9ef1692..44db133 100644
+| --- a/path0
+| +++ b/path0
+| @@ -1,6 +1,6 @@
+| void func(){
+| int a = 10;
+| int b = 11;
+| int c;
+| - c = a + b;
+| + c = 10 * (a + b);
+| }
+|
+* Change 2,3 lines of path0 and path1
+|
+| diff --git a/path0 b/path0
+| index aabffdf..9ef1692 100644
+| --- a/path0
+| +++ b/path0
+| @@ -1,6 +1,6 @@
+| void func(){
+| - int a = 0;
+| - int b = 1;
+| + int a = 10;
+| + int b = 11;
+| int c;
+| c = a + b;
+| }
+|
+* Base commit
+
+ diff --git a/path0 b/path0
+ new file mode 100644
+ index 0000000..aabffdf
+ --- /dev/null
+ +++ b/path0
+ @@ -0,0 +1,6 @@
+ +void func(){
+ + int a = 0;
+ + int b = 1;
+ + int c;
+ + c = a + b;
+ +}
+EOF
+
+cat > expected-path1-graph <<\EOF
+* Change 2,3 lines of path0 and path1
+|
+| diff --git a/path1 b/path1
+| index 997d841..1d711b5 100644
+| --- a/path1
+| +++ b/path1
+| @@ -1,3 +1,4 @@
+| void output(){
+| - printf("hello world");
+| + const char *str = "hello world!";
+| + printf("%s", str);
+| }
+|
+* Base commit
+
+ diff --git a/path1 b/path1
+ new file mode 100644
+ index 0000000..997d841
+ --- /dev/null
+ +++ b/path1
+ @@ -0,0 +1,3 @@
+ +void output(){
+ + printf("hello world");
+ +}
+EOF
+
+cat > expected-pathall-graph <<\EOF
+* Final change of path0
+|
+| diff --git a/path0 b/path0
+| index 44db133..1518c15 100644
+| --- a/path0
+| +++ b/path0
+| @@ -1,6 +1,5 @@
+| void func(){
+| int a = 10;
+| int b = 11;
+| - int c;
+| - c = 10 * (a + b);
+| + printf("%d", a - b);
+| }
+|
+* Change the 5th line of path0
+|
+| diff --git a/path0 b/path0
+| index 9ef1692..44db133 100644
+| --- a/path0
+| +++ b/path0
+| @@ -1,6 +1,6 @@
+| void func(){
+| int a = 10;
+| int b = 11;
+| int c;
+| - c = a + b;
+| + c = 10 * (a + b);
+| }
+|
+* Change 2,3 lines of path0 and path1
+|
+| diff --git a/path0 b/path0
+| index aabffdf..9ef1692 100644
+| --- a/path0
+| +++ b/path0
+| @@ -1,6 +1,6 @@
+| void func(){
+| - int a = 0;
+| - int b = 1;
+| + int a = 10;
+| + int b = 11;
+| int c;
+| c = a + b;
+| }
+| diff --git a/path1 b/path1
+| index 997d841..1d711b5 100644
+| --- a/path1
+| +++ b/path1
+| @@ -1,3 +1,4 @@
+| void output(){
+| - printf("hello world");
+| + const char *str = "hello world!";
+| + printf("%s", str);
+| }
+|
+* Base commit
+
+ diff --git a/path0 b/path0
+ new file mode 100644
+ index 0000000..aabffdf
+ --- /dev/null
+ +++ b/path0
+ @@ -0,0 +1,6 @@
+ +void func(){
+ + int a = 0;
+ + int b = 1;
+ + int c;
+ + c = a + b;
+ +}
+ diff --git a/path1 b/path1
+ new file mode 100644
+ index 0000000..997d841
+ --- /dev/null
+ +++ b/path1
+ @@ -0,0 +1,3 @@
+ +void output(){
+ + printf("hello world");
+ +}
+EOF
+
+cat > expected-linenum-graph <<\EOF
+* Change 2,3 lines of path0 and path1
+|
+| diff --git a/path0 b/path0
+| index aabffdf..9ef1692 100644
+| --- a/path0
+| +++ b/path0
+| @@ -1,2 +1,2 @@
+| void func(){
+| - int a = 0;
+| + int a = 10;
+|
+* Base commit
+
+ diff --git a/path0 b/path0
+ new file mode 100644
+ index 0000000..aabffdf
+ --- /dev/null
+ +++ b/path0
+ @@ -0,0 +1,2 @@
+ +void func(){
+ + int a = 0;
+EOF
+
+cat > expected-always-graph <<\EOF
+* Final change of path0
+|
+| diff --git a/path0 b/path0
+| index 44db133..1518c15 100644
+| --- a/path0
+| +++ b/path0
+| @@ -1,2 +1,2 @@
+| void func(){
+| int a = 10;
+|
+* Change the 5th line of path0
+|
+| diff --git a/path0 b/path0
+| index 9ef1692..44db133 100644
+| --- a/path0
+| +++ b/path0
+| @@ -1,2 +1,2 @@
+| void func(){
+| int a = 10;
+|
+* Change 2,3 lines of path0 and path1
+|
+| diff --git a/path0 b/path0
+| index aabffdf..9ef1692 100644
+| --- a/path0
+| +++ b/path0
+| @@ -1,2 +1,2 @@
+| void func(){
+| - int a = 0;
+| + int a = 10;
+|
+* Base commit
+
+ diff --git a/path0 b/path0
+ new file mode 100644
+ index 0000000..aabffdf
+ --- /dev/null
+ +++ b/path0
+ @@ -0,0 +1,2 @@
+ +void func(){
+ + int a = 0;
+EOF
+
+test_expect_success \
+ 'validate the path0 output.' \
+ 'test_cmp current-path0-graph expected-path0-graph'
+test_expect_success \
+ 'validate the path1 output.' \
+ 'test_cmp current-path1-graph expected-path1-graph'
+test_expect_success \
+ 'validate the all path output.' \
+ 'test_cmp current-pathall-graph expected-pathall-graph'
+test_expect_success \
+ 'validate graph output' \
+ 'test_cmp current-linenum-graph expected-linenum-graph'
+test_expect_success \
+ 'validate --full-line-diff output' \
+ 'test_cmp current-always-graph expected-always-graph'
+
+test_done
diff --git a/t/t4302-log-line-merge-history.sh b/t/t4302-log-line-merge-history.sh
new file mode 100755
index 0000000..1536cc4
--- /dev/null
+++ b/t/t4302-log-line-merge-history.sh
@@ -0,0 +1,163 @@
+#!/bin/sh
+#
+# Copyright (c) 2010 Bo Yang
+#
+
+test_description='Test git log -L with merge commit
+
+'
+. ./test-lib.sh
+. "$TEST_DIRECTORY"/diff-lib.sh
+
+echo >path0 'void func(){
+ printf("hello");
+}
+'
+
+test_expect_success \
+ 'Add path0 and commit.' \
+ 'git add path0 &&
+ git commit -m "Base commit"'
+
+echo >path0 'void func(){
+ printf("hello earth");
+}
+'
+
+test_expect_success \
+ 'Change path0 in master.' \
+ 'git add path0 &&
+ git commit -m "Change path0 in master"'
+
+test_expect_success \
+ 'Make a new branch from the base commit' \
+ 'git checkout -b feature master^'
+
+echo >path0 'void func(){
+ print("hello moon");
+}
+'
+
+test_expect_success \
+ 'Change path0 in feature.' \
+ 'git add path0 &&
+ git commit -m "Change path0 in feature"'
+
+test_expect_success \
+ 'Merge the master to feature' \
+ '! git merge master'
+
+echo >path0 'void func(){
+ printf("hello earth and moon");
+}
+'
+
+test_expect_success \
+ 'Resolve the conflict' \
+ 'git add path0 &&
+ git commit -m "Merge two branches"'
+
+test_expect_success \
+ 'Show the line level log of path0' \
+ 'git log --pretty=format:%s%n%b -L /func/,/^}/ path0 > current'
+
+cat >expected <<\EOF
+Merge two branches
+
+nontrivial merge found
+path0
+@@ 2,1 @@
+ printf("hello earth and moon");
+
+
+Change path0 in master
+
+diff --git a/path0 b/path0
+index f628dea..bef7fa3 100644
+--- a/path0
++++ b/path0
+@@ -1,3 +1,3 @@
+ void func(){
+- printf("hello");
++ printf("hello earth");
+ }
+
+Change path0 in feature
+
+diff --git a/path0 b/path0
+index f628dea..a940ef6 100644
+--- a/path0
++++ b/path0
+@@ -1,3 +1,3 @@
+ void func(){
+- printf("hello");
++ print("hello moon");
+ }
+
+Base commit
+
+diff --git a/path0 b/path0
+new file mode 100644
+index 0000000..f628dea
+--- /dev/null
++++ b/path0
+@@ -0,0 +1,3 @@
++void func(){
++ printf("hello");
++}
+EOF
+
+cat > expected-graph <<\EOF
+* Merge two branches
+|\
+| |
+| | nontrivial merge found
+| | path0
+| | @@ 2,1 @@
+| | printf("hello earth and moon");
+| |
+| |
+| * Change path0 in master
+| |
+| | diff --git a/path0 b/path0
+| | index f628dea..bef7fa3 100644
+| | --- a/path0
+| | +++ b/path0
+| | @@ -2,1 +2,1 @@
+| | - printf("hello");
+| | + printf("hello earth");
+| |
+* | Change path0 in feature
+|/
+|
+| diff --git a/path0 b/path0
+| index f628dea..a940ef6 100644
+| --- a/path0
+| +++ b/path0
+| @@ -2,1 +2,1 @@
+| - printf("hello");
+| + print("hello moon");
+|
+* Base commit
+
+ diff --git a/path0 b/path0
+ new file mode 100644
+ index 0000000..f628dea
+ --- /dev/null
+ +++ b/path0
+ @@ -0,0 +2,1 @@
+ + printf("hello");
+EOF
+
+test_expect_success \
+ 'Show the line log of the 2 line of path0 with graph' \
+ 'git log --pretty=format:%s%n%b --graph -L 2,+1 path0 > current-graph'
+
+test_expect_success \
+ 'validate the output.' \
+ 'test_cmp current expected'
+test_expect_success \
+ 'validate the graph output.' \
+ 'test_cmp current-graph expected-graph'
+
+test_done
--
1.7.2.19.g79e5d
next prev parent reply other threads:[~2010-08-11 15:06 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-11 15:03 [PATCH V5 00/17] Reroll a version 5 of this series Bo Yang
2010-08-11 15:03 ` [PATCH V5 01/17] parse-options: enhance STOP_AT_NON_OPTION Bo Yang
2010-08-11 15:03 ` [PATCH V5 02/17] parse-options: add two helper functions Bo Yang
2010-08-11 15:03 ` [PATCH V5 03/17] Add the basic data structure for line level history Bo Yang
2010-08-11 15:03 ` [PATCH V5 04/17] Refactor parse_loc Bo Yang
2010-08-11 15:03 ` [PATCH V5 05/17] Parse the -L options Bo Yang
2010-08-11 15:03 ` [PATCH V5 06/17] Export three functions from diff.c Bo Yang
2010-08-11 15:03 ` [PATCH V5 07/17] Add range clone functions Bo Yang
2010-08-11 15:03 ` [PATCH V5 08/17] map/take range to the parent of commits Bo Yang
2010-08-11 15:03 ` [PATCH V5 09/17] Print the line log Bo Yang
2010-08-11 15:03 ` [PATCH V5 10/17] Hook line history into cmd_log, ensuring a topo-ordered walk Bo Yang
2010-08-11 15:03 ` [PATCH V5 11/17] Make rewrite_parents public to other part of git Bo Yang
2010-08-11 15:03 ` [PATCH V5 12/17] Make graph_next_line external " Bo Yang
2010-08-11 15:03 ` [PATCH V5 13/17] Add parent rewriting to line history browser Bo Yang
2010-08-30 17:10 ` log -L crash (Re: [PATCH V5 13/17] Add parent rewriting to line history browser) Jonathan Nieder
2010-09-01 14:47 ` Bo Yang
2010-09-11 21:10 ` [PATCH] log -L: do not free parents lists we might need again Thomas Rast
2010-08-11 15:03 ` [PATCH V5 14/17] Add --graph prefix before line history output Bo Yang
2010-08-11 15:03 ` [PATCH V5 15/17] Add --full-line-diff option Bo Yang
2010-08-11 15:03 ` Bo Yang [this message]
2010-08-12 1:25 ` [PATCH V5 16/17] Add tests for line history browser Ævar Arnfjörð Bjarmason
2010-08-12 12:24 ` Bo Yang
2010-08-12 16:27 ` Ævar Arnfjörð Bjarmason
2010-08-12 20:37 ` Junio C Hamano
2010-08-12 21:06 ` Junio C Hamano
2010-08-11 15:03 ` [PATCH V5 17/17] Document " Bo Yang
2010-08-12 8:31 ` [PATCH V5 00/17] Reroll a version 5 of this series david
2010-08-12 17:23 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1281539022-31616-17-git-send-email-struggleyb.nku@gmail.com \
--to=struggleyb.nku@gmail.com \
--cc=Jens.Lehmann@web.de \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=trast@student.ethz.ch \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).