Skip to content

Bug or not? Cannot pull develop into v1.0.1 #51264

Description

@climbfuji

Steps to reproduce

I think this should work (any release branch should be able to pull in develop or any future release branch/tag cleanly) - but it doesn't. Looks like some git sanitizing is needed?

$ git log
commit 17d34285729c1bb39dfbdef09c5b78d88bb9e3f9 (HEAD -> releases/v1.0, tag: v1.0.1, tag: releases/latest, spack/releases/v1.0, dom/releases/v1.0)
Author: Harmen Stoppels <me@harmenstoppels.nl>
Date:   Mon Aug 11 14:13:38 2025 +0200

    Set version to v1.0.1

    Signed-off-by: Harmen Stoppels <me@harmenstoppels.nl>

Error message

$ git pull develop
From https://github.com/spack/spack
 * branch                  develop    -> FETCH_HEAD
Auto-merging lib/spack/docs/advanced_topics.rst
CONFLICT (content): Merge conflict in lib/spack/docs/advanced_topics.rst
Auto-merging lib/spack/docs/binary_caches.rst
CONFLICT (content): Merge conflict in lib/spack/docs/binary_caches.rst
Auto-merging lib/spack/docs/bootstrapping.rst
CONFLICT (content): Merge conflict in lib/spack/docs/bootstrapping.rst
Auto-merging lib/spack/docs/build_settings.rst
Auto-merging lib/spack/docs/build_systems.rst
Auto-merging lib/spack/docs/build_systems/autotoolspackage.rst
Auto-merging lib/spack/docs/build_systems/bundlepackage.rst
CONFLICT (content): Merge conflict in lib/spack/docs/build_systems/bundlepackage.rst
Auto-merging lib/spack/docs/build_systems/cachedcmakepackage.rst
Auto-merging lib/spack/docs/build_systems/cmakepackage.rst
Auto-merging lib/spack/docs/build_systems/cudapackage.rst
Auto-merging lib/spack/docs/build_systems/custompackage.rst
Auto-merging lib/spack/docs/build_systems/inteloneapipackage.rst
Auto-merging lib/spack/docs/build_systems/luapackage.rst
Auto-merging lib/spack/docs/build_systems/makefilepackage.rst
Auto-merging lib/spack/docs/build_systems/mavenpackage.rst
Auto-merging lib/spack/docs/build_systems/mesonpackage.rst
Auto-merging lib/spack/docs/build_systems/octavepackage.rst
Auto-merging lib/spack/docs/build_systems/perlpackage.rst
CONFLICT (content): Merge conflict in lib/spack/docs/build_systems/perlpackage.rst
Auto-merging lib/spack/docs/build_systems/pythonpackage.rst
CONFLICT (content): Merge conflict in lib/spack/docs/build_systems/pythonpackage.rst
Auto-merging lib/spack/docs/build_systems/qmakepackage.rst
Auto-merging lib/spack/docs/build_systems/racketpackage.rst
Auto-merging lib/spack/docs/build_systems/rocmpackage.rst
CONFLICT (content): Merge conflict in lib/spack/docs/build_systems/rocmpackage.rst
Auto-merging lib/spack/docs/build_systems/rpackage.rst
Auto-merging lib/spack/docs/build_systems/rubypackage.rst
Auto-merging lib/spack/docs/build_systems/sconspackage.rst
Auto-merging lib/spack/docs/build_systems/sippackage.rst
Auto-merging lib/spack/docs/build_systems/sourceforgepackage.rst
Auto-merging lib/spack/docs/build_systems/wafpackage.rst
Auto-merging lib/spack/docs/chain.rst
Auto-merging lib/spack/docs/conf.py
Auto-merging lib/spack/docs/config_yaml.rst
CONFLICT (content): Merge conflict in lib/spack/docs/config_yaml.rst
Auto-merging lib/spack/docs/configuration.rst
CONFLICT (content): Merge conflict in lib/spack/docs/configuration.rst
Auto-merging lib/spack/docs/configuring_compilers.rst
CONFLICT (content): Merge conflict in lib/spack/docs/configuring_compilers.rst
Auto-merging lib/spack/docs/containers.rst
Auto-merging lib/spack/docs/contribution_guide.rst
Auto-merging lib/spack/docs/developer_guide.rst
CONFLICT (content): Merge conflict in lib/spack/docs/developer_guide.rst
Auto-merging lib/spack/docs/env_vars_yaml.rst
Auto-merging lib/spack/docs/environments.rst
Auto-merging lib/spack/docs/extensions.rst
Auto-merging lib/spack/docs/features.rst
CONFLICT (content): Merge conflict in lib/spack/docs/features.rst
Auto-merging lib/spack/docs/frequently_asked_questions.rst
CONFLICT (content): Merge conflict in lib/spack/docs/frequently_asked_questions.rst
Auto-merging lib/spack/docs/getting_help.rst
CONFLICT (content): Merge conflict in lib/spack/docs/getting_help.rst
Auto-merging lib/spack/docs/getting_started.rst
Auto-merging lib/spack/docs/gpu_configuration.rst
CONFLICT (content): Merge conflict in lib/spack/docs/gpu_configuration.rst
Auto-merging lib/spack/docs/include_yaml.rst
Auto-merging lib/spack/docs/index.rst
CONFLICT (content): Merge conflict in lib/spack/docs/index.rst
Auto-merging lib/spack/docs/installing_prerequisites.rst
Auto-merging lib/spack/docs/mirrors.rst
Auto-merging lib/spack/docs/module_file_support.rst
Auto-merging lib/spack/docs/package_api.rst
Auto-merging lib/spack/docs/package_fundamentals.rst
Auto-merging lib/spack/docs/packages_yaml.rst
Auto-merging lib/spack/docs/packaging_guide_advanced.rst
CONFLICT (content): Merge conflict in lib/spack/docs/packaging_guide_advanced.rst
Auto-merging lib/spack/docs/packaging_guide_build.rst
CONFLICT (content): Merge conflict in lib/spack/docs/packaging_guide_build.rst
Auto-merging lib/spack/docs/packaging_guide_creation.rst
CONFLICT (content): Merge conflict in lib/spack/docs/packaging_guide_creation.rst
Auto-merging lib/spack/docs/packaging_guide_testing.rst
Auto-merging lib/spack/docs/pipelines.rst
Auto-merging lib/spack/docs/replace_conda_homebrew.rst
Auto-merging lib/spack/docs/repositories.rst
CONFLICT (content): Merge conflict in lib/spack/docs/repositories.rst
Auto-merging lib/spack/docs/signing.rst
CONFLICT (content): Merge conflict in lib/spack/docs/signing.rst
Auto-merging lib/spack/docs/spec_syntax.rst
CONFLICT (content): Merge conflict in lib/spack/docs/spec_syntax.rst
Auto-merging lib/spack/docs/windows.rst
Auto-merging lib/spack/spack/__init__.py
CONFLICT (content): Merge conflict in lib/spack/spack/__init__.py
Auto-merging lib/spack/spack/environment/environment.py
Auto-merging lib/spack/spack/fetch_strategy.py
Auto-merging lib/spack/spack/llnl/util/tty/__init__.py
Auto-merging lib/spack/spack/package_base.py
Auto-merging lib/spack/spack/repo.py
Auto-merging lib/spack/spack/solver/asp.py
Auto-merging lib/spack/spack/solver/concretize.lp
Auto-merging lib/spack/spack/test/concretization/core.py
CONFLICT (content): Merge conflict in lib/spack/spack/test/concretization/core.py
Auto-merging lib/spack/spack/test/git_fetch.py
CONFLICT (content): Merge conflict in lib/spack/spack/test/git_fetch.py
Auto-merging lib/spack/spack/test/package_class.py
Auto-merging lib/spack/spack/util/git.py
Auto-merging lib/spack/spack/util/package_hash.py
Auto-merging lib/spack/spack/util/unparse/unparser.py
CONFLICT (content): Merge conflict in lib/spack/spack/util/unparse/unparser.py
Auto-merging lib/spack/spack/variant.py
CONFLICT (content): Merge conflict in lib/spack/spack/variant.py
Automatic merge failed; fix conflicts and then commit the result.
[dom@blackpearl spack-1.0.1-pull-in-develop-for-real]$ git status
On branch releases/v1.0
You have unmerged paths.
  (fix conflicts and run "git commit")
  (use "git merge --abort" to abort the merge)

Changes to be committed:
        modified:   .git-blame-ignore-revs
        new file:   .github/workflows/bin/canonicalize.py
        new file:   .github/workflows/bin/format-rst.py
        modified:   .github/workflows/bootstrap.yml
        modified:   .github/workflows/ci.yaml
        deleted:    .github/workflows/nightly-win-builds.yml
        modified:   .github/workflows/prechecks.yml
        modified:   .github/workflows/requirements/style/requirements.txt
        modified:   .github/workflows/stale.yaml
        modified:   .readthedocs.yml
        deleted:    lib/spack/docs/_pygments/style.py
        modified:   lib/spack/docs/_static/css/custom.css
        new file:   lib/spack/docs/_static/js/versions.js
        new file:   lib/spack/docs/_static/spack-logo-text.svg
        new file:   lib/spack/docs/_static/spack-logo-white-text.svg
        renamed:    lib/spack/docs/_templates/layout.html -> lib/spack/docs/_templates/base.html
        new file:   lib/spack/docs/_templates/sidebar/brand.html
        modified:   lib/spack/docs/build_settings.rst
        modified:   lib/spack/docs/build_systems.rst
        modified:   lib/spack/docs/build_systems/autotoolspackage.rst
        modified:   lib/spack/docs/build_systems/cachedcmakepackage.rst
        modified:   lib/spack/docs/build_systems/cmakepackage.rst
        modified:   lib/spack/docs/build_systems/cudapackage.rst
        modified:   lib/spack/docs/build_systems/custompackage.rst
        modified:   lib/spack/docs/build_systems/inteloneapipackage.rst
        modified:   lib/spack/docs/build_systems/luapackage.rst
        modified:   lib/spack/docs/build_systems/makefilepackage.rst
        modified:   lib/spack/docs/build_systems/mavenpackage.rst
        modified:   lib/spack/docs/build_systems/mesonpackage.rst
        modified:   lib/spack/docs/build_systems/octavepackage.rst
        modified:   lib/spack/docs/build_systems/qmakepackage.rst
        modified:   lib/spack/docs/build_systems/racketpackage.rst
        modified:   lib/spack/docs/build_systems/rpackage.rst
        modified:   lib/spack/docs/build_systems/rubypackage.rst
        modified:   lib/spack/docs/build_systems/sconspackage.rst
        modified:   lib/spack/docs/build_systems/sippackage.rst
        modified:   lib/spack/docs/build_systems/sourceforgepackage.rst
        modified:   lib/spack/docs/build_systems/wafpackage.rst
        modified:   lib/spack/docs/chain.rst
        modified:   lib/spack/docs/conf.py
        modified:   lib/spack/docs/containers.rst
        modified:   lib/spack/docs/contribution_guide.rst
        modified:   lib/spack/docs/env_vars_yaml.rst
        modified:   lib/spack/docs/environments.rst
        modified:   lib/spack/docs/extensions.rst
        modified:   lib/spack/docs/getting_started.rst
        new file:   lib/spack/docs/google5fda5f94b4ffb8de.html
        modified:   lib/spack/docs/images/spec_anatomy.svg
        modified:   lib/spack/docs/include_yaml.rst
        modified:   lib/spack/docs/installing_prerequisites.rst
        modified:   lib/spack/docs/mirrors.rst
        modified:   lib/spack/docs/module_file_support.rst
        modified:   lib/spack/docs/package_api.rst
        modified:   lib/spack/docs/package_fundamentals.rst
        modified:   lib/spack/docs/packages_yaml.rst
        modified:   lib/spack/docs/packaging_guide_testing.rst
        modified:   lib/spack/docs/pipelines.rst
        modified:   lib/spack/docs/replace_conda_homebrew.rst
        modified:   lib/spack/docs/requirements.txt
        new file:   lib/spack/docs/toolchains_yaml.rst
        modified:   lib/spack/docs/windows.rst
        modified:   lib/spack/spack/audit.py
        modified:   lib/spack/spack/binary_distribution.py
        modified:   lib/spack/spack/bootstrap/core.py
        modified:   lib/spack/spack/build_environment.py
        modified:   lib/spack/spack/buildcache_migrate.py
        modified:   lib/spack/spack/buildcache_prune.py
        modified:   lib/spack/spack/builder.py
        modified:   lib/spack/spack/ci/__init__.py
        modified:   lib/spack/spack/ci/common.py
        modified:   lib/spack/spack/ci/gitlab.py
        modified:   lib/spack/spack/cmd/__init__.py
        modified:   lib/spack/spack/cmd/buildcache.py
        modified:   lib/spack/spack/cmd/checksum.py
        modified:   lib/spack/spack/cmd/ci.py
        modified:   lib/spack/spack/cmd/clean.py
        modified:   lib/spack/spack/cmd/commands.py
        modified:   lib/spack/spack/cmd/config.py
        modified:   lib/spack/spack/cmd/create.py
        modified:   lib/spack/spack/cmd/dependents.py
        modified:   lib/spack/spack/cmd/develop.py
        modified:   lib/spack/spack/cmd/edit.py
        modified:   lib/spack/spack/cmd/env.py
        modified:   lib/spack/spack/cmd/find.py
        modified:   lib/spack/spack/cmd/graph.py
        modified:   lib/spack/spack/cmd/install.py
        modified:   lib/spack/spack/cmd/load.py
        modified:   lib/spack/spack/cmd/mirror.py
        modified:   lib/spack/spack/cmd/modules/__init__.py
        modified:   lib/spack/spack/cmd/pkg.py
        modified:   lib/spack/spack/cmd/repo.py
        modified:   lib/spack/spack/cmd/solve.py
        modified:   lib/spack/spack/cmd/style.py
        modified:   lib/spack/spack/cmd/test.py
        modified:   lib/spack/spack/cmd/uninstall.py
        modified:   lib/spack/spack/cmd/url.py
        modified:   lib/spack/spack/cmd/view.py
        modified:   lib/spack/spack/compilers/adaptor.py
        modified:   lib/spack/spack/compilers/flags.py
        modified:   lib/spack/spack/compilers/libraries.py
        modified:   lib/spack/spack/concretize.py
        modified:   lib/spack/spack/config.py
        modified:   lib/spack/spack/container/images.py
        modified:   lib/spack/spack/cray_manifest.py
        modified:   lib/spack/spack/database.py
        modified:   lib/spack/spack/deptypes.py
        modified:   lib/spack/spack/detection/path.py
        modified:   lib/spack/spack/directives.py
        modified:   lib/spack/spack/directives_meta.py
        modified:   lib/spack/spack/directory_layout.py
        modified:   lib/spack/spack/environment/__init__.py
        modified:   lib/spack/spack/environment/depfile.py
        modified:   lib/spack/spack/environment/environment.py
        modified:   lib/spack/spack/error.py
        modified:   lib/spack/spack/extensions.py
        modified:   lib/spack/spack/fetch_strategy.py
        modified:   lib/spack/spack/filesystem_view.py
        modified:   lib/spack/spack/graph.py
        modified:   lib/spack/spack/hash_types.py
        modified:   lib/spack/spack/hooks/__init__.py
        modified:   lib/spack/spack/hooks/autopush.py
        modified:   lib/spack/spack/install_test.py
        modified:   lib/spack/spack/llnl/path.py
        modified:   lib/spack/spack/llnl/string.py
        modified:   lib/spack/spack/llnl/url.py
        modified:   lib/spack/spack/llnl/util/argparsewriter.py
        modified:   lib/spack/spack/llnl/util/filesystem.py
        modified:   lib/spack/spack/llnl/util/lang.py
        modified:   lib/spack/spack/llnl/util/tty/__init__.py
        modified:   lib/spack/spack/llnl/util/tty/colify.py
        modified:   lib/spack/spack/llnl/util/tty/color.py
        modified:   lib/spack/spack/llnl/util/tty/log.py
        modified:   lib/spack/spack/main.py
        modified:   lib/spack/spack/mirrors/mirror.py
        modified:   lib/spack/spack/mixins.py
        modified:   lib/spack/spack/modules/common.py
        modified:   lib/spack/spack/modules/lmod.py
        modified:   lib/spack/spack/multimethod.py
        modified:   lib/spack/spack/oci/image.py
        modified:   lib/spack/spack/oci/oci.py
        modified:   lib/spack/spack/oci/opener.py
        modified:   lib/spack/spack/operating_systems/_operating_system.py
        modified:   lib/spack/spack/operating_systems/mac_os.py
        modified:   lib/spack/spack/package.py
        modified:   lib/spack/spack/package_base.py
        modified:   lib/spack/spack/package_prefs.py
        modified:   lib/spack/spack/platforms/_functions.py
        modified:   lib/spack/spack/provider_index.py
        modified:   lib/spack/spack/repo.py
        modified:   lib/spack/spack/reporters/cdash.py
        modified:   lib/spack/spack/rewiring.py
        modified:   lib/spack/spack/schema/__init__.py
        modified:   lib/spack/spack/schema/container.py
        modified:   lib/spack/spack/solver/asp.py
        modified:   lib/spack/spack/solver/concretize.lp
        modified:   lib/spack/spack/solver/core.py
        modified:   lib/spack/spack/solver/error_messages.lp
        new file:   lib/spack/spack/solver/reuse.py
        new file:   lib/spack/spack/solver/runtimes.py
        modified:   lib/spack/spack/solver/splicing.py
        deleted:    lib/spack/spack/solver/version_order.py
        new file:   lib/spack/spack/solver/versions.py
        modified:   lib/spack/spack/solver/when_possible.lp
        modified:   lib/spack/spack/spec.py
        modified:   lib/spack/spack/spec_parser.py
        modified:   lib/spack/spack/stage.py
        modified:   lib/spack/spack/store.py
        modified:   lib/spack/spack/subprocess_context.py
        renamed:    lib/spack/spack/test/bindist.py -> lib/spack/spack/test/binary_distribution.py
        modified:   lib/spack/spack/test/ci.py
        modified:   lib/spack/spack/test/cmd/ci.py
        modified:   lib/spack/spack/test/cmd/edit.py
        modified:   lib/spack/spack/test/cmd/gpg.py
        modified:   lib/spack/spack/test/cmd/install.py
        modified:   lib/spack/spack/test/cmd/mirror.py
        modified:   lib/spack/spack/test/config.py
        modified:   lib/spack/spack/test/conftest.py
        modified:   lib/spack/spack/test/cray_manifest.py
        new file:   lib/spack/spack/test/data/sourceme_first.bat
        new file:   lib/spack/spack/test/data/sourceme_modules.bat
        new file:   lib/spack/spack/test/data/sourceme_parameters.bat
        new file:   lib/spack/spack/test/data/sourceme_second.bat
        new file:   lib/spack/spack/test/data/sourceme_unicode.bat
        new file:   lib/spack/spack/test/data/sourceme_unset.bat
        modified:   lib/spack/spack/test/directives.py
        modified:   lib/spack/spack/test/env.py
        modified:   lib/spack/spack/test/environment_modifications.py
        modified:   lib/spack/spack/test/llnl/util/lang.py
        modified:   lib/spack/spack/test/oci/image.py
        modified:   lib/spack/spack/test/oci/urlopen.py
        modified:   lib/spack/spack/test/package_class.py
        modified:   lib/spack/spack/test/packages.py
        modified:   lib/spack/spack/test/packaging.py
        modified:   lib/spack/spack/test/spec_semantics.py
        modified:   lib/spack/spack/test/spec_syntax.py
        modified:   lib/spack/spack/test/util/package_hash.py
        modified:   lib/spack/spack/test/util/unparse/unparse.py
        modified:   lib/spack/spack/url.py
        modified:   lib/spack/spack/url_buildcache.py
        modified:   lib/spack/spack/util/compression.py
        modified:   lib/spack/spack/util/crypto.py
        modified:   lib/spack/spack/util/ctest_log_parser.py
        modified:   lib/spack/spack/util/editor.py
        modified:   lib/spack/spack/util/elf.py
        modified:   lib/spack/spack/util/environment.py
        modified:   lib/spack/spack/util/executable.py
        modified:   lib/spack/spack/util/file_cache.py
        modified:   lib/spack/spack/util/filesystem.py
        modified:   lib/spack/spack/util/git.py
        modified:   lib/spack/spack/util/gpg.py
        modified:   lib/spack/spack/util/log_parse.py
        modified:   lib/spack/spack/util/naming.py
        modified:   lib/spack/spack/util/package_hash.py
        modified:   lib/spack/spack/util/prefix.py
        modified:   lib/spack/spack/util/remote_file_cache.py
        modified:   lib/spack/spack/util/spack_yaml.py
        modified:   lib/spack/spack/util/unparse/__init__.py
        modified:   lib/spack/spack/util/url.py
        modified:   lib/spack/spack/util/web.py
        modified:   lib/spack/spack/util/windows_registry.py
        modified:   lib/spack/spack/version/version_types.py
        modified:   share/spack/qa/setup-env-test.sh
        modified:   share/spack/spack-completion.bash
        modified:   share/spack/spack-completion.fish
        modified:   var/spack/test_repos/spack_repo/builtin_mock/build_systems/_checks.py
        modified:   var/spack/test_repos/spack_repo/builtin_mock/build_systems/autotools.py
        modified:   var/spack/test_repos/spack_repo/builtin_mock/build_systems/bundle.py
        modified:   var/spack/test_repos/spack_repo/builtin_mock/build_systems/cmake.py
        modified:   var/spack/test_repos/spack_repo/builtin_mock/build_systems/generic.py
        modified:   var/spack/test_repos/spack_repo/builtin_mock/build_systems/gnu.py
        modified:   var/spack/test_repos/spack_repo/builtin_mock/build_systems/makefile.py
        modified:   var/spack/test_repos/spack_repo/builtin_mock/build_systems/perl.py
        modified:   var/spack/test_repos/spack_repo/builtin_mock/build_systems/python.py
        modified:   var/spack/test_repos/spack_repo/builtin_mock/build_systems/sourceforge.py
        modified:   var/spack/test_repos/spack_repo/builtin_mock/build_systems/sourceware.py
        deleted:    var/spack/test_repos/spack_repo/builtin_mock/build_systems/xorg.py
        deleted:    var/spack/test_repos/spack_repo/builtin_mock/packages/mirror_xorg/package.py
        deleted:    var/spack/test_repos/spack_repo/builtin_mock/packages/mirror_xorg_broken/package.py
        modified:   var/spack/test_repos/spack_repo/builtin_mock/packages/openblas/package.py
        modified:   var/spack/test_repos/spack_repo/builtin_mock/packages/with_constraint_met/package.py

Unmerged paths:
  (use "git add <file>..." to mark resolution)
        both modified:   lib/spack/docs/advanced_topics.rst
        both modified:   lib/spack/docs/binary_caches.rst
        both modified:   lib/spack/docs/bootstrapping.rst
        both modified:   lib/spack/docs/build_systems/bundlepackage.rst
        both modified:   lib/spack/docs/build_systems/perlpackage.rst
        both modified:   lib/spack/docs/build_systems/pythonpackage.rst
        both modified:   lib/spack/docs/build_systems/rocmpackage.rst
        both modified:   lib/spack/docs/config_yaml.rst
        both modified:   lib/spack/docs/configuration.rst
        both modified:   lib/spack/docs/configuring_compilers.rst
        both modified:   lib/spack/docs/developer_guide.rst
        both modified:   lib/spack/docs/features.rst
        both modified:   lib/spack/docs/frequently_asked_questions.rst
        both modified:   lib/spack/docs/getting_help.rst
        both modified:   lib/spack/docs/gpu_configuration.rst
        both modified:   lib/spack/docs/index.rst
        both modified:   lib/spack/docs/packaging_guide_advanced.rst
        both modified:   lib/spack/docs/packaging_guide_build.rst
        both modified:   lib/spack/docs/packaging_guide_creation.rst
        both modified:   lib/spack/docs/repositories.rst
        both modified:   lib/spack/docs/signing.rst
        both modified:   lib/spack/docs/spec_syntax.rst
        both modified:   lib/spack/spack/__init__.py
        both modified:   lib/spack/spack/test/concretization/core.py
        both modified:   lib/spack/spack/test/git_fetch.py
        both modified:   lib/spack/spack/util/unparse/unparser.py
        both modified:   lib/spack/spack/variant.py

Information on your system

See above

General information

  • I have run spack debug report and reported the version of Spack/Python/Platform
  • I have searched the issues of this repo and believe this is not a duplicate
  • I have run the failing commands in debug mode and reported the output

Activity

  1. added
    bugSomething isn't working
    triageThe issue needs to be prioritized
    on Sep 2, 2025
  2. alalazo commented on Sep 3, 2025

    @alalazo
    Member

    (any release branch should be able to pull in develop or any future release branch/tag cleanly)

    I think the premise is not true, given that some bug fixes require to resolve conflicts when they are backported to the release branch?

  3. climbfuji commented on Sep 3, 2025

    @climbfuji
    ContributorAuthor

    But I think it can be made true and should be so that users who choose to be on v1.0.1 don't have to deal with conflict resolution themselves. Here are the steps:

     1034  git checkout origin/develop
     1036  git pull spack v1.0.1
     1037  git status
     1038  git checkout --ours lib
     1045  git reset HEAD etc/
     1046  git diff etc/
     1047  git checkout --ours etc/spack/defaults/repos.yaml
     1048  git status
     1049  git commit
     1050  git checkout -b develop-with-v1p0p1
     1052  git checkout releases/v1.0
     1054  git merge develop-with-v1p0p1
     1055  git status
     1056  git log
    

    What this does it that it "formally" merges v1.0.1 back into develop. This is a no-change diff because of 1038 (conflict resolution, keep documentation from develop) and 1045+1047 (revert repos.yaml change that applies to v1.0.1 only).

    If I was a maintainer of the code, I would likely know if there were any documentation updates on the release branch that should be merged back to develop, but I don't and thus simply assumed that the documentation in develop should stay as is. I am confident about keeping etc/spack/defaults/repos.yaml from develop as is, though.

    With these steps, I can pull develop-with-v1p0p1 cleanly into releases/v1.0 (or tag v1.0.1, same at the moment) because all its commits are known and are fixed on the develop-with-v1p0p1` branch.

    If this were to be done for develop itself (PR to develop from develop-with-v1p0p1, merge as regular commit = not squashed) then one could always pull develop cleanly into the release tags/branches.

  4. haampie commented on Sep 3, 2025

    @haampie
    Member

    We don't merge release branches to develop. Instead of merging develop into a release branch, checkout the develop branch.

  5. climbfuji commented on Sep 3, 2025

    @climbfuji
    ContributorAuthor

    We don't merge release branches to develop. Instead of merging develop into a release branch, checkout the develop branch.

    Ok. So, you are saying that users that use spack v1.0.1 and want to update their code are left stranded and instead should start over? We have a few permanent differences in our fork/branch of spack that we were unable to push upstream into spack for various reasons (e.g. container recipe modifications, case modifications for environment variables in spack-generated modules; mostly, these were rejected by the spack developers).

    How do you envisage this to work? Do we need to manually keep track of the diffs and then apply them again if we update to a new release? How do we pull in bug fixes from develop that are needed for a release to work? For instance, on v1.0.1, we need to pull in several concretizer updates because it's painfully slow otherwise. But these cherry-picked pull requests break the CI tests (see, for example, JCSDA#563).

    If you have any guidance on how you think folks like us that need to maintain differences should handle this, please let me know. Thanks!

  6. haampie commented on Sep 3, 2025

    @haampie
    Member

    If you need changes on top of develop: branch off from develop, add your commits, stay in sync by rebasing on develop every now and then. If you need those changes in a release branch, do like we do in #51203.

  7. climbfuji commented on Sep 3, 2025

    @climbfuji
    ContributorAuthor

    Thanks for the explanation. It's a little different than what I would have done or expected, but we can work with that. The easiest will be to stay on develop instead of using the spack releases.

  8. haampie commented on Sep 3, 2025

    @haampie
    Member

    OK 👍 notice we used to merge it back (https://spack.readthedocs.io/en/latest/developer_guide.html#release-branches) but it was twice the work and ultimately confusing because history of develop was all but linear.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingtriageThe issue needs to be prioritized

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions