# Interfaz: CommitEditFile

Edit an existing file by replacing byte ranges of its original content.

Cuando `originalContent` es un XetBlob (tal como lo devuelve [downloadFile](../modules#downloadfile) para archivos respaldados por xet), las partes del archivo que no se han modificado no se descargan ni se vuelven a dividir en fragmentos: el servidor CAS proporciona ventanas de edición alineadas con los fragmentos y datos parciales de merkle (`GET /v2/file-chunk-hashes`), de modo que solo se obtienen, se vuelven a dividir en fragmentos y se calcula el hash de las regiones modificadas (junto con su vecindad en los límites de los fragmentos).

- Para los buckets (sin sha256 involucrado), esto significa que las ediciones y las adiciones no requieren **ninguna descarga de los datos sin cambios**.
- Para modelos/conjuntos de datos/espacios, los datos sin cambios aún se transmiten **una vez** para calcular el sha256 del nuevo archivo (requerido por el protocolo LFS), en lugar de dos veces (sha256 + segmentación).

Con cualquier otro Blob como `originalContent`, todo el contenido se vuelve a dividir en fragmentos localmente y los fragmentos sin cambios se deduplican contra el remoto (se omite la carga, pero el contenido se lee por completo).

## Propiedades

### ediciones

• **edits**: \{ `content`: `Blob` ; `end`: `number` ; `start`: `number`  }[]

#### Definido en[[edits.defined-in]]

[packages/hub/src/lib/commit.ts:76](https://github.com/huggingface/huggingface.js/blob/main/packages/hub/src/lib/commit.ts#L76)

___

### operación

• **operación**: ``"edit"``

#### Definido en[[operation.defined-in]]

[packages/hub/src/lib/commit.ts:72](https://github.com/huggingface/huggingface.js/blob/main/packages/hub/src/lib/commit.ts#L72)

___

### originalContent

• **originalContent**: `Blob`

Más adelante, será ContentSource. Por ahora, es más sencillo manejar solo blobs

#### Definido en[[originalcontent.defined-in]]

[packages/hub/src/lib/commit.ts:75](https://github.com/huggingface/huggingface.js/blob/main/packages/hub/src/lib/commit.ts#L75)

___

### path

• **path**: `string`

#### Definido en[[path.defined-in]]

[packages/hub/src/lib/commit.ts:73](https://github.com/huggingface/huggingface.js/blob/main/packages/hub/src/lib/commit.ts#L73)

