On Saturday 27 January 2007 21:09 Gunter Ohrner wrote:
> The attached patch solves the problem only partially.
>
> fsvs now does not do a ci__directory for every sibling of an examined
> directory any more, which is good news.
>
> Bad news is, however, that the "fsvs ci misc/prog" mentioned in my mail
> still took 85 minutes without any file being changed - it still called a
> ci__directory for every direct or indirect subdirectory of misc/prog,
> although nothing had changed. :-(
Now I got it!
Right?
--
Versioning your /etc, /home or even your whole installation?
Try fsvs (fsvs.tigris.org)!
=== commit.c
==================================================================
--- commit.c (revision 722)
+++ commit.c (local)
@@ -100,13 +100,16 @@
int ci__action(struct estat *sts,
char *path)
{
- /* mark the entry as to-be-done.
- * mark the parents too, so that we don't have to search
- * in-depth. */
- while (sts->parent && !(sts->parent->entry_status & FS_CHILD_CHANGED))
+ if (sts->entry_status)
{
- sts->parent->entry_status |= FS_CHILD_CHANGED;
- sts=sts->parent;
+ /* mark the entry as to-be-done.
+ * mark the parents too, so that we don't have to search
+ * in-depth. */
+ while (sts->parent && !(sts->parent->entry_status & FS_CHILD_CHANGED))
+ {
+ sts->parent->entry_status |= FS_CHILD_CHANGED;
+ sts=sts->parent;
+ }
}
return st__progress(sts, path);
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]