maven-scm-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ol...@apache.org
Subject svn commit: r683076 - in /maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src: main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/ test/java/org/apache/maven/scm/provider/git/gitexe/command/change...
Date Wed, 06 Aug 2008 01:29:00 GMT
Author: olamy
Date: Tue Aug  5 18:29:00 2008
New Revision: 683076

URL: http://svn.apache.org/viewvc?rev=683076&view=rev
Log:
[SCM-394] git provider tests in trunk are locale aware
change log output parsing date format
use --date=iso in the cli git log


Modified:
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommand.java
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumer.java
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommandTest.java
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumerTest.java
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/git/changelog/gitwhatchanged.gitlog
    maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/git/changelog/gitwhatchanged2.gitlog

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommand.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommand.java?rev=683076&r1=683075&r2=683076&view=diff
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommand.java
(original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommand.java
Tue Aug  5 18:29:00 2008
@@ -127,6 +127,8 @@
             }
         }
         
+        cl.createArgument().setValue( "--date=iso" );
+        
         return cl;
     }
 }

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumer.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumer.java?rev=683076&r1=683075&r2=683076&view=diff
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumer.java
(original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumer.java
Tue Aug  5 18:29:00 2008
@@ -19,6 +19,11 @@
  * under the License.
  */
 
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Locale;
+
 import org.apache.maven.scm.ChangeFile;
 import org.apache.maven.scm.log.ScmLogger;
 import org.apache.maven.scm.provider.git.GitChangeSet;
@@ -26,10 +31,6 @@
 import org.apache.regexp.RE;
 import org.apache.regexp.RESyntaxException;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
  */
@@ -38,8 +39,9 @@
 {
     /**
      * Date formatter for git timestamp
+     * we use iso format cli git log --date=iso sample : 2008-08-06 01:37:18 +0200
      */
-    private static final String GIT_TIMESTAMP_PATTERN = "MMM dd HH:mm:ss yyyy Z";
+    private static final String GIT_TIMESTAMP_PATTERN = "yyyy-MM-dd HH:mm:ss Z";
 
     /**
      * State machine constant: expecting header
@@ -80,7 +82,7 @@
     /**
      * The pattern used to match git date lines
      */
-    private static final String DATE_PATTERN = "^Date:\\s*\\w\\w\\w\\s(.*)";
+    private static final String DATE_PATTERN = "^Date:\\s*(.*)";
 
     /**
      * The pattern used to match git file lines
@@ -183,7 +185,7 @@
                 processGetAuthor( line );
                 break;
             case STATUS_GET_DATE:
-                processGetDate( line );
+                processGetDate( line, null );
                 break;
             case STATUS_GET_COMMENT:
                 processGetComment( line );
@@ -195,6 +197,8 @@
                 throw new IllegalStateException( "Unknown state: " + status );
         }
     }
+    
+      
 
     // ----------------------------------------------------------------------
     //
@@ -248,7 +252,7 @@
      *
      * @param line a line of text from the git log output
      */
-    private void processGetDate( String line )
+    private void processGetDate( String line, Locale locale )
     {
         if ( !dateRegexp.match( line ) )
         {
@@ -256,8 +260,8 @@
         }
         
         String datestring = dateRegexp.getParen( 1 );
-        
-        Date date = parseDate( datestring.trim() , userDateFormat, GIT_TIMESTAMP_PATTERN
);
+      
+        Date date = parseDate( datestring.trim() , userDateFormat, GIT_TIMESTAMP_PATTERN,
locale );
         
         currentChange.setDate( date );
         

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommandTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommandTest.java?rev=683076&r1=683075&r2=683076&view=diff
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommandTest.java
(original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommandTest.java
Tue Aug  5 18:29:00 2008
@@ -41,7 +41,7 @@
     public void testCommandLineNoDates()
         throws Exception
     {
-        testCommandLine( "scm:git:http://foo.com/git", null, null, null, "git log" );
+        testCommandLine( "scm:git:http://foo.com/git", null, null, null, "git log --date=iso"
);
     }
 
     public void testCommandLineWithDates()
@@ -51,7 +51,7 @@
         Date endDate = getDate( 2007, Calendar.OCTOBER, 10, GMT_TIME_ZONE );
 
         testCommandLine( "scm:git:http://foo.com/git", null, startDate, endDate,
-                         "git log \"--since=2003-09-10 00:00:00 +0000\" \"--until=2007-10-10
00:00:00 +0000\"" );
+                         "git log \"--since=2003-09-10 00:00:00 +0000\" \"--until=2007-10-10
00:00:00 +0000\" --date=iso" );
     }
 
     public void testCommandLineStartDateOnly()
@@ -60,7 +60,7 @@
         Date startDate = getDate( 2003, Calendar.SEPTEMBER, 10, 1, 1, 1, GMT_TIME_ZONE );
 
         testCommandLine( "scm:git:http://foo.com/git", null, startDate, null,
-                         "git log \"--since=2003-09-10 01:01:01 +0000\"" );
+                         "git log \"--since=2003-09-10 01:01:01 +0000\" --date=iso" );
     }
 
     public void testCommandLineDateFormat()
@@ -70,7 +70,7 @@
         Date endDate = getDate( 2005, Calendar.NOVEMBER, 13, 23, 23, 23, GMT_TIME_ZONE );
 
         testCommandLine( "scm:git:http://foo.com/git", null, startDate, endDate,
-                         "git log \"--since=2003-09-10 01:01:01 +0000\" \"--until=2005-11-13
23:23:23 +0000\"" );
+                         "git log \"--since=2003-09-10 01:01:01 +0000\" \"--until=2005-11-13
23:23:23 +0000\" --date=iso" );
     }
 
     public void testCommandLineEndDateOnly()
@@ -80,34 +80,34 @@
 
         // Only specifying end date should print no dates at all
         testCommandLine( "scm:git:http://foo.com/git", null, null, endDate,
-                         "git log \"--until=2003-11-10 00:00:00 +0000\"" );
+                         "git log \"--until=2003-11-10 00:00:00 +0000\" --date=iso" );
     }
 
     public void testCommandLineWithBranchNoDates()
         throws Exception
     {
-        testCommandLine( "scm:git:http://foo.com/git", new ScmBranch( "my-test-branch" ),
null, null, "git log" );
+        testCommandLine( "scm:git:http://foo.com/git", new ScmBranch( "my-test-branch" ),
null, null, "git log --date=iso" );
     }
 
 
     public void testCommandLineWithStartVersion()
         throws Exception
     {
-        testCommandLine( "scm:git:http://foo.com/git", new ScmRevision( "1" ), null, "git
log --since=1" );
+        testCommandLine( "scm:git:http://foo.com/git", new ScmRevision( "1" ), null, "git
log --since=1 --date=iso" );
     }
 
     public void testCommandLineWithStartVersionAndEndVersion()
         throws Exception
     {
         testCommandLine( "scm:git:http://foo.com/git", new ScmRevision( "1" ), new ScmRevision(
"10" ),
-                         "git log --since=1 --until=10" );
+                         "git log --since=1 --until=10 --date=iso" );
     }
 
     public void testCommandLineWithStartVersionAndEndVersionEquals()
         throws Exception
     {
         testCommandLine( "scm:git:http://foo.com/git", new ScmRevision( "1" ), new ScmRevision(
"1" ),
-                         "git log --since=1 --until=1" );
+                         "git log --since=1 --until=1 --date=iso" );
     }
 
     // ----------------------------------------------------------------------

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumerTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumerTest.java?rev=683076&r1=683075&r2=683076&view=diff
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumerTest.java
(original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogConsumerTest.java
Tue Aug  5 18:29:00 2008
@@ -19,11 +19,6 @@
  * under the License.
  */
 
-import org.apache.maven.scm.ChangeFile;
-import org.apache.maven.scm.ChangeSet;
-import org.apache.maven.scm.log.DefaultLog;
-import org.codehaus.plexus.PlexusTestCase;
-
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.FileReader;
@@ -31,6 +26,13 @@
 import java.util.Iterator;
 import java.util.List;
 import java.util.TimeZone;
+import java.util.regex.Pattern;
+
+import org.apache.maven.scm.ChangeFile;
+import org.apache.maven.scm.ChangeSet;
+import org.apache.maven.scm.log.DefaultLog;
+import org.apache.regexp.RE;
+import org.codehaus.plexus.PlexusTestCase;
 
 /**
  * @author <a href="mailto:struberg@yahoo.de">Mark Struberg</a>
@@ -40,8 +42,17 @@
 {
     
     public void testConsumer1()
-    throws Exception
+        throws Exception
     {
+        //was  Date:   Tue Nov 27 16:16:28 2007 +0100
+        //iso  Date:   2007-11-24 01:13:10 +0100
+        RE dateRegexp = new RE( "^Date:\\s*(.*)" );//new RE( "^Date:\\s*\\w-1\\w-1\\w-1\\s(.*)"
);
+
+        boolean match = dateRegexp.match( "Date:   2007-11-24 01:13:10 +0100" );
+        String datestring = dateRegexp.getParen( 1 );
+        assertEquals("2007-11-24 01:13:10 +0100", datestring);
+        assertTrue( match );
+        
         GitChangeLogConsumer consumer = new GitChangeLogConsumer( new DefaultLog(), null
);
 
         File f = getTestFile( "/src/test/resources/git/changelog/gitwhatchanged.gitlog" );
@@ -56,43 +67,43 @@
         }
 
         List modifications = consumer.getModifications();
-        
+
         assertEquals( 6, modifications.size() );
 
         for ( Iterator i = modifications.iterator(); i.hasNext(); )
         {
             ChangeSet entry = (ChangeSet) i.next();
-            
+
             assertEquals( "Mark Struberg <struberg@yahoo.de>", entry.getAuthor() );
 
             assertNotNull( entry.getDate() );
-            
+
             assertTrue( entry.getComment() != null && entry.getComment().length()
> 0 );
-            
+
             assertNotNull( entry.getFiles() );
             assertFalse( entry.getFiles().isEmpty() );
-        }    
-        
+        }
+
         ChangeSet entry = (ChangeSet) modifications.get( 3 );
-        
+
         assertEquals( "Mark Struberg <struberg@yahoo.de>", entry.getAuthor() );
 
         assertNotNull( entry.getDate() );
         SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss Z" );
         sdf.setTimeZone( TimeZone.getTimeZone( "GMT" ) );
-        
+
         assertEquals( "2007-11-24 00:10:42 +0000", sdf.format( entry.getDate() ) );
-        
-        assertEquals( "/ added" , entry.getComment() );
-        
+
+        assertEquals( "/ added", entry.getComment() );
+
         assertNotNull( entry.getFiles() );
         ChangeFile cf = (ChangeFile) entry.getFiles().get( 0 );
-        assertEquals( "readme.txt", cf.getName()  );
+        assertEquals( "readme.txt", cf.getName() );
         assertTrue( cf.getRevision() != null && cf.getRevision().length() > 0
);
     }
- 
+
     public void testConsumer2()
-    throws Exception
+        throws Exception
     {
         GitChangeLogConsumer consumer = new GitChangeLogConsumer( new DefaultLog(), null
);
 
@@ -106,43 +117,46 @@
         {
             consumer.consumeLine( line );
         }
-        
+
         List modifications = consumer.getModifications();
-        
+
         for ( Iterator i = modifications.iterator(); i.hasNext(); )
         {
             ChangeSet entry = (ChangeSet) i.next();
-            
+
             assertEquals( "Mark Struberg <struberg@yahoo.de>", entry.getAuthor() );
 
             assertNotNull( entry.getDate() );
-            
+
             assertTrue( entry.getComment() != null && entry.getComment().length()
> 0 );
-            
+
             assertNotNull( entry.getFiles() );
             assertFalse( entry.getFiles().isEmpty() );
-        }    
-        
+        }
+
         assertEquals( 8, modifications.size() );
 
         ChangeSet entry = (ChangeSet) modifications.get( 4 );
-        
+
         assertEquals( "Mark Struberg <struberg@yahoo.de>", entry.getAuthor() );
 
         assertNotNull( entry.getDate() );
         SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss Z" );
         sdf.setTimeZone( TimeZone.getTimeZone( "GMT" ) );
-        
+
         assertEquals( "2007-11-27 13:05:36 +0000", sdf.format( entry.getDate() ) );
 
-        assertEquals( "fixed a GitCommandLineUtil and provice first version of the checkin
command." , entry.getComment() );
-        
+        assertEquals( "fixed a GitCommandLineUtil and provice first version of the checkin
command.", entry
+            .getComment() );
+
         assertNotNull( entry.getFiles() );
-        
+
         assertEquals( 10, entry.getFiles().size() );
-        
+
         ChangeFile cf = (ChangeFile) entry.getFiles().get( 0 );
-        assertEquals( "maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/GitCommandLineUtils.java",
cf.getName()  );
+        assertEquals(
+                      "maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/GitCommandLineUtils.java",
+                      cf.getName() );
         assertTrue( cf.getRevision() != null && cf.getRevision().length() > 0
);
     }
  

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/git/changelog/gitwhatchanged.gitlog
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/git/changelog/gitwhatchanged.gitlog?rev=683076&r1=683075&r2=683076&view=diff
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/git/changelog/gitwhatchanged.gitlog
(original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/git/changelog/gitwhatchanged.gitlog
Tue Aug  5 18:29:00 2008
@@ -1,6 +1,6 @@
 commit 87b491254306a64cebee4be3195fd56542b2b09f
 Author: Mark Struberg <struberg@yahoo.de>
-Date:   Sat Nov 24 01:14:44 2007 +0100
+Date:   2007-11-24 01:14:44 +0100
 
     tck
 
@@ -8,7 +8,7 @@
 
 commit 21b9e10522ae661b9c6595cb29a6d2ec76af3fe3
 Author: Mark Struberg <struberg@yahoo.de>
-Date:   Sat Nov 24 01:13:10 2007 +0100
+Date:   2007-11-24 01:13:10 +0100
 
     tck
 
@@ -16,7 +16,7 @@
 
 commit 71fa36033234b8998937b9d4d746da186038cbcc
 Author: Mark Struberg <struberg@yahoo.de>
-Date:   Sat Nov 24 01:12:01 2007 +0100
+Date:   2007-11-24 01:12:01 +0100
 
     fixed tck
 
@@ -24,7 +24,7 @@
 
 commit 895d423689da3b36d8e9106c0ecbf3d62433978c
 Author: Mark Struberg <struberg@yahoo.de>
-Date:   Sat Nov 24 01:10:42 2007 +0100
+Date:   2007-11-24 01:10:42 +0100
 
     / added
 
@@ -32,7 +32,7 @@
 
 commit 2d22f2da71ef279c4759b1c09cdb8282b63f0cf6
 Author: Mark Struberg <struberg@yahoo.de>
-Date:   Sat Nov 24 01:10:06 2007 +0100
+Date:   2007-11-24 01:10:06 +0100
 
     fixed linebreak
 
@@ -41,7 +41,7 @@
 
 commit e5442f3dff1884ec9df7fa67b3d08c7f3f83b5ce
 Author: Mark Struberg <struberg@yahoo.de>
-Date:   Sat Nov 24 01:07:48 2007 +0100
+Date:   2007-11-24 01:07:48 +0100
 
     fix content for tck
 

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/git/changelog/gitwhatchanged2.gitlog
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/git/changelog/gitwhatchanged2.gitlog?rev=683076&r1=683075&r2=683076&view=diff
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/git/changelog/gitwhatchanged2.gitlog
(original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/git/changelog/gitwhatchanged2.gitlog
Tue Aug  5 18:29:00 2008
@@ -1,6 +1,6 @@
 commit 107135a712f86525ca810e16dfdac7e65994d74c
 Author: Mark Struberg <struberg@yahoo.de>
-Date:   Tue Nov 27 20:10:27 2007 +0100
+Date:   2007-11-27 20:10:27 +0100
 
     initial changelog consumer written
 
@@ -10,7 +10,7 @@
 
 commit d56726a4e0b3fcf54a6c2fb45d285fcf23e4053a
 Author: Mark Struberg <struberg@yahoo.de>
-Date:   Tue Nov 27 16:25:25 2007 +0100
+Date:   2007-11-27 16:25:25 +0100
 
     temporarily use production scm
 
@@ -18,7 +18,7 @@
 
 commit 0bde2244241273a1777622d09c9cd1e916fba669
 Author: Mark Struberg <struberg@yahoo.de>
-Date:   Tue Nov 27 16:16:28 2007 +0100
+Date:   2007-11-27 16:16:28 +0100
 
     fixed revision and date handling
 
@@ -26,7 +26,7 @@
 
 commit 981afd58987f5ac4afa21be2d1e0d7420f77e19f
 Author: Mark Struberg <struberg@yahoo.de>
-Date:   Tue Nov 27 16:16:13 2007 +0100
+Date:   2007-11-27 16:16:13 +0100
 
     fixed revision and date handling
 
@@ -34,7 +34,7 @@
 
 commit 52733aa427041cafd760833cb068ffe897fd35db
 Author: Mark Struberg <struberg@yahoo.de>
-Date:   Tue Nov 27 14:05:36 2007 +0100
+Date:   2007-11-27 14:05:36 +0100
 
     fixed a GitCommandLineUtil and provice first version of the checkin command.
 
@@ -51,7 +51,7 @@
 
 commit cef708a0aa71cc72f12eb6755513294f720ad858
 Author: Mark Struberg <struberg@yahoo.de>
-Date:   Mon Nov 26 21:04:12 2007 +0100
+Date:   2007-11-27 21:04:12 +0100
 
     add initial git test repository in src/test/resources/repository
 
@@ -93,7 +93,7 @@
 
 commit 7c14cf0301dbb6d1379c1801a703b2641c22f348
 Author: Mark Struberg <struberg@yahoo.de>
-Date:   Sat Nov 24 02:51:23 2007 +0100
+Date:   2007-11-24 02:51:23 +0100
 
     tck continued until still missing 'checkin'
 
@@ -107,7 +107,7 @@
 
 commit e670863b2b03e158c59f34af1fee20f91b2bd852
 Author: Mark Struberg <struberg@yahoo.de>
-Date:   Thu Nov 22 22:16:03 2007 +0100
+Date:   2007-11-22 22:16:03 +0100
 
     initial version
 



Mime
View raw message