From: Junio C Hamano <junkio@cox.net>
To: Jon Loeliger <jdl@freescale.com>
Cc: git@vger.kernel.org
Subject: Re: GIT 0.99.7d, and end of week status.
Date: Mon, 26 Sep 2005 15:03:47 -0700 [thread overview]
Message-ID: <7vr7bba3lo.fsf@assigned-by-dhcp.cox.net> (raw)
In-Reply-To: <1127765852.5735.36.camel@cashmere.sps.mot.com> (Jon Loeliger's message of "Mon, 26 Sep 2005 15:17:32 -0500")
Jon Loeliger <jdl@freescale.com> writes:
There is a small problem in that proposal. "Merging" in git
does not work that way. Specifically,
> # When merging, merge origin, maint and pu into master
> Merge: master origin maint pu
> # Merge into master the just the origin bits
> Merge: master origin
the problem with these is that you may be in your "test" branch
and say "git pull". 'git pull' does not let you say 'pull into
this branch which is not my current branch', and "into master"
part would not work -- merge in git always merges things into
the current branch, so writing
> # When merging, merge origin, maint and pu into the current
> Merge: origin maint pu
> # Merge just the origin bits into the current
> Merge: origin
may make sense.
Having said that I doubt Octopus is what people do regularly, so
being able to write "Merge: origin maint pu" (or "Merge: ncq
chs-support") as a short-hand makes much sense.
There is not much inherent reason to require that the merge
happens only to the current branch, if we stop using the files
in the working tree for resolving conflicts (either manually or
automatically). We could rewrite 'git pull' like this:
- have it take 'merge into this branch' parameter, defaulting
to the current branch, or your "Merge: <into> <remote>..."
proposal.
- if the merge is not to happen in the current branch, then
use a temporary index file and a temporary working directory
to do the merge -- when manual conflict resolution is needed,
ask the user to go to that temporary working directory and
resolve conflicts there and make commits there. The
temporary working directory is actually cheap because we do
not have to checkout all the paths -- only the paths involved
in the merge.
I remember the merge Linus originally envisioned would have
worked along the above lines, until he changed his mind around
2a68a8659f7dc55fd285d235ae2d19e7a8116c30 commit, beginning of
June, for 1.0 (ewww, we were already aiming for 1.0 back then).
http://marc.theaimsgroup.com/?l=git&m=111806925225305&w=2
declared the merge in separate directory is post 1.0 item, and I
tend to agree with that. Most of the time you will be merging
into the current branch, and otherwise you could make it so by
switching to that branch before pulling.
next prev parent reply other threads:[~2005-09-26 22:03 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-09-25 8:36 GIT 0.99.7d, and end of week status Junio C Hamano
2005-09-25 9:32 ` Alan Chandler
2005-09-25 18:47 ` Junio C Hamano
2005-09-25 20:43 ` Alan Chandler
2005-09-26 0:01 ` Junio C Hamano
2005-09-26 6:09 ` Alan Chandler
2005-09-26 20:23 ` Junio C Hamano
2005-09-25 22:42 ` Tom Prince
2005-09-25 23:46 ` Junio C Hamano
2005-09-26 19:10 ` Petr Baudis
2005-09-26 20:25 ` Junio C Hamano
2005-09-27 10:17 ` Petr Baudis
2005-09-29 4:40 ` Matthias Urlichs
2005-09-29 5:11 ` Junio C Hamano
2005-09-26 20:17 ` Jon Loeliger
2005-09-26 22:03 ` Junio C Hamano [this message]
2005-09-27 7:38 ` [PATCH] Fix default pull not to do an unintended Octopus Junio C Hamano
2005-09-27 9:52 ` Josef Weidendorfer
2005-09-27 12:54 ` Petr Baudis
2005-09-27 14:35 ` Josef Weidendorfer
2005-09-27 22:24 ` Junio C Hamano
2005-09-27 10:13 ` GIT 0.99.7d, and end of week status Petr Baudis
2005-09-27 9:51 ` 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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7vr7bba3lo.fsf@assigned-by-dhcp.cox.net \
--to=junkio@cox.net \
--cc=git@vger.kernel.org \
--cc=jdl@freescale.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.