manager git repository. (was Re: [SCM] bristol/master: Import Debian patch 0.60.11-3)

Herbert Fortes terberh at
Mon Oct 31 17:05:51 UTC 2016


I am finally reading about how to manage a
git repository in a way Debian Multimedia 
Team do.

> in general: do you packaging *within* the git repository.
> once the git-repository is ready, we generate source-orig and debian
> tarballs (and all the other foo) from the repo, not the other way round.
> so don't do the fixes outside and then try to batch-apply them into the
> repo. (this basically makes the "tar -xvf ../bristol*debian.tar.xz" step
> obsolete)
> then make small *atomic* commits. a good guideline for the atomicity of
> a commit is: one d/changelog line equals one commit (in an ideal world,
> where you don't make any errors).
> it is encouraged to use `gbp-dch` to generate a new (and to be manually
> revised) d/changelog releaseentry.
> a single commit for a new upload is usually too coarse (even uploads
> that fix minor things usually have two commits: one for the change; and
> one for finalizing the changelog).
> btw git makes it easy to learn from others: just fire up `gitk` and see
> what people committed in the past (or use `git log` if you are going
> frugal).
> also i find that `git gui` can help tremendously with creating atomic
> commits, even if you have files that have changes that should go into
> different commits. (you can do that from the cmdline as well, but i keep
> forgetting how)

I am packaging dvd-slideshow (a team upload). It is a new release. I think
I should use 'git import-orig --pristine-tar', but an 'uploader' already 
started the work and the upstream version was imported already. The steps 
until now:

Import Upstream version
Merge tag 'uptream/'
(work in three patches)

'git gui' is been a big help. Thanks.

What I need to do is work in debian directory (git checkout master):

 - refresh some more patches and 2 were created.
 - edit:
     - compat: 10
     - control:
         - Standards-Version
         - Build-Depends
         - Vcs*
         - Depends
     - copyright: update
          - remove .html entry. These files have the same
            information manpages have.
     - rules
          - remove entry about .html files.

Working in debian directory I only need to 'git commit -a'
each file I edited.


git tag -s debian/ -m "Debian release"
git push origin master upstream pristine-tar --follow-tags --dry-run # to check

# if ok
gbp buildpackage

Are my steps correct ?


More information about the pkg-multimedia-maintainers mailing list