[RFC/PATCH] git push usability improvements and default change

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

 



Usability improvements:

"-" is now an alias for the current remote (the remote of the current
branch or "origin" as a fallback). This works both for push, fetch,
pull, remote (and possibly some others), creating a lot of nice
shortcuts I think:
git remote prune - : prune the current remote
git push - HEAD : push the current branch to a branch of the same name
git fetch - next : fetch the next branch from the current remote

git push has learned two new command line options --matching and
--current, which override any configuration.  'matching' pushes all
branches that already exist at the remote, while 'current' pushes the
current branch to whatever it is tracking

I chose this behaviour for 'current', since it is the one that I find
most useful, and there seems to be no good way of expressing it from
the command line.  Pushing a branch to an identically named branch on
a remote can now easily be done by "git push - HEAD".

Also added a new configuration option push.default, which can have values
"nothing", "matching" and "current". This variable will only be used if
you have not specificed any refspecs at all, no command line options imply
any refspecs, and the current branch has no push configuration.

This is implemented in 1-3


git push default change:

git push will by default push "nothing" instead of "matching".

This is implemented in 4-7. 4-5 are for immediate consumption, 6 is for
next major release (or later), and 7 is even later.

4 Adds a warning if you have not configured push.default
5 Changes the wording to say that the default will change. 4 and 5 can
  be applied immediately.
6 changes the deault to "nothing", but keeps the warning.
7 removes the warning entirely

Finn Arne Gangstad (7):
      remote: Make "-" an alias for the current remote
      New config option push.default
      git push: New options --matching and --current
      git push: Display warning on unconfigured default push
      git push: Document that "nothing" is the future push default
      git push: Change default for "git push" to nothing.
      git push: Remove warning for "git push" default change

 Documentation/RelNotes-1.6.3.txt |    7 +++
 Documentation/config.txt         |   18 ++++++++
 Documentation/git-push.txt       |   14 +++++--
 builtin-push.c                   |   84 +++++++++++++++++++++++++++++--------
 cache.h                          |    7 +++
 config.c                         |   23 ++++++++++
 environment.c                    |    1 +
 remote.c                         |    2 +-
 transport.h                      |    9 ++++
 9 files changed, 142 insertions(+), 23 deletions(-)

- Finn Arne
--
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