Re: best git practices, was Re: Git User's Survey 2007 unfinished summary continued
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Oct 25, 2007, 10:17 UTC
- Message-ID
- <Pine.LNX.4.64.0710251112390.25221@racer.site>
- In-Reply-To
- <47204297.5050109@op5.se>
Hi,
On Thu, 25 Oct 2007, Andreas Ericsson wrote:
Show 23 quoted lines
> Johannes Schindelin wrote: > > > On Thu, 25 Oct 2007, Steffen Prohaska wrote: > > > > > On Oct 25, 2007, at 12:14 AM, Johannes Schindelin wrote: > > > > > > > But I think I have to drive my message home again: if what you > > > > desire becomes reality, you take away the clear distinction > > > > between local and remote branches. In fact, those branches are > > > > neither local (because the next pull will automatically update > > > > them with remote changes, but _only_ if they fast-forward) nor > > > > remote (because you plan to work on them locally). > > > > > > Exactly, because I do not work on those branches alone. These are > > > _shared_ branches. I can work on such a branch with a group of > > > developers. I'm willing to accept this bit of chaos. > > > > It is not just a chaos. I see a serious problem here. On _your_ > > computer, you do _not_ have a shared branch. Which is visible _even_ > > in your modified work flow when you have unpushed changes. > > Ofcourse it is. People might pull from it. That's the whole point of a > distributed model.
By that reasoning, left is right. Because your "left" is my "right".
Show 10 quoted lines
> > So your desired illusion that your local branches are anything but > > local branches will never be perfect enough. > > > > > Your rebase workflow is not possible if more than one dev wants to > > > work on the topic branch together. > > > > Why not? I do it all the time. CVS users do it all the time, for > > that matter. > > For 200 branches at a time, where any of them might have changed?
I slowly start to understand why your users are confused. _Nobody_ works on 200 branches at the same time. (No, maintainers don't count: they do not work _on_ the branches, but _with_; they merge them.)
When you're done with a topic, why do you leave it around? Cluttering up your "git branch" output?
Show 7 quoted lines
> > The problem I see here: you know git quite well. Others don't, and > > will be mightily confused why pull updates local branches sometimes, > > and sometimes not. > > Do you know this, or are you just guessing? I'm getting the exact same > confusion with the current behaviour. "Why the hell doesn't git update > all the branches I told the damn stupid tool to auto-merge when I pull?"
That's easy. A merge can have conflicts. Conflicts need a working directory. You cannot have multiple working directories. (Actually, you can, with git-new-workdir, which would break down _horribly_ with your desired change.)
Oh? You don't have local changes? Then why _on earth_ do you have a local branch?
Ciao, Dscho