Re: [fossil-users] Fossil version 1.32

2015-03-16 Thread David Mason
Does the server fossil know the version number of the client fossil on a
clone?  Or could it ask?  If so, it could do what Andy suggests.

../Dave

On 16 March 2015 at 14:24, Richard Hipp d...@sqlite.org wrote:

 On 3/16/15, Andy Bradford amb-fos...@bradfords.org wrote:
  Thus said Stephan Beal on Mon, 16 Mar 2015 18:41:34 +0100:
 
  wiki-/ticket-only repos might not have a manifest at all.
 
  Then these  types of repositories would  have to be unclonable  by older
  versions of  Fossil. The server would  have to refuse the  clone request
  (similar to how it refuses to accept content from clients with an out of
  date  schema).  The clone  protocol  could  be  modified to  include  an
  identifier  that allows  the  server to  know if  such  a repository  is
  incompatible  with the  client making  the request  before allowing  the
  clone to proceed.
 
  Not sure if this is even possible, but in theory it seems to work. :-)
 

 Keep in mind that if everyone is using Fossil 1.30 or later, we never
 need to have any check-ins in the repository and the first check-in
 (if one exists) need not be artifact 1.  The code already takes care
 of all of that.

 The problem comes up when people try to use Fossil 1.27.  And we
 cannot go reach into peoples machines and fix 1.27.  We have to work
 around whatever it is that 1.27 does.
 --
 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] Fossil version 1.32

2015-03-16 Thread Ron W
On Sun, Mar 15, 2015 at 11:37 AM, Andy Bradford amb-fos...@bradfords.org
wrote:

 The  requirement, specifically,  is  that the  first  artifact that  the
 server sends during a clone, must  be a checkin, or older Fossil clients
 will end up in this state.


Could the server side be modified to insure the first artifact sent is the
first manifest?
___
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] Fossil version 1.32

2015-03-16 Thread James Turner
On Sat, Mar 14, 2015 at 10:24:05PM -0400, Richard Hipp wrote:
 On 3/14/15, James Turner ja...@calminferno.net wrote:
  It appears the actual tarballs were also removed. While I understand the
  reasoning behind this, this will break automated build systems like
  ports in OpenBSD for stable releases that may reference older versions
  of fossil.
 
  Is there a reason why the tarballs had to be removed?
 
 
 They are still accessible in the old_builds directory.  I could move
 them back.  But I decided to make them hard to get to encourage people
 to upgrade to a version that doesn't have the
 Ryerson-student-project-eating bug.  *If* you can make a compelling
 argument to move them back, I might.
 

It's not such a big deal for us, OpenBSD, but I wasn't sure for others
if having archives go missing would break builds.

Then again I guess it's a good way to force people to upgrade :)

 -- 
 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

-- 
James Turner
___
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] Fossil version 1.32

2015-03-16 Thread Stephan Beal
wiki-/ticket-only repos might not have a manifest at all.

- sent from a mobile device. Please excuse brevity, auto-correction,
typos, and top-posting.
On Mar 16, 2015 5:21 PM, Ron W ronw.m...@gmail.com wrote:

 On Sun, Mar 15, 2015 at 11:37 AM, Andy Bradford amb-fos...@bradfords.org
 wrote:

 The  requirement, specifically,  is  that the  first  artifact that  the
 server sends during a clone, must  be a checkin, or older Fossil clients
 will end up in this state.


 Could the server side be modified to insure the first artifact sent is the
 first manifest?


 ___
 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] Fossil version 1.32

2015-03-16 Thread Andy Bradford
Thus said Stephan Beal on Mon, 16 Mar 2015 18:41:34 +0100:

 wiki-/ticket-only repos might not have a manifest at all.

Then these  types of repositories would  have to be unclonable  by older
versions of  Fossil. The server would  have to refuse the  clone request
(similar to how it refuses to accept content from clients with an out of
date  schema).  The clone  protocol  could  be  modified to  include  an
identifier  that allows  the  server to  know if  such  a repository  is
incompatible  with the  client making  the request  before allowing  the
clone to proceed.

Not sure if this is even possible, but in theory it seems to work. :-)

Andy
--
TAI64 timestamp: 400055071c8b
___
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] Fossil version 1.32

2015-03-16 Thread Andy Bradford
Thus said David Mason on Mon, 16 Mar 2015 21:35:51 -0400:

 Does the server fossil know the version number of the client fossil on
 a clone? Or could it ask? If so, it could do what Andy suggests.

Not  currently. The  client version  is not  currently exchanged  during
cloning. The only  piece of information that the server  is given is the
Clone Protocol which is currently 3.

Even if  the Clone Protocol number  is bumped, that still  doesn't solve
the problem  of what happens when  someone opens a Fossil  that does not
have rid=1 and type=ci using Fossil 1.27 (e.g. they used scp to obtain a
copy of the Fossil repository).

This  might  require producing  an  slightly  different schema  or  some
incompatible change that would cause the Fossil 1.27 client to refuse to
open the Fossil (or continue using it).

Andy
-- 
TAI64 timestamp: 40005507b4dc


___
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] Fossil version 1.32

2015-03-16 Thread Richard Hipp
On 3/16/15, Andy Bradford amb-fos...@bradfords.org wrote:
 Thus said Stephan Beal on Mon, 16 Mar 2015 18:41:34 +0100:

 wiki-/ticket-only repos might not have a manifest at all.

 Then these  types of repositories would  have to be unclonable  by older
 versions of  Fossil. The server would  have to refuse the  clone request
 (similar to how it refuses to accept content from clients with an out of
 date  schema).  The clone  protocol  could  be  modified to  include  an
 identifier  that allows  the  server to  know if  such  a repository  is
 incompatible  with the  client making  the request  before allowing  the
 clone to proceed.

 Not sure if this is even possible, but in theory it seems to work. :-)


Keep in mind that if everyone is using Fossil 1.30 or later, we never
need to have any check-ins in the repository and the first check-in
(if one exists) need not be artifact 1.  The code already takes care
of all of that.

The problem comes up when people try to use Fossil 1.27.  And we
cannot go reach into peoples machines and fix 1.27.  We have to work
around whatever it is that 1.27 does.
-- 
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] Fossil version 1.32

2015-03-15 Thread Andy Bradford
Thus said bch on Sun, 15 Mar 2015 01:05:42 -0700:

 Has the Ryerson Bug be characterised?

Yes.

Basically, versions of Fossil 1.27 and older, assumed that the first rid
in the blob table  would always be a checkin. This  was true because the
first thing fossil new did was to  create a bogus checkin with a comment
of ``initial empty  check-in'', however, there is  nothing special about
the ``initial empty check-in'' except that it was always the first (e.g.
rid=1) in  the database. That  meant that it would  also be first  to be
offered up  during cloning, so all  clones would also have  a checkin in
their local  database for  rid=1. Then,  when this  Fossil was  open, it
would open it beginning with whatever was in rid=1.

A change was made to remove  the need for the ``initial empty check-in''
which allowed users to make a  repository which had the first checkin be
their own,  however, due to  the way checkins  are made, this  now meant
that rid=1 would not be a checkin.  So when the older versions of Fossil
cloned the repository, it would try to open the newly cloned Fossil with
rid=1, but rid=1  was actually no longer a checkin,  but another type of
artifact (most likely a file).

After opening, no  files would be seen (clearly because  a file manifest
does not have  files, it has content),  and if any commits  were made at
this time, they would  have a P-card which points to the  file, not to a
checkin. This would result in a broken timeline in the UI.

The  requirement, specifically,  is  that the  first  artifact that  the
server sends during a clone, must  be a checkin, or older Fossil clients
will end up in this state.

As far as I  can tell, this would appear to not  have resulted in actual
data loss,  only some strange  problems with the timeline  and incorrect
manifests. Upgrading to a newer  Fossil makes the content available, but
there is  still the broken timeline  and currently Fossil has  no way to
reconnect the lineage in the timeline (though there is an option planned
for altering the parentage).

In  addition,  it's   possible  that  this  problem   does  still  exist
for  repositories that  have  undergone  fossil deconstruct  reconstruct
operations  because  as far  as  I  can  tell  this operation  does  not
guarantee that rid=1 will be a  checkin in the newly created repository,
however, this  is an  uncommon procedure. But  if reconstruct  did place
a  non-checkin  as rid=1,  then  older  clients  would  not be  able  to
successfully use the clone.


Just to be clear, it is still possible to have multiple DAGs in a Fossil
using the fossil open --empty. This is allowed because doing so does not
create a repository  that exhibits the problem  described above (because
presumably  the repository  already has  the ``initial  empty check-in''
which will satisfy the requirement above).

Let me know if this needs further clarification.

Thanks,

Andy
-- 
TAI64 timestamp: 40005505a755


___
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] Fossil version 1.32

2015-03-15 Thread bch
Has the Ryerson Bug be characterised?

Obviously it was confusing, annoying and unintended, but did it turn out to
be data losing and/or uncorrectable?

Regards

-bch
On Mar 14, 2015 7:24 PM, Richard Hipp d...@sqlite.org wrote:

 On 3/14/15, James Turner ja...@calminferno.net wrote:
  It appears the actual tarballs were also removed. While I understand the
  reasoning behind this, this will break automated build systems like
  ports in OpenBSD for stable releases that may reference older versions
  of fossil.
 
  Is there a reason why the tarballs had to be removed?
 

 They are still accessible in the old_builds directory.  I could move
 them back.  But I decided to make them hard to get to encourage people
 to upgrade to a version that doesn't have the
 Ryerson-student-project-eating bug.  *If* you can make a compelling
 argument to move them back, I might.

 --
 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] Fossil version 1.32

2015-03-15 Thread Baruch Burstein
On Sat, Mar 14, 2015 at 4:30 PM, Richard Hipp d...@sqlite.org wrote:

 Fossil version 1.32 is now available on the download page:
 https://www.fossil-scm.org/download.html

 The new builds all use version numbers in their names instead of dates.

 All previous builds have been removed from the download page due to
 the Ryerson student project problem.


Can we still have the changelog of the older versions on the download page,
even without the links?


-- 
˙uʍop-ǝpısdn sı ɹoʇıuoɯ ɹnoʎ 'sıɥʇ pɐǝɹ uɐɔ noʎ ɟı
___
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] Fossil version 1.32

2015-03-15 Thread Tontyna

Am 15.03.2015 um 09:46 schrieb Baruch Burstein:

Can we still have the changelog of the older versions on the download
page, even without the links?


And/or a link to older versions like on 
http://www.sqlite.org/releaselog/3_8_8_3.html

___
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] Fossil version 1.32

2015-03-14 Thread Richard Hipp
On 3/14/15, James Turner ja...@calminferno.net wrote:
 It appears the actual tarballs were also removed. While I understand the
 reasoning behind this, this will break automated build systems like
 ports in OpenBSD for stable releases that may reference older versions
 of fossil.

 Is there a reason why the tarballs had to be removed?


They are still accessible in the old_builds directory.  I could move
them back.  But I decided to make them hard to get to encourage people
to upgrade to a version that doesn't have the
Ryerson-student-project-eating bug.  *If* you can make a compelling
argument to move them back, I might.

-- 
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] Fossil version 1.32

2015-03-14 Thread James Turner
It appears the actual tarballs were also removed. While I understand the
reasoning behind this, this will break automated build systems like
ports in OpenBSD for stable releases that may reference older versions
of fossil.

Is there a reason why the tarballs had to be removed?

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