File tree 1 file changed +28
-0
lines changed
1 file changed +28
-0
lines changed Original file line number Diff line number Diff line change @@ -213,6 +213,34 @@ public void CanRewriteTrees()
213
213
Assert . True ( repo . Head . Commits . All ( c => c [ "README" ] == null ) ) ;
214
214
}
215
215
216
+ [ Fact ]
217
+ public void CanRewriteTreesByInjectingTreeEntry ( )
218
+ {
219
+ var commits = repo . Commits . QueryBy ( new CommitFilter { Since = repo . Branches } ) . ToArray ( ) ;
220
+
221
+ var currentReadme = repo . Head [ "README" ] ;
222
+
223
+ repo . Refs . RewriteHistory ( new RewriteHistoryOptions
224
+ {
225
+ OnError = OnError ,
226
+ OnSucceeding = OnSucceeding ,
227
+ CommitTreeRewriter =
228
+ c => c [ "README" ] == null
229
+ ? TreeDefinition . From ( c )
230
+ : TreeDefinition . From ( c )
231
+ . Add ( "README" , currentReadme ) ,
232
+ } , commits ) ;
233
+
234
+ AssertSucceedingButNotError ( ) ;
235
+
236
+ Assert . Equal ( new Commit [ 0 ] ,
237
+ repo . Commits
238
+ . QueryBy ( new CommitFilter { Since = repo . Branches } )
239
+ . Where ( c => c [ "README" ] != null
240
+ && c [ "README" ] . Target . Id != currentReadme . Target . Id )
241
+ . ToArray ( ) ) ;
242
+ }
243
+
216
244
// git log --graph --oneline --name-status --decorate
217
245
//
218
246
// * 4c062a6 (HEAD, master) directory was added
You can’t perform that action at this time.
0 commit comments