@@ -241,29 +241,36 @@ private function getHunkStartTokens($diffLine)
241241 */
242242 private function getFilenameTokens (array $ diffLineList , $ currentLine )
243243 {
244+ $ filenameTokens = array ();
245+
244246 // Get hunk metadata
245247 $ hunkTokens = $ this ->getHunkStartTokens ($ diffLineList [$ currentLine +2 ]);
246248
247- // Simple change
248- if (4 == count ($ hunkTokens )) {
249- $ originalFilename = $ this ->diffNormalizer ->getFilename ($ diffLineList [$ currentLine ]);
250- $ newFilename = $ this ->diffNormalizer ->getFilename ($ diffLineList [$ currentLine +1 ]);
249+ // In some cases we may have a diff with no contents (e.g. diff of svn propedit)
250+ if (count ($ hunkTokens )) {
251+ // Simple change
252+ if (4 == count ($ hunkTokens )) {
253+ $ originalFilename = $ this ->diffNormalizer ->getFilename ($ diffLineList [$ currentLine ]);
254+ $ newFilename = $ this ->diffNormalizer ->getFilename ($ diffLineList [$ currentLine + 1 ]);
251255
252- // File deletion
253- } elseif (Token::FILE_DELETION_LINE_COUNT === $ hunkTokens [0 ]->getType ()) {
254- $ originalFilename = $ this ->diffNormalizer ->getFilename ($ diffLineList [$ currentLine ]);
255- $ newFilename = '' ;
256+ // File deletion
257+ } elseif (Token::FILE_DELETION_LINE_COUNT === $ hunkTokens [0 ]->getType ()) {
258+ $ originalFilename = $ this ->diffNormalizer ->getFilename ($ diffLineList [$ currentLine ]);
259+ $ newFilename = '' ;
256260
257- // File creation
258- } else {
259- $ originalFilename = '' ;
260- $ newFilename = $ this ->diffNormalizer ->getFilename ($ diffLineList [$ currentLine +1 ]);
261+ // File creation
262+ } else {
263+ $ originalFilename = '' ;
264+ $ newFilename = $ this ->diffNormalizer ->getFilename ($ diffLineList [$ currentLine + 1 ]);
265+ }
266+
267+ $ filenameTokens = array (
268+ new Token (Token::ORIGINAL_FILENAME , $ originalFilename ),
269+ new Token (Token::NEW_FILENAME , $ newFilename )
270+ );
261271 }
262272
263- return array (
264- new Token (Token::ORIGINAL_FILENAME , $ originalFilename ),
265- new Token (Token::NEW_FILENAME , $ newFilename )
266- );
273+ return $ filenameTokens ;
267274 }
268275
269276 /**
0 commit comments