Hi List,
I am trying to accomplish a cascading work-flow Personal.fossil ->
Team.fossil -> Public.fossil without history rewriting.

Right now fossil has concept of "private" branches  that are tagged
with "private". Those branches are pushed/pulled only in presence of
--private option. Everything else is unequivocally public.

I would like to entertain an idea of adding explicit "public" tag
which will propagate in a way similar to "private" tag behavior.
Push/Pull behavior will be modified to accomplish the following

* If artifact is tagged as "public" (directly or via inheritance) then
"fossil push/pull" will always transfer the artifact.

* If artifact is neither "public" nor "private" then  "fossil
push/pull" will transfer the artifact (the same way as it is now) but
"fossil push/pull --public-only" will ignore it. This way one can
limit transfers to only those branches that are explicitly "public".

* If artifact is "private" then only "fossil push/pull --private" will
transfer it (the same behavior as now)

* An artifact cannot be simultaneously "public" and "private"

This way one can have personal private repos that feed all non-private
branches into a team repo. Then from the team repo only explicitly
"public" branches make it into a clean release repo.

Something along these lines permits cascading work-flow without any
need for history rewriting.

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

Reply via email to