[SCM] Debian Science Policy Manual branch, master, updated. 1c2b6552f39e789c5b06adb76d24b78ab525f047

Manuel Prinz debian at pinguinkiste.de
Mon Jun 23 08:01:46 UTC 2008


Hi Charles!

Am Montag, den 23.06.2008, 08:57 +0900 schrieb Charles Plessy:
> I have a few beginners questions, plus a comment:

Thanks for the questions, it helped me to spot some issues in the
documentation! I'm sorry if this mail got a little long but I "abused"
it as a kind of note to myself since I probably can reuse some parts of
the answer for the documentation.

> +$ git config user.name "John Doe"
> +$ git config user.email "john at example.org"
> 
>   Could be git config user.name $DEBFULLNAME and git config user.email
>   DEBEMAIL if these environment variables are advertised somewhere else.
>   The advantage of it is that the lazy reader can cut-and-paste from the
>   help ;)

This is propably a good idea. Thanks!

> +$ git import-orig --pristine-tar ~/foo_1.0.orig.tar.gz
> 
>   - Is there a configuration file that would allow --pristine-tar to be
>     always passed as an option? I am affraid to forget it one day.

I am not sure whether this can be set via ~/.gbp.conf or not. I have to
look it up. You should be able to add an alias like
git-import-orig="git-import-orig --pristine-tar" if that's not possible.

But I do not think that is much of a problem at all. Doing "pristine-tar
--commit tarball" later should have the same effect, so one could still
add the delta later. I'll check that and add a note to the
documentation.

>   - Is is possible to import the upstream sources in the disorder? (In
>     separate commands, at separate times).

I do not know what exactly you mean by that.

It is for example possible to import 1.2 prior to 1.0 but that does not
make sense since you want to build against the most recent source.
Technically, it is possible, nevertheless.

Usually, one has an "integration branch" and an upstream branch. The
upstream branch contains nothing more than the upstream sources. The
integration branch contains the upstream sources, the debian/ directory
and maybe changes to the upstream sources. When a new upstream version
is released, you can import the sources into the upstream branch (with
g-i-o) and merge them back into the integration branch. (g-i-o already
does that for you.) You will then update the integration branch by
resolving conflicts, changing the files in the debian/ directory.
Business as usual. You then build against this single branch.
(Your .diff.gz are the changes between the heads of your integration
branch and your upstream branch.)

Maybe I should do a short packaging example in tutorial form. But that
may take a while.

> +$ git branch
> +* master
> +  pristine-tar
> +  upstream
> 
>   Would a separate debian branch, that would only contain the debian
>   directory, make any sense?

Well, if it makes sense for you, then yes. ;)

Seriously, it is of course possible. If you like things that way, you
should go for it. But if you want to use git-buildpackage (I recommend
that) you need to have an integration branch. This is not problem. You
can create your upstream branch and a debian branch with just debian/
and a master branch as integration branch. What you would need to do on
an upstream release is:

 1. Import upstream sources and merge them into master
 2. Switch to debian branch and update the necessary files
 3. Merge debian branch into master branch

So you need an extra step but that's possible. The reason to have the
debian/ directory in the master branch is that you have a "build-ready"
view on the sources, like with "apt-get source". And if you think about
it from the perspective of history: the changes done to the debian/
directory are the consequence of a new upstream release, not a seperate
line of development (what you usually keep in branches). So merging
upstream sources and then modifying the debian/ files to match the
release later is how the process goes, and that's what the history
shows.

Maybe it is clearer to rename the "master" branch into "debian". Some
people do so but it's not git-buildpackage's default (unfortunately).

I'll try to be more verbose on that topic when I continue writing.
Thanks for you feedback!

Best regards
Manuel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Dies ist ein digital signierter Nachrichtenteil
Url : http://lists.alioth.debian.org/pipermail/debian-science-maintainers/attachments/20080623/e43340a0/attachment.pgp 


More information about the debian-science-maintainers mailing list