Re: [fossil-users] Bookmarks (Re: git-fossil-git does not, obtain the same commit hashes.)

2014-06-05 Thread Arnel Legaspi

On 6/5/2014 1:20 AM, Richard Hipp d...@sqlite.org wrote:

On Wed, Jun 4, 2014 at 12:53 PM, B Harderbrad.har...@gmail.com  wrote:


Indeed, non-propagating tags are also checkout-able items.

What am I missing about bookmarks that we can't already enjoy w/ tags,
outside of new syntax ?


Here's something that you get for free with Fossil's model that you can't
get with Hg or Git (as far as I know):  the ability to look at historic
versions on particular branches as of some point in time using the
branchname:datetime construct.  So, for example, the current Fossil
homepage can be seen at:

  http://www.fossil-scm.org/fossil/doc/tip/www/index.wiki

The tip in that URL is a magic tag that means the most recent check-in.
What did the homepage look like on the head of the trunk branch at the
beginning of 2012?

  http://www.fossil-scm.org/fossil/doc/trunk:2012-01-01/www/index.wiki

Similarly, if you wanted to checkout the branch experimental as it
existed on some historical date, you could type:

  fossil co experimental:2011-06-04

I personally use that capability all the time when trying to find the
initial bounds on a bug in order to begin a bisect, or when doing things
like comparing performance of SQLite to one or five years ago.  Question:
Is anything like this even possible in Git and/or Hg?


Mercurial supports a history querying feature they call revsets, or 
revision sets. I don't often use it, but people on the Hg mailing list 
have provided useful suggestions when users ask how to get some specific 
changeset(s) data for reports.


From what I've seen, it's usable even on the search box available in 
Mercurial's web interface (hg serve).


http://www.selenic.com/hg/help/revsets

Here's an admittedly simple example:

$ hg log -r branch(default) and date('2014-04-07') and 
file('mercurial/merge.py')

changeset:   21082:0d67fccc0d43
user:Mads Kiilerich mad...@unity3d.com
date:Mon Apr 07 02:12:28 2014 +0200
summary: merge: let manifestmerge emit 'keep' actions when keeping 
wd version


IIRC, there are options available in Git's git log command that will 
allow querying like this as well (at least from what I've read briefly 
in Git's HTML docs), but I'm no Git power user, either.


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


[fossil-users] Bookmarks (Re: git-fossil-git does not obtain the same commit hashes.)

2014-06-04 Thread Nico Williams
On Wed, Jun 4, 2014 at 9:07 AM, Stephan Beal sgb...@googlemail.com wrote:
 On Wed, Jun 4, 2014 at 12:02 AM, Nico Williams n...@cryptonector.com
 wrote:
 Mercurial too had heavy-duty branches only, then they added
 bookmarks that are very similar to git branches.  Since a bookmark
 is just a symbolic name for a commit... this is just a new table at
 best, with two columns.

 Bookmarks. That's a nice idea, actually. Added to my TODO list.

It's interesting that I just sold you on the git branching model, by
using the Mercurial analog.

I don't know what that says.  To me any heavy-duty branching model is
difficult to explain, but clearly bookmarks are easy to explain, or at
least easier to explain when you start from a heavy-duty branching
model.  Regardless of what it means, it's good!  :)

You might find that it helps to have boomarks and something like
detached HEAD mode.  Detached HEAD mode is a fancy name for
checking out a commit (or adding one to a detached HEAD) that may not
be reachable from a branch name / bookmark / tag.  But it's not
critical.  If checking out a commit requires giving it a name
(bookmark), that's annoying, but workable.

Nico
--
___
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] Bookmarks (Re: git-fossil-git does not obtain the same commit hashes.)

2014-06-04 Thread Stephan Beal
On Wed, Jun 4, 2014 at 6:03 PM, Nico Williams n...@cryptonector.com wrote:

 On Wed, Jun 4, 2014 at 9:07 AM, Stephan Beal sgb...@googlemail.com
 wrote:
  On Wed, Jun 4, 2014 at 12:02 AM, Nico Williams n...@cryptonector.com
  wrote:
  Mercurial too had heavy-duty branches only, then they added
  bookmarks that are very similar to git branches.  Since a bookmark
  is just a symbolic name for a commit... this is just a new table at
  best, with two columns.
 
  Bookmarks. That's a nice idea, actually. Added to my TODO list.

 It's interesting that I just sold you on the git branching model, by
 using the Mercurial analog.


i was thinking more generically:

f bookmark add blah trunk
f bookmark add 'oops!' deadbeefabcdef0123

f bookmark ls
[blah] = trunk
[oops!] = deadbeefabcdef0123

f co bk:oops
f merge bk:trunk

i.e. a system with which to assign non-version-tracked aliases to arbitrary
other symbols which we already know how to resolve. They needn't be
push/pull'able, but it might be nice to be able to. We already have
precedents for special symbols like bk:NAME, e.g.:

fossil checkout rid:1

will (unless your repo was created with no empty initial commit) check out
the first version of the repo (i.e. (WHERE blob.rid = 1)).

-- 
- 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] Bookmarks (Re: git-fossil-git does not obtain the same commit hashes.)

2014-06-04 Thread Stephan Beal
On Wed, Jun 4, 2014 at 6:15 PM, Stephan Beal sgb...@googlemail.com wrote:

 f merge bk:trunk


typo, but you get the idea.

-- 
- 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] Bookmarks (Re: git-fossil-git does not obtain the same commit hashes.)

2014-06-04 Thread Richard Hipp
On Wed, Jun 4, 2014 at 12:03 PM, Nico Williams n...@cryptonector.com
wrote:

 On Wed, Jun 4, 2014 at 9:07 AM, Stephan Beal sgb...@googlemail.com
 wrote:
  On Wed, Jun 4, 2014 at 12:02 AM, Nico Williams n...@cryptonector.com
  wrote:
  Mercurial too had heavy-duty branches only, then they added
  bookmarks that are very similar to git branches.  Since a bookmark
  is just a symbolic name for a commit... this is just a new table at
  best, with two columns.
 
  Bookmarks. That's a nice idea, actually. Added to my TODO list.

 It's interesting that I just sold you on the git branching model, by
 using the Mercurial analog.


The Fossil and Git branching model are already the same, with the one
exception that branch names in Fossil are global (they sync to other
repositories) whereas in Git they are local to a single repository.

Fossil also has something analogous to bookmarks - namely propagating
tags.  You set a tag on a particular check-in, and that tag is
automatically added to all direct descendents.  When you can check-out that
tag and Fossil selects the most recent, which is the same thing as a
bookmark that automatically moves to the head of the branch.


-- 
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] Bookmarks (Re: git-fossil-git does not obtain the same commit hashes.)

2014-06-04 Thread B Harder
Indeed, non-propagating tags are also checkout-able items.

What am I missing about bookmarks that we can't already enjoy w/ tags,
outside of new syntax ?

-bch


On 6/4/14, Richard Hipp d...@sqlite.org wrote:
 On Wed, Jun 4, 2014 at 12:03 PM, Nico Williams n...@cryptonector.com
 wrote:

 On Wed, Jun 4, 2014 at 9:07 AM, Stephan Beal sgb...@googlemail.com
 wrote:
  On Wed, Jun 4, 2014 at 12:02 AM, Nico Williams n...@cryptonector.com
  wrote:
  Mercurial too had heavy-duty branches only, then they added
  bookmarks that are very similar to git branches.  Since a bookmark
  is just a symbolic name for a commit... this is just a new table at
  best, with two columns.
 
  Bookmarks. That's a nice idea, actually. Added to my TODO list.

 It's interesting that I just sold you on the git branching model, by
 using the Mercurial analog.


 The Fossil and Git branching model are already the same, with the one
 exception that branch names in Fossil are global (they sync to other
 repositories) whereas in Git they are local to a single repository.

 Fossil also has something analogous to bookmarks - namely propagating
 tags.  You set a tag on a particular check-in, and that tag is
 automatically added to all direct descendents.  When you can check-out that
 tag and Fossil selects the most recent, which is the same thing as a
 bookmark that automatically moves to the head of the branch.


 --
 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] Bookmarks (Re: git-fossil-git does not obtain the same commit hashes.)

2014-06-04 Thread Richard Hipp
On Wed, Jun 4, 2014 at 12:53 PM, B Harder brad.har...@gmail.com wrote:

 Indeed, non-propagating tags are also checkout-able items.

 What am I missing about bookmarks that we can't already enjoy w/ tags,
 outside of new syntax ?


Here's something that you get for free with Fossil's model that you can't
get with Hg or Git (as far as I know):  the ability to look at historic
versions on particular branches as of some point in time using the
branchname:datetime construct.  So, for example, the current Fossil
homepage can be seen at:

 http://www.fossil-scm.org/fossil/doc/tip/www/index.wiki

The tip in that URL is a magic tag that means the most recent check-in.
What did the homepage look like on the head of the trunk branch at the
beginning of 2012?

 http://www.fossil-scm.org/fossil/doc/trunk:2012-01-01/www/index.wiki

Similarly, if you wanted to checkout the branch experimental as it
existed on some historical date, you could type:

 fossil co experimental:2011-06-04

I personally use that capability all the time when trying to find the
initial bounds on a bug in order to begin a bisect, or when doing things
like comparing performance of SQLite to one or five years ago.  Question:
Is anything like this even possible in Git and/or Hg?


-- 
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] Bookmarks (Re: git-fossil-git does not obtain the same commit hashes.)

2014-06-04 Thread Stephan Beal
On Wed, Jun 4, 2014 at 6:53 PM, B Harder brad.har...@gmail.com wrote:

 Indeed, non-propagating tags are also checkout-able items.

 What am I missing about bookmarks that we can't already enjoy w/ tags,
 outside of new syntax ?


i envision them as being lightweight, i.e. local, non-versioned. They'd
just be local aliases, in effect, to arbitrary other symbolic names.

-- 
- 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] Bookmarks (Re: git-fossil-git does not obtain the same commit hashes.)

2014-06-04 Thread Stephan Beal
On Wed, Jun 4, 2014 at 7:02 PM, Richard Hipp d...@sqlite.org wrote:

 On Wed, Jun 4, 2014 at 12:53 PM, B Harder brad.har...@gmail.com wrote:

 Indeed, non-propagating tags are also checkout-able items.

 What am I missing about bookmarks that we can't already enjoy w/ tags,
 outside of new syntax ?


 Similarly, if you wanted to checkout the branch experimental as it
 existed on some historical date, you could type:

  fossil co experimental:2011-06-04


@Brad: Richard just gave us an example:

fossil bk add xp experimental:2011-06-04

i honestly can't imagine it being useful all that often, but it sounds
interesting.

-- 
- 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] Bookmarks (Re: git-fossil-git does not obtain the same commit hashes.)

2014-06-04 Thread B Harder
Because the internet can be a poor medium to express emotional intent,
let me preface this with: Stephan, you know I have the utmost respect
for your coding chops, and we _mostly_ fall in line wrt design
philosophy. That said:

I'm shaking my head, wondering why? My current mental image is:
http://perl-begin.org/humour/perl6_perl_6_cover_lg.jpg

Is there an important, long-lived reason why we'd want this baked into
fossil? Maybe this deserves to live as a tool that happens to be
intimately familiar w/ fossil. Ie: a script that maps bookmarks with
the real UUID, and runs 'exec (fossil co $UUID);'.

-bch


On 6/4/14, Stephan Beal sgb...@googlemail.com wrote:
 On Wed, Jun 4, 2014 at 6:53 PM, B Harder brad.har...@gmail.com wrote:

 Indeed, non-propagating tags are also checkout-able items.

 What am I missing about bookmarks that we can't already enjoy w/ tags,
 outside of new syntax ?


 i envision them as being lightweight, i.e. local, non-versioned. They'd
 just be local aliases, in effect, to arbitrary other symbolic names.

 --
 - 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] Bookmarks (Re: git-fossil-git does not obtain the same commit hashes.)

2014-06-04 Thread B Harder
sb fossil bk add xp experimental:2011-06-04

I can imagine this being useful at least occasionally. I'm still
loathe to include it in core fossil, but it'd be a great task for a
little tool.

-bch


On 6/4/14, B Harder brad.har...@gmail.com wrote:
 Because the internet can be a poor medium to express emotional intent,
 let me preface this with: Stephan, you know I have the utmost respect
 for your coding chops, and we _mostly_ fall in line wrt design
 philosophy. That said:

 I'm shaking my head, wondering why? My current mental image is:
 http://perl-begin.org/humour/perl6_perl_6_cover_lg.jpg

 Is there an important, long-lived reason why we'd want this baked into
 fossil? Maybe this deserves to live as a tool that happens to be
 intimately familiar w/ fossil. Ie: a script that maps bookmarks with
 the real UUID, and runs 'exec (fossil co $UUID);'.

 -bch


 On 6/4/14, Stephan Beal sgb...@googlemail.com wrote:
 On Wed, Jun 4, 2014 at 6:53 PM, B Harder brad.har...@gmail.com wrote:

 Indeed, non-propagating tags are also checkout-able items.

 What am I missing about bookmarks that we can't already enjoy w/ tags,
 outside of new syntax ?


 i envision them as being lightweight, i.e. local, non-versioned. They'd
 just be local aliases, in effect, to arbitrary other symbolic names.

 --
 - 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] Bookmarks (Re: git-fossil-git does not obtain the same commit hashes.)

2014-06-04 Thread Stephan Beal
On Wed, Jun 4, 2014 at 7:21 PM, B Harder brad.har...@gmail.com wrote:

 sb fossil bk add xp experimental:2011-06-04

 I can imagine this being useful at least occasionally. I'm still
 loathe to include it in core fossil, but it'd be a great task for a
 little tool.


In the core, basically the only addition would be adding another block to
symbolic_name_to_rid(), which simply expands the ... part from bk:...
from the bookmark list, then runs that result through through
symbolic_name_to_rid(). That would allow all other APIs to inherently
resolve bookmarks (or aliases might be a better name).

But until i can think of something interesting to do with it, i'm not
touching any code ;).

-- 
- 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] Bookmarks (Re: git-fossil-git does not obtain the same commit hashes.)

2014-06-04 Thread Nico Williams
On Wed, Jun 4, 2014 at 11:15 AM, Stephan Beal sgb...@googlemail.com wrote:
 On Wed, Jun 4, 2014 at 6:03 PM, Nico Williams n...@cryptonector.com wrote:
 On Wed, Jun 4, 2014 at 9:07 AM, Stephan Beal sgb...@googlemail.com
 wrote:
  Bookmarks. That's a nice idea, actually. Added to my TODO list.

 i was thinking more generically:

 f bookmark add blah trunk
 f bookmark add 'oops!' deadbeefabcdef0123

 f bookmark ls
 [blah] = trunk
 [oops!] = deadbeefabcdef0123

 f co bk:oops
 f merge bk:trunk

 i.e. a system with which to assign non-version-tracked aliases to arbitrary
 other symbols which we already know how to resolve. They needn't be
 push/pull'able, but it might be nice to be able to. We already have
 precedents for special symbols like bk:NAME, e.g.:

To be truly useful it has to be possible to [selectively] push/pull bookmarks.

Strictly speaking, bookmarks needn't be versioned, but it's nice to
have something like the git reflog to help you recover from
accidentally clobbering a bookmark.  In effect, bookmarks' history
needs to be versioned, because let's face it, the git reflog is an odd
bolt-on thing, odder still when you consider that git has a powerful
history mechanism.

So, yeah, bookmarks should be versioned.

Nico
--
___
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] Bookmarks (Re: git-fossil-git does not obtain the same commit hashes.)

2014-06-04 Thread Stephan Beal
On Wed, Jun 4, 2014 at 7:25 PM, Nico Williams n...@cryptonector.com wrote:

 To be truly useful it has to be possible to [selectively] push/pull
 bookmarks.


If that's the case then they really provide no benefits over propagating
tags (which are versioned), but note that Fossil cannot selectively
push/pull with the exception of private branches (tags applied to them
are also private). Tags can, in principal, tag arbitrary repo content, but
historically they've only been applied to checkins. The mechanism allows,
e.g., us to tag individual content blobs, wiki pages, or even to tag other
tags, but so far we've never had any uses for such things. (i did tinker
with the idea of using tags-on-tags to implement comment threads, e.g. for
code reviews, but never got far enough to figure out if it would work.)

-- 
- 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] Bookmarks (Re: git-fossil-git does not obtain the same commit hashes.)

2014-06-04 Thread Nico Williams
On Wed, Jun 4, 2014 at 11:53 AM, B Harder brad.har...@gmail.com wrote:
 Indeed, non-propagating tags are also checkout-able items.

 What am I missing about bookmarks that we can't already enjoy w/ tags,
 outside of new syntax ?

In git, tags and branches are both very light-weight bookmark-like concepts.

The differences are as follows:

 - both can be pushed/pulled, but tags have a single global namespace
 - while branches are namespaced by a remote repo name

 - when you checkout a branch and then commit something, you
automatically move the branch to point to the new commit as its HEAD

 - when you checkout a tag you're in detached HEAD mode; adding a
commit leaves you in the same mode -- the tag doesn't move or change

Nico
--
___
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] Bookmarks (Re: git-fossil-git does not obtain the same commit hashes.)

2014-06-04 Thread Nico Williams
On Wed, Jun 4, 2014 at 12:24 PM, Stephan Beal sgb...@googlemail.com wrote:
 In the core, basically the only addition would be adding another block to
 symbolic_name_to_rid(), which simply expands the ... part from bk:...
 from the bookmark list, then runs that result through through
 symbolic_name_to_rid(). That would allow all other APIs to inherently
 resolve bookmarks (or aliases might be a better name).

Right, a light-weight bookmark need to be referenceable as a symbolic
name of a commit just as any tag or branch.  That's what Mercurial
does, FYI.
___
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] Bookmarks (Re: git-fossil-git does not obtain the same commit hashes.)

2014-06-04 Thread Nico Williams
On Wed, Jun 4, 2014 at 12:30 PM, Stephan Beal sgb...@googlemail.com wrote:
 On Wed, Jun 4, 2014 at 7:25 PM, Nico Williams n...@cryptonector.com wrote:

 To be truly useful it has to be possible to [selectively] push/pull
 bookmarks.


 If that's the case then they really provide no benefits over propagating
 tags (which are versioned), but note that Fossil cannot selectively

See my notes about the differences between tags and branches in git,
the most important of which I'll repeat and expand on here:

 - when you checkout a tag and then commit something, the tag doesn't
move with the HEAD of your workspace -- you're in detached HEAD mode
when you checkout a tag

 - when you checkout a branch and you commit something, the branch's
HEAD moves with the HEAD of your workspace.

E.g.,

% git clone somerepo myclone
% cd myclone
% git tag
list of tags; pick one
% git checkout footag
Note: checking out 'footag'.

You are in 'detached HEAD' state.  [...]
...
% date  f
% git add f
% git commit -m example
% git show HEAD
the commit we just did
% git show footag
the commit we were on before

Now branches:

% git checkout master
% date  f
% git add f
% git commit -m another example
% git status -uno
# On branch master
nothing to commit (use -u to show untracked files)
% git show HEAD
the commit we just added

See?  Tags are precious: they are for noting releases and such, so
mostly they are not intended to be modified.  Branches are intended
for ongoing development, so adding a commit with a given branch
checked out moves that branch's HEAD.

Nico
--
___
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] Bookmarks (Re: git-fossil-git does not obtain the same commit hashes.)

2014-06-04 Thread Stephan Beal
On Wed, Jun 4, 2014 at 8:07 PM, Nico Williams n...@cryptonector.com wrote:

  - when you checkout a tag and then commit something, the tag doesn't
 move with the HEAD of your workspace -- you're in detached HEAD mode
 when you checkout a tag

  - when you checkout a branch and you commit something, the branch's
 HEAD moves with the HEAD of your workspace.


fossil supports both propagating and non-propagating tags, with propagating
tags being used primarily (but not solely) for branches.

-- 
- 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] Bookmarks (Re: git-fossil-git does not obtain the same commit hashes.)

2014-06-04 Thread Richard Hipp
On Wed, Jun 4, 2014 at 2:07 PM, Nico Williams n...@cryptonector.com wrote:

 On Wed, Jun 4, 2014 at 12:30 PM, Stephan Beal sgb...@googlemail.com
 wrote:
  On Wed, Jun 4, 2014 at 7:25 PM, Nico Williams n...@cryptonector.com
 wrote:
 
  To be truly useful it has to be possible to [selectively] push/pull
  bookmarks.
 
 
  If that's the case then they really provide no benefits over propagating
  tags (which are versioned), but note that Fossil cannot selectively

 See my notes about the differences between tags and branches in git,
 the most important of which I'll repeat and expand on here:

  - when you checkout a tag and then commit something, the tag doesn't
 move with the HEAD of your workspace -- you're in detached HEAD mode
 when you checkout a tag


Like a non-propagating tag.



  - when you checkout a branch and you commit something, the branch's
 HEAD moves with the HEAD of your workspace.


Like a propagating tag.

So what extra do you get from the Git approach?  I mean other than having a
separate detached HEAD mode which behaves differently from normal
operation and might leave you with orphaned check-ins that get purged
during a cleanup?

So right now in the SQLite repository, the latest check-in has three
separate tags:

version-3.8.5 is a unique non-propagating tag.  Whenever you do fossil
co version-3.8.5 you always get that particular check-in.

release is a non-unique non-propagating tag.  Whenever you do fossil co
release you get the most recent release.

trunk is a propagating tag.  Whenever you do fossil co trunk you get
the latest check-in on the trunk branch.

If you were to check-in a new change, the change would inherit only the
trunk tag, not the version-3.8.5 nor release tags.

-- 
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] Bookmarks (Re: git-fossil-git does not obtain the same commit hashes.)

2014-06-04 Thread Joel Bruick

Nico Williams wrote:

On Wed, Jun 4, 2014 at 9:07 AM, Stephan Bealsgb...@googlemail.com  wrote:

On Wed, Jun 4, 2014 at 12:02 AM, Nico Williamsn...@cryptonector.com
wrote:

Mercurial too had heavy-duty branches only, then they added
bookmarks that are very similar to git branches.  Since a bookmark
is just a symbolic name for a commit... this is just a new table at
best, with two columns.

Bookmarks. That's a nice idea, actually. Added to my TODO list.


It's interesting that I just sold you on the git branching model, by
using the Mercurial analog.

I don't know what that says.  To me any heavy-duty branching model is
difficult to explain, but clearly bookmarks are easy to explain, or at
least easier to explain when you start from a heavy-duty branching
model.  Regardless of what it means, it's good!  :)


I think Git is a great, powerful, and flexible tool that actually has a 
much simpler design than it initially appears. But to get to a place 
where you actually understand that design (and, thus, understand Git), 
takes about 99x more effort than 99% of the software I've ever used.


Once you get to that point, though, it's wonderful! ;)

One serious problem I have with Git's branching model, though, is that 
the branch names don't really name branches.


If I want to go back and dig through the history of an old feature-x 
branch, I get the commit that the feature-x ref is currently pointing to 
along with every other ancestor of that commit -- including every 
ancestor of the commit that feature-x branched out of and the ancestry 
of every other commit that's been merged into the feature-x branch.


Well, okay, but that's not really what reasonable human beings 
conceptualize as a branch.


This is, of course, assuming that the feature-x ref still exists. In 
Git, it is common practice for people to delete a ref (even from the 
remote repository) after the branch has been merged. To me, this really 
does amount to deleting history.


Fossil branches are actual branches, and I find this very helpful. As an 
example, I fairly often find myself wanting to look back at a specific 
commit that I remember. I obviously don't have the artifact ID 
memorized.  I only vaguely remember when it was created. While the 
commit message was clear and descriptive, I don't remember it, and 
searching for keywords that I think appear in it returns nothing. If I 
could go back in time, I would give it a tag. But heck, even Git doesn't 
include a time machine yet.


However, I do remember the branch name (and even if I don't, I can 
easily find it in the list of closed branches). Firing up fossil ui 
and going to /timeline?r=feature-x narrows it down to a handful of commits.


Anyway, there are some things that I wouldn't mind if Fossil stole from 
Git, but the branching model is not one of them.


___
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] Bookmarks (Re: git-fossil-git does not obtain the same commit hashes.)

2014-06-04 Thread Joel Bruick

Scott Robison wrote:
On Wed, Jun 4, 2014 at 12:56 PM, Joel Bruick j...@joelface.com 
mailto:j...@joelface.com wrote:



I think Git is a great, powerful, and flexible tool that actually
has a much simpler design than it initially appears. But to get to
a place where you actually understand that design (and, thus,
understand Git), takes about 99x more effort than 99% of the
software I've ever used.

Once you get to that point, though, it's wonderful! ;)


I really want to steal this in tweet form:

To get to a place where you understand Git's design takes 99x more 
effort than 99% of software. Once you get to that point it's wonderful!


Would you mind? :)


Consider it yours.

___
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] Bookmarks (Re: git-fossil-git does not obtain the same commit hashes.)

2014-06-04 Thread Scott Robison
On Wed, Jun 4, 2014 at 1:29 PM, Joel Bruick j...@joelface.com wrote:

 Consider it yours.


Thanks. Final form:

OH: To understand Git's design takes 99x more effort than 99% of software.
Once you get to that point it's wonderful! // Too true!

Curse the 140 character limit! :)

-- 
Scott Robison
___
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] Bookmarks (Re: git-fossil-git does not obtain the same commit hashes.)

2014-06-04 Thread Scott Robison
On Wed, Jun 4, 2014 at 1:56 PM, Richard Hipp d...@sqlite.org wrote:

 On Wed, Jun 4, 2014 at 3:27 PM, Scott Robison sc...@casaderobison.com
 wrote:

 I really want to steal this in tweet form:

 To get to a place where you understand Git's design takes 99x more
 effort than 99% of software. Once you get to that point it's wonderful!


 Does that quote belong on this page:
 http://www.fossil-scm.org/fossil/doc/tip/www/quotes.wiki


The full original definitely belongs there:

I think Git is a great, powerful, and flexible tool that actually has a
much simpler design than it initially appears. But to get to a place where
you actually understand that design (and, thus, understand Git), takes
about 99x more effort than 99% of the software I've ever used.

Once you get to that point, though, it's wonderful! ;)

Attributed to Joel Bruick. :)


SDR
___
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] Bookmarks (Re: git-fossil-git does not obtain the same commit hashes.)

2014-06-04 Thread Joel Bruick

Scott Robison wrote:
On Wed, Jun 4, 2014 at 1:56 PM, Richard Hipp d...@sqlite.org 
mailto:d...@sqlite.org wrote:


On Wed, Jun 4, 2014 at 3:27 PM, Scott Robison
sc...@casaderobison.com mailto:sc...@casaderobison.com wrote:

I really want to steal this in tweet form:

To get to a place where you understand Git's design takes 99x
more effort than 99% of software. Once you get to that point
it's wonderful!


Does that quote belong on this page:
http://www.fossil-scm.org/fossil/doc/tip/www/quotes.wiki


The full original definitely belongs there:

I think Git is a great, powerful, and flexible tool that actually has 
a much simpler design than it initially appears. But to get to a place 
where you actually understand that design (and, thus, understand Git), 
takes about 99x more effort than 99% of the software I've ever used.


Once you get to that point, though, it's wonderful! ;)

Attributed to Joel Bruick. :)


I'd prefer the attribution Joel Bruick, blatantly biased Fossil 
contributor, but sure, why not?
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users