nl_tokens: Create a tree with optional deep paths and create new blobs . Entries is an array of { mode path hash|content } Also deltas can be specified by setting entries . base to the hash of a tree in delta mode entries can be removed by specifying just { path }
pl_tokens: function createTree ( entries , callback ) { if ( ! callback ) return createTree . bind ( repo , entries ) ; var toDelete = entries . base && entries . filter ( function ( entry ) { return ! entry . mode ; } ) . map ( function ( entry ) { return entry . path ; } ) ; var toCreate = entries . filter ( function ( entry ) { return bodec . isBinary ( entry . content ) ; } ) ; if ( ! toCreate . length ) return next ( ) ; var done = false ; var left = entries . length ; toCreate . forEach ( function ( entry ) { repo . saveAs ( "blob" , entry . content , function ( err , hash ) { if ( done ) return ; if ( err ) { done = true ; return callback ( err ) ; } <mask> entry . content ; entry . hash = hash ; left -- ; if ( ! left ) next ( ) ; } ) ; } ) ; function next ( err ) { if ( err ) return callback ( err ) ; if ( toDelete && toDelete . length ) { return slowUpdateTree ( entries , toDelete , callback ) ; } return fastUpdateTree ( entries , callback ) ; } }