git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mark Levedahl <mlevedahl@gmail.com>
To: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Cc: Junio C Hamano <gitster@pobox.com>, git@vger.kernel.org
Subject: Re: [PATCH] Teach remote machinery about remotes.default config variable
Date: Sun, 13 Jan 2008 22:23:12 -0500	[thread overview]
Message-ID: <478AD5A0.50900@gmail.com> (raw)
In-Reply-To: <alpine.LSU.1.00.0801132220200.8333@wbgn129.biozentrum.uni-wuerzburg.de>

Johannes Schindelin wrote:
> Unfortunately, you _still_ fail to even ackonwledge that you still need a 
> lookup, and that I have a point when saying "your patch does not help, 
> since you still have a lookup".
>   
I don't acknowledge this point as it is not true.

I will try to explain one more time.

1 - "origin" is fine as an abstraction IFF everyone on the project can 
reasonably expect that "git fetch origin" will yield the same results 
for anyone who executes that command. As I have tried (and apparently 
failed) to explain, for numerous complex and unchangeable reasons, "git 
fetch origin" is *NOT* expected to give the same results around this 
project and therefore, "origin" is not a useful abstraction.

2 - Until we used submodules, we never defined "origin", but instead 
explicitly named the server using standard nicknames (e.g., "git fetch 
frotz", not "git fetch"). Everyone who can access frotz gets the same 
result. Those who can't, and have to use server "zorft", get a different 
result but it is obvious to all they didn't go to frotz.

3 - As the servers are different and have different content, it is just 
part of the workflow to know the server names and use them. We have 
agreed upon a common set of server nicknames. There is no lookup, we 
just know them. Maybe you call this a lookup step, but frankly this is 
part of *required* job knowledge (which server has what and which to use 
for which purpose).

4 - The problem came with submodules. Now, the recipe of "git clone -o 
frotz" no longer really works, as all of the submodules now have remote 
origin = frotz, and remote frotz is undefined while the master-project 
is the other way around. This is confusing to say the least. As 
submodules forced origin in, the path of least resistance  was just 
giving in and using origin. Now we have to be very aware not only of 
what server to use, but now also what origin is so that we can know how 
to reach the server we wanted. (i.e., Do I use "origin" or "frotz" to 
reach frotz?) This *IS* an extra lookup step required because of origin 
being defined.

Now, we can recusively use "git remote add" to just go ahead and add all 
remotes needed regardless of what origin says, and *partly* get back to 
where we were. Only partly, because git submodule update will still use 
origin, and *only* origin for fetching. So we still have to know what 
origin is (problem #1, fixed by my patches 1-4), and if what we need to 
fetch from is in fact not origin (even though the master project knows 
what server to access), submodule update in fact doesn't even work 
(fixed by the fifth patch that flows the remote down from the master).

So no, I do not acknowledge that we have an extra lookup step and that 
just using origin is the same or simpler or whatever. It absolutely is 
not. Quite the opposite, for us using "origin" forces an unnecessary 
extra lookup and translation step and complicates, not simplifies, use 
of submodules.

Mark

  reply	other threads:[~2008-01-14  3:24 UTC|newest]

Thread overview: 134+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-11  3:29 Allowing override of the default "origin" nickname Mark Levedahl
2008-01-11  3:29 ` [PATCH] Teach remote machinery about remotes.default config variable Mark Levedahl
2008-01-11  3:29   ` [PATCH] git-remote - Unset remotes.default when deleting the default remote Mark Levedahl
2008-01-11  3:29     ` [PATCH] git-clone - Set remotes.default config variable Mark Levedahl
2008-01-11  3:29       ` [PATCH] git-submodule - Possibly inherit parent's default remote on init/clone Mark Levedahl
2008-01-11  8:00   ` [PATCH] Teach remote machinery about remotes.default config variable Junio C Hamano
2008-01-11 20:52     ` Mark Levedahl
2008-01-12  2:18       ` Junio C Hamano
2008-01-12  5:52         ` Mark Levedahl
2008-01-12  6:03           ` Junio C Hamano
2008-01-12  6:16             ` Mark Levedahl
2008-01-12  6:27               ` Junio C Hamano
2008-01-12 13:24                 ` Mark Levedahl
2008-01-12 18:46                   ` Junio C Hamano
2008-01-12 19:34                     ` Mark Levedahl
2008-01-12 20:24                       ` Johannes Schindelin
2008-01-12 22:29                         ` Mark Levedahl
2008-01-13 21:22                           ` Johannes Schindelin
2008-01-14  3:23                             ` Mark Levedahl [this message]
2008-01-14  4:42                               ` Junio C Hamano
2008-01-15  4:55                                 ` Mark Levedahl
2008-01-15  6:18                                   ` Junio C Hamano
2008-01-15 23:08                                     ` Mark Levedahl
2008-01-16  0:17                                       ` Johannes Schindelin
2008-01-16  1:25                                         ` Mark Levedahl
2008-01-16  1:40                                           ` Johannes Schindelin
2008-01-12 20:26                       ` Junio C Hamano
2008-01-12 22:24                         ` Mark Levedahl
2008-01-12 22:48                           ` Junio C Hamano
2008-01-13 15:47                             ` Mark Levedahl
2008-01-13 16:27                               ` [PATCH] Teach remote machinery about core.origin " Mark Levedahl
2008-01-13 16:27                                 ` [PATCH] git-remote - Unset core.origin when deleting the default remote Mark Levedahl
2008-01-13 16:27                                   ` [PATCH] git-clone - Set remotes.origin config variable Mark Levedahl
2008-01-13 16:27                                     ` [PATCH] git-submodule - Possibly inherit parent's default remote on init/clone Mark Levedahl
2008-01-13 16:27                                       ` [PATCH] Teach git-submodule to use master's remote when updating subprojects Mark Levedahl
2008-01-14 11:05                                   ` [PATCH] git-remote - Unset core.origin when deleting the default remote Jeff King
2008-01-15  5:02                                     ` Mark Levedahl
2008-01-15 16:50                                       ` Jeff King
2008-01-13 21:27                             ` [PATCH] Teach remote machinery about remotes.default config variable Johannes Schindelin
2008-01-14  1:50                               ` Junio C Hamano
2008-01-14  6:49                                 ` safecrlf not in 1.5.4 (was Re: [PATCH] Teach remote machinery about remotes.default config variable) Steffen Prohaska
     [not found]                                   ` <31687420-EB17-4651-AD6C-07213311ABDA-wjoc1KHpMeg@public.gmane.org>
2008-01-14  7:30                                     ` safecrlf not in 1.5.4 Junio C Hamano
     [not found]                                   ` < 7vejcklv84.fsf@gitster.siamese.dyndns.org>
     [not found]                                     ` <7vejcklv84.fsf-jO8aZxhGsIagbBziECNbOZn29agUkmeCHZ5vskTnxNA@public.gmane.org>
2008-01-14  8:29                                       ` Steffen Prohaska
2008-01-14 19:41                                         ` [msysGit] " Junio C Hamano
2008-01-14  9:04                                       ` Dmitry Potapov
2008-01-14 17:35                                         ` Pierre Habouzit
2008-01-14 11:18                                 ` [PATCH] Teach remote machinery about remotes.default config variable Johannes Schindelin
2008-01-14 12:16                                   ` valgrind test scripts (was Re: [PATCH] Teach remote...) Jeff King
2008-01-18  9:41                                 ` What's not in 'master' but should be Junio C Hamano
2008-01-18 10:15                                   ` Lars Hjemli
2008-01-18 10:24                                     ` Junio C Hamano
2008-01-18 10:53                                       ` Lars Hjemli
2008-01-18 11:09                                         ` Junio C Hamano
2008-01-18 11:54                                           ` Lars Hjemli
2008-01-18 12:34                                             ` Johannes Schindelin
2008-01-18 14:19                                               ` Lars Hjemli
2008-01-18 20:59                                             ` Junio C Hamano
2008-01-18 10:40                                   ` What's not in 'master', and likely not to be until 1.5.4 Junio C Hamano
2008-01-18 11:25                                     ` Johannes Sixt
2008-01-18 11:40                                       ` Junio C Hamano
2008-01-18 13:04                                         ` Steffen Prohaska
2008-01-18 13:11                                           ` Johannes Schindelin
2008-01-18 20:36                                       ` Johannes Schindelin
2008-01-18 20:58                                         ` Johannes Schindelin
2008-01-21  4:46                                           ` Shawn O. Pearce
2008-01-21 10:37                                             ` Johannes Schindelin
2008-01-23  4:44                                               ` Shawn O. Pearce
2008-01-23 11:12                                                 ` Johannes Schindelin
2008-01-18 22:07                                         ` Johannes Sixt
2008-01-18 22:37                                           ` Johannes Schindelin
2008-01-18 11:26                                     ` Jakub Narebski
2008-01-18 21:49                                       ` Junio C Hamano
2008-01-21  5:55                                         ` Imran M Yousuf
2008-01-21  6:29                                           ` Junio C Hamano
2008-01-21  6:42                                           ` Steffen Prohaska
2008-01-21  6:41                                             ` [PATCH] submodule: Document the details of the command line syntax Steffen Prohaska
2008-01-21  6:47                                               ` Junio C Hamano
2008-01-18 12:17                                     ` What's not in 'master', and likely not to be until 1.5.4 Marco Costalba
2008-01-18 12:18                                       ` Marco Costalba
2008-01-18 12:53                                     ` Steffen Prohaska
2008-01-18 13:09                                       ` Johannes Schindelin
2008-01-18 13:23                                         ` Steffen Prohaska
2008-01-21  2:37                                     ` What's not in 'master', and likely not to be in, " Junio C Hamano
2008-01-21  5:21                                       ` Linus Torvalds
2008-01-21  6:15                                         ` Junio C Hamano
2008-01-21  7:02                                           ` Junio C Hamano
2008-01-21  7:10                                             ` Junio C Hamano
2008-01-21  7:13                                               ` Junio C Hamano
2008-01-21  7:27                                                 ` Junio C Hamano
2008-01-21  8:32                                                   ` Junio C Hamano
2008-01-21  8:44                                                     ` [PATCH 1/2] read-cache.c: introduce is_racy_timestamp() helper Junio C Hamano
2008-01-21  8:46                                                     ` [PATCH 2/2] read-cache.c: fix timestamp comparison Junio C Hamano
2008-01-21 18:47                                                       ` Linus Torvalds
2008-01-21 19:06                                                         ` Johannes Schindelin
2008-01-21 19:09                                                         ` Linus Torvalds
2008-01-21 19:24                                                           ` Linus Torvalds
2008-01-21 19:26                                                             ` Johannes Schindelin
2008-01-21 19:47                                                               ` Linus Torvalds
2008-01-21 20:38                                                             ` Junio C Hamano
2008-01-21 21:22                                                               ` Linus Torvalds
2008-01-21 22:02                                                                 ` Junio C Hamano
2008-01-22  9:47                                                                 ` Junio C Hamano
2008-01-22 17:25                                                                   ` Linus Torvalds
2008-01-22 22:00                                                                 ` Linus Torvalds
2008-01-23  3:34                                                                   ` Junio C Hamano
2008-01-23  3:53                                                                     ` Linus Torvalds
2008-01-21  8:29                                             ` What's not in 'master', and likely not to be in, until 1.5.4 Johannes Sixt
2008-01-21  5:35                                       ` Daniel Barkalow
2008-01-21  8:11                                       ` Marco Costalba
2008-01-18 18:28                                   ` What's not in 'master' but should be Johannes Schindelin
2008-01-18 18:36                                     ` Johannes Schindelin
2008-02-18 19:57                                       ` Johannes Schindelin
2008-01-19  6:14                                     ` Mike Hommey
2008-01-19 15:21                                     ` [PATCH] http-push: fix webdav lock leak Grégoire Barbier
2008-01-19 23:38                                       ` Johannes Schindelin
2008-01-12 16:50           ` [PATCH] Teach remote machinery about remotes.default config variable Johannes Schindelin
2008-01-12 17:29             ` Mark Levedahl
2008-01-12 20:22               ` Johannes Schindelin
2008-01-12  5:54         ` [PATCH] Teach remote machinery about core.origin " Mark Levedahl
2008-01-12  5:54           ` [PATCH] git-remote - Unset core.origin when deleting the default remote Mark Levedahl
2008-01-12  5:54             ` [PATCH] git-clone - Set remotes.origin config variable Mark Levedahl
2008-01-12  5:54               ` [PATCH] git-submodule - Possibly inherit parent's default remote on init/clone Mark Levedahl
2008-01-11 12:03 ` Allowing override of the default "origin" nickname Johannes Schindelin
2008-01-11 13:06   ` Mark Levedahl
2008-01-11 13:52     ` Johannes Schindelin
2008-01-11 14:53       ` Mark Levedahl
2008-01-11 15:03         ` Johannes Schindelin
2008-01-11 16:39           ` Mark Levedahl
2008-01-11 17:01             ` Björn Steinbrink
2008-01-11 17:27               ` Jakub Narebski
2008-01-11 15:25         ` Jakub Narebski
2008-01-11 16:15           ` Mark Levedahl
2008-01-11 21:12             ` Johannes Schindelin
2008-01-11 23:11 ` Daniel Barkalow

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=478AD5A0.50900@gmail.com \
    --to=mlevedahl@gmail.com \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    /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).