git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Petr Baudis <pasky@ucw.cz>
To: Linus Torvalds <torvalds@osdl.org>
Cc: Daniel Barkalow <barkalow@iabervon.org>, git@vger.kernel.org
Subject: Re: Re: Re: Add "clone" support to lntree
Date: Sat, 16 Apr 2005 13:39:56 +0200	[thread overview]
Message-ID: <20050416113955.GB14326@pasky.ji.cz> (raw)
In-Reply-To: <Pine.LNX.4.58.0504152014330.7211@ppc970.osdl.org>

Dear diary, on Sat, Apr 16, 2005 at 05:16:12AM CEST, I got a letter
where Linus Torvalds <torvalds@osdl.org> told me that...
> On Sat, 16 Apr 2005, Petr Baudis wrote:
> > 
> > I'm wondering, whether each tree should be fixed to a certain branch.
> 
> I'm wondering why you talk about "branches" at all.
> 
> No such thing should exist. There are no branches. There are just 
> repositories. You can track somebody elses repository, but you should 
> track it by location, not by any "branch name".
> 
> And you track it by just merging it.
> 
> Yeah, we don't have really usable merges yet, but..

First, this "level" of branches concerns multiple working directories
tied to a single repository. It seems like a sensible thing to do; and
you agreed with it too (IIRC). And when you do that, git-pasky just
saves some work for you. For git-pasky, branch is really just a symbolic
name for a commit ID, which gets updated every time you commit in some
repository. Nothing more.

So the whole point of this is to have a symbolic name for some other
working directory. When you want to merge, you don't need to go over to
the other directory, do commit-id, cut'n'paste, and feed that to git
merge. You just do

		git merge myotherbranch


Now, about remote repositories. When you pull a remote repository, that
does not mean it has to be immediately merged somewhere. It is very
useful to have another branch you do *not* want to merge, but you want
to do diffs to it, or even check it out / export it later to some
separate directory. Again, the "branch" is just a symbolic name for the
head commit ID of what you pulled, and the pointer gets updated every
time you pull again - that's the whole point of it.

The last concept are "tracking" working directories. If you pull the
tracked branch to this directory, it also automerges it. This is useful
when you have a single canonical branch for this directory, which it
should always mirror. That would be the case e.g. for the gazillions of
Linux users who would like to just have the latest bleeding kernel of
your, and they expect to use git just like a "different CVS". Basically,
they will just do

		git pull

instead of

		cvs update

:-).

-- 
				Petr "Pasky" Baudis
Stuff: http://pasky.or.cz/
C++: an octopus made by nailing extra legs onto a dog. -- Steve Taylor

  reply	other threads:[~2005-04-16 11:36 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-04-16  1:56 [PATCH] Add "clone" support to lntree Daniel Barkalow
2005-04-16  2:47 ` Petr Baudis
2005-04-16  2:58   ` Petr Baudis
2005-04-16  3:16     ` Linus Torvalds
2005-04-16 11:39       ` Petr Baudis [this message]
2005-04-16  3:17     ` Daniel Barkalow
2005-04-16 23:33       ` Petr Baudis
2005-04-17  0:07         ` Daniel Barkalow
2005-04-19  1:12           ` Petr Baudis
2005-04-19  2:13             ` Change "pull" to _only_ download, and "git update"=pull+merge? David A. Wheeler
2005-04-19  9:18               ` David Greaves
2005-04-19  9:28                 ` Petr Baudis
2005-04-19 10:05                   ` Martin Schlemmer
2005-04-19 10:50                     ` Petr Baudis
2005-04-19 13:54                       ` Jon Seymour
2005-04-19 14:40                       ` Martin Schlemmer
2005-04-19 18:28                       ` Daniel Barkalow
2005-04-19 22:39                         ` David A. Wheeler
2005-04-19 23:20                           ` Daniel Barkalow
2005-04-20  7:01                       ` Ingo Molnar
2005-04-20 20:05                         ` Petr Baudis
2005-04-20 20:32                           ` Ingo Molnar
2005-04-20 20:45                           ` Ingo Molnar
2005-04-20 21:15                             ` Petr Baudis
2005-04-20 23:58                               ` David Mansfield
2005-04-16  3:06   ` Add "clone" support to lntree Daniel Barkalow
2005-04-16 23:00     ` Petr Baudis
2005-04-16 23:07       ` Daniel Barkalow
2005-04-16 23:44         ` Petr Baudis

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20050416113955.GB14326@pasky.ji.cz \
    --to=pasky@ucw.cz \
    --cc=barkalow@iabervon.org \
    --cc=git@vger.kernel.org \
    --cc=torvalds@osdl.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).