--- layout: default menu_item: api title: Packbuilder description: Version 0.26.1 menu_item: api return_to: "API Documentation Index": /api/ sections: "create": "#create" "#hash": "#hash" "#insert": "#insert" "#insertCommit": "#insertCommit" "#insertRecur": "#insertRecur" "#insertTree": "#insertTree" "#insertWalk": "#insertWalk" "#objectCount": "#objectCount" "#setThreads": "#setThreads" "#written": "#written" "STAGE": "#STAGE" --- ## Packbuilder.create Sync ```js var packbuilder = Packbuilder.create(repo); ``` | Parameters | Type | | | --- | --- | --- | | repo | [Repository](/api/repository/) | The repository | | Returns | | | --- | --- | | [Packbuilder](/api/packbuilder/) | The new packbuilder object | ## Packbuilder#hash Sync ```js var oid = packbuilder.hash(); ``` | Returns | | | --- | --- | | [Oid](/api/oid/) | | ## Packbuilder#insert Async ```js packbuilder.insert(id, name).then(function(result) { // Use result }); ``` | Parameters | Type | | --- | --- | --- | | id | [Oid](/api/oid/) | The oid of the commit | | name | String | The name; might be NULL | | Returns | | | --- | --- | | Number | 0 or an error code | ## Packbuilder#insertCommit Async ```js packbuilder.insertCommit(id).then(function(result) { // Use result }); ``` | Parameters | Type | | --- | --- | --- | | id | [Oid](/api/oid/) | The oid of the commit | | Returns | | | --- | --- | | Number | 0 or an error code | ## Packbuilder#insertRecur Async ```js packbuilder.insertRecur(id, name).then(function(result) { // Use result }); ``` | Parameters | Type | | --- | --- | --- | | id | [Oid](/api/oid/) | the id of the root object to insert | | name | String | optional name for the object | | Returns | | | --- | --- | | Number | 0 or an error code | ## Packbuilder#insertTree Sync ```js var result = packbuilder.insertTree(id); ``` | Parameters | Type | | --- | --- | --- | | id | [Oid](/api/oid/) | The oid of the root tree | | Returns | | | --- | --- | | Number | 0 or an error code | ## Packbuilder#insertWalk Async ```js packbuilder.insertWalk(walk).then(function(result) { // Use result }); ``` | Parameters | Type | | --- | --- | --- | | walk | [Revwalk](/api/revwalk/) | the revwalk to use to fill the packbuilder | | Returns | | | --- | --- | | Number | 0 or an error code | ## Packbuilder#objectCount Sync ```js var result = packbuilder.objectCount(); ``` | Returns | | | --- | --- | | Number | the number of objects in the packfile | ## Packbuilder#setThreads Sync ```js var result = packbuilder.setThreads(n); ``` | Parameters | Type | | --- | --- | --- | | n | Number | Number of threads to spawn | | Returns | | | --- | --- | | Number | number of actual threads to be used | ## Packbuilder#written Sync ```js var result = packbuilder.written(); ``` | Returns | | | --- | --- | | Number | the number of objects which have already been written | ## Packbuilder.STAGE ENUM | Flag | Value | | --- | --- | --- | | Packbuilder.STAGE.ADDING_OBJECTS | 0 | | Packbuilder.STAGE.DELTAFICATION | 1 |