@@ -60,8 +60,7 @@ public DiffOption(Change change, bool isUnstaged)
6060 /// <param name="change"></param>
6161 public DiffOption ( Commit commit , Change change )
6262 {
63- var baseRevision = commit . Parents . Count == 0 ? Commit . EmptyTreeSHA1 : $ "{ commit . SHA } ^";
64- _revisions . Add ( baseRevision ) ;
63+ _revisions . Add ( commit . FirstParentToCompare ) ;
6564 _revisions . Add ( commit . SHA ) ;
6665 _path = change . Path ;
6766 _orgPath = change . OriginalPath ;
@@ -74,8 +73,7 @@ public DiffOption(Commit commit, Change change)
7473 /// <param name="file"></param>
7574 public DiffOption ( Commit commit , string file )
7675 {
77- var baseRevision = commit . Parents . Count == 0 ? Commit . EmptyTreeSHA1 : $ "{ commit . SHA } ^";
78- _revisions . Add ( baseRevision ) ;
76+ _revisions . Add ( commit . FirstParentToCompare ) ;
7977 _revisions . Add ( commit . SHA ) ;
8078 _path = file ;
8179 }
@@ -88,7 +86,7 @@ public DiffOption(FileVersion ver)
8886 {
8987 if ( string . IsNullOrEmpty ( ver . OriginalPath ) )
9088 {
91- _revisions . Add ( ver . HasParent ? $ "{ ver . SHA } ^" : Commit . EmptyTreeSHA1 ) ;
89+ _revisions . Add ( ver . HasParent ? $ "{ ver . SHA } ^" : EmptyTreeHash . Guess ( ver . SHA ) ) ;
9290 _revisions . Add ( ver . SHA ) ;
9391 _path = ver . Path ;
9492 }
@@ -111,14 +109,14 @@ public DiffOption(FileVersion start, FileVersion end)
111109 {
112110 if ( start . Change . Index == ChangeState . Deleted )
113111 {
114- _revisions . Add ( Commit . EmptyTreeSHA1 ) ;
112+ _revisions . Add ( EmptyTreeHash . Guess ( end . SHA ) ) ;
115113 _revisions . Add ( end . SHA ) ;
116114 _path = end . Path ;
117115 }
118116 else if ( end . Change . Index == ChangeState . Deleted )
119117 {
120118 _revisions . Add ( start . SHA ) ;
121- _revisions . Add ( Commit . EmptyTreeSHA1 ) ;
119+ _revisions . Add ( EmptyTreeHash . Guess ( start . SHA ) ) ;
122120 _path = start . Path ;
123121 }
124122 else if ( ! end . Path . Equals ( start . Path , StringComparison . Ordinal ) )
0 commit comments