Importing SourcesImporting already existing &debian; packagesImporing an already exsting debian package into a git repository is as easy as:
&git-import-dsc; package_0.1-1.dsc
This will put the upstream sources onto the
branch and the debian patch on the branch. In case
of a debian native package only the branch is being
used.
Importing a new upstream versionChange into your git repository, make sure it has all local
modifications committed and do:
&git-import-orig; /path/to/package_0.2.orig.tar.gz
Converting an existing &git; repositoryUpstream sources on a branch
If the upstream sources are already on a separate branch things are pretty
simple. You can either rename that branch to upstream
with:
mv .git/theupstream-branch .git/upstream
or you can tell &git-buildpackage; the name of the branch:
cat <<EOF > .git/gbp.conf
[DEFAULT]
# this is the upstream-branch:
upstream-branch=theupstream-branch
If you use &git-import-orig; to import new upstream sources, they will
end up on theupstream-branch and merged to
master.
Upstream sources not on a branch
If you don't have an upstream branch but started you repository with only
the upstream sources (not the debian patch) you can simply branch from that
point. So use &gitkcmd; or &gitcmd;-log to locate the commit-id of that commit
and create the upstream branch from there, e.g.:
COMMIT_ID=`&gitcmd; log --pretty=oneline | tail -1 | awk '{ print $1 }'`
&gitcmd; branch upstream $COMMIT_ID
The important thing here is that the COMMIT_ID specifies a
point on the master branch that carried only the
upstream sources and not the debian modifications. The above example
assumes that this was the first commit to that repository.
There's currently no easy way to use &git-import-orig; with
a repository that never had the upstream sources as a single commit. Using
it on such repositories might lead to unexpected merge results. You can use
git_load_dirs instead.