The branch stable/12 has been updated by emaste:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=50a6ae40759607424052ca70ad0bf246c3ed6087

commit 50a6ae40759607424052ca70ad0bf246c3ed6087
Author:     Brooks Davis <[email protected]>
AuthorDate: 2020-12-17 00:00:21 +0000
Commit:     Ed Maste <[email protected]>
CommitDate: 2022-09-06 17:25:49 +0000

    newvers.sh: Speed up git_tree_modified
    
    We're looking for file content differences, so ask the question of git
    more directly. This helps a lot, saving tens of thousands of fork()s,
    when the builder and editor see different stat() results (e.g., UIDs),
    as they might with containers.
    
    Submitted by:   Nathaniel Wesley Filardo <[email protected]>
    Reviewed by:    bdrewery, emaste, imp
    Obtained from:  CheriBSD
    MFC after:      3 days
    Sponsored by:   DARPA
    Differential Revision:  https://reviews.freebsd.org/D27646
    
    PR:             252028
    
    (cherry picked from commit 17eba5e32a2cf7a217bb9f1e5dcca351f2b71cfc)
---
 sys/conf/newvers.sh | 24 +-----------------------
 1 file changed, 1 insertion(+), 23 deletions(-)

diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh
index e1aa29f8d98d..18ada43e0cbc 100644
--- a/sys/conf/newvers.sh
+++ b/sys/conf/newvers.sh
@@ -81,29 +81,7 @@ findvcs()
 
 git_tree_modified()
 {
-       # git diff-index lists both files that are known to have changes as
-       # well as those with metadata that does not match what is recorded in
-       # git's internal state.  The latter case is indicated by an all-zero
-       # destination file hash.
-
-       local fifo
-
-       fifo=$(mktemp -u)
-       mkfifo -m 600 $fifo
-       $git_cmd --work-tree=${VCSTOP} diff-index HEAD > $fifo &
-       while read smode dmode ssha dsha status file; do
-               if ! expr $dsha : '^00*$' >/dev/null; then
-                       rm $fifo
-                       return 0
-               fi
-               if ! $git_cmd --work-tree=${VCSTOP} diff --quiet -- "${file}"; 
then
-                       rm $fifo
-                       return 0
-               fi
-       done < $fifo
-       # No files with content differences.
-       rm $fifo
-       return 1
+       ! $git_cmd "--work-tree=${VCSTOP}" -c core.checkStat=minimal -c 
core.fileMode=off diff --quiet
 }
 
 

Reply via email to