If the variable $TXN contains a *, it is getting expanded by the echo command, unix is expanding that before the echo is called.
I would put single around the variable on your echo command From: Dhiraj Prajapati [mailto:dhiraj.prajap...@games24x7.com] Sent: Thursday, June 25, 2015 1:10 AM To: Branko Čibej Cc: users@subversion.apache.org Subject: Re: Facing issue in SVN pre commit hook | svnlook cat Below is the code snippet I am using. I need the file contents in a variable. fileContents=`$SVNLOOK cat $REPOS $FNAME -t $TXN` echo "contents:" $fileContents 1>&2 Am I doing anything wrong? -Dhiraj On Thu, Jun 25, 2015 at 1:37 PM, Branko Čibej <br...@wandisco.com<mailto:br...@wandisco.com>> wrote: On 25.06.2015 09:31, Dhiraj Prajapati wrote: Hi, I have a pre-commit hook which validates the contents of the files being committed before commit. I am using svnlook cat command to read the contents of the file being committed. However, whenever there is a leading slash on a particular line in the file, the svnlook cat command fails to display the slash. Instead it prints the names of all the files/folders in the root directory. Example file contents: xyz <input name=abc/> /* abc Command: svnlook cat <repository_path> <file_name> -t <txn> Output: xyz <input name=abc/> /app /bin /boot /cdrom /dev /etc /home /lib /lost+found /media /mnt /opt /proc /root /run /sbin /sources /srv /sys /tmp /usr /var /vmlinuz /vmlinuz.old abc I want svnlook cat to print exactly what is in the file. Please assist. This is "impossible" in the sense that 'svnlook cat' does not process the contents in any way, it just prints them to stdout. You're probably piping the output of 'svnlook cat' into some kind of program or script that validates them, and I suspect that script is interpreting the contents so that it lists the directory contents as you described. You should most likely look for the bug in your validation script. -- Brane