[fossil-users] I have two trunks?

2014-10-02 Thread dave
Hi list;
 
Today I opened one of my repos, and expected to see some stuff that is in
'trunk'.  However, it was empty as the day it was born.  I could see all my
branches via 'branches', and could update to them, but when I would update
to 'trunk' it would always be empty.  Odd, I thought, I'm quite sure I put
stuff there, but 'oh, well', I thought, and I checked some stuff into it
that I had expected to already be there, and then also made a branch for
some other things, and checked them in, too.
 
When I look at the timeline via fossil ui, I very clearly see I now have two
trunks, the original one, and this new one.  I didn't even think this was
possible, because I believed that fossil repos only have one unified DAG.
Am I insane (er, 'am I in error', I mean to ask), or is this normal, and due
to something odd that I did (though I can't imagine what it would be).
 
This is not a secret repo; you can look here if curious:
fossil clone http://chiselapp.com/user/ziggurat29/repository/z29-3rdParty
3rdParty.fossil
 
Thanks!
 
-dave
___
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] I have two trunks?

2014-10-02 Thread B Harder
Hi Dave.

This is a fork (unintentional branch). It would happen (for example)
if two different clones of a repository are updated independently of
each other, and then sync'd. You can merge the errant trunk back to
the good trunk without ill effect (minding you might have to do
conflict resolution). If you think of the case of two different clones
being updated as I described above, then ultimately merged together
(creating a fork in a branch), you'll see the DAG is maintained. The
labels for the branchname are maintained too, and the effect you see
(two Trunk branches) is consistent w/ the model. Re-merge them and
keep on developing !


-bch


On 10/2/14, dave d...@ziggurat29.com wrote:
 Hi list;

 Today I opened one of my repos, and expected to see some stuff that is in
 'trunk'.  However, it was empty as the day it was born.  I could see all my
 branches via 'branches', and could update to them, but when I would update
 to 'trunk' it would always be empty.  Odd, I thought, I'm quite sure I put
 stuff there, but 'oh, well', I thought, and I checked some stuff into it
 that I had expected to already be there, and then also made a branch for
 some other things, and checked them in, too.

 When I look at the timeline via fossil ui, I very clearly see I now have
 two
 trunks, the original one, and this new one.  I didn't even think this was
 possible, because I believed that fossil repos only have one unified DAG.
 Am I insane (er, 'am I in error', I mean to ask), or is this normal, and
 due
 to something odd that I did (though I can't imagine what it would be).

 This is not a secret repo; you can look here if curious:
 fossil clone http://chiselapp.com/user/ziggurat29/repository/z29-3rdParty
 3rdParty.fossil

 Thanks!

 -dave

___
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] I have two trunks?

2014-10-02 Thread Stephan Beal
On Thu, Oct 2, 2014 at 7:29 PM, B Harder brad.har...@gmail.com wrote:

 This is a fork (unintentional branch). It would happen (for example)
 if two different clones of a repository are updated independently of
 each other, and then sync'd. You can merge the errant trunk back to


The weird thing is, he's got two initial empty commits. i'm at a loss to
explain that.


 the good trunk without ill effect (minding you might have to do
 conflict resolution). If you think of the case of two different clones
 being updated as I described above, then ultimately merged together
 (creating a fork in a branch), you'll see the DAG is maintained. The
 labels for the branchname are maintained too, and the effect you see
 (two Trunk branches) is consistent w/ the model. Re-merge them and
 keep on developing !


If both clones were detached from the start, that could explain it, it
guess.

http://chiselapp.com/user/ziggurat29/repository/z29-3rdParty/timeline

-- 
- stephan beal
http://wanderinghorse.net/home/stephan/
http://gplus.to/sgbeal
Freedom is sloppy. But since tyranny's the only guaranteed byproduct of
those who insist on a perfect world, freedom will have to do. -- Bigby Wolf
___
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] I have two trunks?

2014-10-02 Thread Andy Bradford
Thus said Stephan Beal on Thu, 02 Oct 2014 19:31:12 +0200:

 The weird  thing is, he's  got two initial  empty commits. i'm  at a
 loss to explain that.

Seems that one of  them must have been created with  an older fossil and
the  other  created with  a  newer  version  from Fossil's  trunk  which
currently does  not force an  initial commit comment of  ``initial empty
check-in'' when the fossil is created.

Would be  interesting to know  how the  repository was created.  I don't
know how Chiselapp imports a repository,  but is it possible that the it
might have created the additional trunk when it was uploaded?

Andy
--
TAI64 timestamp: 4000542d9630
___
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] I have two trunks?

2014-10-02 Thread B Harder
On Oct 2, 2014 11:14 AM, Andy Bradford amb-fos...@bradfords.org wrote:

 Thus said Stephan Beal on Thu, 02 Oct 2014 19:31:12 +0200:

  The weird  thing is, he's  got two initial  empty commits. i'm  at a
  loss to explain that.

 Seems that one of  them must have been created with  an older fossil and
 the  other  created with  a  newer  version  from Fossil's  trunk  which
 currently does  not force an  initial commit comment of  ``initial empty
 check-in'' when the fossil is created.

Is that even possible? I thought the repo would have to be created once
(and only once), generating it's repo-id, and then cloned for all
subsequent copies before things can begin deviating.

 Would be  interesting to know  how the  repository was created.  I don't
 know how Chiselapp imports a repository,  but is it possible that the it
 might have created the additional trunk when it was uploaded?

 Andy
 --
 TAI64 timestamp: 4000542d9630
 ___
 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] I have two trunks?

2014-10-02 Thread dave
Thing is (well, two things):  a)  I would expect a fork to still have a
common ancestor.  I have certainly run across the fork thing due to out of
synced repos (and as I recall, I get a warning beforehand).  And b)  in this
case I had started from a freshly pulled-down clone, so I never had the
opportunity to be out-of-sync.

Ultimately, it's not a crisis for me.  This repo is a 'utility' repo that
doesn't have code or precious stuff in it.  I mention it partially as a
curiousity, and in case it is symptomatic of a bug, since I didn't think it
was possible to have two trees with no common ancestor (at least, the way it
is is depicted in the gui), and certainly not through the way I got here.

As fate would have it, I'm going to destroy this repo and rebuild it anyway,
but I might keep a copy on-hand for later scrutiny in my copious free
time

 -Original Message-
 From: fossil-users-boun...@lists.fossil-scm.org 
 [mailto:fossil-users-boun...@lists.fossil-scm.org] On Behalf 
 Of B Harder
 Sent: Thursday, October 02, 2014 12:29 PM
 To: Fossil SCM user's discussion
 Subject: Re: [fossil-users] I have two trunks?
 
 
 Hi Dave.
 
 This is a fork (unintentional branch). It would happen (for example)
 if two different clones of a repository are updated independently of
 each other, and then sync'd. You can merge the errant trunk back to
 the good trunk without ill effect (minding you might have to do
 conflict resolution). If you think of the case of two different clones
 being updated as I described above, then ultimately merged together
 (creating a fork in a branch), you'll see the DAG is maintained. The
 labels for the branchname are maintained too, and the effect you see
 (two Trunk branches) is consistent w/ the model. Re-merge them and
 keep on developing !
 
 
 -bch
 
 
 On 10/2/14, dave d...@ziggurat29.com wrote:
  Hi list;
 
  Today I opened one of my repos, and expected to see some 
 stuff that is in
  'trunk'.  However, it was empty as the day it was born.  I 
 could see all my
  branches via 'branches', and could update to them, but when 
 I would update
  to 'trunk' it would always be empty.  Odd, I thought, I'm 
 quite sure I put
  stuff there, but 'oh, well', I thought, and I checked some 
 stuff into it
  that I had expected to already be there, and then also made 
 a branch for
  some other things, and checked them in, too.
 
  When I look at the timeline via fossil ui, I very clearly 
 see I now have
  two
  trunks, the original one, and this new one.  I didn't even 
 think this was
  possible, because I believed that fossil repos only have 
 one unified DAG.
  Am I insane (er, 'am I in error', I mean to ask), or is 
 this normal, and
  due
  to something odd that I did (though I can't imagine what it 
 would be).
 
  This is not a secret repo; you can look here if curious:
  fossil clone 
 http://chiselapp.com/user/ziggurat29/repository/z29-3rdParty
  3rdParty.fossil
 
  Thanks!
 
  -dave
 
 ___
 fossil-users mailing list
 fossil-users@lists.fossil-scm.org
 http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/foss
il-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] I have two trunks?

2014-10-02 Thread dave

 -Original Message-
 From: fossil-users-boun...@lists.fossil-scm.org 
 [mailto:fossil-users-boun...@lists.fossil-scm.org] On Behalf 
 Of Andy Bradford
 Sent: Thursday, October 02, 2014 1:15 PM
 To: Stephan Beal
 Cc: Fossil SCM user's discussion
 Subject: Re: [fossil-users] I have two trunks?
 
 
 Thus said Stephan Beal on Thu, 02 Oct 2014 19:31:12 +0200:
 
  The weird  thing is, he's  got two initial  empty 
 commits. i'm  at a
  loss to explain that.
 
 Seems that one of  them must have been created with  an older 
 fossil and
 the  other  created with  a  newer  version  from Fossil's  
 trunk  which
 currently does  not force an  initial commit comment of  
 ``initial empty
 check-in'' when the fossil is created.
 
 Would be  interesting to know  how the  repository was 
 created.  I don't
 know how Chiselapp imports a repository,  but is it possible 
 that the it
 might have created the additional trunk when it was uploaded?
 
 Andy

I'm tending to suspect not (additional trunk at creation) for a reason that
I will soon make clear, but the 'version mismatch' hypothesis is
interesting.  Fyi, the creation process went like this:

*  I created my repo locally, with current (v1.29, June 12th) fossil binary.
I added a few things to trunk, and made some branches and added a bunch of
stuff there.  I decided to put it on a third party hosting site so I could
avoid hosting myself.

*  Its big, so chisel can't import it, but they have a feature where you
explicitly supply the project id, and then you can sync your big repo into
it.  So I did that.

*  I tossed my local, and then cloned down the one on chisel.  (Have done
this in several places, actually.)

*  I later added a new branch successfully as expected off trunk (in this
case named 'sqlite3-3.8.6').  This is why I don't think the 'new trunk upon
upload' theory is true (assuming my recollection is correct)

*  Then today, as mentioned, I cloned afresh to a different machine (which
is why I disbelieve the 'fork because of out-of-sync repos' hypothesis), and
opened, and this is when I noticed I had the apparently empty root.  I did
not check the gui at this time, alas, I figured I was getting old.  So I
checked stuff into root that I was pretty darn sure was already there
(because if it wasn't it would have made creating all those other branches
painful, and I would have remembered that).

*  I take a look at the timeline on the gui, and Lo! And Behold! What
appears to be multiple trunks.

Anyway, again, not a crisis for me, but I didn't think this was possible in
the schema of things, and thought somebody might like to know if it is a
symptom of some sort of bug.

-dave


___
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] I have two trunks?

2014-10-02 Thread Ross Berteig
On 10/2/2014 10:31 AM, Stephan Beal wrote: The weird thing is, he's got 
two initial empty commits. i'm at a loss

 to explain that.
 
 http://chiselapp.com/user/ziggurat29/repository/z29-3rdParty/timeline

I think I can partly explain the two initial empty commits part, or at 
least show off a similarly strange effect. I recently moved a private 
repository to Chiselapp so I could point at it from a series of blog 
posts. (Shameless plug: 
http://curiouser.cheshireeng.com/2014/09/11/wp-cli-utilities-source-code/ :-)


I had trouble with getting it to upload my repo directly, so I chose to 
let it create a fresh repo with the project code set to match mine, 
which is a feature chiselapp publicly offers.


The result is a timeline where there are two initial empty commits, 
and amusingly since I haven't added anything to it since I published it, 
the second one is *after* all of the actual work. I suppose I should 
wonder what happens if a fresh clone is made...


http://chiselapp.com/user/rberteig/repository/WPCLI/timeline

I think this is an artifact of creating an empty repo, changing its 
project ID, and then syncing a bunch of older changes. I'm not sure if 
it is harmful or just confusing. Since it is now possible (IIRC) to 
create a repo without the initial empty commit, perhaps chiselapp should 
do that when it knows it is create a repo with a specific project ID.


And, actually, the clone experiment *is* more interesting than I 
expected. I just cloned from my WPCLI and opened it in an empty folder. 
The result is a folder containing only the _FOSSIL_ file. It opened 
[9f3230], aka the most recent checkin tagged trunk, which is the 
second empty checkin.


I tried fossil merge 3b301fad10 and it failed because there is no 
common ancestor. fossil update 3b301fad10 works as expected.


One easy answer should be to move the extra initial checkin to the 
mistake branch and close it. However, attempting to do that reveals 
something else odd: the info page for the checkin shows the raw artifact 
and not the usual set of useful links including edit.


https://chiselapp.com/user/rberteig/repository/WPCLI/info/9f323048ac

Is this a chiselapp bug or a fossil bug?

I don't know, but I'll likely poke at it a little more after lunch.

--
Ross Berteig   r...@cheshireeng.com
Cheshire Engineering Corp.   http://www.CheshireEng.com/
___
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] I have two trunks?

2014-10-02 Thread Ross Berteig

Bingo.

On 10/2/2014 11:33 AM, dave wrote:


I'm tending to suspect not (additional trunk at creation) for a reason that
I will soon make clear, but the 'version mismatch' hypothesis is
interesting.  Fyi, the creation process went like this:

*  I created my repo locally, with current (v1.29, June 12th) fossil binary.
I added a few things to trunk, and made some branches and added a bunch of
stuff there.  I decided to put it on a third party hosting site so I could
avoid hosting myself.

*  Its big, so chisel can't import it, but they have a feature where you
explicitly supply the project id, and then you can sync your big repo into
it.  So I did that.


I'm currently running a hair older fossil than you, but very similar 
vintage and likely newer than the one on chiselapp. version 1.29 
[77f53423ae]


I followed essentially the same path, except my repo was small enough 
that it should have allowed the upload but failed. I wonder if a version 
mismatch was part of that story?


It certainly could be. Chiselapp's shows Fossil version [3d49f04587] 
2014-01-27 17:33:44 as the title text for the link back to 
fossil-scm.org in the page footer in their default skin. Going by the 
date alone, it is *older*.


--
Ross Berteig   r...@cheshireeng.com
Cheshire Engineering Corp.   http://www.CheshireEng.com/

___
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] I have two trunks?

2014-10-02 Thread Andy Bradford
Thus said B Harder on Thu, 02 Oct 2014 11:17:23 -0700:

 Is that  even possible? I  thought the repo  would have to  be created
 once (and only once), generating it's repo-id, and then cloned for all
 subsequent copies before things can begin deviating.

The project-id is stored in a table in a database---it can be changed. I
suspect that  this is how  Chiselapp actually allows  you to sync  a new
repository  to their  site in  some configurations.  Because the  act of
creating a  new repository necessarily  also includes an  initial commit
(older versions  of Fossil), you  end up  with two trunks  because there
were actually 2  repositories created, not one. The ability  to create a
repository without an  initial commit might be  something that Chiselapp
could take advantage of in this case.

Andy
--
TAI64 timestamp: 4000542d9f96
___
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] I have two trunks?

2014-10-02 Thread dave
...
 Thus said B Harder on Thu, 02 Oct 2014 11:17:23 -0700:
 
  Is that  even possible? I  thought the repo  would have to  
 be created
  once (and only once), generating it's repo-id, and then 
 cloned for all
  subsequent copies before things can begin deviating.
 
 The project-id is stored in a table in a database---it can be 
 changed. I
 suspect that  this is how  Chiselapp actually allows  you to 
 sync  a new
 repository  to their  site in  some configurations.  Because 
 the  act of
 creating a  new repository necessarily  also includes an  
 initial commit
 (older versions  of Fossil), you  end up  with two trunks  
 because there
 were actually 2  repositories created, not one. The ability  
 to create a
 repository without an  initial commit might be  something 
 that Chiselapp
 could take advantage of in this case.
...

Yes, I think you guys solved the mystery (side effect of the project ID
change magickry).  Now the question is whether that behaviour of creating
two disjoint trees in one repo upon project id change is a bug.

Well, I'll leave that for others to ponder; I'm satisfied for now, and I'll
make a concientious effort in the the future to merge the two trunks
immediately to prevent downstream weirdness as a coping strategy.

Thanks-
-dave


___
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] I have two trunks?

2014-10-02 Thread Jan Nijtmans
2014-10-02 20:54 GMT+02:00 Andy Bradford:
 The project-id is stored in a table in a database---it can be changed. I
 suspect that  this is how  Chiselapp actually allows  you to sync  a new
 repository  to their  site in  some configurations.  Because the  act of
 creating a  new repository necessarily  also includes an  initial commit
 (older versions  of Fossil), you  end up  with two trunks  because there
 were actually 2  repositories created, not one. The ability  to create a
 repository without an  initial commit might be  something that Chiselapp
 could take advantage of in this case.

Nice explanation!  Thanks!

2014-10-02 21:02 GMT+02:00 dave d...@ziggurat29.com:
 Now the question is whether that behaviour of creating
 two disjoint trees in one repo upon project id change is a bug.

Yes, this sounds like a bug in chiselapp (not in fossil!). Normally,
synchronising two separate repositories (which each have their
own initial empty checkin) is not possible because
they have a different project-id. But if chiselapp allows to change
the project-id, then the two different initial check-ins will
be moved over to both sides of the sync. fossil new --empty
would indeed help chiselapp here (which is already available in
fossil 1.29), preventing the two initial checkins in this situation.

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] I have two trunks?

2014-10-02 Thread tonyp

If it helps:

I tried something very simple (in this example: 
https://chiselapp.com/user/rberteig/repository/WPCLI/home), and it 
apparently fixed the problem in cloned copy at least.


I shunned the empty initial checking, rebuilt, and re-enabled the artifact 
(just in case).


The timeline shows it removed! 


___
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] I have two trunks?

2014-10-02 Thread dave

 -Original Message-
 From: fossil-users-boun...@lists.fossil-scm.org 
 [mailto:fossil-users-boun...@lists.fossil-scm.org] On Behalf 
 Of to...@acm.org
 Sent: Thursday, October 02, 2014 2:58 PM
 To: Fossil SCM user's discussion
 Subject: Re: [fossil-users] I have two trunks?
 
 
 If it helps:
 
 I tried something very simple (in this example: 
 https://chiselapp.com/user/rberteig/repository/WPCLI/home), and it 
 apparently fixed the problem in cloned copy at least.
 
 I shunned the empty initial checking, rebuilt, and re-enabled 
 the artifact 
 (just in case).
 
 The timeline shows it removed! 

It does help.  I'll make shunning the spurious checkin (along with the
frumious Bandersnatch) part of my workflow when 'importing' to chiselapps in
this way.

-dave


___
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] I have two trunks?

2014-10-02 Thread Ron W
On Thu, Oct 2, 2014 at 2:33 PM, dave d...@ziggurat29.com wrote:


 *  Its big, so chisel can't import it, but they have a feature where you
 explicitly supply the project id, and then you can sync your big repo into
 it.  So I did that.


When I did have a repo on Chisel, I didn't notice this feature. So, what I
did was to create a new repo on Chisel, clone to my local PC, then imported
from the original repo to the local clone of the Chisel repo, then did a
sync. If there was anything strange, I never noticed it.
___
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] I have two trunks?

2014-10-02 Thread dave
 

-Original Message-
From: fossil-users-boun...@lists.fossil-scm.org
[mailto:fossil-users-boun...@lists.fossil-scm.org] On Behalf Of Ron W
Sent: Thursday, October 02, 2014 3:35 PM
To: Fossil SCM user's discussion
Subject: Re: [fossil-users] I have two trunks?


On Thu, Oct 2, 2014 at 2:33 PM, dave d...@ziggurat29.com wrote:



*  Its big, so chisel can't import it, but they have a feature where you
explicitly supply the project id, and then you can sync your big repo into
it.  So I did that.



When I did have a repo on Chisel, I didn't notice this feature. So, what I
did was to create a new repo on Chisel, clone to my local PC, then imported
from the original repo to the local clone of the Chisel repo, then did a
sync. If there was anything strange, I never noticed it.

Oh, fascinating, I hadn't considered using the export/import mechanism to
transfer it over (if I understand you correctly).  I guess I would lose
things like wikis tickets whatnot doing that, but many times this would not
be material.

___
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] I have two trunks?

2014-10-02 Thread Ross Berteig

On 10/2/2014 12:57 PM, to...@acm.org wrote:


I tried something very simple (in this example:
https://chiselapp.com/user/rberteig/repository/WPCLI/home), and it
apparently fixed the problem in cloned copy at least.

I shunned the empty initial checking, rebuilt, and re-enabled the
artifact (just in case).

The timeline shows it removed!


Cool. What I just did is manually enter the Edit link it won't show me, 
which would be http://chiselapp.com/.../ci_edit?r=9f323048ac;. When 
that gave me the checkin editor for that commit, I was able to move it 
to a different branch, close the leaf, and change the comment. I've 
confirmed from a fresh clone and open that the result is a much better 
experience for the poor user who is just trying to see the code.


My polite request to the maintainer of chisellapp.com would be to try 
the (new-ish) feature of creating a new repository with no initial checkin.

--
Ross Berteig   r...@cheshireeng.com
Cheshire Engineering Corp.   http://www.CheshireEng.com/

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