Re: [fossil-users] How about renaming a fork to fork-*? (Was: Two trunks?)

2015-04-23 Thread Ron W
On Wed, Apr 22, 2015 at 9:50 PM, Andy Bradford amb-fos...@bradfords.org
wrote:

 Also, it only warns if  it encounters a fork that has not
 previously been seen


Only for sync, or does it also only report new forks when fossil forks is
run? In my opinion, fossil forks should report all forks, even previously
detected ones.
___
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] How about renaming a fork to fork-*? (Was: Two trunks?)

2015-04-23 Thread Andy Bradford
Thus said Ron W on Thu, 23 Apr 2015 13:13:12 -0400:

 Only for  sync, or  does it  also only report  new forks  when fossil
 forks is run? In my opinion,  fossil forks should report all forks,
 even previously detected ones.

Yes, only in the context of a sync. E.g. someone makes a commit, you are
working offline  and also  make a  commit against the  same node  in the
timeline. This creates  a ``sleeper'' fork. When you go  back online and
sync your content, you will receive  a warning that a fork has occurred.
It also suggests you use ``fossil forks'' to find it.

However, because you  now have the fork, you will  not be notified again
during a sync about it.

Andy
-- 
TAI64 timestamp: 400055392cdb


___
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] How about renaming a fork to fork-*? (Was: Two trunks?)

2015-04-23 Thread Jan Nijtmans
2015-04-23 3:50 GMT+02:00 Andy Bradford amb-fos...@bradfords.org:
 I've altered  the change and now  it will only  check at the end  of the
 complete sync. Also, it only warns if  it encounters a fork that has not
 previously been seen (ignoring any  additional checkins on a fork unless
 they also are new forks).

 I think this  will minimize fork warning fatigue that  is an outstanding
 concern.

Good work, I like it!   +1 for merging it to trunk.

 I  don't think  the problem  is with  ``fossil forks''  however, because
 after running ``fossil rebuild'' on z.fossil, ``fossil forks'' correctly
 reports that there  are no forks. So it seems  that for whatever reason,
 running ``fossil pull'' the  way we are for the test  results in not all
 nodes being properly  designated in the tables. This  behavior exists in
 trunk as well.

 $ ./fossil forks -R z.fossil
(1) 2015-02-24 06:40:00 [8c3e6404b0] Let -x imply --emptydirs and
--dotfiles (user: jan.nijtmans tags: cleanX-no-clean-glob)
(2) 2013-06-21 09:27:19 [dfb47a2a2e] rebase (user: jan.nijtmans tags:
cleanX-no-clean-glob)
(3) 2013-06-19 07:14:13 [cbf9660369] rebase (user: jan.nijtmans tags:
cleanX-no-clean-glob)
(4) 2013-04-03 07:36:05 [6159a7f281] rebase (user: jan.nijtmans tags:
clean-with-ignore)
(5) 2013-04-02 09:31:26 [bdd9790484] merge trunk (user: jan.nijtmans tags:
clean-with-ignore)

Yes, this must be a bug somewhere in the pull handling, which is
caused by the rebase action I did (as experiment). Have a look
at this commit:

   http://fossil-scm.org/index.html/timeline?f=2e545d58

You will see that a new clean-with-ignore branch was created from
trunk, the old content of clean-with-ignore being merged in. Even
though effectively the branch didn't change, apparently the pull
concluded that 2e545d58 is a leaf, while fossil rebuild correctly
decides it isn't. Of course, I could explicitly add a close tag
here as workaround, but for the sake of bug reproducibility
I'll leave it like this ;-)   Thanks!   Good catch! Pleading guilty!

However, as you correctly stated, this is unrelated to the
recent fork handling improvements, so still good-to-go
from me.

Thanks!
   Jan Nijtmans
___
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] How about renaming a fork to fork-*? (Was: Two trunks?)

2015-04-22 Thread Andy Bradford
Thus said Jan Nijtmans on Sun, 19 Apr 2015 21:10:25 +0200:

 Explanation:  the  current  code  in sync-forkwarn  doesn't  do  the
 fork-check at  the end  of the  sync, it does  it at  the end  of each
 round-trip.

I've altered  the change and now  it will only  check at the end  of the
complete sync. Also, it only warns if  it encounters a fork that has not
previously been seen (ignoring any  additional checkins on a fork unless
they also are new forks).

I think this  will minimize fork warning fatigue that  is an outstanding
concern.

http://www.fossil-scm.org/index.html/info/64b221aacf136594

By the  way, I'm not  sure if  this is a  bug (because we're  not really
cloning as  we normally would), but  while testing using your  method of
creating an empty repository, altering  the project-code and pulling the
Fossil repository,  after the  pull is complete,  while no  warnings are
issued, ``fossil forks'' actually reports forks.

The difference in  time for such a big sync  remains negligible, perhaps
even improved  results from when you  tested (I suspect the  faster time
for the [64b221aacf] below was due to network causes):

$ ./fossil version
This is fossil version 1.32 [64b221aacf] 2015-04-23 00:35:34 UTC
$ ./fossil new z.fossil
...
$ printf UPDATE config SET value = 'CE59BB9F186226D80E49D1FA2DB29F935CCA0333' 
WHERE name = 'project-code';\nDELETE FROM blob;\nDELETE FROM event;\nDELETE 
FROM unclustered;\nDELETE FROM tagxref;\nDELETE FROM rcvfrom;\nDELETE FROM 
leaf;\n | ./fossil sql -R z.fossil
$ time ./fossil pull -R z.fossil http://www3.fossil-scm.org/site.cgi
Round-trips: 270   Artifacts sent: 0  received: 30708
Pull done, sent: 851133  received: 19754467  ip: 72.52.64.58

real3m54.302s
user0m49.110s
sys 0m3.743s

$ fossil version
This is fossil version 1.32 [92be5246f8] 2015-04-20 07:20:05 UTC
$ fossil new z.fossil
...
$ printf UPDATE config SET value = 'CE59BB9F186226D80E49D1FA2DB29F935CCA0333' 
WHERE name = 'project-code';\nDELETE FROM blob;\nDELETE FROM event;\nDELETE 
FROM unclustered;\nDELETE FROM tagxref;\nDELETE FROM rcvfrom;\nDELETE FROM 
leaf;\n | fossil sql -R z.fossil
$ time fossil pull -R z.fossil http://www3.fossil-scm.org/site.cgi
Round-trips: 270   Artifacts sent: 0  received: 30708
Pull done, sent: 851139  received: 19754477  ip: 72.52.64.58

real4m2.294s
user0m40.539s
sys 0m3.552s

I  don't think  the problem  is with  ``fossil forks''  however, because
after running ``fossil rebuild'' on z.fossil, ``fossil forks'' correctly
reports that there  are no forks. So it seems  that for whatever reason,
running ``fossil pull'' the  way we are for the test  results in not all
nodes being properly  designated in the tables. This  behavior exists in
trunk as well.

$ ./fossil forks -R z.fossil 
   (1) 2015-02-24 06:40:00 [8c3e6404b0] Let -x imply --emptydirs and
   --dotfiles (user: jan.nijtmans tags: cleanX-no-clean-glob)
   (2) 2013-06-21 09:27:19 [dfb47a2a2e] rebase (user: jan.nijtmans tags:
   cleanX-no-clean-glob)
   (3) 2013-06-19 07:14:13 [cbf9660369] rebase (user: jan.nijtmans tags:
   cleanX-no-clean-glob)
   (4) 2013-04-03 07:36:05 [6159a7f281] rebase (user: jan.nijtmans tags:
   clean-with-ignore)
   (5) 2013-04-02 09:31:26 [bdd9790484] merge trunk (user: jan.nijtmans tags:
   clean-with-ignore)
$ ./fossil rebuild z.fossil 
  100.0% complete...
$ ./fossil forks -R z.fossil 
$ 

Andy
-- 
TAI64 timestamp: 400055385013


___
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] How about renaming a fork to fork-*? (Was: Two trunks?)

2015-04-20 Thread Andy Bradford
Thus said Jan Nijtmans on Sun, 19 Apr 2015 21:10:25 +0200:

 It seems  it's not  wise at  this moment  to merge  sync-forkwarn to
 trunk since false  warnings here may be more confusing  than that they
 help :-(

You're right. I  thought I had moved  it sufficiently to the  end of the
client_sync, but apparently db_end_transaction is also called at the end
of each round-trip. So it is definitely not ready.

Thanks for checking this,

Andy
--
TAI64 timestamp: 400055355bba
___
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] How about renaming a fork to fork-*? (Was: Two trunks?)

2015-04-19 Thread Jan Nijtmans
2015-04-19 2:06 GMT+02:00 Andy Bradford amb-fos...@bradfords.org:
 The only time that  fork detection makes sense (if at  all) is *after* a
 complete sync in the client.

Just repeated my earlier experiment using sync-forkwarn branch, and got:
$ time ./fossil pull -R z.fossil http://www.fossil-scm.org/index.html
Round-trips: 209   Artifacts sent: 0  received: 17734
Pull done, sent: 761275  received: 10502627  ip: 67.18.92.124
* WARNING: a fork has occurred * use fossil forks for
more details.
Hey, the self-hosting fossil repository doesn't contain forks any more,
how is this possible?

Explanation: the current code in sync-forkwarn doesn't do the fork-check
at the end of the sync, it does it at the end of each round-trip. Since there
were some forks created long ago which were only recently closed, this
can result in a false warning: Maybe the artifacts in a round-trip create
a fork, but this fork is resolved in some future round-trip which is still
part of the same sync operation.

It seems it's not wise at this moment to merge sync-forkwarn to trunk
since false warnings here may be more confusing than that they help :-(

Regards,
   Jan Nijtmans
___
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] How about renaming a fork to fork-*? (Was: Two trunks?)

2015-04-18 Thread Richard Hipp
On 4/18/15, Steve Stefanovich s...@stef.rs wrote:
 How about if the fork happens, simply change the tag automatically to
 'fork-trunk' (i.e. prefix the existing repeating tag(s) with 'fork'), or
 just tag it as 'fork', on commit?


When the artifacts that comprise a fork are received, the server has
no way of knowing that new artifacts that resolve the fork (either by
merging or by moving it onto a branch) will not be received within the
next few milliseconds.  Hence, what you suggest could result in
strange and mysterious changes occurring to the check-in topologies
during a push.  Very undesirable, I think.

-- 
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] How about renaming a fork to fork-*? (Was: Two trunks?)

2015-04-18 Thread Andy Bradford
Thus said Richard Hipp on Sat, 18 Apr 2015 07:50:42 -0400:

 When the artifacts  that comprise a fork are received,  the server has
 no way of knowing that new  artifacts that resolve the fork (either by
 merging or by moving it onto a branch) will not be received within the
 next few milliseconds.

I came to this realization as I was working on the sync-forkwarn branch.
I abandoned the  thought of having the  server try to detect  a fork for
this very reason. It doesn't have  all the necessary information to make
such a  decision, and indeed,  the resolution  of the fork  may actually
arrive in the next round-trip.

So I removed that functionality.

The only time that  fork detection makes sense (if at  all) is *after* a
complete sync in the client.

Andy
-- 
TAI64 timestamp: 40005532f19c


___
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] How about renaming a fork to fork-*? (Was: Two trunks?)

2015-04-18 Thread Steve Stefanovich
Let me rephrase - maybe I was a bit ambiguous what I meant.
‎
On pull/update, when fork happens locally, ‎the code would automatically do 
what currently happens when someone edits the check-in and puts it on a new 
branch. 

So on a local repo/check-out, developer sees he's now on (latest leaf of) 
fork-trunk‎ branch, instead of thinking he's on a trunk while in reality he's 
on a fork of the trunk which is named the same.

Dev merges back to trunk and commits, or ‎edits the beginning of the fork (if 
he has a sequence of check-ins) to a branch name he likes in case he wants to 
keep it as a branch, and pushes. 

So what would ‎end up on the server that is strange or mysterious on such push 
apart from an extra tag, fork-trunk? What am I missing?
‎
‎
  Original Message  
‎
From: Richard Hipp
Sent: Saturday, 18 April 2015 21:50
To: Fossil SCM user's discussion
Reply To: Fossil SCM user's discussion
Subject: Re: [fossil-users] How about renaming a fork to fork-*? (Was: Two
trunks?)

On 4/18/15, Steve Stefanovich s...@stef.rs wrote:
 How about if the fork happens, simply change the tag automatically to
 'fork-trunk' (i.e. prefix the existing repeating tag(s) with 'fork'), or
 just tag it as 'fork', on commit?


When the artifacts that comprise a fork are received, the server has
no way of knowing that new artifacts that resolve the fork (either by
merging or by moving it onto a branch) will not be received within the
next few milliseconds. Hence, what you suggest could result in
strange and mysterious changes occurring to the check-in topologies
during a push. Very undesirable, I think.

-- 
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
___
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] How about renaming a fork to fork-*? (Was: Two trunks?)

2015-04-17 Thread Ron W
Hello,

Did you mean for your reply to go only to me? You did not CC the Fossil
list.

On Thu, Apr 16, 2015 at 9:07 PM, Steve Stefanovich s...@stef.rs wrote:


*From: *Ron W
 *Sent: *Friday, 17 April 2015 11:04
 *To: *Fossil SCM user's discussion
 *Reply To: *Fossil SCM user's discussion
 *Subject: *Re: [fossil-users] Two trunks?

   On Thu, Apr 16, 2015 at 8:25 PM, Andy Bradford amb-fos...@bradfords.org
  wrote:

 And a fork that ends in being merged is also no longer a fork.


  I disagree. While it might be the most common case, merging does not
 explicitly state any intent beyond the merge itself, even a full merge.
 After all, a merge doesn't automatically close a named branch. So why would
 a merge automatically make a fork not a fork?

  Closing it or making it the start of a new, named branch explicitly
 indicate an intent to remove fork status.


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


___
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] How about renaming a fork to fork-*? (Was: Two trunks?)

2015-04-17 Thread Steve Stefanovich
Ah, wonders of fiddling with email on mobile... (BTW, it did go on the list, 
but just the quote without my reply).

‎What I meant to say here is that the whole confusion about forks is due to the 
fact that they branch out under the same tag.  I can't see the case where is 
this ever desirable.

How about if the fork happens, simply change the tag automatically to 
'fork-trunk' (i.e. prefix the existing repeating tag(s) with 'fork'), or just 
tag it as 'fork', on commit?

That would be very visible, either prompting people to merge back and close the 
fork, or to rename the 'fork-' tag to meaningful branch name.

From: Ron W
Sent: Saturday, 18 April 2015 03:00
To: Fossil SCM user's discussion
Reply To: Fossil SCM user's discussion
Subject: Re: [fossil-users] How about renaming a fork to fork-*? (Was: Two 
trunks?)


Hello,

Did you mean for your reply to go only to me? You did not CC the Fossil list.

On Thu, Apr 16, 2015 at 9:07 PM, Steve Stefanovich 
s...@stef.rsmailto:s...@stef.rs wrote:

From: Ron W
Sent: Friday, 17 April 2015 11:04
To: Fossil SCM user's discussion
Reply To: Fossil SCM user's discussion
Subject: Re: [fossil-users] Two trunks?


On Thu, Apr 16, 2015 at 8:25 PM, Andy Bradford 
amb-fos...@bradfords.orgmailto:amb-fos...@bradfords.org wrote:
And a fork that ends in being merged is also no longer a fork.

I disagree. While it might be the most common case, merging does not explicitly 
state any intent beyond the merge itself, even a full merge. After all, a merge 
doesn't automatically close a named branch. So why would a merge automatically 
make a fork not a fork?

Closing it or making it the start of a new, named branch explicitly indicate an 
intent to remove fork status.


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


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


[fossil-users] How about renaming a fork to fork-*? (Was: Two trunks?)

2015-04-16 Thread Steve Stefanovich

From: Ron W
Sent: Friday, 17 April 2015 11:04
To: Fossil SCM user's discussion
Reply To: Fossil SCM user's discussion
Subject: Re: [fossil-users] Two trunks?


On Thu, Apr 16, 2015 at 8:25 PM, Andy Bradford 
amb-fos...@bradfords.orgmailto:amb-fos...@bradfords.org wrote:
And a fork that ends in being merged is also no longer a fork.

I disagree. While it might be the most common case, merging does not explicitly 
state any intent beyond the merge itself, even a full merge. After all, a merge 
doesn't automatically close a named branch. So why would a merge automatically 
make a fork not a fork?

Closing it or making it the start of a new, named branch explicitly indicate an 
intent to remove fork status.

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