We have currently 780 active repositories in the Harvest SCM database and have to search in all item versions stored for specific strings.
A search project by project with "Find version" is too much effort and time consuming.
Do you have a procedure or query to perform a string based search in the database itself.
CA Harvest SCM version 12.x, 13.x
One option is a field-developed utility called “HarSpy”. Here's where you can find more information about it: https://community.broadcom.com/enterprisesoftware/communities/community-home/digestviewer/viewthread?MessageKey=5e62575a-7d03-4085-b22a-f95e87b5dadf&CommunityKey=875def62-85de-4797-9dc1-7a31010427b8&tab=digestviewer#bm5e62575a-7d03-4085-b22a-f95e87b5dadf
The HarSpy utility is offered as-is and is unsupported.
If HarSpy doesn’t accomplish what you need to do, the other option would be to set up a batch script to cycle through a list of project names and use the hsv command to search through all the projects one-by-one. Here’s an example Windows batch script that would do it:
***************************************************************************************************************
ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
set sqlcmd="echo select environmentname from harenvironment where envisactive = 'Y' | hsql -b win2k12r2 -usr harvest -pw harvest -s -nh"
echo. > hsv.log
for /f "usebackq tokens=*" %%a in (`%sqlcmd%`) do (
echo Project = %%a >> hsv.log
hsv -b win2k12r2 -usr harvest -pw harvest -en "%%a" -vp "\\" -s "*.*" -wp "%~1" -ic -it nt -oa hsv.log -wts
echo. >>hsv.log
)
***************************************************************************************************************
And here's an example of what this would look like for Linux:
***************************************************************************************************************
#!/bin/bash
echo '' > hsv.log
while read -r line
do
if [ -n "$line" ]
then
echo Project = "$line" >> hsv.log
hsv -b olnx77-scm1304 -usr harvest -pw harvest -en "$line" -vp "\\" -s "*.*" -wp "$1" -ic -it nt -oa hsv.log -wts
echo '' >> hsv.log
fi
done < <(echo "select environmentname from harenvironment where envobjid > 0 and envisactive = 'Y'" | hsql -b olnx77-scm1304 -usr harvest -pw harvest -s -nh)
***************************************************************************************************************