• Vitaly Lipatov's avatar
    rpmgs: use 'ours' merge for source-git packages built from version tag · 2e21b422
    Vitaly Lipatov authored
    Source-git packages whose .gear/rules builds the source tarball from the
    version tag (e.g. 'tar: v@version@:.') do not track the upstream source in
    the packaging branch -- it is regenerated at build time. Merging the upstream
    tag with a regular merge then either fails with modify/delete conflicts (the
    branch "deleted" the source files) or leaks new upstream files into the tree.
    
    Use 'git merge -s ours' for these packages so the tag becomes an ancestor
    (required for merge-base, changelog and gear-update-tag) without touching the
    packaging tree. Packages that track source in the branch (vendored /
    predownloaded, rule like 'tar: .gear/...') keep getting a regular real merge.
    
    The discriminator is the @version@ tar rule, not the .gear/tags directory: a
    previous attempt (d223e6ca) keyed on .gear/tags and was reverted (bd83b595)
    because it matched vendored packages too and discarded their merged sources.
    
    Add is_tar_from_version_tag_rule() to the gear module and cover it with bats
    regression tests pinning the source-git vs. vendored distinction.
    2e21b422
Name
Last commit
Last update
..
bats Loading commit data...
dd.tar.bz2 Loading commit data...
specpkgr.spec.in Loading commit data...
swine-etersoft.spec Loading commit data...
swine-etersoft.spec.in Loading commit data...