Stefan Saasen avatar Stefan Saasen committed 8b2e415

git-filesize-history: Exactly match the filepath in the ls-tree output (fixes #1)

Comments (0)

Files changed (1)

bin/git-filesize-history

 set -u
 set -e
 
-
 FILEPATH=$1
 FILENAME=`basename ${FILEPATH}`
 
 #echo "File size history for \"${FILEPATH}\":"
 
 for commit in $(git log --pretty="%h" -- ${FILEPATH}); do
-  bytes="`git ls-tree -l -r ${commit} | grep ${FILENAME} | awk '{print $4}'`"
+  bytes="`git ls-tree -l -r ${commit} | grep -E "[[:space:]]${FILEPATH}" | awk '{print $4}'`"
   human=`echo ${bytes} | awk '{ split( "B KB MB GB TB" , v ); s=1; while( $1>1024 ){ $1/=1024; s++ } print int($1) v[s] }'`
   printf "Commit %10b: %10b (%d bytes)\n" $commit $human $bytes
 done
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.