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
