@@ -62,6 +62,8 @@ ITask<string> Commit(string message, string body,
6262 ITask < string > Add ( IList < string > files ,
6363 IOutputProcessor < string > processor = null ) ;
6464
65+ ITask < string > AddAll ( IOutputProcessor < string > processor = null ) ;
66+
6567 ITask < string > Remove ( IList < string > files ,
6668 IOutputProcessor < string > processor = null ) ;
6769
@@ -296,13 +298,35 @@ public ITask<string> Commit(string message, string body,
296298 . Configure ( processManager ) ;
297299 }
298300
301+ public ITask < string > AddAll ( IOutputProcessor < string > processor = null )
302+ {
303+ Logger . Trace ( "Add all files" ) ;
304+
305+ return new GitAddTask ( cancellationToken , processor )
306+ . Configure ( processManager ) ;
307+ }
308+
299309 public ITask < string > Add ( IList < string > files ,
300310 IOutputProcessor < string > processor = null )
301311 {
302- Logger . Trace ( "Add" ) ;
312+ Logger . Trace ( "Add Files " ) ;
303313
304- return new GitAddTask ( files , cancellationToken , processor )
305- . Configure ( processManager ) ;
314+ GitAddTask last = null ;
315+ foreach ( var batch in files . Spool ( 5000 ) )
316+ {
317+ var current = new GitAddTask ( batch , cancellationToken , processor ) . Configure ( processManager ) ;
318+ if ( last == null )
319+ {
320+ last = current ;
321+ }
322+ else
323+ {
324+ last . Then ( current ) ;
325+ last = current ;
326+ }
327+ }
328+
329+ return last ;
306330 }
307331
308332 public ITask < string > Remove ( IList < string > files ,
0 commit comments