svn commit: r188657 - projects/csup_wip/contrib/csup

Ulf Lilleengen lulf at FreeBSD.org
Sun Feb 15 13:51:33 PST 2009


Author: lulf
Date: Sun Feb 15 21:51:32 2009
New Revision: 188657
URL: http://svn.freebsd.org/changeset/base/188657

Log:
  MFH r188644:
  - Do not free the pattern lists immediately after use, as they might be needed
    again in case the connection is interrupted and csup have to reconnect. The
    lists will be freed after the collection has been completely processed.
  
  MFH r188405:
  - Fix an issue where file attributes were not installed correctly during a Touch
    and SetAttrs operation.
  - SetAttrs and Touch were incorrectly switched.

Modified:
  projects/csup_wip/contrib/csup/   (props changed)
  projects/csup_wip/contrib/csup/proto.c
  projects/csup_wip/contrib/csup/updater.c

Modified: projects/csup_wip/contrib/csup/proto.c
==============================================================================
--- projects/csup_wip/contrib/csup/proto.c	Sun Feb 15 21:17:21 2009	(r188656)
+++ projects/csup_wip/contrib/csup/proto.c	Sun Feb 15 21:51:32 2009	(r188657)
@@ -521,12 +521,6 @@ proto_xchgcoll(struct config *config)
 		coll->co_filefilter = globtree_and(fileaccept,
 		    globtree_not(filerefuse));
 
-		/* At this point we don't need the pattern lists anymore. */
-		pattlist_free(coll->co_accepts);
-		pattlist_free(coll->co_refusals);
-		coll->co_accepts = NULL;
-		coll->co_refusals = NULL;
-
 		/* Set up a mask of file attributes that we don't want to sync
 		   with the server. */
 		if (!(coll->co_options & CO_SETOWNER))

Modified: projects/csup_wip/contrib/csup/updater.c
==============================================================================
--- projects/csup_wip/contrib/csup/updater.c	Sun Feb 15 21:17:21 2009	(r188656)
+++ projects/csup_wip/contrib/csup/updater.c	Sun Feb 15 21:51:32 2009	(r188657)
@@ -1656,10 +1656,12 @@ updater_rcsedit(struct updater *up, stru
 
 	if (rf == NULL) {
 		fattr_maskout(oldfattr, ~FA_MODTIME);
-		if (fattr_equal(oldfattr, sr->sr_serverattr) == 0)
+		if (fattr_equal(oldfattr, sr->sr_serverattr))
 		 	lprintf(1, " SetAttrs %s", fup->coname);
 		else
 			lprintf(1, " Touch %s", fup->coname);
+		/* Install new attributes. */
+		fattr_install(sr->sr_serverattr, fup->destpath, NULL);
 		if (fup->attic)
 			lprintf(1, " -> Attic");
 		lprintf(1, "\n");


More information about the svn-src-projects mailing list