[Mageia-dev] packages branches and revision numbers when submiting packages with mgarepo
Anssi Hannula
anssi.hannula at iki.fi
Sat Jan 29 02:43:16 CET 2011
On 29.01.2011 03:16, nicolas vigier wrote:
> Hello,
>
> In Mandriva using repsys it was possible to provide a svn revision number
> when submitting a package. It is still possible to do it using mgarepo,
> but with a separate repository for binary files, it is more difficult.
> The current version of mgarepo tries to find the right revision to use
> for the binrepo (revision from the same date as the revision on the
> specs repository), but it is not always working as expected. I started
> to add an option to be able to specify the binrepo revision to use when
> submiting, but after thinking about it, it's probably not a good idea,
> because it becomes too complicate.
>
> With repsys it's also possible when submiting packages to give an URL
> instead of a package name. This allows creating new branches for a
> package. However we also have a problem with this with binrepo, as we
> need to find the right path for the binary repository. We could add an
> option to give the URL for the binaries, but I don't think it's a good
> idea.
>
> So I propose to do this instead :
>
> - We won't allow using revision numbers when submiting packages.
> Instead we always use the latest revision available on svn. I don't
> think submit with a revision number are used much (but maybe I'm wrong ?)
> and a branch copied from a revision can be used instead, to do the
> same. And not supporting revision numbers will make mgarepo code more
> simple.
>
> - We won't allow submit with a URL, but only with a package name (and
> the right URL will be generated by the script receiving the submit request
> on pkgsubmit). To allow using branches, instead we add a --branch option
> to provide the name of a branch. If no branch name is provided we use
> the package from this path :
> /packages/cauldron/[packagename]/current
> If a branch name is provided we use the package from this path :
> /packages/cauldron/[packagename]/branches/[branchname]
> And the same path in the binrepo.
> Some commands can be added in mgarepo to create, remove, checkout branches.
>
> With this, the path for branches will be more clear, and the same for
> all packages (contrary to Mandriva where packages could have some branches
> in /packages/branches, or in /packages/updates, /packages/updates_release
> or /packages/cooker or anywhere on the repository).
>
>
> Does anyone see any problem with this ? Or other ideas, or comments ?
AFAICS the above branch scheme doesn't work well with changelog
generation. As changelog is generated from [packagename]/releases, one
of two things seems bound to happen:
a) There is no [packagename]/releases under the branch, and the
changelog gets messed up (all commits since initial package import in a
single release entry), or
b) One tries to keep [packagename]/releases to preserve sane changelog
when branching, but this will fail as this SVN command is invalid, as
one can't copy a directory into itself:
svn cp /packages/cauldron/[packagename]
/packages/cauldron/[packagename]/branches/[branchname]
Or maybe I'm missing something?
--
Anssi Hannula
More information about the Mageia-dev
mailing list