Re: [Bulk] Re: [Bulk] Re: Scheduled build always say build not required

gnugy <[email protected]> Tue, 04 Apr 2006 00:32:24 -0400
Newsgroups gmane.comp.java.anthill
Message-ID <[email protected]>
Jim Hague wrote:

>On Monday 03 April 2006 21:47, gnugy wrote:
>  
>
>>And I know for a fact that I have made a revision since this date.  When
>>I turn debug on the relevant chatter is as follows:
>>[...]
>><timestamp> [Thread - AnthillBUildDaemon] DEBUG
>>com.urbancode.anthill.adapter.SubversionRepositoryAdapter - Get
>>revisions since command: svn log --non-interactive -v --username
>>"anthill" --password "anthill" -r "{2006-04-03 13:22:59 -0400}:HEAD"
>>svn://localhost/repos/TestApp
>>    
>>
>
>You're quite right. There should be something here, logging the start of a new 
>revision.
>
>  
>
>><timestamp> [Thread - AnthillBuildDaemon] DEBUG
>>com.urbancode.anthill.adapter.SubversionRepositoryAdapter - returning
>>revisionList
>>[...]
>>I was looking through the code and noticed that in
>>SubversionRepositoryAdapter.parseLogCommandResult() there are alot of
>>log.debug() messages not showing that would show up if this for loop
>>were to be executed:
>>
>>for ( String line = br.readLine(); line != null; line = br.readLine() ){
>>... }
>>
>>where br is a BufferedReader supposedly containing the results from the
>>svn log command.  So my guess is that this command isn't returning
>>anything or hasn't returned anything when it's results are parsed.
>>
>>If I manually execute the svn log command I do get results so I'm pretty
>>sure it's not the command itself.  I'm wondering if maybe the command hasn't
>>yet returned anything when this for loop is executed.
>>    
>>
>
>I'd be little surprised (but only a little, mind) if the problem was the 
>BufferedReader not returning anything or returning too early. It is supposed 
>to wait until end-of-file.
>
>I think there are two other possibilities. One is that the 'svn log' command 
>isn't actually returning anything. The other is that the command is returning 
>something, but that something is never matching the headerRE regular 
>expression.
>
>If you do manage to recompile, and put
>
>			log.debug("Line: " + line);
>
>immediately after the for(){ but before the switch(), that would at least tell 
>us which of the above is the case. It might be an idea to add another 
>log.debug() before the for(), so you can tell that you have managed to 
>recompile/reinstall Anthill successfully, and aren't just looking at the old 
>version.
>
>BTW, what OS are you running Anthill on? And which JVM and which version of 
>Subversion? I can tell you it works OK on Linux (Debian testing) with IBM JVM 
>1.4.2 and Subversion 1.2.3.
>
>Good luck.
>  
>
When I make those changes I get plenty of DEBUG messages stating the 
lines that the log command returns but you were right,
none of them are matching the header regular expression.  My Regular 
Expressions are a little rusty my interpretation of the pattern is
that it will match any line that starts with an r, followed by 1 or more 
digits.  Then a space followed by a pipe(|).
This is followed by another space then any number of non-whitespace 
characters.  Followed again by space, pipe, space.  Followed by
1 or more characters that aren't ('s.  If this is the case then I 
thought the problem was with the fact that my author, I have "(no 
author)", contains a space.
So the space would break the (\\S+) part of the expression but this 
isn't followed by a ' | '.  So I tried replacing the  expression with:

"^r(\\d+) \\| ([^\\|]+)\\| ([^\\(]+)"

Running with this expression worked, awesome, thanks for your help.  
Cheers, Philip.

_______________________________________________
Anthill mailing list
Anthill-IWHQxnLZ/[email protected]
http://lists.urbancode.com/mailman/listinfo/anthill