Re: best git practices, was Re: Git User's Survey 2007 unfinished summary continued

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Johannes Schindelin wrote:
Hi,

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.

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? Do they
*really* go into all those branches and make really, really sure they run
git pull before they ever do anything? Isn't there a teensy weensy risk of
them forgetting that sometime when they really meant to do it?

On the other hand, if they absolutely *must* fork a branch at a specific
point in history (rather than "the latest published work this branch has"),
won't they run gitk/qgit/git-log/whatever, regardless of where their branch
head is?


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?"
frequently echoes around the office. My co-workers aren't interested in
learning about git internals, or its reasons for doing what it does.
They don't give a damn about local vs remote namespaces for their branches.
They want to get some work done the smoothest way possible, but with our
small forest of repositories and the bushel of branches in each repo
makes life difficult for them, because they just can't imagine that
git doesn't do what they told it to, which is "this branch tracks that".
They may work on "this", but still want it to track "that" so they don't
have to run "git-update-all.sh", or "git-walk-everything.sh" or any other
of a dozen small and near-identical scripts floating around the office.

--
Andreas Ericsson                   andreas.ericsson@xxxxxx
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux