Re: [PATCH] Documentation: update git-pull.txt for clone's new default behavior

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Luben Tuikov
Date: Monday, January 1, 2007 - 7:05 pm

--- Junio C Hamano <junkio@cox.net> wrote:

Ah, I see.  Thanks Junio.

... And this is why I see some objections as to what I'm proposing
because it extends too far the extension itself of the old
behavior. (See below.)

Questions:

What is the reasonining of defining branch.<name>.merge to point
to the "remote's setup"?  I would much, much rather stop the leak
of the remote's setup right at [remote] and contain it there,
while everything in [branch] would refer to local stuff.

So the above configuration would become:

 	[remote "origin"]
         	url = ....
                fetch = refs/heads/*:refs/remotes/origin/*
        [branch "master"]
         	remote = origin
# merge gives the place and name of the remote branch locally mapped
                merge = refs/heads/origin/master
# OR, better yet
# merge gives the name only of the remote branch to be merged
# the local mapping can be found from "remote = " above
                merge = master

The reasoning is that the remote's setup should only leak into
[remote] and no further.  I.e. [remote] is the only one concerned
with the mapping between the remote repo and the local repo.

Then, [branch] only talks about local relationships.  Now
since [branch] does refer to _where_ the local mapping resolves
to, i.e. the right hand part of `:', then there is a redundancy
in branch.<name>.merge, since branch.<name>.remote _does refer_
to [remote] where we can find where it is locally mapped.

Thus, by reducibility, branch.name.merge should only contain
a name.  Here is the dependency graph:

branch.name.merge <- (gives a local name)
      branch.name.remote <- (gives the remote)
            remote.rname.fetch <- (gives the remote:local name mapping)
                   remote.rname.url (gives the URL).

Now as to what I'm talking about, should be able to be had with:

     [remote "parent"]
           url = .
           fetch = :
     [branch "A"]
           remote = parent
           merge = master
     [branch "B"]
           remote = parent
           merge = A
     [branch "C"]
           remote = parent
           merge = B

   Luben

-
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
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: [PATCH] Documentation: update git-pull.txt for clone's ..., Luben Tuikov, (Mon Jan 1, 7:05 pm)