git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jakub Narebski <jnareb@gmail.com>
To: Rich Pixley <rich.pixley@palm.com>
Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>,
	"Randal L. Schwartz" <merlyn@stonehenge.com>,
	Nathan Gray <n8gray@n8gray.org>,
	PJ Weisberg <pj@irregularexpressions.net>,
	Sitaram Chamarty <sitaramc@gmail.com>, "Ted Ts'o" <tytso@mit.edu>,
	Seth Robertson <in-gitvger@baka.org>,
	"git@vger.kernel.org" <git@vger.kernel.org>
Subject: Re: Newbie grief
Date: Fri, 04 May 2012 12:14:16 -0700 (PDT)	[thread overview]
Message-ID: <m3d36jrc74.fsf@localhost.localdomain> (raw)
In-Reply-To: <4FA41E8E.20900@palm.com>

Rich Pixley <rich.pixley@palm.com> writes:
> On 5/4/12 08:56 , Mark Brown wrote:
> > On Thu, May 03, 2012 at 01:52:35PM -0700, Rich Pixley wrote:
> >
> > > It's not just hg.  It's other source code control systems as well.
> > > Check out any of the other daggy guys.  So sure, I'll admit a bias
> > > for current technology over older tech.
> >
> > I'm still not sure what's missing here without a central server?   The
> > other DVCSs I've used (which don't include hg) do require that the user
> > trigger a merge operation somehow; they don't magically go and merge
> > things without being asked.
> 
> Nor does hg.  Rather, it allows the collision to be tracked within the
> source code control tool so that anyone who wants to see it can do so,
> and so that anyone who wants to merge it can do so.  The data flow
> paths for collisions and proposed changes can follow precisely the
> same paths as any other code changes.  No meta channel is required.
> 
> This is a different situation from either the one where I,
> specifically me, must merge or the one where I intend my changes to
> stay separated from other development, (a new "branch").  The
> situation with multiple heads allows the merge, the branch, even the
> decision about whether to merge or branch, to be delayed indefinitely.
> 
> The fact that it allows for this also allows for a number of different
> repository network architectures, all of which are blocked in git
> because of the push problem.  In git, those decisions must be made
> _before_ the push.

Well, perhaps Git doesn't support "central repository" workflow, where
users push to common repository, as well as Mercurial.  The main
workflow is based on pairs of private (non-bare) + public (bare)
repositories, one pair for each developer.  You push to own
repository, and pull from other public repositories.
 
Note that there is no problem in Git in "pull" direction (at least for
pulling single branch): you either fast-forward (be updated), or be
asked to perform a merge.  Instead of anonymous heads you get
automatically named remote-tracking branches.

With respect to "push" direction Git assumes that you don't have shell
access to remote repository, so there is nobody to perform a merge;
hence assymetry between "git pull" and "git push".

BTW. can you get in Mercurial which anonymous head comes from which
repository?

> There's also a possibility of nonterminating merges.  That is, if my
> team is making changes faster than you can merge them, then you'll
> never get to push your changes.  With dual heads, you still can.  And
> then anyone who wants to can merge them.

Well, if you have that much activity, you better switch workflows away
from "central repository" one, perhaps to maintainer + lieutenants
pull-based workflow.

Or you can axplicitely push to side branch 

  $ git push repo master:foo/master

and ask in side channel to merge it.


For me using multi-tailed (multi-head) branches instead of
remote-tracking branches serves to blur important distinction
(assymetry) between pull and push directions.


Now if I understand correctly what you wanted to have is a set of
remote repositories, updated only by you (or at least updated in such
way that fast-forward non-merge updates are more common than merges),
and a way to fetch from those repositories so that branches gets
updated to most recent version from among the set of those
repositories, isn't it?

That's quite advanced workflow / requirement, isn't it?

-- 
Jakub Narebski

  reply	other threads:[~2012-05-04 19:14 UTC|newest]

Thread overview: 100+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-30 22:30 Newbie grief Rich Pixley
2012-04-30 23:31 ` Seth Robertson
2012-05-01  1:15   ` Rich Pixley
2012-05-01  1:32     ` Junio C Hamano
2012-05-01  1:55       ` Rich Pixley
2012-05-01  3:44     ` Sitaram Chamarty
2012-05-01 11:14       ` Ted Ts'o
2012-05-01 16:13         ` Sitaram Chamarty
2012-05-01 18:15           ` Rich Pixley
2012-05-01 18:20             ` Michael Witten
2012-05-01 18:52               ` Rich Pixley
2012-05-02 21:28                 ` Jakub Narebski
2012-05-01 18:42             ` Randal L. Schwartz
2012-05-01 20:52               ` Rich Pixley
2012-05-01 21:05                 ` Randal L. Schwartz
2012-05-01 21:12                   ` Junio C Hamano
2012-05-01 21:25                     ` Rich Pixley
2012-05-01 21:28                       ` Randal L. Schwartz
2012-05-01 21:57                         ` Rich Pixley
2012-05-01 22:56                           ` Michael Witten
2012-05-01 23:55                             ` Philip Oakley
2012-05-03 16:08                               ` Hallvard Breien Furuseth
2012-05-03 18:20                                 ` Rich Pixley
2012-05-03 23:04                                   ` Hallvard Breien Furuseth
2012-05-03 23:06                                     ` Hallvard Breien Furuseth
2012-05-03 18:46                             ` Rich Pixley
2012-05-03 21:09                             ` Junio C Hamano
2012-05-03 22:44                               ` Rich Pixley
2012-05-03 22:53                                 ` Randal L. Schwartz
2012-05-03 22:59                                 ` Junio C Hamano
2012-05-04 19:23                                 ` Felipe Contreras
2012-05-04 19:30                             ` Felipe Contreras
2012-05-04 19:41                               ` Michael Witten
2012-05-01 21:29                   ` Rich Pixley
2012-05-01 21:39                     ` Randal L. Schwartz
2012-05-01 22:07                       ` Rich Pixley
2012-05-01 22:17                         ` Andreas Ericsson
2012-05-01 23:01                         ` PJ Weisberg
2012-05-03 18:43                           ` Rich Pixley
2012-05-03 19:09                             ` Nathan Gray
2012-05-03 19:16                               ` Rich Pixley
2012-05-03 20:14                                 ` Randal L. Schwartz
2012-05-03 20:52                                   ` Rich Pixley
2012-05-04 15:56                                     ` Mark Brown
2012-05-04 18:23                                       ` Rich Pixley
2012-05-04 19:14                                         ` Jakub Narebski [this message]
2012-05-04 20:00                                         ` Mark Brown
2012-05-02 14:21                         ` Hallvard Breien Furuseth
2012-05-02 15:21                           ` Michael Witten
2012-05-03 12:23                             ` Hallvard Breien Furuseth
2012-05-03 12:53                               ` Randal L. Schwartz
2012-05-03 16:09                               ` Michael Witten
2012-05-03 16:20                                 ` Hallvard Breien Furuseth
2012-05-03 16:44                                   ` Michael Witten
2012-05-03 18:26                                   ` Rich Pixley
2012-05-03 19:33                                     ` Ted Ts'o
2012-05-01 23:30                     ` Felipe Contreras
2012-05-03 18:31                       ` Rich Pixley
2012-05-03 18:58                       ` Rich Pixley
2012-05-04 14:09                         ` Andreas Ericsson
2012-05-04 14:59                           ` Stephen Bash
2012-05-04 16:29                             ` Mark Brown
2012-05-04 19:13                         ` Felipe Contreras
2012-05-01 18:03         ` Rich Pixley
     [not found]       ` <4FA01C73.5000909@palm.com>
2012-05-02  0:44         ` Sitaram Chamarty
     [not found]   ` <4F9F28F5.2020403@palm.com>
2012-05-01  1:37     ` Seth Robertson
2012-05-01  3:04       ` Rich Pixley
2012-05-01  5:32         ` Michael Witten
2012-05-01  6:21           ` Junio C Hamano
2012-05-01  6:24             ` Michael Witten
2012-05-01 17:29             ` Rich Pixley
2012-05-01 17:33           ` Rich Pixley
2012-05-03 19:13           ` Rich Pixley
2012-05-03 20:19             ` Ronan Keryell
2012-05-03 21:13               ` Junio C Hamano
2012-05-03 22:23                 ` Ronan Keryell
2012-05-03 22:33                 ` Rich Pixley
2012-05-03 22:39                   ` Rich Pixley
2012-05-04  1:01                     ` Illia Bobyr
2012-05-04  3:13                       ` Nathan Gray
2012-05-04  4:35                         ` Michael Witten
2012-05-04  5:25                           ` Junio C Hamano
2012-05-04 10:09                             ` Carlos Martín Nieto
2012-05-04 14:50                               ` Junio C Hamano
2012-05-04 17:39                                 ` Junio C Hamano
2012-05-04 16:46                               ` Nathan Gray
2012-05-04 17:17                                 ` Illia Bobyr
2012-05-04 18:10                               ` Rich Pixley
2012-05-04 17:57                           ` Rich Pixley
2012-05-04 19:22                             ` Michael Witten
2012-05-04 19:18                         ` Andrew Sayers
2012-05-04 18:57             ` Jérôme Benoit
2012-05-04 20:03             ` Felipe Contreras
2012-05-04 20:27               ` Junio C Hamano
2012-05-04 20:45                 ` Felipe Contreras
2012-05-04 21:29                   ` Rich Pixley
2012-05-04 22:05                     ` Felipe Contreras
2012-04-30 23:35 ` Jan Krüger
2012-05-01 18:59   ` Rich Pixley
2012-05-02  8:25 ` Philippe Vaucher

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

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

  git send-email \
    --in-reply-to=m3d36jrc74.fsf@localhost.localdomain \
    --to=jnareb@gmail.com \
    --cc=broonie@opensource.wolfsonmicro.com \
    --cc=git@vger.kernel.org \
    --cc=in-gitvger@baka.org \
    --cc=merlyn@stonehenge.com \
    --cc=n8gray@n8gray.org \
    --cc=pj@irregularexpressions.net \
    --cc=rich.pixley@palm.com \
    --cc=sitaramc@gmail.com \
    --cc=tytso@mit.edu \
    /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.
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 NNTP newsgroup(s).