Revision: 78310
          http://sourceforge.net/p/brlcad/code/78310
Author:   starseeker
Date:     2021-02-23 16:07:16 +0000 (Tue, 23 Feb 2021)
Log Message:
-----------
Use the branch structure as well in this comparison - it's conceivable 
timestamp and diff contents match but the branch inclusions don't.

Modified Paths:
--------------
    brlcad/trunk/misc/repoconv/sha1_to_uniqkey.sh

Modified: brlcad/trunk/misc/repoconv/sha1_to_uniqkey.sh
===================================================================
--- brlcad/trunk/misc/repoconv/sha1_to_uniqkey.sh       2021-02-23 15:13:59 UTC 
(rev 78309)
+++ brlcad/trunk/misc/repoconv/sha1_to_uniqkey.sh       2021-02-23 16:07:16 UTC 
(rev 78310)
@@ -4,15 +4,24 @@
   SHA1=$(echo "$p" | awk -F';' '{print $1}')
   if [ "$SHA1" != "" ]
   then
-         echo "SHA1: $SHA1"
          echo $SHA1 >> sha1s_orig
+
          TSMP=$(git log -1 --pretty=format:"%ct%n" $SHA1)
-         echo "Timestamp: $TSMP"
+
+         # https://stackoverflow.com/a/7132381
+         git branch -a --contains $SHA1 | grep -v remote | sort | uniq |sed -e 
's/\*//'|sed -e 's/ //g' > branchtmp
+         BMD5=$(md5sum branchtmp |awk '{print $1}')
+         rm branchtmp
+
          git diff --raw $SHA1^ $SHA1 > keytmp
          DIFFKEY=$(md5sum keytmp |awk '{print $1}')
          rm keytmp
-         echo "Diffkey: $DIFFKEY"
-         echo "$TSMP;$DIFFKEY" >> ukeys
+
+         echo "SHA1: $SHA1"
+         echo "Timestamp: $TSMP"
+         echo "Branches MD5: $BMD5"
+         echo "Diff MD5: $DIFFKEY"
+         echo "$TSMP;$BMD5;$DIFFKEY" >> ukeys
   fi
 done < $1
 
@@ -22,8 +31,9 @@
 
 while read p; do
   TSMP=$(echo "$p" | awk -F';' '{print $1}')
-  DIFFKEY=$(echo "$p" | awk -F';' '{print $2}')
-  echo "$p -> $TSMP   $DIFFKEY"
+  BMD5=$(echo "$p" | awk -F';' '{print $2}')
+  DIFFKEY=$(echo "$p" | awk -F';' '{print $3}')
+  echo "Searching for: $TSMP   $BMD5   $DIFFKEY"
   git log --all --since $TSMP --until $TSMP --pretty=format:"%H" > nkeys
   echo "" >> nkeys
   echo "nkeys:"
@@ -32,15 +42,24 @@
   while read d; do
          CSHA1=$d
          echo "        CSHA1: $CSHA1"
-         git diff --raw $CSHA1^ $CSHA1 > keytmp
-         NDIFFKEY=$(md5sum keytmp |awk '{print $1}')
-         echo "        NDIFFKEY: $NDIFFKEY"
-         if [ "$NDIFFKEY" == "$DIFFKEY" ]
+
+         git branch -a --contains $CSHA1 | grep -v remote | sort | uniq |sed 
-e 's/\*//'|sed -e 's/ //g' > branchtmp
+         NBMD5=$(md5sum branchtmp |awk '{print $1}')
+         echo "        NBMD5: $NBMD5"
+         rm branchtmp
+
+         if [ "$BMD5" == "$NBMD5" ]
          then
-                 echo "        MATCH"
-                 echo $d >> mapped_keys
+                 git diff --raw $CSHA1^ $CSHA1 > keytmp
+                 NDIFFKEY=$(md5sum keytmp |awk '{print $1}')
+                 echo "        NDIFFKEY: $NDIFFKEY"
+                 if [ "$NDIFFKEY" == "$DIFFKEY" ]
+                 then
+                         echo "        MATCH"
+                         echo $d >> mapped_keys
+                 fi
+                 rm keytmp
          fi
-         rm keytmp
   done < nkeys
   rm nkeys
 done < ukeys

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.



_______________________________________________
BRL-CAD Source Commits mailing list
brlcad-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to