git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: README rewrite

From
ZBZack Brown <zbrown@tumblerings.org>
Date
May 15, 2005, 15:40 UTC
Message-ID
<20050515154041.GD7391@tumblerings.org>
In-Reply-To
<42876B30.1070404@saville.com>
On Sun, May 15, 2005 at 08:30:56AM -0700, Wink Saville wrote:
Show 23 quoted lines
> Wink Saville wrote:
> >Zack Brown wrote:
> >
> > > Hi Petr,
> > >
> 
> <snip>
> 
> >Actually looking in the repository I see that "origin" appears to be a 
> >"branch" not a revision, what is the relationship between a branch, tag 
> >and revision's? I have some experience with subversion and in subversion 
> >they are actually all the same, simply the state of a "sub-tree" within 
> >the repository at a particular "time". That time is defined by the 
> >repositories current revison number which is incremented after each 
> >succesful commit to the repository.
> >
> 
> 
> Zack,
> 
> I patched the README by hand this morning and read the explanation on 
> cg-tag and it appears branches, tags and revisions are synonymous, please 
> correct me if I'm wrong.
I think that's wrong:
revision: a particular state of the tree, identified by an SHA1 hash ID
tag: a revision with a cute name
branch: a code fork, identified by name

As I understand it, a tag refers to a specific revision, and so when you use a tag's name, you are referring only to that revision. A branch is different. When you use a branch's name, you are referring to all the development that has occurred in that branch.

So, when the 2.6.12 kernel comes out, Greg and Chris may decide to create a fork for 2.6.12.x stablization. So linux and linux_2.6.12.x will be seperate development branches in the same development tree. Patches and revisions going into the 2.6.12.x branch will not be reflected in the 2.6.12 branch. The two branches will diverge.

At the same time, unlike tags, their names will remain the same. With each new revision, the linux_2.6.12.x branch will still refer to that branch with that new revision. In the case of tagging, the tag name refers only to a single revision that took place at a specific point in the history of the tree or branch.

This much I think I understand. What I don't understand is how to actually use branches. I don't see a Cogito command to create or destroy them.

> 
> Is there a way to use time or relative values (HEAD-1) as "revision" 
> parameters, it would be nice if its not already there.

As far as I know, you use only the SHA1 hash ID or a tag name to identify revisions. Special cases like HEAD are the exceptions.

Be well, Zack

Show 17 quoted lines
> 
> Again, thanks for the update adds very useful information!
> 
> Wink
> 
> 
> 
> 
> -- 
> No virus found in this outgoing message.
> Checked by AVG Anti-Virus.
> Version: 7.0.308 / Virus Database: 266.11.10 - Release Date: 5/13/2005
> 
> -
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
-- 
Zack Brown
Previous: Wink SavilleNext: Zack Brown
Message 6 of 12 in “README rewrite”
  1. Zack BrownMay 15, 2005
  2. Zack BrownMay 15, 2005
  3. Wink SavilleMay 15, 2005
  4. Zack BrownMay 15, 2005
  5. Wink SavilleMay 15, 2005
  6. Zack BrownMay 15, 2005
  7. Zack BrownMay 15, 2005
  8. Petr BaudisMay 15, 2005
  9. Zack BrownMay 16, 2005
  10. Petr BaudisMay 18, 2005
  11. Matthias UrlichsMay 15, 2005
  12. Petr BaudisMay 18, 2005

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.