- dir_free (&e);
-}
-
-void repository_update_r (int cmd, char *dst, char *src);
-
-void repository_add_tree (int cmd, char *dst, char *src)
-{
- mkdir (dst, 0755);
- repository_update_r (cmd, dst, src);
-}
-
-void repository_del_tree (int cmd, char *dst, char *src)
-{
- log (LOG_DEBUG, "rmdir of %s", dst);
-}
-
-void repository_update_r (int cmd, char *dst, char *src)
-{
- struct dir_entry *e_dst, *e_src;
- int i_dst = 0, i_src = 0;
- struct stat fs_dst, fs_src;
- size_t dst_len = strlen (dst);
- size_t src_len = strlen (src);
-
- e_dst = dir_open (dst);
- e_src = dir_open (src);
-
- if (!e_dst && !e_src)
- return;
- if (!e_dst)
- repository_add_tree (cmd, dst, src);
- else if (!e_src)
- repository_del_tree (cmd, dst, src);
-
- dir_sort (e_src);
- dir_sort (e_dst);
-
- if (src[src_len-1] != '/')
- src[src_len] = '/';
- else
- --src_len;
- if (dst[dst_len-1] != '/')
- dst[dst_len] = '/';
- else
- --dst_len;
- while (e_dst[i_dst].name || e_src[i_src].name)