[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: New package maintainer (assistant)



hi Thomas,

Thomas Koch <thomas@koch.ro> 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.

Ok, good.

>> - Concerning the conversion svn->git:
>> 
>>   - In order to create a new package repo or convert a svn package
>>   repo,
>>     I only need to do this:
>>       git clone
>>     fnatter-guest@git.debian.org:/git/pkg-java/pkg-java.git [1] 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?
> yes.

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
>>      fnatter-guest@git.debian.org:/git/pkg-java/pkg-java.git
> 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.

Ok.

>>      # this will create a local git repo: $ git svn clone
>>      --authors-file=/tmp/pkg-java-authors --no-metadata \
>>        --trunk=trunk/freeplane \ --tags=tags/freeplane \
>>        svn+ssh://fnatter-guest@svn.debian.org/svn/pkg-java/
> 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
> done
>
> maybe copied from here?
> http://gitready.com/advanced/2009/02/16/convert-git-
> svn-tag-branches-to-real-tags.html

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 [1] (./setup-repository)
   => the output will tell me (part of) the repo name that I will have
   to push to later

[1] 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 \
     --trunk=trunk/freeplane \
     --tags=tags/freeplane \
     svn+ssh://fnatter-guest@svn.debian.org/svn/pkg-java/

4. I convert some branches to tags using this script inside the new git
   repo (without understanding all of it):

#!/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
done

----- 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? :-)

>> [1] 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
>> 'fnatter-guest@git.debian.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
> git.

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,
-- 
Felix Natter


Reply to: