head 1.114; access; symbols pkgsrc-2023Q4:1.113.0.2 pkgsrc-2023Q4-base:1.113 pkgsrc-2023Q3:1.108.0.2 pkgsrc-2023Q3-base:1.108 pkgsrc-2023Q2:1.106.0.2 pkgsrc-2023Q2-base:1.106 pkgsrc-2023Q1:1.102.0.4 pkgsrc-2023Q1-base:1.102 pkgsrc-2022Q4:1.102.0.2 pkgsrc-2022Q4-base:1.102 pkgsrc-2022Q3:1.98.0.2 pkgsrc-2022Q3-base:1.98 pkgsrc-2022Q2:1.95.0.4 pkgsrc-2022Q2-base:1.95 pkgsrc-2022Q1:1.95.0.2 pkgsrc-2022Q1-base:1.95 pkgsrc-2021Q4:1.94.0.2 pkgsrc-2021Q4-base:1.94 pkgsrc-2021Q3:1.91.0.2 pkgsrc-2021Q3-base:1.91 pkgsrc-2021Q2:1.89.0.2 pkgsrc-2021Q2-base:1.89 pkgsrc-2021Q1:1.85.0.2 pkgsrc-2021Q1-base:1.85 pkgsrc-2020Q4:1.84.0.2 pkgsrc-2020Q4-base:1.84 pkgsrc-2020Q3:1.83.0.2 pkgsrc-2020Q3-base:1.83 pkgsrc-2020Q2:1.82.0.2 pkgsrc-2020Q2-base:1.82 pkgsrc-2020Q1:1.78.0.2 pkgsrc-2020Q1-base:1.78 pkgsrc-2019Q4:1.73.0.4 pkgsrc-2019Q4-base:1.73 pkgsrc-2019Q3:1.68.0.2 pkgsrc-2019Q3-base:1.68 pkgsrc-2019Q2:1.63.0.4 pkgsrc-2019Q2-base:1.63 pkgsrc-2019Q1:1.63.0.2 pkgsrc-2019Q1-base:1.63 pkgsrc-2018Q4:1.62.0.2 pkgsrc-2018Q4-base:1.62 pkgsrc-2018Q3:1.60.0.2 pkgsrc-2018Q3-base:1.60 pkgsrc-2018Q2:1.57.0.2 pkgsrc-2018Q2-base:1.57 pkgsrc-2018Q1:1.51.0.2 pkgsrc-2018Q1-base:1.51 pkgsrc-2017Q4:1.46.0.2 pkgsrc-2017Q4-base:1.46 pkgsrc-2017Q3:1.45.0.4 pkgsrc-2017Q3-base:1.45 pkgsrc-2017Q2:1.41.0.2 pkgsrc-2017Q2-base:1.41 pkgsrc-2017Q1:1.34.0.2 pkgsrc-2017Q1-base:1.34 pkgsrc-2016Q4:1.32.0.2 pkgsrc-2016Q4-base:1.32 pkgsrc-2016Q3:1.30.0.2 pkgsrc-2016Q3-base:1.30 pkgsrc-2016Q2:1.28.0.2 pkgsrc-2016Q2-base:1.28 pkgsrc-2016Q1:1.23.0.2 pkgsrc-2016Q1-base:1.23 pkgsrc-2015Q4:1.20.0.4 pkgsrc-2015Q4-base:1.20 pkgsrc-2015Q3:1.20.0.2 pkgsrc-2015Q3-base:1.20 pkgsrc-2015Q2:1.18.0.2 pkgsrc-2015Q2-base:1.18 pkgsrc-2015Q1:1.17.0.6 pkgsrc-2015Q1-base:1.17 pkgsrc-2014Q4:1.17.0.4 pkgsrc-2014Q4-base:1.17 pkgsrc-2014Q3:1.17.0.2 pkgsrc-2014Q3-base:1.17 pkgsrc-2014Q2:1.15.0.2 pkgsrc-2014Q2-base:1.15 pkgsrc-2014Q1:1.11.0.2 pkgsrc-2014Q1-base:1.11 pkgsrc-2013Q4:1.7.0.2 pkgsrc-2013Q4-base:1.7 pkgsrc-2013Q3:1.4.0.2 pkgsrc-2013Q3-base:1.4; locks; strict; comment @# @; 1.114 date 2024.02.10.07.25.57; author adam; state Exp; branches; next 1.113; commitid EQ8TFDUD0IhfdRXE; 1.113 date 2023.11.21.20.51.21; author adam; state Exp; branches; next 1.112; commitid zcYEA7ODR0eXgwNE; 1.112 date 2023.11.15.22.09.21; author nia; state Exp; branches; next 1.111; commitid 6cWOuJEXtsUHTKME; 1.111 date 2023.11.08.13.18.44; author wiz; state Exp; branches; next 1.110; commitid PsuHTklAIsF4bOLE; 1.110 date 2023.11.03.10.49.39; author adam; state Exp; branches; next 1.109; commitid ZprhJ84wSOThw9LE; 1.109 date 2023.10.24.22.08.44; author wiz; state Exp; branches; next 1.108; commitid MTsrqKm6aGrQAVJE; 1.108 date 2023.08.24.09.33.30; author adam; state Exp; branches; next 1.107; commitid xbu7YAuaGPDIn1CE; 1.107 date 2023.08.14.05.24.08; author wiz; state Exp; branches; next 1.106; commitid LOSB79OLVxvXjIAE; 1.106 date 2023.06.09.23.51.52; author riastradh; state Exp; branches; next 1.105; commitid m0O0acVT0LFMzksE; 1.105 date 2023.06.09.12.05.14; author riastradh; state Exp; branches; next 1.104; commitid dzUOmJRXKHsmFgsE; 1.104 date 2023.04.26.08.44.38; author adam; state Exp; branches; next 1.103; commitid AtiF7M3JwLiaYAmE; 1.103 date 2023.04.19.08.09.40; author adam; state Exp; branches; next 1.102; commitid B8gCWhWtMX9vZGlE; 1.102 date 2022.12.12.22.03.23; author adam; state Exp; branches; next 1.101; commitid WSmGjn3JV2X8Jj5E; 1.101 date 2022.10.26.10.31.21; author wiz; state Exp; branches; next 1.100; commitid PVFjlIYUKslkpdZD; 1.100 date 2022.10.21.17.31.18; author schmonz; state Exp; branches; next 1.99; commitid hYKGBqqVVNfBTBYD; 1.99 date 2022.10.07.10.10.05; author adam; state Exp; branches; next 1.98; commitid 9VZHZ9O5iMoWTLWD; 1.98 date 2022.08.09.12.08.28; author jperkin; state Exp; branches; next 1.97; commitid PekgVc8y15BXrcPD; 1.97 date 2022.07.06.11.53.59; author adam; state Exp; branches; next 1.96; commitid GafdMejluGE2tPKD; 1.96 date 2022.06.28.11.31.43; author wiz; state Exp; branches; next 1.95; commitid D2UoJrTHpoHEANJD; 1.95 date 2022.01.28.09.07.58; author adam; state Exp; branches; next 1.94; commitid 8jKiCmt9IJYLEnqD; 1.94 date 2021.12.08.16.03.57; author adam; state Exp; branches; next 1.93; commitid 2PyWjHx5T8rqARjD; 1.93 date 2021.10.13.06.56.09; author adam; state Exp; branches; next 1.92; commitid SBZyN1S26lsYmCcD; 1.92 date 2021.09.29.19.00.31; author adam; state Exp; branches; next 1.91; commitid WsBUbBM52TSePSaD; 1.91 date 2021.08.23.10.41.25; author adam; state Exp; branches; next 1.90; commitid byHdNolLUSURf56D; 1.90 date 2021.07.10.19.06.01; author dholland; state Exp; branches; next 1.89; commitid CkXBZkrwpj2Irt0D; 1.89 date 2021.06.13.18.36.31; author adam; state Exp; branches; next 1.88; commitid zcGQ3mzWhibma0XC; 1.88 date 2021.05.24.19.49.57; author wiz; state Exp; branches; next 1.87; commitid qokaiStTApGMcrUC; 1.87 date 2021.04.21.13.24.33; author adam; state Exp; branches; next 1.86; commitid RAyVO2K5RkoQ8aQC; 1.86 date 2021.03.31.08.04.21; author adam; state Exp; branches; next 1.85; commitid 3ymYC2UQvZeP2rNC; 1.85 date 2021.03.10.16.58.05; author jperkin; state Exp; branches; next 1.84; commitid oyztY6Oo3QXVFMKC; 1.84 date 2020.10.31.21.10.01; author adam; state Exp; branches; next 1.83; commitid rIBpUGeevKpef6uC; 1.83 date 2020.08.31.18.07.20; author wiz; state Exp; branches; next 1.82; commitid 7zxRbfOkDOoxbfmC; 1.82 date 2020.06.03.14.06.47; author adam; state Exp; branches; next 1.81; commitid MeUBPUiC9vjZIMaC; 1.81 date 2020.05.22.10.56.03; author adam; state Exp; branches; next 1.80; commitid m1Z0QPvTTTWz3e9C; 1.80 date 2020.05.12.19.04.53; author rillig; state Exp; branches; next 1.79; commitid t8JwlyVtydaf5Z7C; 1.79 date 2020.05.06.14.04.26; author adam; state Exp; branches; next 1.78; commitid dLR3o37Fk2B5Cb7C; 1.78 date 2020.03.19.17.08.06; author adam; state Exp; branches; next 1.77; commitid UzmgaMNCb35Ra21C; 1.77 date 2020.03.08.16.49.12; author wiz; state Exp; branches; next 1.76; commitid rcNYzTQo8icypCZB; 1.76 date 2020.01.20.20.07.40; author adam; state Exp; branches; next 1.75; commitid ekKm8A8WH2fM3tTB; 1.75 date 2020.01.18.21.49.09; author jperkin; state Exp; branches; next 1.74; commitid JW4hJgY8ZdoTFdTB; 1.74 date 2020.01.12.20.20.10; author ryoon; state Exp; branches; next 1.73; commitid 5tyaDUwPevcZnrSB; 1.73 date 2019.12.11.14.54.25; author leot; state Exp; branches; next 1.72; commitid N7eDyK9zhASPAiOB; 1.72 date 2019.12.10.18.32.38; author leot; state Exp; branches; next 1.71; commitid gFj3yJ8hlwb1RbOB; 1.71 date 2019.11.26.10.22.17; author wiz; state Exp; branches; next 1.70; commitid IGtsWZicQSkGAlMB; 1.70 date 2019.11.20.18.13.52; author adam; state Exp; branches; next 1.69; commitid LJGUWSeG9HMCoCLB; 1.69 date 2019.11.08.12.24.31; author adam; state Exp; branches; next 1.68; commitid Ly0t2n562yZzQ2KB; 1.68 date 2019.08.22.12.23.00; author ryoon; state Exp; branches 1.68.2.1; next 1.67; commitid UuiyQ10Dn9Rtl1AB; 1.67 date 2019.08.20.13.00.02; author adam; state Exp; branches; next 1.66; commitid APMFuezBieB3CLzB; 1.66 date 2019.08.11.13.18.43; author wiz; state Exp; branches; next 1.65; commitid Ifet9Pg6Qt99ZByB; 1.65 date 2019.07.20.22.46.16; author wiz; state Exp; branches; next 1.64; commitid dMrQLvIeoazTQPvB; 1.64 date 2019.07.01.04.08.03; author ryoon; state Exp; branches; next 1.63; commitid qsMjwmrvOSh6hitB; 1.63 date 2019.02.26.11.36.59; author adam; state Exp; branches; next 1.62; commitid XcqFWqwO9QHkMgdB; 1.62 date 2018.12.16.12.05.26; author adam; state Exp; branches; next 1.61; commitid 5RqpnllmkC6Jf14B; 1.61 date 2018.12.13.19.51.47; author adam; state Exp; branches; next 1.60; commitid XjJhLcEnCzYFVF3B; 1.60 date 2018.09.13.10.56.42; author adam; state Exp; branches; next 1.59; commitid biu96XabqTReTVRA; 1.59 date 2018.08.22.09.43.30; author wiz; state Exp; branches; next 1.58; commitid YLub8g3ofvFGb6PA; 1.58 date 2018.08.16.18.54.40; author adam; state Exp; branches; next 1.57; commitid myXuojHMA7ifrnOA; 1.57 date 2018.05.30.06.40.43; author adam; state Exp; branches; next 1.56; commitid xJ5x2bM5YXaRShEA; 1.56 date 2018.04.29.21.31.32; author adam; state Exp; branches; next 1.55; commitid QKwzJtFzAE0cOnAA; 1.55 date 2018.04.14.06.26.04; author wiz; state Exp; branches; next 1.54; commitid FGtko05rOYUDhnyA; 1.54 date 2018.04.14.06.18.24; author adam; state Exp; branches; next 1.53; commitid FNGB7eTso2u1fnyA; 1.53 date 2018.04.14.05.42.36; author wiz; state Exp; branches; next 1.52; commitid tQwbCAbbEl8I2nyA; 1.52 date 2018.04.11.19.39.34; author adam; state Exp; branches; next 1.51; commitid ew2PTY7ygeBdL3yA; 1.51 date 2018.02.20.09.26.56; author adam; state Exp; branches; next 1.50; commitid 113k92iV32RcZzrA; 1.50 date 2018.02.08.11.28.46; author jperkin; state Exp; branches; next 1.49; commitid ahfxJlgKp3hR23qA; 1.49 date 2018.01.22.14.17.24; author adam; state Exp; branches; next 1.48; commitid fc8BHGU3xRVywSnA; 1.48 date 2018.01.01.21.18.20; author adam; state Exp; branches; next 1.47; commitid VDVceOVT4khVwdlA; 1.47 date 2017.12.31.17.16.43; author gdt; state Exp; branches; next 1.46; commitid t0VI86f28ss8e4lA; 1.46 date 2017.09.27.06.37.47; author adam; state Exp; branches; next 1.45; commitid wtUbuFwfv18bKN8A; 1.45 date 2017.08.24.20.03.10; author adam; state Exp; branches 1.45.4.1; next 1.44; commitid SAladHuASDqXhv4A; 1.44 date 2017.08.17.21.18.31; author adam; state Exp; branches; next 1.43; commitid VVPopW4BQ747WB3A; 1.43 date 2017.08.17.20.12.16; author nros; state Exp; branches; next 1.42; commitid 75NAXcFsgkYnzB3A; 1.42 date 2017.08.07.17.56.14; author adam; state Exp; branches; next 1.41; commitid aOAqqwlmnlsr8j2A; 1.41 date 2017.06.25.03.09.45; author mef; state Exp; branches 1.41.2.1; next 1.40; commitid IwAvePKbFJeeCHWz; 1.40 date 2017.06.08.09.08.51; author wiz; state Exp; branches; next 1.39; commitid JdaHmPfdI9xg9yUz; 1.39 date 2017.06.05.10.11.39; author adam; state Exp; branches; next 1.38; commitid GF0HG2oSndLIAaUz; 1.38 date 2017.05.25.03.04.05; author soda; state Exp; branches; next 1.37; commitid 3pytjkA7xOfczISz; 1.37 date 2017.05.24.12.59.01; author martin; state Exp; branches; next 1.36; commitid 3JCG2Bcw8mwXTDSz; 1.36 date 2017.05.10.18.09.25; author adam; state Exp; branches; next 1.35; commitid GF9rZYrYblmg4SQz; 1.35 date 2017.04.30.01.21.32; author ryoon; state Exp; branches; next 1.34; commitid 1A40BlmMDYkiOuPz; 1.34 date 2017.02.04.11.14.47; author adam; state Exp; branches; next 1.33; commitid 28wLXi15QULrPCEz; 1.33 date 2017.01.01.16.06.08; author adam; state Exp; branches; next 1.32; commitid jkBZ9Kd0NEyexhAz; 1.32 date 2016.10.30.11.43.03; author adam; state Exp; branches; next 1.31; commitid Vip46gQL19gA6asz; 1.31 date 2016.10.07.18.25.42; author adam; state Exp; branches; next 1.30; commitid WWBLkSP9Isuv4fpz; 1.30 date 2016.07.21.13.12.25; author wiz; state Exp; branches; next 1.29; commitid lmYABOnhPpOjQbfz; 1.29 date 2016.07.09.06.38.07; author wiz; state Exp; branches; next 1.28; commitid dlqnocGpOoXV2Cdz; 1.28 date 2016.06.12.20.07.16; author wiz; state Exp; branches; next 1.27; commitid SzxGsNvw9wUxodaz; 1.27 date 2016.05.26.15.41.06; author khorben; state Exp; branches; next 1.26; commitid OSrSP1Z3WCWYs08z; 1.26 date 2016.05.26.14.08.22; author khorben; state Exp; branches; next 1.25; commitid gYU5jOqI4lPbXZ7z; 1.25 date 2016.05.26.14.04.04; author khorben; state Exp; branches; next 1.24; commitid Zovu0bs9lRcFVZ7z; 1.24 date 2016.04.07.13.26.37; author adam; state Exp; branches; next 1.23; commitid 4KfHtDerioEEiH1z; 1.23 date 2016.03.16.19.38.52; author sevan; state Exp; branches; next 1.22; commitid yIZjmbectdZb3UYy; 1.22 date 2016.03.12.11.33.32; author adam; state Exp; branches; next 1.21; commitid n0Cf7gsyQvEAvlYy; 1.21 date 2016.03.05.11.28.21; author jperkin; state Exp; branches; next 1.20; commitid 1LoxeQftu903HrXy; 1.20 date 2015.07.12.18.56.09; author wiz; state Exp; branches; next 1.19; commitid eGBYYIIW99WMN1ty; 1.19 date 2015.07.04.05.56.29; author ryoon; state Exp; branches; next 1.18; commitid hCNRhCKeM8kgKVry; 1.18 date 2015.06.12.10.48.49; author wiz; state Exp; branches; next 1.17; commitid B4JmCfaVUbiY38py; 1.17 date 2014.08.25.07.49.08; author adam; state Exp; branches; next 1.16; commitid J9VwaTRObrzoqINx; 1.16 date 2014.08.01.19.18.39; author schmonz; state Exp; branches; next 1.15; commitid Ncy0HkRFI1a61HKx; 1.15 date 2014.06.02.16.32.36; author adam; state Exp; branches; next 1.14; commitid WwPDuZBmi1PG1YCx; 1.14 date 2014.05.29.23.35.35; author wiz; state Exp; branches; next 1.13; commitid laryHfkCalgYtuCx; 1.13 date 2014.05.28.12.49.25; author obache; state Exp; branches; next 1.12; commitid 40wzlJpJYyoZWiCx; 1.12 date 2014.05.28.12.08.53; author obache; state Exp; branches; next 1.11; commitid 81mBogmLYv5GIiCx; 1.11 date 2014.02.23.10.00.27; author adam; state Exp; branches; next 1.10; commitid 1ed3W9KEM2gl2dqx; 1.10 date 2014.02.12.23.17.46; author tron; state Exp; branches; next 1.9; commitid dfJj7CwMMWJzNRox; 1.9 date 2014.01.17.09.51.35; author adam; state Exp; branches; next 1.8; commitid hRqFsFpN6Jhabslx; 1.8 date 2014.01.14.18.49.55; author wiz; state Exp; branches; next 1.7; commitid RbHIBoG6khvEf7lx; 1.7 date 2013.12.09.14.17.42; author obache; state Exp; branches; next 1.6; commitid wogoyilp7OKaTsgx; 1.6 date 2013.10.25.21.46.27; author joerg; state Exp; branches; next 1.5; commitid YBKjRaBdVoLJPIax; 1.5 date 2013.10.18.19.48.48; author adam; state Exp; branches; next 1.4; commitid 6OZLtu9lOdVipO9x; 1.4 date 2013.09.16.10.48.04; author prlw1; state Exp; branches; next 1.3; commitid aUZwyvxfVlV1rE5x; 1.3 date 2013.09.11.01.26.00; author obache; state Exp; branches; next 1.2; commitid cWP4rwh7soRnuX4x; 1.2 date 2013.09.10.08.17.38; author wiz; state Exp; branches; next 1.1; commitid 6ZbDpT4fheHWNR4x; 1.1 date 2013.09.09.13.54.44; author wiz; state Exp; branches; next ; commitid NIXymrV4eUYEHL4x; 1.68.2.1 date 2019.12.12.11.50.51; author bsiegert; state Exp; branches; next ; commitid WjJ5C3KeBicezpOB; 1.45.4.1 date 2017.11.25.08.49.05; author bsiegert; state Exp; branches; next ; commitid rawsdxPLmETIzogA; 1.41.2.1 date 2017.09.13.17.58.54; author spz; state Exp; branches; next ; commitid EWPaKKUNJHiPX37A; desc @@ 1.114 log @git: updated to 2.43.1 Git 2.43.1 Release Notes ======================== There is nothing exciting to see here. Relative to Git 2.43, this release contains the fixes that have already been merged to the 'master' branch of the development towards the next major release. Fixes since Git 2.43.0 ---------------------- * The way CI testing used "prove" could lead to running the test suite twice needlessly, which has been corrected. * Newer versions of Getopt::Long started giving warnings against our (ab)use of it in "git send-email". Bump the minimum version requirement for Perl to 5.8.1 (from September 2002) to allow simplifying our implementation. * Earlier we stopped relying on commit-graph that (still) records information about commits that are lost from the object store, which has negative performance implications. The default has been flipped to disable this pessimization. * Stale URLs have been updated to their current counterparts (or archive.org) and HTTP links are replaced with working HTTPS links. * trace2 streams used to record the URLs that potentially embed authentication material, which has been corrected. * The sample pre-commit hook that tries to catch introduction of new paths that use potentially non-portable characters did not notice an existing path getting renamed to such a problematic path, when rename detection was enabled. * The command line parser for the "log" family of commands was too loose when parsing certain numbers, e.g., silently ignoring the extra 'q' in "git log -n 1q" without complaining, which has been tightened up. * "git $cmd --end-of-options --rev -- --path" for some $cmd failed to interpret "--rev" as a rev, and "--path" as a path. This was fixed for many programs like "reset" and "checkout". * "git bisect reset" has been taught to clean up state files and refs even when BISECT_START file is gone. * Some codepaths did not correctly parse configuration variables specified with valueless "true", which has been corrected. * Code clean-up for sanity checking of command line options for "git show-ref". * The code to parse the From e-mail header has been updated to avoid recursion. * "git fetch --atomic" issued an unnecessary empty error message, which has been corrected. * Command line completion script (in contrib/) learned to work better with the reftable backend. * "git status" is taught to show both the branch being bisected and being rebased when both are in effect at the same time. cf. * "git archive --list extra garbage" silently ignored excess command line parameters, which has been corrected. * "git sparse-checkout set" added default patterns even when the patterns are being fed from the standard input, which has been corrected. * Unlike other environment variables that took the usual true/false/yes/no as well as 0/1, GIT_FLUSH only understood 0/1, which has been corrected. * Clearing in-core repository (happens during e.g., "git fetch --recurse-submodules" with commit graph enabled) made in-core commit object in an inconsistent state by discarding the necessary data from commit-graph too early, which has been corrected. Also contains various documentation updates, code clean-ups and minor fixups. @ text @# $NetBSD: Makefile,v 1.113 2023/11/21 20:51:21 adam Exp $ .include "../../devel/git/Makefile.common" PKGNAME= git-base-${GIT_VERSION} COMMENT= GIT Tree History Storage Tool (base package) CONFLICTS+= scmgit-base-[0-9]* SUPERSEDES+= scmgit-base-[0-9]* USE_CC_FEATURES= c99 USE_LANGUAGES= c USE_TOOLS+= sh:run msgfmt bash:test CFLAGS+= -DHAVE_DEV_TTY CFLAGS.NetBSD+= -D_NETBSD_SOURCE CONFIGURE_ARGS+= --with-curl=${BUILDLINK_PREFIX.curl} CONFIGURE_ARGS+= --with-expat=${BUILDLINK_PREFIX.expat} CONFIGURE_ARGS+= --with-iconv=${BUILDLINK_PREFIX.iconv} CONFIGURE_ARGS+= --with-libpcre2=${BUILDLINK_PREFIX.pcre2} CONFIGURE_ARGS+= --with-perl=/nonexistent/perl CONFIGURE_ARGS+= --with-zlib=${BUILDLINK_PREFIX.zlib} CONFIGURE_ARGS+= --without-python # only needed for git-p4 CONFIGURE_ARGS+= --without-tcltk BUILD_TARGET= all TEST_TARGET= test REPLACE_SH+= contrib/hooks/post-receive-email REPLACE_SH+= contrib/hooks/pre-auto-gc-battery EGDIR= ${PREFIX}/share/examples/git GIT_COREDIR= git-core GIT_TEMPLATEDIR= templates GIT_TEMPLATES= description info/exclude GIT_TEMPLATES+= hooks/applypatch-msg.sample hooks/commit-msg.sample GIT_TEMPLATES+= hooks/post-update.sample hooks/pre-applypatch.sample GIT_TEMPLATES+= hooks/pre-commit.sample hooks/pre-rebase.sample GIT_TEMPLATES+= hooks/prepare-commit-msg.sample hooks/update.sample GIT_CORE_DATADIR= share/${GIT_COREDIR} GIT_CORE_TEMPLATEDIR= ${GIT_CORE_DATADIR}/${GIT_TEMPLATEDIR} MAKE_DIRS= ${GIT_CORE_TEMPLATEDIR} MAKE_DIRS+= ${GIT_CORE_TEMPLATEDIR}/hooks MAKE_DIRS+= ${GIT_CORE_TEMPLATEDIR}/info REQD_FILES+= ${GIT_TEMPLATES:@@.t.@@ \ ${EGDIR}/${GIT_TEMPLATEDIR}/${.t.} \ ${PREFIX}/${GIT_CORE_TEMPLATEDIR}/${.t.} \ @@:M*} CONFIGURE_ENV+= HOME=${PREFIX} CONFIGURE_ENV+= gitexecdir=${GITCOREDIR} MAKE_FLAGS+= INSTALL=${INSTALL:Q} MAKE_FLAGS+= CC_LD_DYNPATH=${COMPILER_RPATH_FLAG} MAKE_ENV+= NO_GITWEB=1 MAKE_ENV+= NO_PERL=1 GIT_TEMPLATE_INSTDIR= ${EGDIR}/${GIT_TEMPLATEDIR} MAKE_ENV+= GIT_TEMPLATE_INSTDIR=${GIT_TEMPLATE_INSTDIR} MESSAGE_SUBST+= GIT_TEMPLATE_INSTDIR=${GIT_TEMPLATE_INSTDIR} SUBST_CLASSES+= paths SUBST_FILES.paths= contrib/completion/git-completion.zsh SUBST_STAGE.paths= pre-configure SUBST_VARS.paths= PREFIX .include "../../mk/bsd.prefs.mk" .if ${USE_CROSS_COMPILE:U:tl} == "yes" CONFIGURE_ENV.NetBSD+= ac_cv_iconv_omits_bom=no CONFIGURE_ENV.NetBSD+= ac_cv_fread_reads_directories=yes CONFIGURE_ENV.NetBSD+= ac_cv_snprintf_returns_bogus=no # Needed to skip calling out to curl-config, which we can't do when # cross-compiling. XXX Consider teaching curl's buildlink3.mk to set # BUILDLINK_LIBS.curl=-lcurl so we can use it here. MAKE_ENV+= CURL_LDFLAGS=-lcurl .endif .if ${OPSYS} == "NetBSD" || ${OPSYS} == "SunOS" || ${OPSYS} == "OSF1" || ${OPSYS} == "HPUX" || ${OPSYS} == "QNX" || ${OPSYS} == "UnixWare" SUBST_CLASSES+= fix-cd-P SUBST_FILES.fix-cd-P= t/test-lib.sh SUBST_MESSAGE.fix-cd-P= Fixing cd arguments. SUBST_STAGE.fix-cd-P= pre-build SUBST_SED.fix-cd-P= -e "s/cd -P/cd/g" .endif .if ${MACHINE_PLATFORM:MDarwin-*-powerpc*} . include "../../devel/macports-legacy-support/buildlink3.mk" LDFLAGS+= -lMacportsLegacySupport MAKE_FLAGS+= NO_PTHREADS=YesPlease MAKE_FLAGS+= NO_UNIX_SOCKETS=YesPlease CPPFLAGS+= -DREG_ENHANCED=REG_EXTENDED CPPFLAGS+= -DSHA1DC_BIGENDIAN .endif SUBST_CLASSES+= test-shell SUBST_FILES.test-shell= t/Makefile SUBST_MESSAGE.test-shell= Use bash as TEST_SHELL_PATH SUBST_STAGE.test-shell= pre-build SUBST_SED.test-shell= -e '/^TEST_SHELL_PATH/ s;$$(SHELL_PATH);${TOOLS_BASH};' LDFLAGS.SunOS+= -lnsl .include "../../mk/compiler.mk" .if !empty(PKGSRC_COMPILER:Mclang) # configure test gets confused by wrappers dropping -R / CONFIGURE_ARGS+= git_cv_ld_dashr=no .endif # Prefer to install symlinks. INSTALL_ENV+= NO_CROSS_DIRECTORY_HARDLINKS=1 INSTALL_ENV+= NO_INSTALL_HARDLINKS=1 INSTALLATION_DIRS+= share/bash-completion/completions INSTALLATION_DIRS+= share/zsh/site-functions INSTALLATION_DIRS+= ${EGDIR} post-install: ${INSTALL_DATA} ${WRKSRC}/contrib/completion/git-completion.bash \ ${DESTDIR}${PREFIX}/share/bash-completion/completions/git ${INSTALL_DATA} ${WRKSRC}/contrib/completion/git-completion.zsh \ ${DESTDIR}${PREFIX}/share/zsh/site-functions/_git ${INSTALL_DATA} ${WRKSRC}/contrib/completion/git-prompt.sh \ ${DESTDIR}${EGDIR} # Delete files that are stubs saying git was built without # support for perl -- this way you can install git-perlscripts # with no conflicts, and git can depend on both git-base and # git-perlscripts. cd ${DESTDIR}${PREFIX} && \ rm -f \ libexec/git-core/git-archimport \ libexec/git-core/git-cvsexportcommit \ libexec/git-core/git-cvsimport \ libexec/git-core/git-cvsserver \ libexec/git-core/git-instaweb \ libexec/git-core/git-request-pull \ libexec/git-core/git-send-email \ libexec/git-core/git-svn \ # end of perl list .include "options.mk" .include "../../converters/libiconv/buildlink3.mk" .include "../../devel/gettext-lib/buildlink3.mk" BUILDLINK_API_DEPENDS.pcre2+= pcre2>=10.34 .include "../../devel/pcre2/buildlink3.mk" .include "../../devel/zlib/buildlink3.mk" .include "../../textproc/expat/buildlink3.mk" .include "../../www/curl/buildlink3.mk" .include "../../mk/bsd.pkg.mk" @ 1.113 log @git: updated to 2.43.0 Git v2.43 Release Notes ======================= Backward Compatibility Notes * The "--rfc" option of "git format-patch" used to be a valid way to override an earlier "--subject-prefix=" on the command line and replace it with "[RFC PATCH]", but from this release, it merely prefixes the string "RFC " in front of the given subject prefix. If you are negatively affected by this change, please use "--subject-prefix=PATCH --rfc" as a replacement. * In Git 2.42, "git rev-list --stdin" learned to take non-revisions (like "--not") from the standard input, but the way such a "--not" was handled was quite confusing, which has been rethought. The updated rule is that "--not" given from the command line only affects revs given from the command line that comes but not revs read from the standard input, and "--not" read from the standard input affects revs given from the standard input and not revs given from the command line. UI, Workflows & Features * A message written in olden time prevented a branch from getting checked out, saying it is already checked out elsewhere. But these days, we treat a branch that is being bisected or rebased just like a branch that is checked out and protect it from getting modified with the same codepath. The message has been rephrased to say that the branch is "in use" to avoid confusion. * Hourly and other schedules of "git maintenance" jobs are randomly distributed now. * "git cmd -h" learned to signal which options can be negated by listing such options like "--[no-]opt". * The way authentication related data other than passwords (e.g., oauth token and password expiration data) are stored in libsecret keyrings has been rethought. * Update the libsecret and wincred credential helpers to correctly match which credential to erase; they erased the wrong entry in some cases. * Git GUI updates. * "git format-patch" learned a new "--description-file" option that lets cover letter description to be fed; this can be used on detached HEAD where there is no branch description available, and also can override the branch description if there is one. * Use of the "--max-pack-size" option to allow multiple packfiles to be created is now supported even when we are sending unreachable objects to cruft packs. * "git format-patch --rfc --subject-prefix=" used to ignore the "--subject-prefix" option and used "[RFC PATCH]"; now we will add "RFC" prefix to whatever subject prefix is specified. * "git log --format" has been taught the %(decorate) placeholder for further customization over what the "--decorate" option offers. * The default log message created by "git revert", when reverting a commit that records a revert, has been tweaked, to encourage people to describe complex "revert of revert of revert" situations better in their own words. * The command-line completion support (in contrib/) learned to complete "git commit --trailer=" for possible trailer keys. * "git update-index" learned the "--show-index-version" option to inspect the index format version used by the on-disk index file. * "git diff" learned the "diff.statNameWidth" configuration variable, to give the default width for the name part in the "--stat" output. * "git range-diff --notes=foo" compared "log --notes=foo --notes" of the two ranges, instead of using just the specified notes tree, which has been corrected to use only the specified notes tree. * The command line completion script (in contrib/) can be told to complete aliases by including ": git ;" in the alias to tell it that the alias should be completed in a similar way to how "git " is completed. The parsing code for the alias has been loosened to allow ';' without an extra space before it. * "git for-each-ref" and friends learned to apply mailmap to authorname and other fields in a more flexible way than using separate placeholder letters like %a[eElL] every time we want to come up with small variants. * "git repack" machinery learned to pay attention to the "--filter=" option. * "git repack" learned the "--max-cruft-size" option to prevent cruft packs from growing without bounds. * "git merge-tree" learned to take strategy backend specific options via the "-X" option, like "git merge" does. * "git log" and friends learned the "--dd" option that is a short-hand for "--diff-merges=first-parent -p". * The attribute subsystem learned to honor the "attr.tree" configuration variable that specifies which tree to read the .gitattributes files from. * "git merge-file" learns a mode to read three variants of the contents to be merged from blob objects. Performance, Internal Implementation, Development Support etc. * "git check-attr" has been taught to work better with sparse-index. * It may be tempting to leave the help text NULL for a command line option that is either hidden or too obvious, but "git subcmd -h" and "git subcmd --help-all" would have segfaulted if done so. Now the help text is truly optional. * Tests that are known to pass with LSan are now marked as such. * Flaky "git p4" tests, as well as "git svn" tests, are now skipped in the (rather expensive) sanitizer CI job. * Tests with LSan from time to time seem to emit harmless messages that make our tests unnecessarily flaky; we work around it by filtering the uninteresting output. * Unused parameters to functions are marked as such, and/or removed, in order to bring us closer to "-Wunused-parameter" clean. * The code to keep track of existing packs in the repository while repacking has been refactored. * The "streaming" interface used for bulk-checkin codepath has been narrowed to take only blob objects for now, with no real loss of functionality. * GitHub CI workflow has learned to trigger Coverity check. * Test coverage for trailers has been improved. * The code to iterate over loose references has been optimized to reduce the number of lstat() system calls. * The codepaths that read "chunk" formatted files have been corrected to pay attention to the chunk size and notice broken files. * Replace macos-12 used at GitHub CI with macos-13. (merge 682a868f67 js/ci-use-macos-13 later to maint). Fixes since v2.42 ----------------- * Overly long label names used in the sequencer machinery are now chopped to fit under filesystem limitation. * Scalar updates. * Tweak GitHub Actions CI so that pushing the same commit to multiple branch tips at the same time will not waste building and testing the same thing twice. * The commit-graph verification code that detects a mixture of zero and non-zero generation numbers has been updated. * "git diff -w --exit-code" with various options did not work correctly, which has been corrected. * The "transfer.unpackLimit" configuration variable ought to be used as a fallback, but overrode the more specific "fetch.unpackLimit" and "receive.unpackLimit" configuration variables by mistake, which has been corrected. * The use of API between two calls to require_clean_work_tree() from the sequencer code has been cleaned up for consistency. * "git diff --no-such-option" and other corner cases around the exit status of the "diff" command have been corrected. * "git for-each-ref --sort='contents:size'" sorted the refs according to size numerically, giving a ref that points at a blob twelve-byte (12) long before showing a blob hundred-byte (100) long, which has been corrected. * We now limit the depth of the tree objects and maximum length of pathnames recorded in tree objects. (merge 4d5693ba05 jk/tree-name-and-depth-limit later to maint). * Various fixes to the behavior of "rebase -i", when the command got interrupted by conflicting changes, have been made. * References from a description of the `--patch` option in various manual pages have been simplified and improved. * "git grep -e A --no-or -e B" is accepted, even though the negation of the "--or" option did not mean anything, which has been tightened. * The completion script (in contrib/) has been taught to treat the "-t" option to "git checkout" and "git switch" just like the "--track" option, to complete remote-tracking branches. * "git diff --no-index -R <(one) <(two)" did not work correctly, which has been corrected. * "git maintenance" timers' implementation has been updated, based on systemd timers, to work with WSL. * "git diff --cached" codepath did not fill the necessary stat information for a file when fsmonitor knows it is clean and ended up behaving as if it were not clean, which has been corrected. * How "alias.foo = : git cmd ; aliased-command-string" should be spelled with necessary whitespace around punctuation marks to work has been more clearly documented (but this will be moot with newer versions of Git where the parsing rules have been improved). * HTTP Header redaction code has been adjusted for a newer version of cURL library that shows its traces differently from earlier versions. * An error message given by "git send-email", when given a malformed address, did not show the offending address, which has been corrected. * UBSan options were not propagated through the test framework to git run via the httpd, unlike ASan options, which has been corrected. * "checkout --merge -- path" and "update-index --unresolve path" did not resurrect conflicted state that was resolved to remove path, but now they do. (merge 5bdedac3c7 jc/unresolve-removal later to maint). * The display width table for unicode characters has been updated for Unicode 15.1 (merge 872976c37e bb/unicode-width-table-15 later to maint). * Update mailmap entry for Derrick. (merge 6e5457d8c7 ds/mailmap-entry-update later to maint). * In the ".gitmodules" files, submodules are keyed by their names, and the path to the submodule whose name is $name is specified by the submodule.$name.path variable. There were a few codepaths that mixed the name and path up when consulting the submodule database, which have been corrected. It took long for these bugs to be found as the name of a submodule initially is the same as its path, and the problem does not surface until it is moved to a different path, which apparently happens very rarely. * "git diff --merge-base X other args..." insisted that X must be a commit and errored out when given an annotated tag that peels to a commit, but we only need it to be a committish. This has been corrected. (merge 4adceb5a29 ar/diff-index-merge-base-fix later to maint). * "git merge-tree" used to segfault when the "--attr-source" option is used, which has been corrected. (merge e95bafc52f jc/merge-ort-attr-index-fix later to maint). * Unlike "git log --pretty=%D", "git log --pretty="%(decorate)" did not auto-initialize the decoration subsystem, which has been corrected. * Feeding "git stash store" with a random commit that was not created by "git stash create" now errors out. (merge d9b6634589 jc/fail-stash-to-store-non-stash later to maint). * The index file has room only for the lower 32-bit of the file size in the cached stat information, which means cached stat information will have 0 in its sd_size member for a file whose size is a multiple of 4GiB. This is mistaken for a racily clean path. Avoid it by storing a bogus sd_size value instead for such files. (merge 5143ac07b1 bc/racy-4gb-files later to maint). * "git p4" tried to store symlinks to LFS when told, but has been fixed not to do so, because it does not make sense. (merge 10c89a02b0 mm/p4-symlink-with-lfs later to maint). * The codepath to handle recipient addresses `git send-email --compose` learns from the user was completely broken, which has been corrected. (merge 3ec6167567 jk/send-email-fix-addresses-from-composed-messages later to maint). * "cd sub && git grep -f patterns" tried to read "patterns" file at the top level of the working tree; it has been corrected to read "sub/patterns" instead. * "git reflog expire --single-worktree" has been broken for the past 20 months or so, which has been corrected. * "git send-email" did not have certain pieces of data computed yet when it tried to validate the outgoing messages and its recipient addresses, which has been sorted out. * "git bugreport" learned to complain when it received a command line argument that it will not use. * The codepath to traverse the commit-graph learned to notice that a commit is missing (e.g., corrupt repository lost an object), even though it knows something about the commit (like its parents) from what is in commit-graph. (merge 7a5d604443 ps/do-not-trust-commit-graph-blindly-for-existence later to maint). * "git rev-list --missing" did not work for missing commit objects, which has been corrected. * "git rev-list --unpacked --objects" failed to exclude packed non-commit objects, which has been corrected. (merge 7b3c8e9f38 tb/rev-list-unpacked-fix later to maint). * "To dereference" and "to peel" were sometimes used in in-code comments and documentation but without description in the glossary. (merge 893dce2ffb vd/glossary-dereference-peel later to maint). * Other code cleanup, docfix, build fix, etc. (merge c2c349a15c xz/commit-title-soft-limit-doc later to maint). (merge 1bd809938a tb/format-pack-doc-update later to maint). (merge 8f81532599 an/clang-format-typofix later to maint). (merge 3ca86adc2d la/strvec-header-fix later to maint). (merge 6789275d37 jc/test-i18ngrep later to maint). (merge 9972cd6004 ps/leakfixes later to maint). (merge 46edab516b tz/send-email-helpfix later to maint). @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.112 2023/11/15 22:09:21 nia Exp $ d11 2 a12 1 USE_LANGUAGES= c99 @ 1.112 log @git-base: Fix building on Darwin/ppc. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.111 2023/11/08 13:18:44 wiz Exp $ a2 1 PKGREVISION= 1 @ 1.111 log @*: recursive bump for icu 74.1 @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.110 2023/11/03 10:49:39 adam Exp $ d61 1 d94 9 @ 1.110 log @git: updated to 2.42.1 Git 2.42.1 Release Notes ======================== There is nothing exciting to see here. Relative to Git 2.42, this release contains the fixes that have already been merged to the 'master' branch of the development towards Git 2.43 that has been tagged as Git 2.43.0-rc0. Fixes since Git 2.42.0 ---------------------- * Tests that are known to pass with LSan are now marked as such. * Flaky "git p4" tests, as well as "git svn" tests, are now skipped in the (rather expensive) sanitizer CI job. * Tests with LSan from time to time seem to emit harmless message that makes our tests unnecessarily flaky; we work it around by filtering the uninteresting output. * GitHub CI workflow has learned to trigger Coverity check. * Overly long label names used in the sequencer machinery are now chopped to fit under filesystem limitation. * Scalar updates. * Tweak GitHub Actions CI so that pushing the same commit to multiple branch tips at the same time will not waste building and testing the same thing twice. * The commit-graph verification code that detects mixture of zero and non-zero generation numbers has been updated. * "git diff -w --exit-code" with various options did not work correctly, which is being addressed. * transfer.unpackLimit ought to be used as a fallback, but overrode fetch.unpackLimit and receive.unpackLimit instead. * The use of API between two calls to require_clean_work_tree() from the sequencer code has been cleaned up for consistency. * "git diff --no-such-option" and other corner cases around the exit status of the "diff" command has been corrected. * "git for-each-ref --sort='contents:size'" sorts the refs according to size numerically, giving a ref that points at a blob twelve-byte (12) long before showing a blob hundred-byte (100) long. * Various fixes to the behavior of "rebase -i" when the command got interrupted by conflicting changes. * References from description of the `--patch` option in various manual pages have been simplified and improved. * "git grep -e A --no-or -e B" is accepted, even though the negation of "or" did not mean anything, which has been tightened. * The completion script (in contrib/) has been taught to treat the "-t" option to "git checkout" and "git switch" just like the "--track" option, to complete remote-tracking branches. * "git diff --no-index -R <(one) <(two)" did not work correctly, which has been corrected. * Update "git maintenance" timers' implementation based on systemd timers to work with WSL. * "git diff --cached" codepath did not fill the necessary stat information for a file when fsmonitor knows it is clean and ended up behaving as if it is not clean, which has been corrected. * Clarify how "alias.foo = : git cmd ; aliased-command-string" should be spelled with necessary whitespaces around punctuation marks to work. * HTTP Header redaction code has been adjusted for a newer version of cURL library that shows its traces differently from earlier versions. * An error message given by "git send-email" when given a malformed address did not give correct information, which has been corrected. * UBSan options were not propagated through the test framework to git run via the httpd, unlike ASan options, which has been corrected. Also contains various documentation updates, code clean-ups and minor fixups. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.109 2023/10/24 22:08:44 wiz Exp $ d3 1 @ 1.109 log @*: bump for openssl 3 @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.108 2023/08/24 09:33:30 adam Exp $ a2 1 PKGREVISION= 1 @ 1.108 log @git: updated to 2.42.0 Git v2.42 Release Notes ======================= UI, Workflows & Features * "git pack-refs" learns "--include" and "--exclude" to tweak the ref hierarchy to be packed using pattern matching. * 'git worktree add' learned how to create a worktree based on an orphaned branch with `--orphan`. * "git pack-objects" learned to invoke a new hook program that enumerates extra objects to be used as anchoring points to keep otherwise unreachable objects in cruft packs. * Add more "git var" for toolsmiths to learn various locations Git is configured with either via the configuration or hard-coded defaults. * 'git notes append' was taught '--separator' to specify string to insert between paragraphs. * The "git for-each-ref" family of commands learned placeholders related to GPG signature verification. * "git diff --no-index" learned to read from named pipes as if they were regular files, to allow "git diff <(process) <(substitution)" some shells support. * Help newbies by suggesting that there are cases where force-pushing is a valid and sensible thing to update a branch at a remote repository, rather than reconciling with merge/rebase. * "git blame --contents=file" has been taught to work in a bare repository. * "git branch -f X" to repoint the branch X said that X was "checked out" in another worktree, even when branch X was not and instead being bisected or rebased. The message was reworded to say the branch was "in use". * Tone down the warning on SHA-256 repositories being an experimental curiosity. We do not have support for them to interoperate with traditional SHA-1 repositories, but at this point, we do not plan to make breaking changes to SHA-256 repositories and there is no longer need for such a strongly phrased warning. Performance, Internal Implementation, Development Support etc. * "git diff-tree" has been taught to take advantage of the sparse-index feature. * Clang's sanitizer implementation seems to work better than GCC's. (merge d88d727143 jk/ci-use-clang-for-sanitizer-jobs later to maint). * The object traversal using reachability bitmap done by "pack-object" has been tweaked to take advantage of the fact that using "boundary" commits as representative of all the uninteresting ones can save quite a lot of object enumeration. * discover_git_directory() no longer touches the_repository. * "git worktree" learned to work better with sparse index feature. * When the external merge driver is killed by a signal, its output should not be trusted as a resolution with conflicts that is proposed by the driver, but the code did. * The set-up code for the get_revision() API now allows feeding options like --all and --not in the --stdin mode. * Move functions that are not about pure string manipulation out of strbuf.[ch] * "imap-send" codepaths got cleaned up to get rid of unused parameters. * Enumerating refs in the packed-refs file, while excluding refs that match certain patterns, has been optimized. * Mark-up unused parameters in the code so that we can eventually enable -Wunused-parameter by default. * Instead of inventing a custom counter variables for debugging, use existing trace2 facility in the fsync customization codepath. * "git branch --list --format=" and friends are taught a new "%(describe)" placeholder. * Clarify how to choose the starting point for a new topic in developer guidance document. * The implementation of "get_sha1_hex()" that reads a hexadecimal string that spells a full object name has been extended to cope with any hash function used in the repository, but the "sha1" in its name survived. Rename it to get_hash_hex(), a name that is more consistent within its friends like get_hash_hex_algop(). * Command line parser fix, and a small parse-options API update. Fixes since v2.41 ----------------- * "git tag" learned to leave the "$GIT_DIR/TAG_EDITMSG" file when the command failed, so that the user can salvage what they typed. (merge 08c12ec1d0 kh/keep-tag-editmsg-upon-failure later to maint). * The "-s" (silent, squelch) option of the "diff" family of commands did not interact with other options that specify the output format well. This has been cleaned up so that it will clear all the formatting options given before. (merge 9d484b92ed jc/diff-s-with-other-options later to maint). * Update documentation regarding Coccinelle patches. (merge 3bd0097cfc gc/doc-cocci-updates later to maint). * Some atoms that can be used in "--format=" for "git ls-tree" were not supported by "git ls-files", even though they were relevant in the context of the latter. (merge 4d28c4f75f zh/ls-files-format-atoms later to maint). * Document more pseudo-refs and teach the command line completion machinery to complete AUTO_MERGE. (merge 982ff3a649 pb/complete-and-document-auto-merge-and-friends later to maint). * "git submodule" code trusted the data coming from the config (and the in-tree .gitmodules file) too much without validating, leading to NULL dereference if the user mucks with a repository (e.g. submodule..url is removed). This has been corrected. (merge fbc806acd1 tb/submodule-null-deref-fix later to maint). * The value of config.worktree is per-repository, but has been kept in a singleton global variable per process. This has been OK as most Git operations interacted with a single repository at a time, but not right for operations like recursive "grep" that want to access multiple repositories from a single process without forking. The global variable has been eliminated and made into a member in the per-repository data structure. (merge 3867f6d650 vd/worktree-config-is-per-repository later to maint). * "git [-c log.follow=true] log [--follow] ':(glob)f**'" used to barf. (merge 8260bc5902 jk/log-follow-with-non-literal-pathspec later to maint). * Introduce a mechanism to disable replace refs globally and per repository. (merge 9c7d1b057f ds/disable-replace-refs later to maint). * "git cat-file --batch" and friends learned "-Z" that uses NUL delimiter for both input and output. (merge f79e18849b ps/cat-file-null-output later to maint). * The reimplemented "git add -i" did not honor color.ui configuration. (merge 6f74648cea ds/add-i-color-configuration-fix later to maint). * Compilation fix for platforms without D_TYPE in struct dirent. (merge 03bf92b9bf as/dtype-compilation-fix later to maint). * Suggest to refrain from using hex literals that are non-portable when writing printf(1) format strings. (merge f0b68f0546 jt/doc-use-octal-with-printf later to maint). * Simplify error message when run-command fails to start a command. (merge 6d224ac286 rs/run-command-exec-error-on-noent later to maint). * Gracefully deal with a stale MIDX file that lists a packfile that no longer exists. (merge 06f3867865 tb/open-midx-bitmap-fallback later to maint). * Even when diff.ignoreSubmodules tells us to ignore submodule changes, "git commit" with an index that already records changes to submodules should include the submodule changes in the resulting commit, but it did not. (merge 5768478edc js/defeat-ignore-submodules-config-with-explicit-addition later to maint). * When "git commit --trailer=..." invokes the interpret-trailers machinery, it knows what it feeds to interpret-trailers is a full log message without any patch, but failed to express that by passing the "--no-divider" option, which has been corrected. (merge be3d654343 jk/commit-use-no-divider-with-interpret-trailers later to maint). * Avoid breakage of "git pack-objects --cruft" due to inconsistency between the way the code enumerates packfiles in the repository. (merge 73320e49ad tb/collect-pack-filenames-fix later to maint). * We create .pack and then .idx, we consider only packfiles that have .idx usable (those with only .pack are not ready yet), so we should remove .idx before removing .pack for consistency. (merge 0dd1324a73 ds/remove-idx-before-pack later to maint). * Partially revert a sanity check that the rest of the config code was not ready, to avoid triggering it in a corner case. (merge a53f43f900 gc/config-partial-submodule-kvi-fix later to maint). * "git apply" punts when it is fed too large a patch input; the error message it gives when it happens has been clarified. (merge 42612e18d2 pw/apply-too-large later to maint). * During a cherry-pick or revert session that works on multiple commits, "git status" did not give correct information, which has been corrected. (merge a096a889f4 jk/cherry-pick-revert-status later to maint). * A few places failed to differentiate the case where the index is truly empty (nothing added) and we haven't yet read from the on-disk index file, which have been corrected. (merge 2ee045eea1 js/empty-index-fixes later to maint). * "git bugreport" tests did not test what it wanted to test, which has been corrected. (merge 1aa92b8500 ma/t0091-fixup later to maint). * Code snippets in a tutorial document no longer compiled after recent header shuffling, which have been corrected. (merge bbd7c7b7c0 vd/adjust-mfow-doc-to-updated-headers later to maint). * "git ls-files '(attr:X)D/'" that triggers the common prefix optimization codepath failed to read from "D/.gitattributes", which has been corrected. (merge f4a8fde057 jc/pathspec-match-with-common-prefix later to maint). * "git fsck --no-progress" still spewed noise from the commit-graph subsystem, which has been corrected. (merge 9281cd07f0 tb/fsck-no-progress later to maint). * Various offset computation in the code that accesses the packfiles and other data in the object layer has been hardened against arithmetic overflow, especially on 32-bit systems. (merge 9a25cad7e0 tb/object-access-overflow-protection later to maint). * Names of MinGW header files are spelled in mixed case in some source files, but the build host can be using case sensitive filesystem with header files with their name spelled in all lowercase. (merge 4a53d0d0bc mh/mingw-case-sensitive-build later to maint). * Update message mark-up for i18n in "git bundle". (merge bbb6acd998 dk/bundle-i18n-more later to maint). * "git tag --list --points-at X" showed tags that directly refers to object X, but did not list a tag that points at such a tag, which has been corrected. * "./configure --with-expat=no" did not work as a way to refuse use of the expat library on a system with the library installed, which has been corrected. (merge fb8f7269c2 ah/autoconf-fixes later to maint). * When the user edits "rebase -i" todo file so that it starts with a "fixup", which would make it invalid, the command truncated the rest of the file before giving an error and returning the control back to the user. Stop truncating to make it easier to correct such a malformed todo file. (merge 9645a087c2 ah/sequencer-rewrite-todo-fix later to maint). * Rewrite the description of giving a custom command to the submodule..update configuration variable. (merge 7cebc5bd78 pv/doc-submodule-update-settings later to maint). * Adjust to OpenSSL 3+, which deprecates its SHA-1 functions based on its traditional API, by using its EVP API instead. (merge bda9c12073 ew/hash-with-openssl-evp later to maint). * Exclude "." from the set of characters to be removed from the beginning and the end of the human-readable name. (merge 1c04cb0744 bc/ident-dot-is-no-longer-crud-letter later to maint). * "git bisect visualize" stopped running "gitk" on Git for Windows when the command was reimplemented in C around Git 2.34 timeframe. This has been corrected. (merge fff1594fa7 ma/locate-in-path-for-windows later to maint). * "git rebase -i" with a series of squash/fixup, when one of the steps stopped in conflicts and ended up getting skipped, did not handle the accumulated commit log messages, which has been corrected. (merge 6ce7afe163 pw/rebase-skip-commit-message-fix later to maint). * Adjust to newer Term::ReadLine to prevent it from breaking the interactive prompt code in send-email. (merge c016726c2d jk/send-email-with-new-readline later to maint). * Windows updates. (merge 0050f8e401 ds/maintenance-on-windows-fix later to maint). * Correct use of lstat() that assumed a failing call would not clobber the statbuf. (merge 72695d8214 st/mv-lstat-fix later to maint). * Other code cleanup, docfix, build fix, etc. (merge 51f9d2e563 sa/doc-ls-remote later to maint). (merge c6d26a9dda jk/format-patch-message-id-unleak later to maint). (merge f7e063f326 ps/fetch-cleanups later to maint). (merge e4cf013468 tl/quote-problematic-arg-for-clarity later to maint). (merge 20025fdfc7 tz/test-ssh-verifytime-fix later to maint). (merge e48a21df65 tz/test-fix-pthreads-prereq later to maint). (merge 68b51172e3 mh/commit-reach-get-reachable-plug-leak later to maint). (merge aeee1408ce kh/use-default-notes-doc later to maint). (merge 3b8724bce6 jc/test-modernization later to maint). (merge 447a3b7331 jc/test-modernization-2 later to maint). (merge d57fa7fc73 la/doc-interpret-trailers later to maint). (merge 548afb0d9a la/docs-typofixes later to maint). (merge 3744ffcbcd rs/doc-ls-tree-hex-literal later to maint). (merge 6c26da8404 mh/credential-erase-improvements later to maint). (merge 78e56cff69 tz/lib-gpg-prereq-fix later to maint). (merge 80d32e84b5 rj/leakfixes later to maint). (merge 0a868031ed pb/complete-diff-options later to maint). (merge d4f28279ad jc/doc-hash-object-types later to maint). (merge 1876a5ae15 ks/t4205-test-describe-with-abbrev-fix later to maint). (merge 6e6a529b57 jk/fsck-indices-in-worktrees later to maint). (merge 3e81b896f7 rs/packet-length-simplify later to maint). (merge 4c9cb51fe7 mh/doc-credential-helpers later to maint). (merge 3437f549dd jr/gitignore-doc-example-markup later to maint). (merge 947ebd62a0 jc/am-parseopt-fix later to maint). (merge e12cb98e1e jc/branch-parseopt-fix later to maint). (merge d6f598e443 jc/gitignore-doc-pattern-markup later to maint). (merge a2dad4868b jc/transport-parseopt-fix later to maint). (merge 68cbb20e73 jc/parse-options-show-branch later to maint). (merge 3821eb6c3d jc/parse-options-reset later to maint). (merge c48af99a3e bb/trace2-comment-fix later to maint). (merge c95ae3ff9c rs/describe-parseopt-fix later to maint). (merge 36f76d2a25 rs/pack-objects-parseopt-fix later to maint). (merge 30c8c55cbf jc/tree-walk-drop-base-offset later to maint). (merge d089a06421 rs/bundle-parseopt-cleanup later to maint). (merge 823839bda1 ew/sha256-gcrypt-leak-fixes later to maint). (merge a5c01603b3 bc/ignore-clangd-cache later to maint). (merge 12009a182b js/allow-t4000-to-be-indented-with-spaces later to maint). (merge b3dcd24b8a jc/send-email-pre-process-fix later to maint). @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.107 2023/08/14 05:24:08 wiz Exp $ d3 1 @ 1.107 log @*: recursive bump for Python 3.11 as new default @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.106 2023/06/09 23:51:52 riastradh Exp $ a2 1 PKGREVISION= 2 @ 1.106 log @devel/git-base: Make this cross-compile on NetBSD. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.105 2023/06/09 12:05:14 riastradh Exp $ d3 1 a3 1 PKGREVISION= 1 @ 1.105 log @git: Split Perl-dependent scripts into new git-perlscripts package. This way: - devel/git still installs everything it used to. - devel/git-base can be built without Perl. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.104 2023/04/26 08:44:38 adam Exp $ d75 10 @ 1.104 log @git: updated to 2.40.1 Git v2.40.1 Release Notes ========================= This release merges up the fix that appears in v2.30.9, v2.31.8, v2.32.7, v2.33.8, v2.34.8, v2.35.8, v2.36.6, v2.37.7, v2.38.5 and v2.39.3 to address the security issues CVE-2023-25652, CVE-2023-25815, and CVE-2023-29007; see the release notes for these versions for details. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.103 2023/04/19 08:09:40 adam Exp $ d3 1 a11 6 DEPENDS+= p5-Error>=0.17015:../../devel/p5-Error DEPENDS+= p5-Email-Valid>=0.190:../../mail/p5-Email-Valid DEPENDS+= p5-MailTools>=2.11:../../mail/p5-MailTools DEPENDS+= p5-Net-SMTP-SSL>=1.01:../../mail/p5-Net-SMTP-SSL DEPENDS+= p5-Authen-SASL>=1.0:../../security/p5-Authen-SASL d13 1 a13 4 USE_TOOLS+= perl:run sh:run msgfmt bash:test REPLACE_PERL+= *.perl */*.perl */*/*.perl REPLACE_PERL+= contrib/hooks/update-paranoid d22 1 a22 1 CONFIGURE_ARGS+= --with-perl=${PERL5:Q} a60 1 MAKE_ENV+= PERLLIBDIR=${PERL5_INSTALLVENDORLIB} d62 1 d112 15 a134 2 .include "../../lang/perl5/buildlink3.mk" .include "../../lang/perl5/vars.mk" @ 1.103 log @revbump after textproc/icu update @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.102 2022/12/12 22:03:23 adam Exp $ a2 1 PKGREVISION= 1 @ 1.102 log @git: updated to 2.38.2 Git 2.38.2 Release Notes ======================== This is to backport various fixes accumulated during the development towards Git 2.39, the next feature release. Fixes since v2.38.1 ------------------- * Update CodingGuidelines to clarify what features to use and avoid in C99. * The codepath that reads from the index v4 had unaligned memory accesses, which has been corrected. * "git remote rename" failed to rename a remote without fetch refspec, which has been corrected. * "git clone" did not like to see the "--bare" and the "--origin" options used together without a good reason. * Fix messages incorrectly marked for translation. * "git fsck" failed to release contents of tree objects already used from the memory, which has been fixed. * "git rebase -i" can mistakenly attempt to apply a fixup to a commit itself, which has been corrected. * In read-only repositories, "git merge-tree" tried to come up with a merge result tree object, which it failed (which is not wrong) and led to a segfault (which is bad), which has been corrected. * Force C locale while running tests around httpd to make sure we can find expected error messages in the log. * Fix a logic in "mailinfo -b" that miscomputed the length of a substring, which lead to an out-of-bounds access. * The codepath to sign learned to report errors when it fails to read from "ssh-keygen". * "GIT_EDITOR=: git branch --edit-description" resulted in failure, which has been corrected. * Documentation on various Boolean GIT_* environment variables have been clarified. * "git multi-pack-index repack/expire" used to repack unreachable cruft into a new pack, which have been corrected. * The code to clean temporary object directories (used for quarantine) tried to remove them inside its signal handler, which was a no-no. * "git branch --edit-description" on an unborh branch misleadingly said that no such branch exists, which has been corrected. * GitHub CI settings have been adjusted to recent reality, merging and cherry-picking necessary topics that have been prepared for Git 2.39. * `git rebase --update-refs` would delete references when all `update-ref` commands in the sequencer were removed, which has been corrected. Also contains various documentation updates and code clean-ups. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.101 2022/10/26 10:31:21 wiz Exp $ d3 1 @ 1.101 log @*: bump PKGREVISION for libunistring shlib major bump @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.100 2022/10/21 17:31:18 schmonz Exp $ a5 1 PKGREVISION= 2 @ 1.100 log @Install the zsh completion to site-functions. Bump PKGREVISION. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.99 2022/10/07 10:10:05 adam Exp $ d6 1 a6 1 PKGREVISION= 1 @ 1.99 log @git: updated to 2.38.0 Git v2.38 Release Notes ======================= UI, Workflows & Features * "git remote show [-n] frotz" now pays attention to negative pathspec. * "git push" sometimes performs poorly when reachability bitmaps are used, even in a repository where other operations are helped by bitmaps. The push.useBitmaps configuration variable is introduced to allow disabling use of reachability bitmaps only for "git push". * "git grep -m" is a way to limit the hits shown per file. * "git merge-tree" learned a new mode where it takes two commits and computes a tree that would result in the merge commit, if the histories leading to these two commits were to be merged. * "git mv A B" in a sparsely populated working tree can be asked to move a path between directories that are "in cone" (i.e. expected to be materialized in the working tree) and "out of cone" (i.e. expected to be hidden). The handling of such cases has been improved. * Earlier, HTTP transport clients learned to tell the server side what locale they are in by sending Accept-Language HTTP header, but this was done only for some requests but not others. * Introduce a safe.barerepository configuration variable that allows users to forbid discovery of bare repositories. * Various messages that come from the pack-bitmap codepaths have been tweaked. * "git rebase -i" learns to update branches whose tip appear in the rebased range with "--update-refs" option. * "git ls-files" learns the "--format" option to tweak its output. * "git cat-file" learned an option to use the mailmap when showing commit and tag objects. * When "git merge" finds that it cannot perform a merge, it should restore the working tree to the state before the command was initiated, but in some corner cases it didn't. * Operating modes like "--batch" of "git cat-file" command learned to take NUL-terminated input, instead of one-item-per-line. * "git rm" has become more aware of the sparse-index feature. * "git rev-list --disk-usage" learned to take an optional value "human" to show the reported value in human-readable format, like "3.40MiB". * The "diagnose" feature to create a zip archive for diagnostic material has been lifted from "scalar" and made into a feature of "git bugreport". * The namespaces used by "log --decorate" from "refs/" hierarchy by default has been tightened. * "git rev-list --ancestry-path=C A..B" is a natural extension of "git rev-list A..B"; instead of choosing a subset of A..B to those that have ancestry relationship with A, it lets a subset with ancestry relationship with C. * "scalar" now enables built-in fsmonitor on enlisted repositories, when able. * The bash prompt (in contrib/) learned to optionally indicate when the index is unmerged. * "git clone" command learned the "--bundle-uri" option to coordinate with hosting sites the use of pre-prepared bundle files. * "git range-diff" learned to honor pathspec argument if given. * "git format-patch --from=" can be told to add an in-body "From:" line even for commits that are authored by the given with "--force-in-body-from" option. * The built-in fsmonitor refuses to work on a network mounted repositories; a configuration knob for users to override this has been introduced. * The "scalar" addition from Microsoft is now part of the core Git installation. Performance, Internal Implementation, Development Support etc. * Collection of what is referenced by objects in promisor packs have been optimized to inspect these objects in the in-pack order. * Introduce a helper to see if a branch is already being worked on (hence should not be newly checked out in a working tree), which performs much better than the existing find_shared_symref() to replace many uses of the latter. * Teach "git archive" to (optionally and then by default) avoid spawning an external "gzip" process when creating ".tar.gz" (and ".tgz") archives. * Allow large objects read from a packstream to be streamed into a loose object file straight, without having to keep it in-core as a whole. * Further preparation to turn git-submodule.sh into a builtin continues. * Apply Coccinelle rule to turn raw memmove() into MOVE_ARRAY() cpp macro, which would improve maintainability and readability. * Teach "make all" to build gitweb as well. * Tweak tests so that they still work when the "git init" template did not create .git/info directory. * Add Coccinelle rules to detect the pattern of initializing and then finalizing a structure without using it in between at all, which happens after code restructuring and the compilers fail to recognize as an unused variable. * The code to convert between GPG trust level strings and internal constants we use to represent them have been cleaned up. * Support for libnettle as SHA256 implementation has been added. * The way "git multi-pack" uses parse-options API has been improved. * A Coccinelle rule (in contrib/) to encourage use of COPY_ARRAY macro has been improved. * API tweak to make it easier to run fuzz testing on commit-graph parser. * Omit fsync-related trace2 entries when their values are all zero. * The codepath to write multi-pack index has been taught to release a large chunk of memory that holds an array of objects in the packs, as soon as it is done with the array, to reduce memory consumption. * Add a level of redirection to array allocation API in xdiff part, to make it easier to share with the libgit2 project. * "git fetch" client logs the partial clone filter used in the trace2 output. * The "bundle URI" design gets documented. * The common ancestor negotiation exchange during a "git fetch" session now leaves trace log. * Test portability improvements. (merge 4d1d843be7 mt/rot13-in-c later to maint). * The "subcommand" mode is introduced to parse-options API and update the command line parser of Git commands with subcommands. * The pack bitmap file gained a bitmap-lookup table to speed up locating the necessary bitmap for a given commit. * The assembly version of SHA-1 implementation for PPC has been removed. * The server side that responds to "git fetch" and "git clone" request has been optimized by allowing it to send objects in its object store without recomputing and validating the object names. * Annotate function parameters that are not used (but cannot be removed for structural reasons), to prepare us to later compile with -Wunused warning turned on. * Share the text used to explain configuration variables used by "git " in "git help " with the text from "git help config". * "git mv A B" in a sparsely populated working tree can be asked to move a path from a directory that is "in cone" to another directory that is "out of cone". Handling of such a case has been improved. * The chainlint script for our tests has been revamped. Fixes since v2.37 ----------------- * Rewrite of "git add -i" in C that appeared in Git 2.25 didn't correctly record a removed file to the index, which was fixed. * Certain diff options are currently ignored when combined-diff is shown; mark them as incompatible with the feature. * Adjust technical/bitmap-format to be formatted by AsciiDoc, and add some missing information to the documentation. * Fixes for tests when the source directory has unusual characters in its path, e.g. whitespaces, double-quotes, etc. * "git mktree --missing" lazily fetched objects that are missing from the local object store, which was totally unnecessary for the purpose of creating the tree object(s) from its input. * Give _() markings to fatal/warning/usage: labels that are shown in front of these messages. * References to commands-to-be-typed-literally in "git rebase" documentation mark-up have been corrected. * In a non-bare repository, the behavior of Git when the core.worktree configuration variable points at a directory that has a repository as its subdirectory, regressed in Git 2.27 days. * Recent update to vimdiff layout code has been made more robust against different end-user vim settings. * Plug various memory leaks, both in the main code and in test-tool commands. * Fixes a long-standing corner case bug around directory renames in the merge-ort strategy. * The resolve-undo information in the index was not protected against GC, which has been corrected. * A corner case bug where lazily fetching objects from a promisor remote resulted in infinite recursion has been corrected. * "git clone" from a repository with some ref whose HEAD is unborn did not set the HEAD in the resulting repository correctly, which has been corrected. * An earlier attempt to plug leaks placed a clean-up label to jump to at a bogus place, which as been corrected. * Variable quoting fix in the vimdiff driver of "git mergetool" * "git shortlog -n" relied on the underlying qsort() to be stable, which shouldn't have. Fixed. * A fix for a regression in test framework. * mkstemp() emulation on Windows has been improved. * Add missing documentation for "include" and "includeIf" features in "git config" file format, which incidentally teaches the command line completion to include them in its offerings. * Avoid "white/black-list" in documentation and code comments. * Workaround for a compiler warning against use of die() in osx-keychain (in contrib/). * Workaround for a false positive compiler warning. * "git p4" working on UTF-16 files on Windows did not implement CRLF-to-LF conversion correctly, which has been corrected. * "git p4" did not handle non-ASCII client name well, which has been corrected. * "rerere-train" script (in contrib/) used to honor commit.gpgSign while recreating the throw-away merges. * "git checkout" miscounted the paths it updated, which has been corrected. * Fix for a bug that makes write-tree to fail to write out a non-existent index as a tree, introduced in 2.37. * There was a bug in the codepath to upgrade generation information in commit-graph from v1 to v2 format, which has been corrected. * Gitweb had legacy URL shortener that is specific to the way projects hosted on kernel.org used to (but no longer) work, which has been removed. * Fix build procedure for Windows that uses CMake so that it can pick up the shell interpreter from local installation location. * Conditionally allow building Python interpreter on Windows * Fix to lstat() emulation on Windows. * Older gcc with -Wall complains about the universal zero initializer "struct s = { 0 };" idiom, which makes developers' lives inconvenient (as -Werror is enabled by DEVELOPER=YesPlease). The build procedure has been tweaked to help these compilers. * Plug memory leaks in the failure code path in the "merge-ort" merge strategy backend. * "git symbolic-ref symref non..sen..se" is now diagnosed as an error. * A follow-up fix to a fix for a regression in 2.36 around hooks. * Avoid repeatedly running getconf to ask libc version in the test suite, and instead just as it once per script. * Platform-specific code that determines if a directory is OK to use as a repository has been taught to report more details, especially on Windows. * "vimdiff3" regression fix. * "git fsck" reads mode from tree objects but canonicalizes the mode before passing it to the logic to check object sanity, which has hid broken tree objects from the checking logic. This has been corrected, but to help existing projects with broken tree objects that they cannot fix retroactively, the severity of anomalies this code detects has been demoted to "info" for now. * Fixes to sparse index compatibility work for "reset" and "checkout" commands. * An earlier optimization discarded a tree-object buffer that is still in use, which has been corrected. * Fix deadlocks between main Git process and subprocess spawned via the pipe_command() API, that can kill "git add -p" that was reimplemented in C recently. * The sequencer machinery translated messages left in the reflog by mistake, which has been corrected. * xcalloc(), imitating calloc(), takes "number of elements of the array", and "size of a single element", in this order. A call that does not follow this ordering has been corrected. * The preload-index codepath made copies of pathspec to give to multiple threads, which were left leaked. * Update the version of Ubuntu used for GitHub Actions CI from 18.04 to 22.04. * The auto-stashed local changes created by "git merge --autostash" was mixed into a conflicted state left in the working tree, which has been corrected. * Multi-pack index got corrupted when preferred pack changed from one pack to another in a certain way, which has been corrected. (merge 99e4d084ff tb/midx-with-changing-preferred-pack-fix later to maint). * The clean-up of temporary files created via mks_tempfile_dt() was racy and attempted to unlink() the leading directory when signals are involved, which has been corrected. (merge babe2e0559 rs/tempfile-cleanup-race-fix later to maint). * FreeBSD portability fix for "git maintenance" that spawns "crontab" to schedule tasks. (merge ee69e7884e bc/gc-crontab-fix later to maint). * Those who use diff-so-fancy as the diff-filter noticed a regression or two in the code that parses the diff output in the built-in version of "add -p", which has been corrected. (merge 0a101676e5 js/add-p-diff-parsing-fix later to maint). * Segfault fix-up to an earlier fix to the topic to teach "git reset" and "git checkout" work better in a sparse checkout. (merge 037f8ea6d9 vd/sparse-reset-checkout-fixes later to maint). * "git diff --no-index A B" managed its the pathnames of its two input files rather haphazardly, sometimes leaking them. The command line argument processing has been straightened out to clean it up. (merge 2b43dd0eb5 rs/diff-no-index-cleanup later to maint). * "git rev-list --verify-objects" ought to inspect the contents of objects and notice corrupted ones, but it didn't when the commit graph is in use, which has been corrected. (merge b27ccae34b jk/rev-list-verify-objects-fix later to maint). * More fixes to "add -p" (merge 64ec8efb83 js/builtin-add-p-portability-fix later to maint). * The parser in the script interface to parse-options in "git rev-parse" has been updated to diagnose a bogus input correctly. (merge f20b9c36d0 ow/rev-parse-parseopt-fix later to maint). * The code that manages list-object-filter structure, used in partial clones, leaked the instances, which has been plugged. (merge 66eede4a37 jk/plug-list-object-filter-leaks later to maint). * Fix another UI regression in the reimplemented "add -p". (merge f6f0ee247f rs/add-p-worktree-mode-prompt-fix later to maint). * "git fetch" over protocol v2 sent an incorrect ref prefix request to the server and made "git pull" with configured fetch refspec that does not cover the remote branch to merge with fail, which has been corrected. (merge 49ca2fba39 jk/proto-v2-ref-prefix-fix later to maint). * A result from opendir() was leaking in the commit-graph expiration codepath, which has been plugged. (merge 12f1ae5324 ml/commit-graph-expire-dir-leak-fix later to maint). * Just like we have coding guidelines, we now have guidelines for reviewers. (merge e01b851923 vd/doc-reviewing-guidelines later to maint). * Other code cleanup, docfix, build fix, etc. (merge 77b9e85c0f vd/fix-perf-tests later to maint). (merge 0682bc43f5 jk/test-crontab-fixes later to maint). (merge b46dd1726c cc/doc-trailer-whitespace-rules later to maint). @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.98 2022/08/09 12:08:28 jperkin Exp $ d6 1 d77 5 d111 1 d117 2 @ 1.98 log @*: Remove hardcoded -liconv / -lintl on SunOS. This is now handled centrally via OPSYS_EXPLICIT_LIBDEPS support in libiconv and gettext-lib. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.97 2022/07/06 11:53:59 adam Exp $ d70 1 @ 1.97 log @git: updated to 2.37.0 Git v2.37 Release Notes ======================= UI, Workflows & Features * "vimdiff[123]" mergetool drivers have been reimplemented with a more generic layout mechanism. * "git -v" and "git -h" are now understood as "git --version" and "git --help". * The temporary files fed to external diff command are now generated inside a new temporary directory under the same basename. * "git log --since=X" will stop traversal upon seeing a commit that is older than X, but there may be commits behind it that is younger than X when the commit was created with a faulty clock. A new option is added to keep digging without stopping, and instead filter out commits with timestamp older than X. * "git -c branch.autosetupmerge=simple branch $A $B" will set the $B as $A's upstream only when $A and $B shares the same name, and "git -c push.default=simple" on branch $A would push to update the branch $A at the remote $B came from. Also more places use the sole remote, if exists, before defaulting to 'origin'. * A new doc has been added that lists tips for tools to work with Git's codebase. * "git remote -v" now shows the list-objects-filter used during fetching from the remote, if available. * With the new http.curloptResolve configuration, the CURLOPT_RESOLVE mechanism that allows cURL based applications to use pre-resolved IP addresses for the requests is exposed to the scripts. * "git add -i" was rewritten in C some time ago and has been in testing; the reimplementation is now exposed to general public by default. * Deprecate non-cone mode of the sparse-checkout feature. * Introduce a filesystem-dependent mechanism to optimize the way the bits for many loose object files are ensured to hit the disk platter. * The "do not remove the directory the user started Git in" logic, when Git cannot tell where that directory is, is disabled. Earlier we refused to run in such a case. * A mechanism to pack unreachable objects into a "cruft pack", instead of ejecting them into loose form to be reclaimed later, has been introduced. * Update the doctype written in gitweb output to xhtml5. * The "transfer.credentialsInURL" configuration variable controls what happens when a URL with embedded login credential is used on either "fetch" or "push". Credentials are currently only detected in `remote..url` config, not `remote..pushurl`. * "git revert" learns "--reference" option to use more human-readable reference to the commit it reverts in the message template it prepares for the user. * Various error messages that talk about the removal of "--preserve-merges" in "rebase" have been strengthened, and "rebase --abort" learned to get out of a state that was left by an earlier use of the option. Performance, Internal Implementation, Development Support etc. * The performance of the "untracked cache" feature has been improved when "--untracked-files=" and "status.showUntrackedFiles" are combined. * "git stash" works better with sparse index entries. * "git show :" learned to work better with the sparse-index feature. * Introduce and apply coccinelle rule to discourage an explicit comparison between a pointer and NULL, and applies the clean-up to the maintenance track. * Preliminary code refactoring around transport and bundle code. * "sparse-checkout" learns to work better with the sparse-index feature. * A workflow change for translators are being proposed. git.pot is no longer version controlled and it is local responsibility of translators to generate it. * Plug the memory leaks from the trickiest API of all, the revision walker. * Rename .env_array member to .env in the child_process structure. * The fsmonitor--daemon handles even more corner cases when watching filesystem events. * A new bug() and BUG_if_bug() API is introduced to make it easier to uniformly log "detect multiple bugs and abort in the end" pattern. Fixes since v2.36 ----------------- * "git submodule update" without pathspec should silently skip an uninitialized submodule, but it started to become noisy by mistake. (merge 4f1ccef87c gc/submodule-update-part2 later to maint). * "diff-tree --stdin" has been broken for about a year, but 2.36 release broke it even worse by breaking running the command with , which in turn broke "gitk" and got noticed. This has been corrected by aligning its behaviour to that of "log". (merge f8781bfda3 jc/diff-tree-stdin-fix later to maint). * Regression fix for 2.36 where "git name-rev" started to sometimes reference strings after they are freed. (merge 45a14f578e rs/name-rev-fix-free-after-use later to maint). * "git show ... -- " lost the pathspec when showing the second and subsequent commits, which has been corrected. (merge 5cdb38458e jc/show-pathspec-fix later to maint). * "git fast-export -- " lost the pathspec when showing the second and subsequent commits, which has been corrected. (merge d1c25272f5 rs/fast-export-pathspec-fix later to maint). * "git format-patch -- " lost the pathspec when showing the second and subsequent commits, which has been corrected. (merge 91f8f7e46f rs/format-patch-pathspec-fix later to maint). * "git clone --origin X" leaked piece of memory that held value read from the clone.defaultRemoteName configuration variable, which has been plugged. (merge 6dfadc8981 jc/clone-remote-name-leak-fix later to maint). * Get rid of a bogus and over-eager coccinelle rule. (merge 08bdd3a185 jc/cocci-xstrdup-or-null-fix later to maint). * The path taken by "git multi-pack-index" command from the end user was compared with path internally prepared by the tool without first normalizing, which lead to duplicated paths not being noticed, which has been corrected. (merge 11f9e8de3d ds/midx-normalize-pathname-before-comparison later to maint). * Correct choices of C compilers used in various CI jobs. (merge 3506cae04f ab/cc-package-fixes later to maint). * Various cleanups to "git p4". (merge 4ff0108d9e jh/p4-various-fixups later to maint). * The progress meter of "git blame" was showing incorrect numbers when processing only parts of the file. (merge e5f5d7d42e ea/progress-partial-blame later to maint). * "git rebase --keep-base " computed the commit to rebase onto incorrectly, which has been corrected. (merge 9e5ebe9668 ah/rebase-keep-base-fix later to maint). * Fix a leak of FILE * in an error codepath. (merge c0befa0c03 kt/commit-graph-plug-fp-leak-on-error later to maint). * Avoid problems from interaction between malloc_check and address sanitizer. (merge 067109a5e7 pw/test-malloc-with-sanitize-address later to maint). * The commit summary shown after making a commit is matched to what is given in "git status" not to use the break-rewrite heuristics. (merge 84792322ed rs/commit-summary-wo-break-rewrite later to maint). * Update a few end-user facing messages around EOL conversion. (merge c970d30c2c ah/convert-warning-message later to maint). * Trace2 documentation updates. (merge a6c80c313c js/trace2-doc-fixes later to maint). * Build procedure fixup. (merge 1fbfd96f50 mg/detect-compiler-in-c-locale later to maint). * "git pull" without "--recurse-submodules=" made submodule.recurse take precedence over fetch.recurseSubmodules by mistake, which has been corrected. (merge 5819417365 gc/pull-recurse-submodules later to maint). * "git bisect" was too silent before it is ready to start computing the actual bisection, which has been corrected. (merge f11046e6de cd/bisect-messages-from-pre-flight-states later to maint). * macOS CI jobs have been occasionally flaky due to tentative version skew between perforce and the homebrew packager. Instead of failing the whole CI job, just let it skip the p4 tests when this happens. (merge f15e00b463 cb/ci-make-p4-optional later to maint). * A bit of test framework fixes with a few fixes to issues found by valgrind. (merge 7c898554d7 ab/valgrind-fixes later to maint). * "git archive --add-file=" picked up the raw permission bits from the path and propagated to zip output in some cases, without normalization, which has been corrected (tar output did not have this issue). (merge 6a61661967 jc/archive-add-file-normalize-mode later to maint). * "make coverage-report" without first running "make coverage" did not produce any meaningful result, which has been corrected. (merge 96ddfecc5b ep/coverage-report-wants-test-to-have-run later to maint). * The "--current" option of "git show-branch" should have been made incompatible with the "--reflog" mode, but this was not enforced, which has been corrected. (merge 41c64ae0e7 jc/show-branch-g-current later to maint). * "git fetch" unnecessarily failed when an unexpected optional section appeared in the output, which has been corrected. (merge 7709acf7be jt/fetch-peek-optional-section later to maint). * The way "git fetch" without "--update-head-ok" ensures that HEAD in no worktree points at any ref being updated was too wasteful, which has been optimized a bit. (merge f7400da800 os/fetch-check-not-current-branch later to maint). * "git fetch --recurse-submodules" from multiple remotes (either from a remote group, or "--all") used to make one extra "git fetch" in the submodules, which has been corrected. (merge 0353c68818 jc/avoid-redundant-submodule-fetch later to maint). * With a recent update to refuse access to repositories of other people by default, "sudo make install" and "sudo git describe" stopped working, which has been corrected. (merge 6b11e3d52e cb/path-owner-check-with-sudo-plus later to maint). * The tests that ensured merges stop when interfering local changes are present did not make sure that local changes are preserved; now they do. (merge 4b317450ce jc/t6424-failing-merge-preserve-local-changes later to maint). * Some real problems noticed by gcc 12 have been fixed, while false positives have been worked around. * Update the version of FreeBSD image used in Cirrus CI. (merge c58bebd4c6 pb/use-freebsd-12.3-in-cirrus-ci later to maint). * The multi-pack-index code did not protect the packfile it is going to depend on from getting removed while in use, which has been corrected. (merge 4090511e40 tb/midx-race-in-pack-objects later to maint). * Teach "git repack --geometric" work better with "--keep-pack" and avoid corrupting the repository when packsize limit is used. (merge 66731ff921 tb/geom-repack-with-keep-and-max later to maint). * The documentation on the interaction between "--add-file" and "--prefix" options of "git archive" has been improved. (merge a75910602a rs/document-archive-prefix later to maint). * A git subcommand like "git add -p" spawns a separate git process while relaying its command line arguments. A pathspec with only negative elements was mistakenly passed with an empty string, which has been corrected. (merge b02fdbc80a jc/all-negative-pathspec later to maint). * With a more targeted workaround in http.c in another topic, we may be able to lift this blanket "GCC12 dangling-pointer warning is broken and unsalvageable" workaround. (merge 419141e495 cb/buggy-gcc-12-workaround later to maint). * A misconfigured 'branch..remote' led to a bug in configuration parsing. (merge f1dfbd9ee0 gc/zero-length-branch-config-fix later to maint). * "git -c diff.submodule=log range-diff" did not show anything for submodules that changed in the ranges being compared, and "git -c diff.submodule=diff range-diff" did not work correctly. Fix this by including the "--submodule=short" output unconditionally to be compared. * In Git 2.36 we revamped the way how hooks are invoked. One change that is end-user visible is that the output of a hook is no longer directly connected to the standard output of "git" that spawns the hook, which was noticed post release. This is getting corrected. (merge a082345372 ab/hooks-regression-fix later to maint). * Updating the graft information invalidates the list of parents of in-core commit objects that used to be in the graft file. * "git show-ref --heads" (and "--tags") still iterated over all the refs only to discard refs outside the specified area, which has been corrected. (merge c0c9d35e27 tb/show-ref-optim later to maint). * Remove redundant copying (with index v3 and older) or possible over-reading beyond end of mmapped memory (with index v4) has been corrected. (merge 6d858341d2 zh/read-cache-copy-name-entry-fix later to maint). * Sample watchman interface hook sometimes failed to produce correctly formatted JSON message, which has been corrected. (merge 134047b500 sn/fsmonitor-missing-clock later to maint). * Use-after-free (with another forget-to-free) fix. (merge 323822c72b ab/remote-free-fix later to maint). * Remove a coccinelle rule that is no longer relevant. (merge b1299de4a1 jc/cocci-cleanup later to maint). * Other code cleanup, docfix, build fix, etc. (merge e6b2582da3 cm/reftable-0-length-memset later to maint). (merge 0b75e5bf22 ab/misc-cleanup later to maint). (merge 52e1ab8a76 ea/rebase-code-simplify later to maint). (merge 756d15923b sg/safe-directory-tests-and-docs later to maint). (merge d097a23bfa ds/do-not-call-bug-on-bad-refs later to maint). (merge c36c27e75c rs/t7812-pcre2-ws-bug-test later to maint). (merge 1da312742d gf/unused-includes later to maint). (merge 465b30a92d pb/submodule-recurse-mode-enum later to maint). (merge 82b28c4ed8 km/t3501-use-test-helpers later to maint). (merge 72315e431b sa/t1011-use-helpers later to maint). (merge 95b3002201 cg/vscode-with-gdb later to maint). (merge fbe5f6b804 tk/p4-utf8-bom later to maint). (merge 17f273ffba tk/p4-with-explicity-sync later to maint). (merge 944db25c60 kf/p4-multiple-remotes later to maint). (merge b014cee8de jc/update-ozlabs-url later to maint). (merge 4ec5008062 pb/ggg-in-mfc-doc later to maint). (merge af845a604d tb/receive-pack-code-cleanup later to maint). (merge 2acf4cf001 js/ci-gcc-12-fixes later to maint). (merge 05e280c0a6 jc/http-clear-finished-pointer later to maint). (merge 8c49d704ef fh/transport-push-leakfix later to maint). (merge 1d232d38bd tl/ls-tree-oid-only later to maint). (merge db7961e6a6 gc/document-config-worktree-scope later to maint). (merge ce18a30bb7 fs/ssh-default-key-command-doc later to maint). @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.96 2022/06/28 11:31:43 wiz Exp $ d91 1 a91 1 LDFLAGS.SunOS+= -lintl -lnsl @ 1.96 log @*: recursive bump for perl 5.36 @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.95 2022/01/28 09:07:58 adam Exp $ a2 1 PKGREVISION= 1 @ 1.95 log @git: updated to 2.35.0 Git 2.35 Release Notes ====================== Updates since Git 2.34 ---------------------- Backward compatibility warts * "_" is now treated as any other URL-valid characters in an URL when matching the per-URL configuration variable names. * The color palette used by "git grep" has been updated to match that of GNU grep. Note to those who build from the source * You may need to define NO_UNCOMPRESS2 Makefile macro if you build with zlib older than 1.2.9. * If your compiler cannot grok C99, the build will fail. See the instruction at the beginning of git-compat-util.h if this happens to you. UI, Workflows & Features * "git status --porcelain=v2" now show the number of stash entries with --show-stash like the normal output does. * "git stash" learned the "--staged" option to stash away what has been added to the index (and nothing else). * "git var GIT_DEFAULT_BRANCH" is a way to see what name is used for the newly created branch if "git init" is run. * Various operating modes of "git reset" have been made to work better with the sparse index. * "git submodule deinit" for a submodule whose .git metadata directory is embedded in its working tree refused to work, until the submodule gets converted to use the "absorbed" form where the metadata directory is stored in superproject, and a gitfile at the top-level of the working tree of the submodule points at it. The command is taught to convert such submodules to the absorbed form as needed. * The completion script (in contrib/) learns that the "--date" option of commands from the "git log" family takes "human" and "auto" as valid values. * "Zealous diff3" style of merge conflict presentation has been added. * The "git log --format=%(describe)" placeholder has been extended to allow passing selected command-line options to the underlying "git describe" command. * "default" and "reset" have been added to our color palette. * The cryptographic signing using ssh keys can specify literal keys for keytypes whose name do not begin with the "ssh-" prefix by using the "key::" prefix mechanism (e.g. "key::ecdsa-sha2-nistp256"). * "git fetch" without the "--update-head-ok" option ought to protect a checked out branch from getting updated, to prevent the working tree that checks it out to go out of sync. The code was written before the use of "git worktree" got widespread, and only checked the branch that was checked out in the current worktree, which has been updated. * "git name-rev" has been tweaked to give output that is shorter and easier to understand. * "git apply" has been taught to ignore a message without a patch with the "--allow-empty" option. It also learned to honor the "--quiet" option given from the command line. * The "init" and "set" subcommands in "git sparse-checkout" have been unified for a better user experience and performance. * Many git commands that deal with working tree files try to remove a directory that becomes empty (i.e. "git switch" from a branch that has the directory to another branch that does not would attempt remove all files in the directory and the directory itself). This drops users into an unfamiliar situation if the command was run in a subdirectory that becomes subject to removal due to the command. The commands have been taught to keep an empty directory if it is the directory they were started in to avoid surprising users. * "git am" learns "--empty=(stop|drop|keep)" option to tweak what is done to a piece of e-mail without a patch in it. * The default merge message prepared by "git merge" records the name of the current branch; the name can be overridden with a new option to allow users to pretend a merge is made on a different branch. * The way "git p4" shows file sizes in its output has been updated to use human-readable units. * "git -c branch.autosetupmerge=inherit branch new old" makes "new" to have the same upstream as the "old" branch, instead of marking "old" itself as its upstream. Performance, Internal Implementation, Development Support etc. * The use of errno as a means to carry the nature of error in the ref API implementation has been reworked and reduced. * Teach and encourage first-time contributors to this project to state the base commit when they submit their topic. * The command line completion for "git send-email" options have been tweaked to make it easier to keep it in sync with the command itself. * Ensure that the sparseness of the in-core index matches the index.sparse configuration specified by the repository immediately after the on-disk index file is read. * Code clean-up to eventually allow information on remotes defined for an arbitrary repository to be read. * Build optimization. * Tighten code for testing pack-bitmap. * Weather balloon to break people with compilers that do not support C99. * The "reftable" backend for the refs API, without integrating into the refs subsystem, has been added. * More tests are marked as leak-free. * The test framework learns to list unsatisfied test prerequisites, and optionally error out when prerequisites that are expected to be satisfied are not. * The default setting for trace2 event nesting was too low to cause test failures, which is worked around by bumping it up in the test framework. * Drop support for TravisCI and update test workflows at GitHub. * Many tests that used to need GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME mechanism to force "git" to use 'master' as the default name for the initial branch no longer need it; the use of the mechanism from them have been removed. * Allow running our tests while disabling fsync. * Document the parameters given to the reflog entry iterator callback functions. (merge e6e94f34b2 jc/reflog-iterator-callback-doc later to maint). * The test helper for refs subsystem learned to write bogus and/or nonexistent object name to refs to simulate error situations we want to test Git in. * "diff --histogram" optimization. * Weather balloon to find compilers that do not grok variable declaration in the for() loop. * diff and blame commands have been taught to work better with sparse index. * The chainlint test script linter in the test suite has been updated. * The DEVELOPER=yes build uses -std=gnu99 now. * "git format-patch" uses a single rev_info instance and then exits. Mark the structure with UNLEAK() macro to squelch leak sanitizer. * New interface into the tmp-objdir API to help in-core use of the quarantine feature. * Broken &&-chains in the test scripts have been corrected. * The RCS keyword substitution in "git p4" used to be done assuming that the contents are UTF-8 text, which can trigger decoding errors. We now treat the contents as a bytestring for robustness and correctness. * The conditions to choose different definitions of the FLEX_ARRAY macro for vendor compilers has been simplified to make it easier to maintain. * Correctness and performance update to "diff --color-moved" feature. * "git upload-pack" (the other side of "git fetch") used a 8kB buffer but most of its payload came on 64kB "packets". The buffer size has been enlarged so that such a packet fits. * "git fetch" and "git pull" are now declared sparse-index clean. Also "git ls-files" learns the "--sparse" option to help debugging. * Similar message templates have been consolidated so that translators need to work on fewer number of messages. Fixes since v2.34 ----------------- * "git grep" looking in a blob that has non-UTF8 payload was completely broken when linked with certain versions of PCREv2 library in the latest release. * Other code cleanup, docfix, build fix, etc. * "git pull" with any strategy when the other side is behind us should succeed as it is a no-op, but doesn't. * An earlier change in 2.34.0 caused JGit application (that abused GIT_EDITOR mechanism when invoking "git config") to get stuck with a SIGTTOU signal; it has been reverted. * An earlier change that broke .gitignore matching has been reverted. * Things like "git -c branch.sort=bogus branch new HEAD", i.e. the operation modes of the "git branch" command that do not need the sort key information, no longer errors out by seeing a bogus sort key. (merge 98e7ab6d42 jc/fix-ref-sorting-parse later to maint). * The compatibility implementation for unsetenv(3) were written to mimic ancient, non-POSIX, variant seen in an old glibc; it has been changed to return an integer to match the more modern era. (merge a38989bd5b jc/unsetenv-returns-an-int later to maint). * The clean/smudge conversion code path has been prepared to better work on platforms where ulong is narrower than size_t. (merge 596b5e77c9 mc/clean-smudge-with-llp64 later to maint). * Redact the path part of packfile URI that appears in the trace output. (merge 0ba558ffb1 if/redact-packfile-uri later to maint). * CI has been taught to catch some Unicode directional formatting sequence that can be used in certain mischief. (merge 0e7696c64d js/ci-no-directional-formatting later to maint). * The "--date=format:" gained a workaround for the lack of system support for a non-local timezone to handle "%s" placeholder. (merge 9b591b9403 jk/strbuf-addftime-seconds-since-epoch later to maint). * The "merge" subcommand of "git jump" (in contrib/) silently ignored pathspec and other parameters. (merge 67ba13e5a4 jk/jump-merge-with-pathspec later to maint). * The code to decode the length of packed object size has been corrected. (merge 34de5b8eac jt/pack-header-lshift-overflow later to maint). * The advice message given by "git pull" when the user hasn't made a choice between merge and rebase still said that the merge is the default, which no longer is the case. This has been corrected. (merge 71076d0edd ah/advice-pull-has-no-preference-between-rebase-and-merge later to maint). * "git fetch", when received a bad packfile, can fail with SIGPIPE. This wasn't wrong per-se, but we now detect the situation and fail in a more predictable way. (merge 2a4aed42ec jk/fetch-pack-avoid-sigpipe-to-index-pack later to maint). * The function to cull a child process and determine the exit status had two separate code paths for normal callers and callers in a signal handler, and the latter did not yield correct value when the child has caught a signal. The handling of the exit status has been unified for these two code paths. An existing test with flakiness has also been corrected. (merge 5263e22cba jk/t7006-sigpipe-tests-fix later to maint). * When a non-existent program is given as the pager, we tried to reuse an uninitialized child_process structure and crashed, which has been fixed. (merge f917f57f40 em/missing-pager later to maint). * The single-key-input mode in "git add -p" had some code to handle keys that generate a sequence of input via ReadKey(), which did not handle end-of-file correctly, which has been fixed. (merge fc8a8126df cb/add-p-single-key-fix later to maint). * "git rebase -x" added an unnecessary 'exec' instructions before 'noop', which has been corrected. (merge cc9dcdee61 en/rebase-x-fix later to maint). * When the "git push" command is killed while the receiving end is trying to report what happened to the ref update proposals, the latter used to die, due to SIGPIPE. The code now ignores SIGPIPE to increase our chances to run the post-receive hook after it happens. (merge d34182b9e3 rj/receive-pack-avoid-sigpipe-during-status-reporting later to maint). * "git worktree add" showed "Preparing worktree" message to the standard output stream, but when it failed, the message from die() went to the standard error stream. Depending on the order the stdio streams are flushed at the program end, this resulted in confusing output. It has been corrected by sending all the chatty messages to the standard error stream. (merge b50252484f es/worktree-chatty-to-stderr later to maint). * Coding guideline document has been updated to clarify what goes to standard error in our system. (merge e258eb4800 es/doc-stdout-vs-stderr later to maint). * The sparse-index/sparse-checkout feature had a bug in its use of the matching code to determine which path is in or outside the sparse checkout patterns. (merge 8c5de0d265 ds/sparse-deep-pattern-checkout-fix later to maint). * "git rebase -x" by mistake started exporting the GIT_DIR and GIT_WORK_TREE environment variables when the command was rewritten in C, which has been corrected. (merge 434e0636db en/rebase-x-wo-git-dir-env later to maint). * When "git log" implicitly enabled the "decoration" processing without being explicitly asked with "--decorate" option, it failed to read and honor the settings given by the "--decorate-refs" option. * "git fetch --set-upstream" did not check if there is a current branch, leading to a segfault when it is run on a detached HEAD, which has been corrected. (merge 17baeaf82d ab/fetch-set-upstream-while-detached later to maint). * Among some code paths that ask an yes/no question, only one place gave a prompt that looked different from the others, which has been updated to match what the others create. (merge 0fc8ed154c km/help-prompt-fix later to maint). * "git log --invert-grep --author=" used to exclude commits written by the given author, but now "--invert-grep" only affects the matches made by the "--grep=" option. (merge 794c000267 rs/log-invert-grep-with-headers later to maint). * "git grep --perl-regexp" failed to match UTF-8 characters with wildcard when the pattern consists only of ASCII letters, which has been corrected. (merge 32e3e8bc55 rs/pcre2-utf later to maint). * Certain sparse-checkout patterns that are valid in non-cone mode led to segfault in cone mode, which has been corrected. * Use of certain "git rev-list" options with "git fast-export" created nonsense results (the worst two of which being "--reverse" and "--invert-grep --grep="). The use of "--first-parent" is made to behave a bit more sensible than before. (merge 726a228dfb ws/fast-export-with-revision-options later to maint). * Perf tests were run with end-user's shell, but it has been corrected to use the shell specified by $TEST_SHELL_PATH. (merge 9ccab75608 ja/perf-use-specified-shell later to maint). * Fix dependency rules to generate hook-list.h header file. (merge d3fd1a6667 ab/makefile-hook-list-dependency-fix later to maint). * "git stash" by default triggers its "push" action, but its implementation also made "git stash -h" to show short help only for "git stash push", which has been corrected. (merge ca7990cea5 ab/do-not-limit-stash-help-to-push later to maint). * "git apply --3way" bypasses the attempt to do a three-way application in more cases to address the regression caused by the recent change to use direct application as a fallback. (merge 34d607032c jz/apply-3-corner-cases later to maint). * Fix performance-releated bug in "git subtree" (in contrib/). (merge 3ce8888fb4 jl/subtree-check-parents-argument-passing-fix later to maint). * Extend the guidance to choose the base commit to build your work on, and hint/nudge contributors to read others' changes. (merge fdfae830f8 jc/doc-submitting-patches-choice-of-base later to maint). * A corner case bug in the ort merge strategy has been corrected. (merge d30126c20d en/merge-ort-renorm-with-rename-delete-conflict-fix later to maint). * "git stash apply" forgot to attempt restoring untracked files when it failed to restore changes to tracked ones. (merge 71cade5a0b en/stash-df-fix later to maint). * Calling dynamically loaded functions on Windows has been corrected. (merge 4a9b204920 ma/windows-dynload-fix later to maint). * Some lockfile code called free() in signal-death code path, which has been corrected. (merge 58d4d7f1c5 ps/lockfile-cleanup-fix later to maint). * Other code cleanup, docfix, build fix, etc. (merge 74db416c9c cw/protocol-v2-doc-fix later to maint). (merge f9b2b6684d ja/doc-cleanup later to maint). (merge 7d1b866778 jc/fix-first-object-walk later to maint). (merge 538ac74604 js/trace2-avoid-recursive-errors later to maint). (merge 152923b132 jk/t5319-midx-corruption-test-deflake later to maint). (merge 9081a421a6 ab/checkout-branch-info-leakfix later to maint). (merge 42c456ff81 rs/mergesort later to maint). (merge ad506e6780 tl/midx-docfix later to maint). (merge bf5b83fd8a hk/ci-checkwhitespace-commentfix later to maint). (merge 49f1eb3b34 jk/refs-g11-workaround later to maint). (merge 7d3fc7df70 jt/midx-doc-fix later to maint). (merge 7b089120d9 hn/create-reflog-simplify later to maint). (merge 9e12400da8 cb/mingw-gmtime-r later to maint). (merge 0bf0de6cc7 tb/pack-revindex-on-disk-cleanup later to maint). (merge 2c68f577fc ew/cbtree-remove-unused-and-broken-cb-unlink later to maint). (merge eafd6e7e55 ab/die-with-bug later to maint). (merge 91028f7659 jc/grep-patterntype-default-doc later to maint). (merge 47ca93d071 ds/repack-fixlets later to maint). (merge e6a9bc0c60 rs/t4202-invert-grep-test-fix later to maint). (merge deb5407a42 gh/gpg-doc-markup-fix later to maint). (merge 999bba3e0b rs/daemon-plug-leak later to maint). (merge 786eb1ba39 js/l10n-mention-ngettext-early-in-readme later to maint). (merge 2f12b31b74 ab/makefile-msgfmt-wo-stats later to maint). (merge 0517f591ca fs/gpg-unknown-key-test-fix later to maint). (merge 97d6fb5a1f ma/header-dup-cleanup later to maint). @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.94 2021/12/08 16:03:57 adam Exp $ d3 1 @ 1.94 log @revbump for icu and libffi @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.93 2021/10/13 06:56:09 adam Exp $ a2 1 PKGREVISION= 1 @ 1.93 log @git: updated to 2.33.1 Git 2.33.1 Release Notes ======================== This primarily is to backport various fixes accumulated during the development towards Git 2.34, the next feature release. Fixes since v2.33 ----------------- * The unicode character width table (used for output alignment) has been updated. * Input validation of "git pack-objects --stdin-packs" has been corrected. * Bugfix for common ancestor negotiation recently introduced in "git push" codepath. * "git pull" had various corner cases that were not well thought out around its --rebase backend, e.g. "git pull --ff-only" did not stop but went ahead and rebased when the history on other side is not a descendant of our history. The series tries to fix them up. * "git apply" miscounted the bytes and failed to read to the end of binary hunks. * "git range-diff" code clean-up. * "git commit --fixup" now works with "--edit" again, after it was broken in v2.32. * Use upload-artifacts v1 (instead of v2) for 32-bit linux, as the new version has a blocker bug for that architecture. * Checking out all the paths from HEAD during the last conflicted step in "git rebase" and continuing would cause the step to be skipped (which is expected), but leaves MERGE_MSG file behind in $GIT_DIR and confuses the next "git commit", which has been corrected. * Various bugs in "git rebase -r" have been fixed. * mmap() imitation used to call xmalloc() that dies upon malloc() failure, which has been corrected to just return an error to the caller to be handled. * "git diff --relative" segfaulted and/or produced incorrect result when there are unmerged paths. * The delayed checkout code path in "git checkout" etc. were chatty even when --quiet and/or --no-progress options were given. * "git branch -D " used to refuse to remove a broken branch ref that points at a missing commit, which has been corrected. * Build update for Apple clang. * The parser for the "--nl" option of "git column" has been corrected. * "git upload-pack" which runs on the other side of "git fetch" forgot to take the ref namespaces into account when handling want-ref requests. * The sparse-index support can corrupt the index structure by storing a stale and/or uninitialized data, which has been corrected. * Buggy tests could damage repositories outside the throw-away test area we created. We now by default export GIT_CEILING_DIRECTORIES to limit the damage from such a stray test. * Even when running "git send-email" without its own threaded discussion support, a threading related header in one message is carried over to the subsequent message to result in an unwanted threading, which has been corrected. * The output from "git fast-export", when its anonymization feature is in use, showed an annotated tag incorrectly. * Recent "diff -m" changes broke "gitk", which has been corrected. * "git maintenance" scheduler fix for macOS. * A pathname in an advice message has been made cut-and-paste ready. * The "git apply -3" code path learned not to bother the lower level merge machinery when the three-way merge can be trivially resolved without the content level merge. * The code that optionally creates the *.rev reverse index file has been optimized to avoid needless computation when it is not writing the file out. * "git range-diff -I... " segfaulted, which has been corrected. * The order in which various files that make up a single (conceptual) packfile has been reevaluated and straightened up. This matters in correctness, as an incomplete set of files must not be shown to a running Git. * The "mode" word is useless in a call to open(2) that does not create a new file. Such a call in the files backend of the ref subsystem has been cleaned up. * "git update-ref --stdin" failed to flush its output as needed, which potentially led the conversation to a deadlock. * When "git am --abort" fails to abort correctly, it still exited with exit status of 0, which has been corrected. * Correct nr and alloc members of strvec struct to be of type size_t. * "git stash", where the tentative change involves changing a directory to a file (or vice versa), was confused, which has been corrected. * "git clone" from a repository whose HEAD is unborn into a bare repository didn't follow the branch name the other side used, which is corrected. * "git cvsserver" had a long-standing bug in its authentication code, which has finally been corrected (it is unclear and is a separate question if anybody is seriously using it, though). * "git difftool --dir-diff" mishandled symbolic links. * Sensitive data in the HTTP trace were supposed to be redacted, but we failed to do so in HTTP/2 requests. * "make clean" has been updated to remove leftover .depend/ directories, even when it is not told to use them to compute header dependencies. * Protocol v0 clients can get stuck parsing a malformed feature line. Also contains various documentation updates and code clean-ups. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.92 2021/09/29 19:00:31 adam Exp $ d3 1 @ 1.92 log @revbump for boost-libs @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.91 2021/08/23 10:41:25 adam Exp $ a2 1 PKGREVISION= 1 @ 1.91 log @git: updated to 2.33.0 Git 2.33 Release Notes ====================== Updates since Git 2.32 ---------------------- UI, Workflows & Features * "git send-email" learned the "--sendmail-cmd" command line option and the "sendemail.sendmailCmd" configuration variable, which is a more sensible approach than the current way of repurposing the "smtp-server" that is meant to name the server to instead name the command to talk to the server. * The userdiff pattern for C# learned the token "record". * "git rev-list" learns to omit the "commit " header lines from the output with the `--no-commit-header` option. * "git worktree add --lock" learned to record why the worktree is locked with a custom message. Performance, Internal Implementation, Development Support etc. * The code to handle the "--format" option in "for-each-ref" and friends made too many string comparisons on %(atom)s used in the format string, which has been corrected by converting them into enum when the format string is parsed. * Use the hashfile API in the codepath that writes the index file to reduce code duplication. * Repeated rename detections in a sequence of mergy operations have been optimized out for the 'ort' merge strategy. * Preliminary clean-up of tests before the main reftable changes hits the codebase. * The backend for "diff -G/-S" has been updated to use pcre2 engine when available. * Use ".DELETE_ON_ERROR" pseudo target to simplify our Makefile. * Code cleanup around struct_type_init() functions. * "git send-email" optimization. * GitHub Actions / CI update. (merge 0dc787a9f2 js/ci-windows-update later to maint). * Object accesses in repositories with many alternate object store have been optimized. * "git log" has been optimized not to waste cycles to load ref decoration data that may not be needed. * Many "printf"-like helper functions we have have been annotated with __attribute__() to catch placeholder/parameter mismatches. * Tests that cover protocol bits have been updated and helpers used there have been consolidated. * The CI gained a new job to run "make sparse" check. * "git status" codepath learned to work with sparsely populated index without hydrating it fully. * A guideline for gender neutral documentation has been added. * Documentation on "git diff -l" and diff.renameLimit have been updated, and the defaults for these limits have been raised. * The completion support used to offer alternate spelling of options that exist only for compatibility, which has been corrected. * "TEST_OUTPUT_DIRECTORY=there make test" failed to work, which has been corrected. * "git bundle" gained more test coverage. * "git read-tree" had a codepath where blobs are fetched one-by-one from the promisor remote, which has been corrected to fetch in bulk. * Rewrite of "git submodule" in C continues. * "git checkout" and "git commit" learn to work without unnecessarily expanding sparse indexes. Fixes since v2.32 ----------------- * We historically rejected a very short string as an author name while accepting a patch e-mail, which has been loosened. (merge 72ee47ceeb ef/mailinfo-short-name later to maint). * The parallel checkout codepath did not initialize object ID field used to talk to the worker processes in a futureproof way. * Rewrite code that triggers undefined behaviour warning. (merge aafa5df0df jn/size-t-casted-to-off-t-fix later to maint). * The description of "fast-forward" in the glossary has been updated. (merge e22f2daed0 ry/clarify-fast-forward-in-glossary later to maint). * Recent "git clone" left a temporary directory behind when the transport layer returned an failure. (merge 6aacb7d861 jk/clone-clean-upon-transport-error later to maint). * "git fetch" over protocol v2 left its side of the socket open after it finished speaking, which unnecessarily wasted the resource on the other side. (merge ae1a7eefff jk/fetch-pack-v2-half-close-early later to maint). * The command line completion (in contrib/) learned that "git diff" takes the "--anchored" option. (merge d1e7c2cac9 tb/complete-diff-anchored later to maint). * "git-svn" tests assumed that "locale -a", which is used to pick an available UTF-8 locale, is available everywhere. A knob has been introduced to allow testers to specify a suitable locale to use. (merge 482c962de4 dd/svn-test-wo-locale-a later to maint). * Update "git subtree" to work better on Windows. (merge 77f37de39f js/subtree-on-windows-fix later to maint). * Remove multimail from contrib/ (merge f74d11471f js/no-more-multimail later to maint). * Make the codebase MSAN clean. (merge 4dbc55e87d ah/uninitialized-reads-fix later to maint). * Work around inefficient glob substitution in older versions of bash by rewriting parts of a test. (merge eb87c6f559 jx/t6020-with-older-bash later to maint). * Avoid duplicated work while building reachability bitmaps. (merge aa9ad6fee5 jk/bitmap-tree-optim later to maint). * We broke "GIT_SKIP_TESTS=t?000" to skip certain tests in recent update, which got fixed. * The side-band demultiplexer that is used to display progress output from the remote end did not clear the line properly when the end of line hits at a packet boundary, which has been corrected. * Some test scripts assumed that readlink(1) was universally installed and available, which is not the case. (merge 7c0afdf23c jk/test-without-readlink-1 later to maint). * Recent update to completion script (in contrib/) broke those who use the __git_complete helper to define completion to their custom command. (merge cea232194d fw/complete-cmd-idx-fix later to maint). * Output from some of our tests were affected by the width of the terminal that they were run in, which has been corrected by exporting a fixed value in the COLUMNS environment. (merge c49a177bec ab/fix-columns-to-80-during-tests later to maint). * On Windows, mergetool has been taught to find kdiff3.exe just like it finds winmerge.exe. (merge 47eb4c6890 ms/mergetools-kdiff3-on-windows later to maint). * When we cannot figure out how wide the terminal is, we use a fallback value of 80 ourselves (which cannot be avoided), but when we run the pager, we export it in COLUMNS, which forces the pager to use the hardcoded value, even when the pager is perfectly capable to figure it out itself. Stop exporting COLUMNS when we fall back on the hardcoded default value for our own use. (merge 9b6e2c8b98 js/stop-exporting-bogus-columns later to maint). * "git cat-file --batch-all-objects"" misbehaved when "--batch" is in use and did not ask for certain object traits. (merge ee02ac6164 zh/cat-file-batch-fix later to maint). * Some code and doc clarification around "git push". * The "union" conflict resultion variant misbehaved when used with binary merge driver. (merge 382b601acd jk/union-merge-binary later to maint). * Prevent "git p4" from failing to submit changes to binary file. (merge 54662d5958 dc/p4-binary-submit-fix later to maint). * "git grep --and -e foo" ought to have been diagnosed as an error but instead segfaulted, which has been corrected. (merge fe7fe62d8d rs/grep-parser-fix later to maint). * The merge code had funny interactions between content based rename detection and directory rename detection. (merge 3585d0ea23 en/merge-dir-rename-corner-case-fix later to maint). * When rebuilding the multi-pack index file reusing an existing one, we used to blindly trust the existing file and ended up carrying corrupted data into the updated file, which has been corrected. (merge f89ecf7988 tb/midx-use-checksum later to maint). * Update the location of system-side configuration file on Windows. (merge e355307692 js/gfw-system-config-loc-fix later to maint). * Code recently added to support common ancestry negotiation during "git push" did not sanity check its arguments carefully enough. (merge eff40457a4 ab/fetch-negotiate-segv-fix later to maint). * Update the documentation not to assume users are of certain gender and adds to guidelines to do so. (merge 46a237f42f ds/gender-neutral-doc later to maint). * "git commit --allow-empty-message" won't abort the operation upon an empty message, but the hint shown in the editor said otherwise. (merge 6f70f00b4f hj/commit-allow-empty-message later to maint). * The code that gives an error message in "git multi-pack-index" when no subcommand is given tried to print a NULL pointer as a strong, which has been corrected. (merge 88617d11f9 tb/reverse-midx later to maint). * CI update. (merge a066a90db6 js/ci-check-whitespace-updates later to maint). * Documentation fix for "git pull --rebase=no". (merge d3236becec fc/pull-no-rebase-merges-theirs-into-ours later to maint). * A race between repacking and using pack bitmaps has been corrected. (merge dc1daacdcc jk/check-pack-valid-before-opening-bitmap later to maint). * The local changes stashed by "git merge --autostash" were lost when the merge failed in certain ways, which has been corrected. * Windows rmdir() equivalent behaves differently from POSIX ones in that when used on a symbolic link that points at a directory, the target directory gets removed, which has been corrected. (merge 3e7d4888e5 tb/mingw-rmdir-symlink-to-directory later to maint). * Other code cleanup, docfix, build fix, etc. (merge bfe35a6165 ah/doc-describe later to maint). (merge f302c1e4aa jc/clarify-revision-range later to maint). (merge 3127ff90ea tl/fix-packfile-uri-doc later to maint). (merge a84216c684 jk/doc-color-pager later to maint). (merge 4e0a64a713 ab/trace2-squelch-gcc-warning later to maint). (merge 225f7fa847 ps/rev-list-object-type-filter later to maint). (merge 5317dfeaed dd/honor-users-tar-in-tests later to maint). (merge ace6d8e3d6 tk/partial-clone-repack-doc later to maint). (merge 7ba68e0cf1 js/trace2-discard-event-docfix later to maint). (merge 8603c419d3 fc/doc-default-to-upstream-config later to maint). (merge 1d72b604ef jk/revision-squelch-gcc-warning later to maint). (merge abcb66c614 ar/typofix later to maint). (merge 9853830787 ah/graph-typofix later to maint). (merge aac578492d ab/config-hooks-path-testfix later to maint). (merge 98c7656a18 ar/more-typofix later to maint). (merge 6fb9195f6c jk/doc-max-pack-size later to maint). (merge 4184cbd635 ar/mailinfo-memcmp-to-skip-prefix later to maint). (merge 91d2347033 ar/doc-libera-chat-in-my-first-contrib later to maint). (merge 338abb0f04 ab/cmd-foo-should-return later to maint). (merge 546096a5cb ab/xdiff-bug-cleanup later to maint). (merge b7b793d1e7 ab/progress-cleanup later to maint). (merge d94f9b8e90 ba/object-info later to maint). (merge 52ff891c03 ar/test-code-cleanup later to maint). (merge a0538e5c8b dd/document-log-decorate-default later to maint). (merge ce24797d38 mr/cmake later to maint). (merge 9eb542f2ee ab/pre-auto-gc-hook-test later to maint). (merge 9fffc38583 bk/doc-commit-typofix later to maint). (merge 1cf823d8f0 ks/submodule-cleanup later to maint). (merge ebbf5d2b70 js/config-mak-windows-pcre-fix later to maint). (merge 617480d75b hn/refs-iterator-peel-returns-boolean later to maint). (merge 6a24cc71ed ar/submodule-helper-include-cleanup later to maint). (merge 5632e838f8 rs/khash-alloc-cleanup later to maint). (merge b1d87fbaf1 jk/typofix later to maint). (merge e04170697a ab/gitignore-discovery-doc later to maint). (merge 8232a0ff48 dl/packet-read-response-end-fix later to maint). (merge eb448631fb dl/diff-merge-base later to maint). (merge c510928a25 hn/refs-debug-empty-prefix later to maint). (merge ddcb189d9d tb/bitmap-type-filter-comment-fix later to maint). (merge 878b399734 pb/submodule-recurse-doc later to maint). (merge 734283855f jk/config-env-doc later to maint). (merge 482e1488a9 ab/getcwd-test later to maint). (merge f0b922473e ar/doc-markup-fix later to maint). @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.90 2021/07/10 19:06:01 dholland Exp $ d3 1 @ 1.90 log @PR 55225 from Benjamin Lorenz: git push not displaying username Seems that the input code depends on a HAVE_DEV_TTY setting that autoconf doesn't actually check. I guess Linux packagers set this explicitly; we shall too. Otherwise it falls back to libc getpass() for all input, which disables echo unconditionally. PKGREVISION -> 1 @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.89 2021/06/13 18:36:31 adam Exp $ a5 1 PKGREVISION= 1 @ 1.89 log @git: updated to 2.32.0 Git 2.32 Release Notes ====================== Backward compatibility notes ---------------------------- * ".gitattributes", ".gitignore", and ".mailmap" files that are symbolic links are ignored. * "git apply --3way" used to first attempt a straight application, and only fell back to the 3-way merge algorithm when the stright application failed. Starting with this version, the command will first try the 3-way merge algorithm and only when it fails (either resulting with conflict or the base versions of blobs are missing), falls back to the usual patch application. Updates since v2.31 ------------------- UI, Workflows & Features * It does not make sense to make ".gitattributes", ".gitignore" and ".mailmap" symlinks, as they are supposed to be usable from the object store (think: bare repositories where HEAD:.mailmap etc. are used). When these files are symbolic links, we used to read the contents of the files pointed by them by mistake, which has been corrected. * "git stash show" learned to optionally show untracked part of the stash. * "git log --format='...'" learned "%(describe)" placeholder. * "git repack" so far has been only capable of repacking everything under the sun into a single pack (or split by size). A cleverer strategy to reduce the cost of repacking a repository has been introduced. * The http codepath learned to let the credential layer to cache the password used to unlock a certificate that has successfully been used. * "git commit --fixup=", which was to tweak the changes made to the contents while keeping the original log message intact, learned "--fixup=(amend|reword):", that can be used to tweak both the message and the contents, and only the message, respectively. * "git send-email" learned to honor the core.hooksPath configuration. * "git format-patch -v" learned to allow a reroll count that is not an integer. * "git commit" learned "--trailer [=]" option; together with the interpret-trailers command, this will make it easier to support custom trailers. * "git clone --reject-shallow" option fails the clone as soon as we notice that we are cloning from a shallow repository. * A configuration variable has been added to force tips of certain refs to be given a reachability bitmap. * "gitweb" learned "e-mail privacy" feature to redact strings that look like e-mail addresses on various pages. * "git apply --3way" has always been "to fall back to 3-way merge only when straight application fails". Swap the order of falling back so that 3-way is always attempted first (only when the option is given, of course) and then straight patch application is used as a fallback when it fails. * "git apply" now takes "--3way" and "--cached" at the same time, and work and record results only in the index. * The command line completion (in contrib/) has learned that CHERRY_PICK_HEAD is a possible pseudo-ref. * Userdiff patterns for "Scheme" has been added. * "git log" learned "--diff-merges=