### Function

# Ggit DiffSimilarityMetric new

#### Declaration [src]

    GgitDiffSimilarityMetric*
    ggit_diff_similarity_metric_new (
      GgitDiffSimilarityMetricFileSignatureCallback file_signature,
      GgitDiffSimilarityMetricBufferSignatureCallback buffer_signature,
      GgitDiffSimilarityMetricFreeSignatureCallback free_signature,
      GgitDiffSimilarityMetricSimilarityCallback similarity,
      gpointer user_data
    )

#### Description [src]

Creates a new `GgitDiffSimilarityMetric`.

#### Parameters

`file_signature`

  Type: `GgitDiffSimilarityMetricFileSignatureCallback`

  A `GgitDiffSimilarityMetricFileSignature`.

`buffer_signature`

  Type: `GgitDiffSimilarityMetricBufferSignatureCallback`

  A `GgitDiffSimilarityMetricBufferSignature`.

`free_signature`

  Type: `GgitDiffSimilarityMetricFreeSignatureCallback`

  A `GgitDiffSimilarityMetricFreeSignature`.

`similarity`

  Type: `GgitDiffSimilarityMetricSimilarityCallback`

  A `GgitDiffSimilarityMetricSimilarity`.

`user_data`

  Type: `gpointer`

  Passed as user_data to the previous parameters.

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

#### Return value

Type: `GgitDiffSimilarityMetric`

A newly allocated `GgitDiffSimilarityMetric`.

The caller of the function takes ownership of the data, and is responsible for freeing it.