Index: subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java =================================================================== --- subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java (revision 31355) +++ subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java (working copy) @@ -2196,6 +2196,7 @@ List revList = new ArrayList(); public void singleMessage(ChangePath[] changedPaths, long revision, + String author, long timeMicros, String message, Map revprops, boolean hasChildren) { revList.add(new Long(revision)); } Index: subversion/bindings/javahl/src/org/tigris/subversion/javahl/LogMessageCallback.java =================================================================== --- subversion/bindings/javahl/src/org/tigris/subversion/javahl/LogMessageCallback.java (revision 31355) +++ subversion/bindings/javahl/src/org/tigris/subversion/javahl/LogMessageCallback.java (working copy) @@ -44,14 +44,22 @@ * * @param changedPaths the paths that were changed * @param revision the revision of the commit + * @param author the author of the commit + * @param timeMicros the time of the commit measured in the + * number of microseconds since 00:00:00 + * January 1, 1970 UTC + * @param message the log message for the commit * @param revprops All of the requested revision properties, - * possibly including svn:date, svn:author, + * excluding svn:date, svn:author, * and svn:log. * @param hasChildren when merge sensitive option was requested, * whether or not this entry has child entries. */ public void singleMessage(ChangePath[] changedPaths, long revision, + String author, + long timeMicros, + String message, Map revprops, boolean hasChildren); } Index: subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java =================================================================== --- subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java (revision 31355) +++ subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java (working copy) @@ -1369,30 +1369,12 @@ public void singleMessage(ChangePath[] changedPaths, long revision, + String author, + long timeMicros, + String message, Map revprops, boolean hasChildren) { - String author = (String) revprops.get("svn:author"); - String message = (String) revprops.get("svn:log"); - long timeMicros; - - // Really hacky date parser, because Java doesn't support - // microseconds natively. - try { - DateFormat formatter = new SimpleDateFormat( - "yyyy-MM-dd'T'HH:mm:ss.SSS"); - String datestr = ((String) revprops.get("svn:date")); - Date date = formatter.parse(datestr.substring(0, 23)); - Calendar cal = Calendar.getInstance(); - cal.setTime(date); - timeMicros = cal.getTimeInMillis(); - - timeMicros = timeMicros * 1000 - + Integer.parseInt(datestr.substring(23, 26)); - } catch (ParseException ex) { - timeMicros = 0; - } - LogMessage msg = new LogMessage(changedPaths, revision, author,