[fossil-users] Making branches private and multiple private branches
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
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
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
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
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