## IAnjutaVcs

IAnjutaVcs — Version control system interface

## Stability Level

Unstable, unless otherwise indicated

## Functions

void | (*IAnjutaVcsStatusCallback) ()
void | (*IAnjutaVcsDiffCallback) ()
GQuark | ianjuta_vcs_error_quark ()
void | ianjuta_vcs_add ()
void | ianjuta_vcs_checkout ()
void | ianjuta_vcs_diff ()
void | ianjuta_vcs_query_status ()
void | ianjuta_vcs_remove ()

## Signals

void | status-changed | Run Last

## Types and Values

enum | IAnjutaVcsError

## Object Hierarchy

        GEnum
        ╰── IAnjutaVcsError
        GInterface
        ╰── IAnjutaVcs

## Includes

    #include <libanjuta/interfaces/ianjuta-vcs.h>

## Description

## Functions

### IAnjutaVcsStatusCallback ()

    void
    (*IAnjutaVcsStatusCallback) (GFile *file,
                                 AnjutaVcsStatus status,
                                 gpointer user_data);

Callback called for each status record returned by ianjuta_vcs_query_status.

#### Parameters

file | File representing the file for which status is given |
status | AnjutaVcsStatus for the file represented by `file` . |
user_data | User data |

### IAnjutaVcsDiffCallback ()

    void
    (*IAnjutaVcsDiffCallback) (GFile *file,
                               const gchar *diff,
                               gpointer user_data);

Called when diff data comes from ianjuta_vcs_diff.

#### Parameters

file | File being diffed |
diff | Diff data |
user_data | User data |

### ianjuta_vcs_error_quark ()

    GQuark
    ianjuta_vcs_error_quark (void);

#### Returns

### ianjuta_vcs_add ()

    void
    ianjuta_vcs_add (IAnjutaVcs *obj,
                     GList *files,
                     AnjutaAsyncNotify *notify,
                     GError **err);

Add files to the VCS repository.

#### Parameters

obj | Self |
files | List of List of files, represented as Gfile objects, to add. | [element-type GFile]
notify | AnjutaAsyncNotify object for finish notification and error reporting. |

### ianjuta_vcs_checkout ()

    void
    ianjuta_vcs_checkout (IAnjutaVcs *obj,
                          const gchar *repository_location,
                          GFile *dest,
                          GCancellable *cancel,
                          AnjutaAsyncNotify *notify,
                          GError **err);

Check out a copy of a code repository.

#### Parameters

obj | Self |
repository_location | Location of repository to check out |
dest | Destination of checked out copy |
cancel | An optional GCancellable object to cancel the operation, or NULL |
notify | AnjutaAsyncNotify object for finish notification and error reporting. |

### ianjuta_vcs_diff ()

    void
    ianjuta_vcs_diff (IAnjutaVcs *obj,
                      GFile *file,
                      IAnjutaVcsDiffCallback callback,
                      gpointer user_data,
                      GCancellable *cancel,
                      AnjutaAsyncNotify *notify,
                      GError **err);

Generates a unified diff of the file represented by `file` .

#### Parameters

obj | Self |
file | File to diff |
callback | Callback to call when diff data becomes available |
user_data | User data passed to `callback` |
cancel | An optional GCancellable object to cancel the operation, or NULL |
notify | AnjutaAsyncNotify object for finish notification and error reporting. |

### ianjuta_vcs_query_status ()

    void
    ianjuta_vcs_query_status (IAnjutaVcs *obj,
                              GFile *file,
                              IAnjutaVcsStatusCallback callback,
                              gpointer user_data,
                              GCancellable *cancel,
                              AnjutaAsyncNotify *notify,
                              GError **err);

Querys the status of files in the repository.

#### Parameters

obj | Self |
file | File/directory to query |
callback | callback to call when data for a particular file is available |
user_data | User data passed to callback |
cancel | An optional GCancellable object to cancel the operation, or NULL |
notify | AnjutaAsyncNotify object for finish notification and error reporting. |

### ianjuta_vcs_remove ()

    void
    ianjuta_vcs_remove (IAnjutaVcs *obj,
                        GList *files,
                        AnjutaAsyncNotify *notify,
                        GError **err);

Remove files from the VCS repository.

#### Parameters

obj | Self |
files | List of files, represented as Gfile objects, to remove. | [element-type GFile]
notify | AnjutaAsyncNotify object for finish notification and error reporting. |

## Types and Values

### enum IAnjutaVcsError

These enumeration is used to specify errors.

#### Members

IANJUTA_VCS_UNKOWN_ERROR |  |

## Signal Details

### The `“status-changed”` signal

    void
    user_function (IAnjutaVcs *ianjutavcs,
                   gpointer    user_data)

Flags: Run Last