[PATCH 0/2] Make it easy to use branch --track on existing branch
- From
Matthieu Moy <matthieu.moy@imag.fr>
- Date
- Jan 17, 2010, 14:06 UTC
- Message-ID
- <1263737212-8101-1-git-send-email-Matthieu.Moy@imag.fr>
I'm starting a new thread to avoid hiding the message in another one, but this is a followup to a message in the "git push --track" thread:
http://article.gmane.org/gmane.comp.version-control.git/137066
I wrote:
Show 22 quoted lines
> Junio C Hamano <gitster <at> pobox.com> writes: > > > The small nit is that "branch -f --track me origin/me" will happily > > overwrite "me", even when your "me" is not up to date with "origin/me", > > losing commits. > > And another issue is: > > $ git branch -f --track my-branch origin/my-branch > fatal: Cannot force update the current branch. > $ git branch --track my-branch origin/my-branch > fatal: A branch named 'my-branch' already exists. > > Actually, I just can't find a natural set of commands doing: > > 1. create a branch (git checkout -b) > 2. work on it > 3. send it upstream (git push) > 4. set the upstream as tracking (???) > > with the current version of Git. I just do 4. with $EDITOR > .git/config ...
The first patch makes it possible to use branch --track on an existing branch (checked-out or not, regardless of -f), and the second warns on a newly introduced irrelevant case.
This should be a nice complement to "push --set-upstream". I think "push --set-upstream" is the most natural in 99% of cases, but using "git branch" should work too.
Matthieu Moy (2):
branch: allow creating a branch with same name and same starting
point.
branch: warn and refuse to set a branch as a tracking branch of
itself.branch.c | 59 ++++++++++++++++++++++++++++++++------------- t/t6040-tracking-info.sh | 8 ++++++ 2 files changed, 50 insertions(+), 17 deletions(-)