Thanks a lot. I am a newbie to shell script. I appreciate your help. On 25 Jun 2015 13:45, "Branko Čibej" <br...@wandisco.com> wrote:
> On 25.06.2015 10:10, Dhiraj Prajapati wrote: > > 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? > > > > Yes of course you are. You really should read a manual about shell > argument processing. > > > What's happening here is that shell sees the 'echo' command with the > value of the fileContents variable as its argument list, and one of the > arguments is '/*', and because '*' is not quoted it expands it as a > wildcard. > > At the very least, you should be quoting the variable value, like this: > > echo "contents:" "$fileContents" 1>&2 > > but even that is not completely safe. > > > On Thu, Jun 25, 2015 at 1:37 PM, Branko Čibej <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 >> > > >