[1.8.0] Summary of the discussions

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

 



It seems that not many things need breaking, but we will break some.

Here are the ones that needed discussion and were discussed that I am
aware of, with my comments (which shouldn't be read as final decision).

The next step will be to design the migration path, and execution.

 * "git branch --set-upstream <name>" should not be about setting the
   upstream of <name> to the current branch.

   From: Jay Soffian <jaysoffian@xxxxxxxxx>
   Date: Tue, 1 Feb 2011 01:57:03 -0500
   Message-ID: <AANLkTinUn2SMijphe3EmPMVOOwBjPB5ffFwwqZVxQmW0@xxxxxxxxxxxxxx>

   -- summary --

   The current behaviour is misdesigned. It should be setting the upstream
   of the current branch to <name>.

   -- comments --

   I agree.

 * "git push" default semantics will be "upstream" (renamed from
   "tracking"), not "matching".
   
   From: Matthieu Moy <Matthieu.Moy@xxxxxxxxxxxxxxx>
   Date: Mon, 14 Feb 2011 22:57:24 +0100
   Message-ID: <vpqr5bath2z.fsf@xxxxxxxxxxxxxx>

   -- comments --

   Ok.

 * "git merge" without "what to merge" default to @{upstream}

   From: Junio C Hamano <gitster@xxxxxxxxx>
   Date: Mon, 31 Jan 2011 12:50:30 -0800
   Message-ID: <7vzkqg4x2h.fsf_-_@xxxxxxxxxxxxxxxxxxxxxxxx>

   -- summary --

   Instead of failing, "git merge" to behave more in line with "git pull".

   -- comments --

   I think this makes sense.

 * Unify pathspec semantics

   From: Junio C Hamano <gitster@xxxxxxxxx>
   Date: Mon, 31 Jan 2011 09:07:14 -0800
   Message-ID: <7voc6x57el.fsf_-_@xxxxxxxxxxxxxxxxxxxxxxxx>
   
   -- summary --

   Some commands and operations understand leading-path-components but not
   globs, while many others do. This inconsistency leads to some surprises.
   Make everybody understand globs.

   -- comments --

   This is already underway, I think.

 * Making more operations full-tree by default.

   From: Jeff King <peff@xxxxxxxx>
   Date: Wed, 9 Feb 2011 18:46:21 -0500
   Subject: Re: "git add -u" broken in git 1.7.4?
   Message-ID: <20110209234621.GA12575@xxxxxxxxxxxxxxxxxxxxx>

   -- summary --

   These two commands currently affect only paths within the current
   working directory when run from a subdirectory without a pathspec:

   . "add -u"
   . "add -A"

   Make them to add everything in the working tree, from the root level,
   even when they are run from a subdirectory.

   The following are left as exceptions, keeping the current behaviour to
   work within the current directory given no pathspecs:

   . "grep"
   . "archive"
   . "clean"

   Plumbing like these are also left as exceptions.

   . "ls-files"
   . "ls-tree"

   -- comments --

   As long as transition plan is made carefully, I think this is fine.

 * Extend "separate remote" to tags and notes.

   From: Johan Herland <johan@xxxxxxxxxxx>
   Date: Mon, 07 Feb 2011 04:35:31 +0100
   Message-ID: <201102070435.31674.johan@xxxxxxxxxxx>

   -- summary --

   Instead of using refs/remotes/origin/$branch to store copies of
   branches, which has two downsides:

    - HEAD as the "primary branch pointer" and as a branch name could
      collide;
    - tags are forced into a single global namespace. 

   Use refs/remotes/origin/{HEAD,heads/$branch,tags/$tag} to track what
   we copy from a remote in separate namespaces.

   -- comments --

   Making this coexist with repositories created before 1.8.0 might be
   tricky, but otherwise this is fine.

 * "git checkout refs/heads/<name>" checks out <name> branch.

    From: Martin von Zweigbergk <martin.von.zweigbergk@xxxxxxxxx>
    Date: Mon, 7 Feb 2011 06:01:51 -0500 (EST)
    Message-ID: <alpine.DEB.1.10.1102062234010.3788@debian>

    -- summary --

    In addition to "git checkout <name>" that names an existing branch,
    special case "git checkout refs/heads/<name>" to check the branch out,
    instead of detaching HEAD at the tip of the branch.  If you want to
    detach at a specific commit and wanted to disambiguate <name> that is
    both a branch and another ref by checking out refs/heads/<name>, your
    workflow will be broken by this change, but you can still say
    refs/heads/<name>^0 to work it around.

    -- comments --

    I do not think this backward incompatible breakage would seriously
    hurt in practice, and if people see newbies are hurt by getting a
    detached HEAD when they check out refs/heads/<name>, this proposal
    might be an improvement, but I have a feeling that this may be trying
    to solve a wrong problem.

    Why are these people _tempted_ to type refs/heads/ explicitly?  It
    could be our tutorial or documentation.  That might be the thing to
    fix.

 * "git fetch $from $branch..." to update tracking branches

   From: Thomas Rast <trast@xxxxxxxxxxxxxxx>
   Date: Mon, 31 Jan 2011 22:44:09 +0100
   Message-ID: <201101312244.10047.trast@xxxxxxxxxxxxxxx>

   -- summary --

   Traditionally, giving explicit refspecs from the command line was a way
   to disable the tracking copy specified with "remote.<name>.fetch"
   configuration. A good workflow should however not rely on such a
   "pretending that a bad update on the other side did not happen".
   Always update tracking branches we observed with "git fetch".

   -- comments --

   I think this makes sense.

 * Moving files around in the source tree, thinning the top-level.

   From: Nicolas Pitre <nico@xxxxxxxxxxx>
   Date: Mon, 31 Jan 2011 15:28:37 -0500 (EST)
   Message-ID: <alpine.LFD.2.00.1101311459000.8580@xxxxxxxxxxx>

   -- summary --

   well not concrete enough concensus to summarize other than "too many
   files at the top is considered ugly".

   -- comments --

   I am not tempted to do the heavy-lifting myself; as long as the
   resulting tree looks sane, I won't object ;-)
--
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]