Git ignore policy in build_msvc directory #17287

issue hebasto opened this issue on October 28, 2019
  1. hebasto commented at 7:10 PM on October 28, 2019: member
    $ git clone https://github.com/bitcoin/bitcoin.git
    $ cd bitcoin
    $ git ls-files --ignored --exclude-standard
    build_msvc/bitcoin-cli/bitcoin-cli.vcxproj
    build_msvc/bitcoin-qt/bitcoin-qt.vcxproj
    build_msvc/bitcoin-tx/bitcoin-tx.vcxproj
    build_msvc/bitcoin-wallet/bitcoin-wallet.vcxproj
    build_msvc/bitcoind/bitcoind.vcxproj
    build_msvc/common.init.vcxproj
    build_msvc/common.qt.init.vcxproj
    build_msvc/common.vcxproj
    build_msvc/libbitcoin_qt/libbitcoin_qt.vcxproj
    build_msvc/libbitcoinconsensus/libbitcoinconsensus.vcxproj
    build_msvc/libleveldb/libleveldb.vcxproj
    build_msvc/libsecp256k1/libsecp256k1.vcxproj
    build_msvc/libunivalue/libunivalue.vcxproj
    build_msvc/test_bitcoin-qt/test_bitcoin-qt.vcxproj
    build_msvc/test_bitcoin/test_bitcoin.vcxproj
    build_msvc/testconsensus/testconsensus.vcxproj
    contrib/init/org.bitcoin.bitcoind.plist
    contrib/macdeploy/fancy.plist
    src/qt/Makefile
    src/qt/test/Makefile
    src/test/Makefile
    src/univalue/gen/gen.cpp
    test/functional/data/wallets/high_minversion/db.log
    test/functional/data/wallets/high_minversion/wallet.dat
    

    Is it correct to ignore mentioned above *.vcxproj files?

  2. fanquake added the label Windows on Oct 28, 2019
  3. hebasto commented at 7:20 PM on October 28, 2019: member
  4. MarcoFalke added the label Build system on Oct 28, 2019
  5. sipsorcery commented at 10:20 PM on October 28, 2019: member

    @hebasto it's correct that they are ignored from being ignored.

    Some of the .vcxproj files are auto-generated from the makefiles. Those are listed at in the libs array at the top of of the msvc-autogen.py script. Any project file that is not in that array is not suitable for auto-generation and needs to be left as a exclusion to the ignore list.

  6. hebasto commented at 6:04 AM on October 29, 2019: member

    @sipsorcery

    Some of the .vcxproj files are auto-generated from the makefiles. Those are listed at in the libs array at the top of of the msvc-autogen.py script. Any project file that is not in that array is not suitable for auto-generation and needs to be left as a exclusion to the ignore list.

    Agree. But they are not excluded from the ignore list, actually: https://github.com/bitcoin/bitcoin/blob/4c1090c882ea15ba4d10a2f7f320f3c0eb490ebd/build_msvc/.gitignore#L1-L14

  7. sipsorcery commented at 9:21 AM on October 29, 2019: member

    @hebasto I guess there are two obvious options for the .vcxproj files:

    • Ignore all files with .vcxproj and force add the ones that are needed (current situation).
    • Ignore the specific .vcxproj files that are auto-generated by the msvc-autogen.py script.

    IMHO the second option is cleaner.

  8. fanquake commented at 12:30 PM on February 3, 2020: member

    What's the status of this? I think either changes should be made in the repo, or this can be closed. It doesn't really warrant having an issue open.

  9. gwillen commented at 2:59 AM on February 7, 2020: contributor

    fwiw I just stumbled over this, it's kind of a footgun for non-windows devs. I would like it if we did not have checked-in ignored files, which is a really weird setup. Ideally the non-generated files should be checked in, and the generated files should be removed from the repo (and ignored.)

  10. MarcoFalke referenced this in commit 2a2631fb0d on Feb 15, 2020
  11. MarcoFalke closed this on Feb 15, 2020

  12. DrahtBot locked this on Feb 15, 2022

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-17 03:14 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me