On Sat, Mar 5, 2011 at 8:27 PM, Ron Wilson <[email protected]> wrote:
> On Fri, Mar 4, 2011 at 1:28 PM, Joerg Sonnenberger > <[email protected]> wrote: > > On Fri, Mar 04, 2011 at 01:06:46PM -0500, Ron Wilson wrote: > >> So, Fossil automatically creates a new branch with not even an > >> informational message saying it did that? > >> > >> That seems like a bug to me. > > > > It's not a branch. It's a fork. For more details, see: > > Regardless of terminology, some kind of notification should be given > during the push (or pull) that results in the fork. > As we ponder this, a bigger question emerges: What exactly is a fork? For inputs, we have a directed acyclic graph (DAG) that gives the complete history of the project. Let us suppose that arrows of the graph point from parent to child. Each node is labeled with a branch. In the general case, the labeling is completely arbitrary - there are no rules about adjacent nodes having related branch labels. The push/pull can add new nodes and edges to the DAG and change zero or more branch labels on existing nodes. But the push/pull cannot delete or rearrange existing nodes or edges. Given the DAG before the push/pull, and the complete set of changes caused by the push/pull, can you suggest an algorithm that will answer yes or no as to whether or not a new fork was created? Bonus points if you can give me a name for the fork. For some projects, the DAG contains over 100,000 nodes. We'd like to compute the answers above without having to pull nodes off the disk corresponding to check-ins that happened many years ago. -- D. Richard Hipp [email protected]
_______________________________________________ fossil-users mailing list [email protected] http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

