Index: src/branch.c
===================================================================
--- src/branch.c
+++ src/branch.c
@@ -50,10 +50,11 @@
   if( g.argc<5 ){
     usage("new BRANCH-NAME CHECK-IN ?-bgcolor COLOR?");
   }
   db_find_and_open_repository(0, 0);  
   noSign = db_get_int("omitsign", 0)|noSign;
+  if( db_get_boolean("clearsign", 0)==0 ){ noSign = 1; }
   
   /* fossil branch new name */
   zBranch = g.argv[3];
   if( zBranch==0 || zBranch[0]==0 ){
     fossil_panic("branch name cannot be empty");
@@ -111,10 +112,15 @@
   if( zColor!=0 ){
     blob_appendf(&branch, "T *bgcolor * %F\n", zColor);
   }
   blob_appendf(&branch, "T *branch * %F\n", zBranch);
   blob_appendf(&branch, "T *sym-%F *\n", zBranch);
+
+  if( content_is_private(rootid) ){
+    /* If the parent manifest is private, mark this one as such */
+    blob_appendf(&branch, "T +private *\n");
+  }
 
   /* Cancel all other symbolic tags */
   db_prepare(&q,
       "SELECT tagname FROM tagxref, tag"
       " WHERE tagxref.rid=%d AND tagxref.tagid=tag.tagid"

