[lsst-dm-stack-users] git access rights

Fabrice Jammes fabrice.jammes at in2p3.fr
Fri Apr 4 08:23:21 PDT 2014


On 04/04/2014 04:34 PM, Mario Juric wrote:
> On 4/4/14, 6:57 , Fabrice Jammes wrote:
>> Hello,
>>
>> Next section of LSST wiki
>> :https://dev.lsstcorp.org/trac/wiki/GitDemoAndTutorial#LSSTrepositories
>> explains that users can delete tag created in their personal branch.
>>
>> I tried to , but i can't :
>> <https://dev.lsstcorp.org/trac/wiki/GitDemoAndTutorial#LSSTrepositories>
>> eups at clrlsst-dbmaster-vm:~/src/qserv/eupspkg/dist (u/fjammes/master) $
>> git push --delete origin 6.0.0rc1-master
>> remote: + refs/tags/6.0.0rc1-master LSST/DMS/qserv fjammes DENIED by
>> fallthru
>> remote: error: hook declined to update refs/tags/6.0.0rc1-master
>> To ssh://git@dev.lsstcorp.org/LSST/DMS/qserv
>>   ! [remote rejected] 6.0.0rc1-master (hook declined)
>> error: failed to push some refs to
>> 'ssh://git@dev.lsstcorp.org/LSST/DMS/qserv'
>>
> (moving to lsst-data, as this is more devloper-related discussion).
>
> Fabrice,
> 	The system's actually behaving as expected. git doesn't have the notion
> of tags on a particular branch -- all tags are global. So if you create
> a tag 6.0.0rc1-master, it's a global tag that looks (is) a version and
> needs to be protected (gitolite has no way to know this wasn't already
> released and distributed somewhere).
>
> While the docs are admittedly unclear, what they say is that you're
> allowed to create and delete tags of the form /u/USER/.... So, in your
> case, you'd be able to do:
>
>      git tag u/fjammes/6.0.0.rc1-master
>      git push origin :u/fjammes/6.0.0.rc1-master
>
> but not
>
>      git push :6.0.0.rc1-master
>
> That said, if there's a compelling need and Jacek agrees, we could add
> you extra permissions on the qserv repo and then you could do what you
> need, but would need to be *very* *very* careful, not to remove any tags
> that are in use.
>
> Sounds reasonable?
Mario and Jacek,

This solution seems very reasonable to me.

An other solution is to use a second repo named 
https://dev.lsstcorp.org/cgit/contrib/eupspkg/qserv.git/ with the TaP 
feature.
And use next procedure :

- copy the tarball from the LSST/DMS Qserv branch beeing packaged to 
contrib/eupspkg qserv/upstream, using git archive
- copy the ups/ directory from the LSST/DMS Qserv branch beeing packaged 
to contrib/eupspkg qserv/ups
- update tag in contrib/eupspkg qserv/ups (this repo is used only to 
create distserver, so less conflicts are possible)

It is more sure, but also much more complicated.
Furthermore, I would like to use the same procedure that for other LSST 
packages (don't you need to update tags in order to update a distributed 
version without impacting its version number ?)

Thanks,

Fabrice




More information about the dm-users mailing list