SVN implements SourceControl { static String formatSVNDate(Date date) { return formatSVNDate(date, Util.isWindows()); }  Map<String, String> getProperties(); void setProperty(String property); void setPropertyOnDelete(String propertyOnDelete); void setConfigDir(String configDir); void setCheckExternals(boolean value); void setRepositoryLocation(String repositoryLocation); void setLocalWorkingCopy(String localWorkingCopy); void setUsername(String userName); void setPassword(String password); void validate(); List<Modification> getModifications(final Date lastBuild, final Date now); static DateFormat getOutDateFormatter(); void setUseLocalRevision(boolean useLocalRevision);  }
@Test public void formattingSVNDate() { GregorianCalendar cal = new GregorianCalendar(2007, Calendar.JULY, 11, 12, 32, 45); cal.setTimeZone(TimeZone.getTimeZone("GMT")); Date date = cal.getTime(); assertThat("Windows SVN date format does not match", SVN.formatSVNDate(date, true), equalTo("\"{2007-07-11T12:32:45Z}\"")); assertThat("non-Windows SVN date format does not match", SVN.formatSVNDate(date, false), equalTo("{2007-07-11T12:32:45Z}")); }
@Test public void testFormatDatesForSvnLog() { TimeZone.setDefault(TimeZone.getTimeZone("GMT+10:00")); Date maySeventeenSixPM2001 = new GregorianCalendar(2001, Calendar.MAY, 17, 18, 0, 0).getTime(); assertThat(SVN.formatSVNDate(maySeventeenSixPM2001, false), equalTo("{2001-05-17T08:00:00Z}")); Date maySeventeenEightAM2001 = new GregorianCalendar(2001, Calendar.MAY, 17, 8, 0, 0).getTime(); assertThat(SVN.formatSVNDate(maySeventeenEightAM2001, false), equalTo("{2001-05-16T22:00:00Z}")); TimeZone.setDefault(TimeZone.getTimeZone("GMT-10:00")); Date marchTwelfFourPM2003 = new GregorianCalendar(2003, Calendar.MARCH, 12, 16, 0, 0).getTime(); assertThat(SVN.formatSVNDate(marchTwelfFourPM2003, false), equalTo("{2003-03-13T02:00:00Z}")); Date marchTwelfTenAM2003 = new GregorianCalendar(2003, Calendar.MARCH, 12, 10, 0, 0).getTime(); assertThat(SVN.formatSVNDate(marchTwelfTenAM2003, false), equalTo("{2003-03-12T20:00:00Z}")); }