@@ -69,7 +69,7 @@ static void assert_subject_match(
6969
7070void test_email_create__commit (void )
7171{
72- const char * email =
72+ const char * expected =
7373 "From 9264b96c6d104d0e07ae33d3007b6a48246c6f92 Mon Sep 17 00:00:00 2001\n" \
7474 "From: Jacques Germishuys <jacquesg@striata.com>\n" \
7575 "Date: Wed, 9 Apr 2014 20:57:01 +0200\n" \
@@ -109,7 +109,120 @@ void test_email_create__commit(void)
109109 "\n" ;
110110
111111 assert_email_match (
112- email , "9264b96c6d104d0e07ae33d3007b6a48246c6f92" , NULL );
112+ expected , "9264b96c6d104d0e07ae33d3007b6a48246c6f92" , NULL );
113+ }
114+
115+ void test_email_create__rename (void )
116+ {
117+ const char * expected =
118+ "From 6e05acc5a5dab507d91a0a0cc0fb05a3dd98892d Mon Sep 17 00:00:00 2001\n" \
119+ "From: Jacques Germishuys <jacquesg@striata.com>\n" \
120+ "Date: Wed, 9 Apr 2014 21:15:56 +0200\n" \
121+ "Subject: [PATCH] Renamed file1.txt -> file1.txt.renamed\n" \
122+ "\n" \
123+ "---\n" \
124+ " file1.txt => file1.txt.renamed | 4 ++--\n" \
125+ " 1 file changed, 2 insertions(+), 2 deletions(-)\n" \
126+ "\n" \
127+ "diff --git a/file1.txt b/file1.txt.renamed\n" \
128+ "similarity index 86%\n" \
129+ "rename from file1.txt\n" \
130+ "rename to file1.txt.renamed\n" \
131+ "index af8f41d..a97157a 100644\n" \
132+ "--- a/file1.txt\n" \
133+ "+++ b/file1.txt.renamed\n" \
134+ "@@ -3,13 +3,13 @@ file1.txt\n" \
135+ " _file1.txt_\n" \
136+ " file1.txt\n" \
137+ " file1.txt\n" \
138+ "-file1.txt\n" \
139+ "+file1.txt_renamed\n" \
140+ " file1.txt\n" \
141+ " \n" \
142+ " \n" \
143+ " file1.txt\n" \
144+ " file1.txt\n" \
145+ "-file1.txt\n" \
146+ "+file1.txt_renamed\n" \
147+ " file1.txt\n" \
148+ " file1.txt\n" \
149+ " _file1.txt_\n" \
150+ "--\n" \
151+ "libgit2 " LIBGIT2_VERSION "\n" \
152+ "\n" ;
153+
154+ assert_email_match (expected , "6e05acc5a5dab507d91a0a0cc0fb05a3dd98892d" , NULL );
155+ }
156+
157+ void test_email_create__rename_as_add_delete (void )
158+ {
159+ const char * expected =
160+ "From 6e05acc5a5dab507d91a0a0cc0fb05a3dd98892d Mon Sep 17 00:00:00 2001\n" \
161+ "From: Jacques Germishuys <jacquesg@striata.com>\n" \
162+ "Date: Wed, 9 Apr 2014 21:15:56 +0200\n" \
163+ "Subject: [PATCH] Renamed file1.txt -> file1.txt.renamed\n" \
164+ "\n" \
165+ "---\n" \
166+ " file1.txt | 17 -----------------\n" \
167+ " file1.txt.renamed | 17 +++++++++++++++++\n" \
168+ " 2 files changed, 17 insertions(+), 17 deletions(-)\n" \
169+ " delete mode 100644 file1.txt\n" \
170+ " create mode 100644 file1.txt.renamed\n" \
171+ "\n" \
172+ "diff --git a/file1.txt b/file1.txt\n" \
173+ "deleted file mode 100644\n" \
174+ "index af8f41d..0000000\n" \
175+ "--- a/file1.txt\n" \
176+ "+++ /dev/null\n" \
177+ "@@ -1,17 +0,0 @@\n" \
178+ "-file1.txt\n" \
179+ "-file1.txt\n" \
180+ "-_file1.txt_\n" \
181+ "-file1.txt\n" \
182+ "-file1.txt\n" \
183+ "-file1.txt\n" \
184+ "-file1.txt\n" \
185+ "-\n" \
186+ "-\n" \
187+ "-file1.txt\n" \
188+ "-file1.txt\n" \
189+ "-file1.txt\n" \
190+ "-file1.txt\n" \
191+ "-file1.txt\n" \
192+ "-_file1.txt_\n" \
193+ "-_file1.txt_\n" \
194+ "-file1.txt\n" \
195+ "diff --git a/file1.txt.renamed b/file1.txt.renamed\n" \
196+ "new file mode 100644\n" \
197+ "index 0000000..a97157a\n" \
198+ "--- /dev/null\n" \
199+ "+++ b/file1.txt.renamed\n" \
200+ "@@ -0,0 +1,17 @@\n" \
201+ "+file1.txt\n" \
202+ "+file1.txt\n" \
203+ "+_file1.txt_\n" \
204+ "+file1.txt\n" \
205+ "+file1.txt\n" \
206+ "+file1.txt_renamed\n" \
207+ "+file1.txt\n" \
208+ "+\n" \
209+ "+\n" \
210+ "+file1.txt\n" \
211+ "+file1.txt\n" \
212+ "+file1.txt_renamed\n" \
213+ "+file1.txt\n" \
214+ "+file1.txt\n" \
215+ "+_file1.txt_\n" \
216+ "+_file1.txt_\n" \
217+ "+file1.txt\n" \
218+ "--\n" \
219+ "libgit2 " LIBGIT2_VERSION "\n" \
220+ "\n" ;
221+
222+ git_email_create_options opts = GIT_EMAIL_CREATE_OPTIONS_INIT ;
223+ opts .flags |= GIT_EMAIL_CREATE_NO_RENAMES ;
224+
225+ assert_email_match (expected , "6e05acc5a5dab507d91a0a0cc0fb05a3dd98892d" , & opts );
113226}
114227
115228void test_email_create__binary (void )
0 commit comments