### Method

# Ggit Diff foreach

#### Declaration [src]

    void
    ggit_diff_foreach (
      GgitDiff* diff,
      GgitDiffFileCallback file_cb,
      GgitDiffBinaryCallback binary_cb,
      GgitDiffHunkCallback hunk_cb,
      GgitDiffLineCallback line_cb,
      gpointer user_data,
      GError** error
    )

#### Description [src]

Iterates over the diff calling `file_cb`, `binary_cb`, `hunk_cb` and `line_cb`.

#### Parameters

`file_cb`

  Type: `GgitDiffFileCallback`

  a `GgitDiffFileCallback`.

  The argument can be `NULL`.

`binary_cb`

  Type: `GgitDiffBinaryCallback`

  a `GgitDiffBinaryCallback`.

  The argument can be `NULL`.

`hunk_cb`

  Type: `GgitDiffHunkCallback`

  a `GgitDiffHunkCallback`.

  The argument can be `NULL`.

`line_cb`

  Type: `GgitDiffLineCallback`

  a `GgitDiffLineCallback`.

  The argument can be `NULL`.

`user_data`

  Type: `gpointer`

  Callback user data.

  The argument can be `NULL`.
  The data is owned by the caller of the method.

`error`

  Type: `GError **`

  The return location for a recoverable error.

  The argument can be `NULL`.
  If the return location is not `NULL`, then you must initialize it to a `NULL` `GError*`.
  The argument will be left initialized to `NULL` by the method if there are no errors.
  In case of error, the argument will be set to a newly allocated `GError`; the caller will take ownership of the data, and be responsible for freeing it.