Index: subversion/libsvn_subr/path.c
===================================================================
--- subversion/libsvn_subr/SVN/text-base/path.c	Mon Sep 17 19:39:36 2001
+++ subversion/libsvn_subr/path.c	Mon Sep 17 19:39:36 2001
@@ -74,11 +74,18 @@
 {
   char dirsep = get_separator_from_style (style);
 
-  /* At some point this could eliminiate redundant components.
-     For now, it just makes sure there is no trailing slash. */
+  char sep_sep[3] = { dirsep, dirsep, '\0' }; 
+  char sep_dot_sep[4] = { dirsep, '.', dirsep, '\0' };
 
-  /* kff todo: maybe should be implemented with a new routine in
-     libsvn_string. */
+  char *tmp = NULL;
+
+  while ((tmp = strstr (path-data, sep_sep)) != NULL)
+      strcpy(tmp, tmp + 1);
+
+  while ((tmp = strstr (path-data, sep_dot_sep)) != NULL)
+      strcpy(tmp, tmp + 2);
+
+  path-len = strlen (path-data);
 
   while ((path-len  0)
           (path-data[(path-len - 1)] == dirsep))


