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

vcswatch



Hi Christoph,

First of all, thanks a lot for vcswatch. This is just awesome! :)

Having a quick look into the sources of vcswatch (with my very poor
understanding of perl...), it's looking like it does an initial git
clone, then later on, only do "git fetch --prune --force origin *:*".

The problem is that between the initial "git clone" and the subsequent
"git fetch", it is possible that the default branch of the remote bare
repository has changed, and therefore, vcswatch may continue to use the
wrong branch as the default packaging branch.

This is the case for *many* of my packages here:
http://qa.debian.org/developer.php?login=openstack-devel@lists.alioth.debian.org

For example, the default branch for the source package "nova" is
currently debian/icehouse. I knowingly updated the bare repository on
Alioth. In that branch, the latest version really is 2014.1.1-8. Though
it's looking like vcswatch has already cloned nova, and has
debian/grizzly as default branch, and therefore, "thinks" that the
latest version in Git is 2013.1.3-3.

The obvious "solution" would be to always clone, instead of doing "git
fetch", though of course, this has a huge cost which maybe you don't
want to have. So I'm not sure how to fix it... Though a few ideas:

1- Have somewhere on the web interface, some button to ask for a full
re-clone of the package.
2- Every now and then (every week?) do a full reclone
3- If qa.debian.org can have ssh access to Alioth, then something like
this would do:
ssh git.debian.org 'cd /git/openstack/nova.git && git branch | grep \\*'

Best IMO would be 3-, and then do a checkout of that branch, but not
sure if that's possible in the environment that vcswatch runs. It would
also only work with Alioth (which is ok in my case).

Your thoughts?

Thomas Goirand (zigo)


Reply to: