gbp-pull

&dhsection;

gbp-pull

Safely update a repository from remote

          &gbp-pull;

          &man.common.options.synopsis;
          --force
          --all
          --redo-pq
          --[no-]pristine-tar
          --ignore-branch
          --debian-branch=branch_name
          --upstream-branch=branch_name
          --track-missing
          --depth=depth
          repository

## DESCRIPTION

&gbp-pull; updates the debian, upstream and pristine-tar branches from remote repositories in one go. It checks if the update is safe (would result in a fast-forward merge) and aborts otherwise.

If given on the command line the changes are fetched from the given repository otherwise the default for `repository` is read from the `remote` configuration for each branch (in git's configuration).

## OPTIONS

&man.common.options.description;

`--force`

- Force a branch update even if this results in a non fast forward update.

  Forcing a branch update makes you lose your modifications.

`--all`

- Update all remote-tracking branches that have identical name in the remote repository.

`--redo-pq`

- Also rebuild the corresponding patch-queue using &gbp-pq;.

  This drops the patch-queue branch if it exists.

`--ignore-branch`

- Don't care if we're on a branch or in detached head state.

`--debian-branch`=`branch_name`

- The branch in the Git repository the Debian package is being developed on, default is `master`.

`--upstream-branch`=`branch_name`

- The branch in the &git; repository the upstream sources are put onto. Default is `upstream`.

`--track-missing`

- If a branch is missing in the local repository try to fetch it from the remote side and (if it exists) fetch it and set up branch tracking for it. This ensures that branches that are added at a later point to the remote side (e.g. `pristine-tar`) are picked up automatically. Note that it's not an error for the branch to not exist on the remote side.

`--depth`=`depth`

- Git history depth, for deepening shallow git clones.

`--pristine-tar`

- Whether to update the pristine-tar branch too.

## EXIT CODES

When &gbp-pull; finishes, it indicates success or failure with its exit code:

`0`

- Success.

`1`

- An error occurred during the pull, see the printed error message for details.

`2`

- At least one branch couldn't be fast forwarded.

&man.gbp.config-files;

## SEE ALSO

man.gbp.buildpackage, man.gbp.clone, man.gbp.pq, man.gbp.conf

## AUTHOR

&dhusername; &dhemail;