On Nov 9, 2007 10:56 AM, Harvey, Edward <Edward.Harvey@patni.com> wrote:
> >
> > Have you tried svnlook log?
> >
> > Andy, 'svnlook log' only prints out the commit log message.
> > It does not print all the details like 'svn log'. The author
> > / commit time / changed files etc are all separate commands
> > for svnlook.
>
> Exactly right. What I'm looking for is the equivalent of "svn log
> --verbose" and there is no "svnlook log --verbose"
>
>
> > Edward, what you could do is to have a line like this in the
> > post-commit hook:
> >
> > /usr/local/bin/svn log -r $REV "file://$REPOS" > /tmp/mylog
>
> Actually, this is the reason for the post. If you look back at the
> original post, you'll see "But when I try to write 'svn log' into a
> post-commit hook, it appears it can't perform that operation."
>
> Inside a post-commit hook, "svn log" just exits with no output,
> presumably because svn server is still in the middle of an atomic
> operation. So "svn" can't do anything inside the post-commit hook, but
> "svnlook" still works.
It works for me. Things to note in the command is that every path should be
a full path (so "/usr/local/bin/svn" is necessary instead of "svn". Same
case with /tmp/mylog). Also, the repsository argument to the svn log command
should be a URL. $REPOS is only a path to the file system. Hence you need to
prefix file:// to make it a file URL.
>
>
> That being said, this is what I settled on as an alternative:
>
> I see that svnlook can do a whole bunch of stuff.
> svnlook author
> svnlook date
> svnlook log
> And so on. If I run svnlook several times, storing the output of each,
> I can gather all the info that "svn log --verbose" normally would
> display. And just assemble it myself.
Yes, this is the better way to do it, anyway -- unless all you need is to
assemble it and create a log text that you append to a file.
Regards,
-Hari Kodungallur
Received on Fri Nov 9 20:13:10 2007