[fossil-users] Making branches private and multiple private branches

2014-03-10 Thread Will Parsons
I've been using Fossil as an SCM for one of my projects for about a
year now.  The program uses a GUI toolkit A, and since I wanted to
experiment with alternative toolkits B  C, some time ago I copied
projname.fossil to projname-B.fossil and projname-C.fossil, created
new branches B and C in the two new repositories, and worked from
there on my experimental changes.

Now that I have more experience with Fossil, I think I probably should
have created private branches using the original repository instead.
So, is it possible to retroactively accomplish this?  I can pull from
the main repository into the two secondary ones, but is it possible to
then make branches B  C private retroactively?  The documentation
only mentions creating a private branch with the first commit.

Also, the documentation says on one hand that creating a private
branch results in a new branch named private, which would seem to
imply there can be only one private branch, but then later implies
that there can be more than one (You can remove all private
branches...).  Can anyone clarify the situation?

-- 
Will

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Making branches private and multiple private branches

2014-03-10 Thread Stephan Beal
On Mon, Mar 10, 2014 at 7:28 PM, Will Parsons varro@nodomain.invalidwrote:

 the main repository into the two secondary ones, but is it possible to
 then make branches B  C private retroactively?  The documentation
 only mentions creating a private branch with the first commit.


If i'm not sorely mistaken, once content is made public, it can never again
be made private. Certain operations (e.g. tagging) take care to ensure that
public content does not refer to private content (because that would break
a sync). e.g. when tagging private content, the tag is automatically marked
as private as well. Once it's out there (public), you can't stop the
signal.


 Also, the documentation says on one hand that creating a private
 branch results in a new branch named private, which would seem to
 imply there can be only one private branch, but then later implies
 that there can be more than one (You can remove all private
 branches...).  Can anyone clarify the situation?


This works for me:

stephan@host:~/cvs/fossil/x]$ history | tail
  526  f open ../x.fsl
  527  f set autosync 0
  528  echo '#!!!'  Makefile
  529  f ci --private --branch p1 -m p1
  530  f co trunk
  531  echo '#!'  Makefile
  532  f ci --private --branch p2 -m p2

-- 
- stephan beal
http://wanderinghorse.net/home/stephan/
http://gplus.to/sgbeal
Freedom is sloppy. But since tyranny's the only guaranteed byproduct of
those who insist on a perfect world, freedom will have to do. -- Bigby Wolf
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Making branches private and multiple private branches

2014-03-10 Thread Richard Hipp
On Mon, Mar 10, 2014 at 2:46 PM, Stephan Beal sgb...@googlemail.com wrote:


 On Mon, Mar 10, 2014 at 7:28 PM, Will Parsons varro@nodomain.invalidwrote:

 the main repository into the two secondary ones, but is it possible to
 then make branches B  C private retroactively?  The documentation
 only mentions creating a private branch with the first commit.


 If i'm not sorely mistaken, once content is made public, it can never
 again be made private.


Once you push content into the cloud, you can not call it back.  It's out
there.  Trying make a branch private after it has already synced is like
closing the door to the chicken coop after the chickens have all already
decamped.

But as long as you haven't synced, I think you can make a branch private
simply by setting the private tag.

fossil tag add --raw --propagate private $first-check-of-private-branch

-- 
D. Richard Hipp
d...@sqlite.org
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Making branches private and multiple private branches

2014-03-10 Thread Will Parsons
Richard Hipp wrote:
 --===0402830886==
 Content-Type: multipart/alternative; boundary=089e016347a4d508c804f4451ff0

 --089e016347a4d508c804f4451ff0
 Content-Type: text/plain; charset=ISO-8859-1

 On Mon, Mar 10, 2014 at 2:46 PM, Stephan Beal sgb...@googlemail.com wrote:

 On Mon, Mar 10, 2014 at 7:28 PM, Will Parsons varro@nodomain.invalidwrote:

 the main repository into the two secondary ones, but is it possible to
 then make branches B  C private retroactively?  The documentation
 only mentions creating a private branch with the first commit.

 If i'm not sorely mistaken, once content is made public, it can never
 again be made private.

 Once you push content into the cloud, you can not call it back.  It's out
 there.  Trying make a branch private after it has already synced is like
 closing the door to the chicken coop after the chickens have all already
 decamped.

 But as long as you haven't synced, I think you can make a branch private
 simply by setting the private tag.

 fossil tag add --raw --propagate private $first-check-of-private-branch

This is purely a private project, so synching isn't an issue.  I did
what you suggested above, and am not sure how to interpret the
results.  I kind of assumed that the command would result in the tag
private being added to every commit in the branch, but I don't see
that in the timeline.  What I do see is a new event added to the
timeline:

  Edit [ec9d5eef305a3c02]: Add propagating private.

and in the initial check-in for the branch:

  private propagates to descendants added by ...

Does this mean the branch will be treated as a private branch now, and
if I sync to the main repository, the branch will not be synched?

-- 
Will

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Making branches private and multiple private branches

2014-03-10 Thread Will Parsons
Richard Hipp wrote:
 --===0261154002==
 Content-Type: multipart/alternative; boundary=047d7bea39f4fa833104f447520d

 --047d7bea39f4fa833104f447520d
 Content-Type: text/plain; charset=ISO-8859-1

 On Mon, Mar 10, 2014 at 5:08 PM, Will Parsons varro@nodomain.invalidwrote:

 Richard Hipp wrote:
  --===0402830886==
  Content-Type: multipart/alternative;
 boundary=089e016347a4d508c804f4451ff0
 
  Once you push content into the cloud, you can not call it back.  It's out
  there.  Trying make a branch private after it has already synced is like
  closing the door to the chicken coop after the chickens have all already
  decamped.
 
  But as long as you haven't synced, I think you can make a branch private
  simply by setting the private tag.
 
  fossil tag add --raw --propagate private
 $first-check-of-private-branch

 This is purely a private project, so synching isn't an issue.  I did
 what you suggested above, and am not sure how to interpret the
 results.  I kind of assumed that the command would result in the tag
 private being added to every commit in the branch, but I don't see
 that in the timeline.

 That's what happened, hopefully.  But it added a raw tag rather than a
 symbolic tag, which is exactly what you want to happen.

 On the info page for one of the check-ins for the private branch, under
 Tags and Properties, do you see the private tag there?


 What I do see is a new event added to the
 timeline:

   Edit [ec9d5eef305a3c02]: Add propagating private.

 and in the initial check-in for the branch:

   private propagates to descendants added by ...

 Does this mean the branch will be treated as a private branch now, and
 if I sync to the main repository, the branch will not be synched?

 That is suppose to be what happens, yes.  The check-ins marked with the raw
 private tag will not get synched.

Thank you very much for the clarification.

-- 
Will

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users