Feature changed by: Adrian Schröter (adrianSuSE) Feature #317762, revision 5 Title: git mirror integration Buildservice: Evaluation by project manager Milestone: 2.7 Priority Requester: Mandatory Requested by: Adrian Schröter (adriansuse) Partner organization: openSUSE.org Description: OBS can already roll tar balls from git (or other SCM systems) on code change, however, this has two disadvantages: * source server needs to store new tar ball for each change * using files as build descriptions is only working via workarounds. - A full git (and only git, not svn,..) support would allow to mirror an - entire git tree on the source server and fetch only updates. This means - we need to - * build tar balls at build time (since package systems like rpm rely on - it) - * ensure that a rewritten git history can not drop sources of former - builds. - * allow mirroring of either - * * package sources only - * * entirely on package level, including .spec files + A full scm mirroring support would allow to mirror an entire git tree + on the source server and fetch only updates. This means we need to + * store only incrementable changes + * provide the checkout as directory structure to the workers + * allow to package them as archive during build time + * define a best practice how to use build descriptions directly from + SCM Use Case: The Cloud team, the Storage team, YaST team and Zypper devs all have developed different workarounds for lack of this feature. E.g. for SUSE Cloud we currently have two jenkins jobs calling (on dedicated worker VMs) track-upstream-and-package.pl which calls osc service dr, checks for changes, adds the ChangeLog and commits the new tarball. Currently this only happens once a day to not fill up OBS storage. -- openSUSE Feature: https://features.opensuse.org/317762