Sorry for the delay. On 29.01.2011 16:30, nicolas vigier wrote: > On Sat, 29 Jan 2011, Anssi Hannula wrote: > >> >> 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] > > Good question. I have looked at how it is working now : > - it first looks at all svn logs from [packagename]/releases, and > extract infos from "%repsys markrelease" logs, which contains > infos about packages version, release, and relrevision. > - it use commit logs from [packagename]/current and groups them by > package releases using the infos from markrelease. > > So I think we can do this : > - We don't copy releases directory in branches, only SPECS and SOURCES > directories, we share the releases directory for current and branches. > - In "%repsys markrelease" commits, we include the branch name > - When generating logs for a branch package we only use markrelease > infos from that branch, and from current from before the first > markrelease for the branch > - When generating logs for current package, we ignore markrelease from > other branches > > Does it look ok ?
What if branches are moved / branched to other branches? Also, that won't preserve the changelogs of branches when they are merged back (not 100% sure if that is wanted, though). -- Anssi Hannula