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]

Reply via email to