git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: "David A. Wheeler" <dwheeler@dwheeler.com>
To: Daniel Barkalow <barkalow@iabervon.org>
Cc: Petr Baudis <pasky@ucw.cz>,
	Martin Schlemmer <azarah@nosferatu.za.org>,
	David Greaves <david@dgreaves.com>,
	git@vger.kernel.org
Subject: Re: Change "pull" to _only_ download, and "git update"=pull+merge?
Date: Tue, 19 Apr 2005 18:39:04 -0400	[thread overview]
Message-ID: <42658888.60007@dwheeler.com> (raw)
In-Reply-To: <Pine.LNX.4.21.0504191245160.30848-100000@iabervon.org>

Daniel Barkalow wrote:
 >See, I don't think you ever want to just pull. You want to
 >pull-and-do-something, but the something could be any operation...

In a _logical_ sense that's true; I'd only want to pull data if I intended
to (possibly) do something with it.  But as a _practical_ matter,
I can see lots of reasons for doing a pull as a separate operation.
One is disconnected operation; I may want to pull the data now, to
prepare for disconnectino, and then work later while disconnected.
Another is using lots of data compared to the pipesize; if I have a
dial-in modem, or I want the history of the linux kernel since 0.0.1,
I might want to "pull" & go away/go to sleep for the night. I might
use cron/at to automatically "pull" at 3am from some interesting branches.
The next day, I could then "pull" again to update just what changed,
and/or do the operation I intended to do if the operation auto-pulls the
missing data.

>I'm actually getting suspicious that the right thing is to hide "pull" in the id scheme. That is, instead of saying "linus" to refer to the
>"linus" head that you currently have, you say "+linus" to refer to the
>head Linus has on his server currently, and this will cause you to
>download anything necessary to perform the operation with the resulting value.
>  
>
That's an interesting idea.  I'll have to think about that.

What command would you suggest for the common case
of "update with current track?"  I've proposed "git update [NAME]".
"git merge" with update-from-current-track as default seems unclear, and
I worry that I might accidentally press RETURN too soon & merge with
the wrong thing.  And I like the idea of "git update" doing the same thing
(essentially) as "cvs update" and "svn update"; LOTS of people "know"
what update does, so using the same command name for one of the most
common operations smooths transition (GNU Arch's "tla update"
is almost, though not exactly, the same too.)

I still think it's important to have a very simple command that updates
your current branch with a tracked branch (because it's common to stay
in sync with a master branch), and a way to just download the data without
doing things with it YET (because you want to do things in stages).
The commands "update" and "pull" come to mind when thinking that way,
though as long as the commands are simple & clear that's a good thing
(I think it's a GOOD idea to use the same commands as CVS and
Subversion when the results are essentially the same, just because so many
people are already familiar with them, but only where it makes sense.)

--- David A. Wheeler


  reply	other threads:[~2005-04-19 22:35 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-04-16  1:56 [PATCH] Add "clone" support to lntree Daniel Barkalow
2005-04-16  2:47 ` Petr Baudis
2005-04-16  2:58   ` Petr Baudis
2005-04-16  3:16     ` Linus Torvalds
2005-04-16 11:39       ` Petr Baudis
2005-04-16  3:17     ` Daniel Barkalow
2005-04-16 23:33       ` Petr Baudis
2005-04-17  0:07         ` Daniel Barkalow
2005-04-19  1:12           ` Petr Baudis
2005-04-19  2:13             ` Change "pull" to _only_ download, and "git update"=pull+merge? David A. Wheeler
2005-04-19  9:18               ` David Greaves
2005-04-19  9:28                 ` Petr Baudis
2005-04-19 10:05                   ` Martin Schlemmer
2005-04-19 10:50                     ` Petr Baudis
2005-04-19 13:54                       ` Jon Seymour
2005-04-19 14:40                       ` Martin Schlemmer
2005-04-19 18:28                       ` Daniel Barkalow
2005-04-19 22:39                         ` David A. Wheeler [this message]
2005-04-19 23:20                           ` Daniel Barkalow
2005-04-20  7:01                       ` Ingo Molnar
2005-04-20 20:05                         ` Petr Baudis
2005-04-20 20:32                           ` Ingo Molnar
2005-04-20 20:45                           ` Ingo Molnar
2005-04-20 21:15                             ` Petr Baudis
2005-04-20 23:58                               ` David Mansfield
2005-04-16  3:06   ` Add "clone" support to lntree Daniel Barkalow
2005-04-16 23:00     ` Petr Baudis
2005-04-16 23:07       ` Daniel Barkalow
2005-04-16 23:44         ` Petr Baudis

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

  List information: http://vger.kernel.org/majordomo-info.html

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

  git send-email \
    --in-reply-to=42658888.60007@dwheeler.com \
    --to=dwheeler@dwheeler.com \
    --cc=azarah@nosferatu.za.org \
    --cc=barkalow@iabervon.org \
    --cc=david@dgreaves.com \
    --cc=git@vger.kernel.org \
    --cc=pasky@ucw.cz \
    /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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).