git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andreas Ericsson <ae@op5.se>
To: Theodore Tso <tytso@mit.edu>
Cc: Johannes Schindelin <Johannes.Schindelin@gmx.de>,
	Steffen Prohaska <prohaska@zib.de>,
	Peter Baumann <waste.manager@gmx.de>,
	"J. Bruce Fields" <bfields@fieldses.org>,
	Jakub Narebski <jnareb@gmail.com>,
	Federico Mena Quintero <federico@novell.com>,
	git@vger.kernel.org
Subject: Re: best git practices, was Re: Git User's Survey 2007 unfinished summary continued
Date: Thu, 25 Oct 2007 19:05:36 +0200	[thread overview]
Message-ID: <4720CCE0.2090007@op5.se> (raw)
In-Reply-To: <20071025152159.GB22103@thunk.org>

Theodore Tso wrote:
> On Thu, Oct 25, 2007 at 04:58:13PM +0200, Andreas Ericsson wrote:
>> Correct. I'm working on optimizing it right now though :)
> 
> We await your patches.  :-)
> 
>>> Another would be to set up a wrapper script for "git-clone" that
>>> creates a separate local working directory for each branch.  So for
>>> example, it might do something like this:
>>>
>>> #!/bin/sh
>>> # Usage: get-repo <URL> [dir]
>>> ...
> 
>> Not really, I'm afraid. Apart from missing out on the auto-download of
>> new repos you get with "fetch = refs/heads/*:refs/remotes/origin/*",
>> it seems inelegant.
> 
> You mean new branches, right?
> 

Yes. The few topic-branches that require input from several people are
distributed this way for peer review and trouble-shooting. It's nifty
if they're automatically downloaded, but not so much of an issue that
it matters.


> And of course it's inelegant.  You just told us we were dealing with
> CVS-brain-damaged corporate developers who can't be bothered to learn
> about the fine points of using things the git way.

No, they're just surprised that what they thought would be automatic
isn't, and the curse about it when they put themselves in trouble by
forgetting about it. I've done it myself, and I've been using git since
may 2005.

>  And I thought you
> said there were only a few branches, "master", maint", etc. and all
> the developers worked on were the tips of the branches of the
> corporate mothership repository.  
> 

It depends. For small bugfixes we sometimes commit directly on the
checked out branch. For larger issues we usually create a topic branch
and hack away, creating nicely ordered patch-series and such, but those
topic branches must be created from the tip of the upstream tracking
branch. What Dscho suggested would definitely work, but that would
mean I'd have to tell my co-workers to use 'git branch -D', which I'm
quite reluctant to do. One solution to that particular problem is
ofcourse to hack the delete-command of git-branch to honor remote
tracking branches when calculating dependencies, so the local branches
can safely be removed when they're done with them.

However, there's still this issue:
$ git checkout -b foo origin/pu
Branch foo set up to track remote branch refs/remotes/origin/pu.
Switched to a new branch "foo"

git checkout will say that every time a branch is created from a
tracking branch, unless one tells it --no-track (which people don't
learn about unless they're really into git), so it's quite natural
that people think git will actually make sure, within reasonable
limits, that 'foo' is kept in sync with refs/remotes/origin/pu.
That's not the case, however.

So we could either change the message to be:
"Branch foo set up to track remote branch refs/remotes/origin/pu,
provided you only ever issue git-pull while having branch foo
checked out."

Or we could make 'git checkout -b' default to --no-track, perhaps
giving annoying messages everytime someone "git-checkout -b"'s a
remote tracking branch.
Or we could make git-pull keep git checkout's promises.

I'm opting for the latter, since that's the one that makes a piece
of machinery do some work for me. I'd happily call the command
"git-update-all-local-branches-tracking-remote-tracking-branches"
and only ever make it actually do any work if I pass it the option
"--I-bask-in-the-glory-of-local-vs-remote-confusion", but I need
some sort of solution that
a) Doesn't normally present error messages.
b) Doesn't involve routinely using "git branch -D"
c) Doesn't require more than one or two commands per repo to get
the locally checked out copies of the remote tracking branches
(the ones git has "set up to track remote branch remotes/x/branch")
up to date with their remote counterpart.


> It's like complaining that a car with manual transmission is too hard
> to drive, and then when someone points out how this could be done with
> an automatic transmission, and then complaining that that you don't
> have the fine control of a manual transmission.  Well, of course you
> don't!  Having that fine control requires that you *learn* how to use
> that fine control correctly.
> 

Or invent the sensatronic transmission system and get the best of both
worlds. Engineering solutions so they fit humans? Good gods, that's a
novel idea! ;-)

> The solution I presented is more elegant than what hg does with
> separate repositories, but sure, it does require disk space.  But this
> disk space is cheap, even when compared with the salary costs of
> CVS-damanged developers.  :-)
> 

It's not so much CVS-damaged developers as it's conflicting messages.
I'm quite confused about it myself at times, but for me there's
nobody to harrass since I was the one vetoing in git as the scm to
use for all our corporate needs.

-- 
Andreas Ericsson                   andreas.ericsson@op5.se
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231

  reply	other threads:[~2007-10-25 17:05 UTC|newest]

Thread overview: 161+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-10-08 20:55 Git User's Survey 2007 unfinished summary continued Jakub Narebski
2007-10-12 22:08 ` Jakub Narebski
2007-10-12 23:36   ` Frank Lichtenheld
2007-10-13  0:46   ` Johannes Schindelin
2007-10-13  2:13     ` J. Bruce Fields
2007-10-13  2:53     ` Shawn O. Pearce
2007-10-13 12:58     ` Frank Lichtenheld
2007-10-13 13:04       ` Johannes Schindelin
2007-10-13 18:00     ` Andreas Ericsson
2007-10-13 19:59     ` David Kastrup
2007-10-13 20:27       ` J. Bruce Fields
2007-10-13 20:57         ` David Kastrup
2007-10-14  0:36         ` Johannes Schindelin
2007-10-14  1:13           ` Linus Torvalds
2007-10-14  1:44             ` Shawn O. Pearce
2007-10-14  3:15               ` Linus Torvalds
2007-10-14  3:43                 ` david
2007-10-14  3:55                   ` Linus Torvalds
2007-10-14 10:20               ` Reece Dunn
2007-10-14 18:12                 ` Steven Grimm
2007-10-14 18:40                   ` J. Bruce Fields
2007-10-14 19:25                     ` Steven Grimm
2007-10-14 19:50                     ` Andreas Ericsson
2007-10-14 20:18                       ` Johannes Schindelin
2007-10-14 20:22                         ` Andreas Ericsson
2007-10-14 20:24                         ` J. Bruce Fields
2007-10-14 19:44                   ` Nicolas Pitre
2007-10-15 23:20                     ` Shawn O. Pearce
2007-10-16  2:48                       ` Nicolas Pitre
2007-10-16 10:51                         ` Johannes Schindelin
2007-10-14  2:06             ` Johannes Schindelin
2007-10-14  8:45               ` Andreas Ericsson
2007-10-14  9:21                 ` David Kastrup
2007-10-14 21:49       ` Jakub Narebski
2007-10-14 22:08         ` Johannes Schindelin
2007-10-14 22:17           ` David Kastrup
2007-10-14 22:12         ` David Kastrup
2007-10-14 22:15           ` Jakub Narebski
2007-10-14 22:23           ` Matthew Andrews
2007-10-14 22:30             ` David Kastrup
2007-10-14 21:10     ` David Tweed
2007-10-19 20:57     ` Federico Mena Quintero
2007-10-19 23:27       ` Jakub Narebski
2007-10-19 23:37       ` Johannes Schindelin
2007-10-22 14:28         ` Federico Mena Quintero
2007-10-20  8:03       ` Andreas Ericsson
2007-10-20 10:19         ` Steffen Prohaska
2007-10-20 11:29           ` Andreas Ericsson
2007-10-21  6:08             ` Dmitry Potapov
2007-10-20 23:06           ` Jakub Narebski
2007-10-20 23:33             ` Johannes Schindelin
2007-10-21  7:17               ` Andreas Ericsson
2007-10-21 22:15                 ` Johannes Schindelin
2007-10-22  7:59                   ` Andreas Ericsson
2007-10-22 11:04                     ` best git practices, was " Johannes Schindelin
2007-10-22 12:44                       ` Andreas Ericsson
2007-10-22 13:48                         ` Johannes Schindelin
2007-10-22 14:31                           ` Andreas Ericsson
2007-10-22 15:00                             ` Johannes Schindelin
2007-10-22 15:16                               ` Andreas Ericsson
2007-10-22 15:42                                 ` Steffen Prohaska
2007-10-22 19:36                                 ` Federico Mena Quintero
2007-10-22 23:21                                   ` Johannes Schindelin
2007-10-25 19:04                                     ` Carl Worth
2007-10-22 23:35                             ` Jakub Narebski
2007-10-23  5:38                               ` Steffen Prohaska
2007-10-23 10:58                                 ` Johannes Schindelin
2007-10-24 18:48                                   ` Steffen Prohaska
2007-10-24 19:20                                     ` J. Bruce Fields
2007-10-24 19:41                                       ` Andreas Ericsson
2007-10-24 19:48                                         ` J. Bruce Fields
2007-10-24 20:12                                           ` Steffen Prohaska
2007-10-24 20:33                                             ` J. Bruce Fields
2007-10-24 21:06                                               ` Andreas Ericsson
2007-10-24 21:20                                                 ` J. Bruce Fields
2007-10-24 21:28                                                 ` Peter Baumann
2007-10-24 21:47                                                   ` Steffen Prohaska
2007-10-24 22:14                                                     ` Johannes Schindelin
2007-10-24 22:33                                                       ` Steffen Prohaska
2007-10-24 22:38                                                         ` J. Bruce Fields
2007-10-24 22:51                                                           ` Steffen Prohaska
2007-10-24 23:28                                                         ` Johannes Schindelin
2007-10-25  6:02                                                           ` Steffen Prohaska
2007-10-25 10:27                                                             ` Johannes Schindelin
2007-10-25 12:04                                                               ` Steffen Prohaska
2007-10-25  7:15                                                           ` Andreas Ericsson
2007-10-25  7:31                                                             ` Peter Baumann
2007-10-25  7:57                                                               ` Andreas Ericsson
2007-10-25  8:25                                                                 ` Steffen Prohaska
2007-10-25 10:17                                                             ` Johannes Schindelin
2007-10-25 10:33                                                               ` Andreas Ericsson
2007-10-25 12:09                                                                 ` Steffen Prohaska
2007-10-25 12:58                                                                 ` Johannes Schindelin
2007-10-25 13:24                                                                 ` Theodore Tso
2007-10-25 14:58                                                                   ` Andreas Ericsson
2007-10-25 15:21                                                                     ` Theodore Tso
2007-10-25 17:05                                                                       ` Andreas Ericsson [this message]
2007-10-25 18:33                                                                         ` Junio C Hamano
2007-10-25 20:18                                                                           ` Andreas Ericsson
2007-10-26  6:18                                                                             ` Steffen Prohaska
2007-10-26  7:53                                                                               ` Andreas Ericsson
2007-10-25 18:02                                                                       ` best git practices, was Re: Git User's Survey 2007 unfinishedsummary continued Federico Mena Quintero
2007-10-25 18:04                                                                         ` Mike Hommey
2007-10-25 18:18                                                                           ` J. Bruce Fields
2007-10-25 18:23                                                                         ` Theodore Tso
2007-10-25 20:08                                                                         ` Andreas Ericsson
2007-10-26 20:01                                                                         ` David Kastrup
2007-10-25 16:06                                                       ` Federico Mena Quintero
2007-10-25 16:38                                                         ` J. Bruce Fields
2007-10-25 18:06                                                           ` Federico Mena Quintero
2007-10-25 18:16                                                             ` J. Bruce Fields
2007-10-25 20:19                                                             ` Andreas Ericsson
2007-10-25 20:27                                                               ` J. Bruce Fields
2007-10-26  9:17                                                                 ` David Kastrup
2007-10-26  4:41                                                         ` [PATCH] Make rebase smarter Steven Walter
2007-10-26  7:42                                                           ` Andreas Ericsson
2007-10-26  9:57                                                           ` Johannes Schindelin
2007-10-26 21:02                                                           ` Junio C Hamano
2007-10-26 23:13                                                             ` Johannes Schindelin
2007-10-26 23:29                                                               ` Junio C Hamano
2007-10-24 21:54                                                   ` best git practices, was Re: Git User's Survey 2007 unfinished summary continued Andreas Ericsson
2007-10-24 22:17                                                     ` Johannes Schindelin
2007-10-25  8:07                                                       ` Andreas Ericsson
2007-10-25 10:12                                                         ` Johannes Schindelin
2007-10-25 10:24                                                           ` Andreas Ericsson
2007-10-25 11:39                                                             ` Johannes Schindelin
2007-10-25 12:46                                                               ` Andreas Ericsson
2007-10-25 14:51                                                                 ` Karl Hasselström
2007-10-25 17:10                                                                   ` Andreas Ericsson
2007-10-25  7:26                                                     ` Peter Baumann
2007-10-24 21:16                                               ` Steffen Prohaska
2007-10-24 20:13                                           ` Andreas Ericsson
2007-10-24 23:48                                         ` Jakub Narebski
2007-10-25  7:42                                           ` Andreas Ericsson
2007-10-25 10:07                                             ` Johannes Schindelin
2007-10-25 10:39                                               ` Steffen Prohaska
2007-10-25 16:16                                           ` Federico Mena Quintero
2007-10-23  7:24                               ` Andreas Ericsson
2007-10-22 18:06                           ` Daniel Barkalow
2007-10-22 13:17                       ` Wincent Colaiuta
2007-10-22 13:33                         ` David Symonds
2007-10-22 13:38                         ` Johannes Schindelin
2007-10-22 17:48                           ` Robin Rosenberg
2007-10-23 22:13                         ` Alex Riesen
2007-10-22 13:36                       ` Nguyen Thai Ngoc Duy
2007-10-22 15:24                       ` best git practices, was Re: Git User's Survey 2007 unfinished summarycontinued Federico Mena Quintero
2007-10-24  2:06                       ` best git practices, was Re: Git User's Survey 2007 unfinished summary continued Jakub Narebski
2007-10-24 10:29                         ` Karl Hasselström
2007-10-24 11:04                           ` Jakub Narebski
2007-10-24 11:31                             ` Karl Hasselström
2007-10-24 23:27                               ` Jakub Narebski
2007-10-25  6:10                                 ` Karl Hasselström
2007-10-24 13:15                             ` Catalin Marinas
2007-10-22 12:26                     ` Jakub Narebski
2007-10-22 13:45                       ` Johannes Schindelin
2007-10-22 14:29                       ` Andreas Ericsson
2007-10-22 14:53                     ` Federico Mena Quintero
2007-10-22 23:27                       ` Jakub Narebski
2007-10-22 22:53                   ` Steven Grimm
2007-10-21 22:12           ` J. Bruce Fields
2007-10-13  3:04   ` Shawn O. Pearce

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=4720CCE0.2090007@op5.se \
    --to=ae@op5.se \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=bfields@fieldses.org \
    --cc=federico@novell.com \
    --cc=git@vger.kernel.org \
    --cc=jnareb@gmail.com \
    --cc=prohaska@zib.de \
    --cc=tytso@mit.edu \
    --cc=waste.manager@gmx.de \
    /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).