git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Mark Levedahl <mlevedahl@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] Teach remote machinery about remotes.default config variable
Date: Sat, 12 Jan 2008 12:26:12 -0800	[thread overview]
Message-ID: <7vbq7qssd7.fsf@gitster.siamese.dyndns.org> (raw)
In-Reply-To: 47891658.3090604@gmail.com

Mark Levedahl <mlevedahl@gmail.com> writes:

> Junio C Hamano wrote:
>> Ahh.
>>
>> Does that suggest the new configuration thing is only about the
>> "submodule update" command, not "remotes.default" that affects
>> how the non-submodule merge and fetch works?
>>
>>
> Yes - this patch set was inspired by the single question of "how do I
> avoid needing to define origin as opposed to a server-specific
> nickname now that I am using sub-modules?"

If it is truly only about "submodule update" then the change
seems too intrusive, especially "remotes.default" variable that
affects the way how fetch and merge works in situations that do
not involve submodules.

If it is not limited to "submodule update" but equally valid fix
to non-submodule situations, the changes to the other parts may
very well be justifiable, but that would mean your "Yes" is a
lie and instead should be "No, but these situations are helped
by these changes because...".

In any case, let's step back a bit.

Earlier you said in a response to Dscho that your servers are
named consistently across repositories.  servername.foo.bar has
nickname servername everywhere.

If your top-level repository needs to access a specific server
"frotz.foo.bar" for updates, then you would have bootstrapped
the whole thing with:

	$ git clone git://frotz.foo.bar/toplevel.git

and in that particular instance of the repository, the source
repository on frotz.foo.bar would have been known as 'origin',
right?  I would not object if you also gave another nickname
'frotz' to the same repository for consistency across
developers.

If that is the case, I am wondering why your subprojects are not
pointing at the corresponding repository on that same
'frotz.foo.bar' machine as 'origin'.  I suspect the reason is
that .gitmodules do not say 'frotz.foo.bar' but name some other
machine.

And in-tree .gitmodules can name only one URL, as it is project
global and shared by everybody.  There is no escaping it.

At least as things were designed, "git submodule init" takes URL
recorded in .gitmodules as a hint, but this is for the user to
override in .git/config in the top-level.  Maybe the UI to allow
this overriding is not easy enough to use, and your submodules
ended up pointing at wrong (from the machine's point of view)
URL as 'origin'.  And perhaps that is the root cause of this
issue?

I am looking at the discussion on the list archive when we
discussed the initial design of .gitmodules:

    http://thread.gmane.org/gmane.comp.version-control.git/47466/focus=47502
    http://thread.gmane.org/gmane.comp.version-control.git/47466/focus=47548
    http://thread.gmane.org/gmane.comp.version-control.git/47466/focus=47621

I do not think we are there yet, and suspect that the current
"git submodule init" does not give the user a chance to say "the
URL recorded in the in-tree .gitmodules corresponds to this URL
in this repository for administrative or network connectivity or
whatever reasons".

Maybe that is the real issue that we should be tackling.  I
dunno.

Although I _think_ being able to use nickname other than
hardcoded 'origin' for fetch/merge is a good change, if my above
suspicion is correct, that change alone would not make the life
easier to people who _use_ submodules, as the need for them to
set up extra nicknames (like 'frotz') and configure the
submodule repositories to use that specific nickname instead of
'origin' would not change.

For communication purposes, I would agree with Dscho that the
name 'origin' that names different things for different people
is wrong and using specific name 'frotz' would solve
communication issues.  But when using the repository and doing
actual work, wouldn't it be _much_ better if you can
consistently go to a repository on a random machine and always
can say 'origin' to mean the other repository this repository
usually gets new objects from (and sends its new objects to)?

  parent reply	other threads:[~2008-01-12 20:26 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
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 [this message]
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=7vbq7qssd7.fsf@gitster.siamese.dyndns.org \
    --to=gitster@pobox.com \
    --cc=git@vger.kernel.org \
    --cc=mlevedahl@gmail.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).