Re: New package maintainer (assistant)
Thomas Koch <firstname.lastname@example.org> writes:
> Felix Natter:
>> I have I couple of questions regarding this page:
>> - "Contrary to subversion the upstream code SHOULD be imported" =>
>> does that mean that I can forget about debian/rules' get-orig-source
>> target since I will be including e.g. SimplyHTML_src_0_16_05.tar.gz
>> as simplyhtml_0.16.05.orig.tar.gz in the repo anyway? (on the other
>> hand, I have seen a debian/watch in e.g. gnuplot.git on alioth, so
>> I'm not sure)
> get-orig-source might still be a nice to have for the maintainer to
> download the most current version. However it's not really necessary
> anymore. You download (and verify) the tarball once and commit it to
> the repository with pristine-tar. Are you familiar with pristine-tar?
No, not yet. I don't understand this: "pristine-tar can regenerate a
pristine upstream tarball using only a small binary delta file and a
copy of the source which can be a revision control checkout."
=> if "pristine tar" is the original tarball, how does it differ from
"the source"? Do you have good documentation about this?
>> - "You MAY skip adding a get-orig-source target in debian/rules if
>> you create the upstream/VERSION tag directly in git without any
>> intermediate tarball." => does this also apply if I don't build from
>> git but from an upstream source tarball (see above)?
> If there's a useful upstream tarball then I prefer to build from it.
>> - Concerning the conversion svn->git:
>> - In order to create a new package repo or convert a svn package
>> I only need to do this:
>> git clone
>> email@example.com:/git/pkg-java/pkg-java.git  but
>> NOT get the team packages using "mr checkout", right?
> No. There shouldn't be any git repo called pkg-java.
But this is written in the wiki, section "Obtaining the master
repository", and I can check "pkg-java" out.
Or did you mean to say "we don't need pkg-java.git for converting a
package from svn to git"?
> You need to convert the old svn packaging repo to git with git-svn,
> probably also using an authors file, ssh into git.alioth.org, create a
> git repo and push the converted git repo.
>> - the authors file: if I convert the freeplane package
>> (svn://svn.debian.org/svn/pkg-java/trunk/freeplane) I only need
>> an authors file with those authors that are in freeplane's "svn
>> log", right?
Then I will update the authors file in the wiki.
>> What do I do with old contributors whose email address I cannot
>> find, e.g. "ewl-guest", "nomadium-guest"?
> Investigate if you're as obsessed as I'm or leave it as it. The alioth
> web interface might help: https://alioth.debian.org/users/ewl-guest/
Ah ok, good. Eric Lavarde sounds familiar ;-)
>> Is the following correct (more or less, some cds may be necessary)
>> for converting the freeplane package?
>> $ git clone
> No. Please ask Ludovic Claude to document what the purpose of this
> pkg-java repo is (git repo description file, wiki). I don't know.
>> # this will create a local git repo: $ git svn clone
>> --authors-file=/tmp/pkg-java-authors --no-metadata \
>> --trunk=trunk/freeplane \ --tags=tags/freeplane \
> sounds good.
>> $ cd freeplane $ git remote add origin
>> git+ssh://git.debian.org/git/pkg-java/freeplane.git $ git push --tags
>> -u origin master
> git-svn doesn't convert the tags properly. This is my script:
> #!/bin/sh for branch in `git branch -r`; do
> if [ `echo $branch | egrep "tags/.+$"` ]; then
> version=`basename $branch` subject=`git log -1
> --pretty=format:"%s" $branch` GIT_COMMITTER_DATE=`git log -1
> --pretty=format:"%ci" $branch` \
> git tag -f -m "$subject" "debian/$version" "$branch^"
> git branch -d -r $branch fi
> maybe copied from here?
Ok, let me get this straight:
1. I create the repo on alioth as described in "Create the git
repository on git.debian.org" heading  (./setup-repository)
=> the output will tell me (part of) the repo name that I will have
to push to later
 What's confusing is that alioth.debian.org and git.debian.org have
different IPs, but if I log into git.debian.org I am greeted with
"Alioth"... (and I can't log on to git.alioth.org).
2. I generate/update the authors file
3. I convert the svn repo to git:
# this will create a local git repo:
$ git svn clone
--authors-file=/tmp/pkg-java-authors --no-metadata \
4. I convert some branches to tags using this script inside the new git
repo (without understanding all of it):
for branch in `git branch -r`; do
if [ `echo $branch | egrep "tags/.+$"` ]; then
subject=`git log -1 --pretty=format:"%s" $branch`
GIT_COMMITTER_DATE=`git log -1 --pretty=format:"%ci" $branch` \
git tag -f -m "$subject" "debian/$version" "$branch^"
git branch -d -r $branch
----- up to here I cannot break anything -----
5. I create a remote and push the master branch of the new git repo:
$ cd freeplane
$ git remote add origin git+ssh://git.debian.org/git/pkg-java/freeplane.git
$ git push --tags -u origin master
Who will have push access to the new repo? Will I have push access to
any other repo (e.g. in case I make a mistake)?
=> Is that closer? :-)
>>  It should be documented in the wiki that you need to use
>> 'https://alioth.debian.org/account/editsshkeys.php' (pasting
>> ~/.ssh/id_rsa.pub in the textbox) in order to be able to clone
>> 'firstname.lastname@example.org:/git/pkg-java/pkg-java.git'. Do you
>> want me to add this (if so, how can I get write access)?
> I think you can just create an account on the debian wiki. Document
> every problem you encounter!
I added this bit.
> You'd do me a great favour to learn about the svn to git migration
> stuff, help documenting it in the wiki and help converting repos. It's
> one of my personal wish to have most debian packages maintained in
Yes, svn once was good but is now outdated. We're using mercurial at
work, which is also fairly good and has good eclipse support :-)
I still like git more because so many projects use it.
Thanks and Best Regards,