Re: best git practices, was Re: Git User's Survey 2007 unfinished summary continued

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Oct 22, 2007, at 5:16 PM, Andreas Ericsson wrote:

Johannes Schindelin wrote:
Hi,
On Mon, 22 Oct 2007, Andreas Ericsson wrote:
Johannes Schindelin wrote:

On Mon, 22 Oct 2007, Andreas Ericsson wrote:

If I were to suggest any improvements, it'd be to change the semantics of git-pull to always update the local branches set up to be merged with the remote tracking branches when they, prior to fetching, pointed to the same commit, such that when

$ git show-ref master
d4027a816dd0b416dc8c7b37e2c260e6905f11b6 refs/heads/master
d4027a816dd0b416dc8c7b37e2c260e6905f11b6 refs/remotes/origin/ master

refs/heads/master gets set to refs/remotes/origin/master post- fetch.
In general, this should fail. Because you are expected to have local changes in the local branches.

BS argument.
Aha. So you want to make sure that the local branches are no longer "purely" local. And you want to stop updating them when unpushed changes are in the local branches.

To me, it's more along the lines of "let git help me not make the mistake of hacking on a six-week old codebase when I've explicitly asked it to merge these and those remote tracking branches into these and those local branches". Not updating those branches when there *are* changes on them is something users can understand and will probably also appreciate, but the reason for not allowing even fast-forwards escape me.

Here's also an interesting asymmetry. By default, git push
updates all remote branches matching a local branch. But git
pull "updates" only the current local branch to the state of
the remote head (by updating all local copies of the remote
branches, but merging only a single of these heads).

Maybe this asymmetry adds to the confusion. I see arguments
for both behaviours:
1) In both cases, update only the branch you're on
or
2) in both cases update all matching branches.
(btw, if I do not intend to merge at all, you can always use
"git fetch".)

	Steffen

-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux