I have a scenario where I have a file and I need to know what revision in source this file is.
I may have hundreds of revisions on a particular file and have a file that
Cribbing a bit off of this answer, here's a quick and dirty batch file that will do the job, assuming the input file is already under version control.
@echo off
set file=%1
set temp_file="temp.file"
if [%file%] == [] (
echo Usage: "%0 <file>"
exit /b
)
for /F "tokens=1 delims=-r " %%R in ('"svn log -q %file%"') do (
svn cat -r %%R %file% > %temp_file%
fc %temp_file% %file% > nul
if errorlevel 0 if not errorlevel 1 echo Matches revision r%%R
del /Q %temp_file%
)
This gets the log for the filename given, and for each revision does the following:
fc
sets errorlevel
to 0, so check for that and output Matches revision r###
If you have to use any content outside VCS and identify corresponding resisions and don't add this data to file (text file) or repository (binaries) - it's your fail (Git-boys must suffer and be excruciated, because they haven't keywords directly /but have smudge|clean filters/ and revision properties /?/, but in SVN you have these possibilities). Re-think about your workflow and start using Power!
In your current state (no keywords, no metadata) you can (for each file)