2013/7/22 Stephan Beal <sgb...@googlemail.com> > On Mon, Jul 22, 2013 at 4:47 PM, Jacek Cała <jacek.c...@gmail.com> wrote: > >> - project create initializes internal repo ticket number with '1', >> - project clone adds suffix '.1' to the repo ticket number, >> > > That would require that cloning change the central repo (because it has to > assign and store the new number for each clone) and would be open to attack > by simply cloning the repo in a loop. If i clone it 10 times (and i've > _certainly_ cloned the main fossil repo at least that many times) then i > end up with 10 different numbers after the dot. > > Hundreds, if no thousands, of clones of the core fossil repo and tcl repos > exists. i don't see this approach working for those two trees. > > Or am i missing/misunderstanding some detail? >
Sorry for not being precise enough. You don't need to change the central repo. In fact you don't change any repo at all. Only during cloning you create a new 'seed' ticket number. Each repository has its own, ticket number prefix, either '1' if it is created or '...n.n.1' if it is cloned. Together with this 'seed' each repo has it's last_ticket_number variable (initalized with 1) which is a simple integer added to the seed and incremented on the 'create ticket' operation. I was to quick to say about dots only, so the last_ticket_number is added to the seed with, let say, a dash. Then, a ticket number is constructed as '<seed>-<last_ticket_number>'. Cloning creates a repository tree: 1 1.1 1.2 1.3 1.2.1 etc. whereas creating tickets adds an internal ticket number (independent for each repo) and so you can have: 1-1, 1-2, 1-3 1.1-1, 1.1-2 1.2.1-1, 1.2.1-2,... Is this clearer? Cheers, Jacek
_______________________________________________ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users