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: