public inbox for git@vger.kernel.org 
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox•com>
To: Theodore Tso <tytso@mit•edu>
Cc: Brandon Casey <casey@nrlssc•navy.mil>,
	David Jeske <jeske@google•com>, Jakub Narebski <jnareb@gmail•com>,
	Boaz Harrosh <bharrosh@panasas•com>,
	git@vger•kernel.org
Subject: Re: why is git destructive by default? (i suggest it not be!)
Date: Tue, 24 Jun 2008 16:07:57 -0700	[thread overview]
Message-ID: <7vod5qa0tu.fsf@gitster.siamese.dyndns.org> (raw)
In-Reply-To: <20080624225442.GA20361@mit.edu> (Theodore Tso's message of "Tue, 24 Jun 2008 18:54:42 -0400")

Theodore Tso <tytso@mit•edu> writes:

> The main reason that I find for reusing a branch name is for my
> integration branch.  I have a script which basically does:
>
> git checkout integration
> git reset --hard origin
> git merge branch-A
> git merge branch-B
> git merge branch-C
> git merge branch-D
>
> I suppose I could have avoided the use of git reset with something
> like this:
>
> git update-index --refresh --unmerged > /dev/null
> if git diff-index --name-only HEAD | read dummy; then
> 	echo "There are local changes; refusing to build integration branch!"
> 	exit 1
> fi
> git update-ref refs/heads/integration origin
> git checkout integration
> git merge branch-A
> git merge branch-B
> git merge branch-C
> git merge branch-D
>
> Instead, I've just learned to be careful and my use of git reset
> --hard is mainly for historical reasons.

This makes it sound as if avoiding "reset --hard" is a good thing, but I
do not understand why.

The reason you have the diff-index check in the second sequence is because
update-ref does not have the "local changes" check either.  You could have
used the same diff-index check in front of "reset --hard".

Moreover, in your original sequence above, doesn't "git checkout
integration" list your local changes when you have any, and wouldn't that
be a clue enough that the next "reset --hard origin" would discard them?

> ...  But the point is, I can very
> easily think of workflows where it makes sense to reuse a branch name,
> most of them having to do with creating integration branches which are
> basically throwaways after I am done testing or building that combined
> tree.

Absolutely.

  reply	other threads:[~2008-06-24 23:09 UTC|newest]

Thread overview: 113+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <willow-jeske-01l5PFjPFEDjCfzf-01l5V7wbFEDjCX7V>
     [not found] ` <jeske@willow=01l5V7waFEDjChmh>
2008-06-24  1:47   ` why is git destructive by default? (i suggest it not be!) David Jeske
2008-06-24 17:11     ` Boaz Harrosh
2008-06-24 17:19       ` Boaz Harrosh
2008-06-24 19:08         ` Jakub Narebski
2008-06-24 20:04           ` David Jeske
2008-06-24 20:04           ` David Jeske
2008-06-24 21:42             ` Brandon Casey
2008-06-24 22:13               ` David Jeske
2008-06-24 22:13               ` David Jeske
2008-06-24 22:54               ` Theodore Tso
2008-06-24 23:07                 ` Junio C Hamano [this message]
2008-06-25  2:26                   ` Theodore Tso
2008-06-25  8:58                     ` Jakub Narebski
2008-06-25  9:14                       ` Junio C Hamano
2008-06-26 15:13                     ` Brandon Casey
2008-06-24 22:21             ` Steven Walter
2008-06-24 22:21               ` [PATCH] cmd_reset: don't trash uncommitted changes unless told to Steven Walter
2008-06-24 22:31                 ` Junio C Hamano
2008-06-25  9:12                   ` Boaz Harrosh
2008-06-25  9:23                     ` Junio C Hamano
2008-06-25  9:59                       ` Boaz Harrosh
2008-06-25 10:16                     ` Johannes Schindelin
2008-06-25 10:24                       ` Matthias Kestenholz
2008-06-25 10:46                         ` Anton Gladkov
2008-06-25 12:33                           ` Johannes Schindelin
2008-06-25 14:49                           ` [PATCH] cmd_reset: don't trash uncommitted changes unless toldto Craig L. Ching
2008-06-25 15:18                             ` Anton Gladkov
2008-06-25 10:41                       ` [PATCH] cmd_reset: don't trash uncommitted changes unless told to Johannes Sixt
2008-06-25 12:38                         ` Johannes Schindelin
2008-06-25 13:51                           ` Theodore Tso
2008-06-25 17:22                             ` Junio C Hamano
2008-06-25 19:50                               ` Theodore Tso
2008-06-25 20:04                                 ` Avery Pennarun
2008-06-25 20:11                                   ` Junio C Hamano
2008-06-25 20:22                                     ` Avery Pennarun
2008-06-25 20:48                                       ` Junio C Hamano
2008-06-25 20:58                                         ` Avery Pennarun
2008-06-25 21:24                                           ` Re* " Junio C Hamano
2008-06-25 21:34                                             ` Junio C Hamano
2008-06-26  1:26                                             ` Junio C Hamano
2008-06-25 20:37                                     ` Steven Walter
2008-06-25 20:38                                   ` Theodore Tso
2008-06-25 20:50                                     ` Junio C Hamano
2008-06-25 21:05                                       ` Theodore Tso
2008-06-25 21:35                                         ` Junio C Hamano
2008-06-26  5:16                                           ` Junio C Hamano
     [not found]                                           ` <20080627193325.6117@nanako3.lavabit.com>
2008-06-27 22:11                                             ` Junio C Hamano
2008-06-28  0:06                                               ` しらいしななこ
2008-06-28 22:32                                                 ` しらいしななこ
2008-06-29  8:56                                                   ` Junio C Hamano
2008-06-25 22:44                                     ` Petr Baudis
2008-06-26  1:59                                       ` Johannes Schindelin
2008-06-25 20:09                                 ` Junio C Hamano
2008-06-26 11:55                               ` Björn Steinbrink
2008-06-26 12:07                                 ` Johannes Schindelin
2008-06-26 12:35                                   ` Björn Steinbrink
2008-06-26 15:55                                   ` Avery Pennarun
2008-06-26 17:49                                     ` Johannes Schindelin
2008-06-26 12:01                             ` Matthieu Moy
2008-06-26 12:09                               ` Johannes Schindelin
2008-06-26 12:23                                 ` David Kastrup
2008-06-25 13:19                     ` Ian Hilt
2008-06-26  5:31                     ` Andreas Ericsson
2008-06-26 16:15                       ` Jon Loeliger
2008-06-25  5:29                 ` Johannes Gilger
2008-06-25  8:57           ` why is git destructive by default? (i suggest it not be!) Boaz Harrosh
2008-06-24 18:18       ` Brandon Casey
2008-06-24  1:47   ` David Jeske
     [not found]   ` <willow-jeske-01l5PFjPFEDjCfzf-01l5V7wbFEDjCX7V@videotron.ca>
     [not found]     ` <willow-jeske-01l5cKsCFEDjC=91MX@videotron.ca>
2008-06-24  2:17       ` Nicolas Pitre
2008-06-24  3:18         ` David Jeske
2008-06-24  8:14           ` Lea Wiemann
2008-06-24  3:18         ` David Jeske
     [not found]         ` <willow-jeske-01l5PFjPFEDjCfzf-01l5ciVtFEDjCaD9@videotron.ca>
     [not found]           ` <willow-jeske-01l5e9cgFEDjCh3F@videotron.ca>
2008-06-24  4:03             ` Nicolas Pitre
2008-06-24  4:40               ` David Jeske
2008-06-24  4:40               ` David Jeske
2008-06-24  5:24                 ` Jan Krüger
     [not found]               ` <1978205964779154253@unknownmsgid>
2008-06-24  5:20                 ` Avery Pennarun
2008-06-24  6:35                   ` David Jeske
2008-06-24  6:35                   ` David Jeske
2008-06-24  7:24                     ` Jeff King
2008-06-24  7:31                       ` David Jeske
2008-06-24  8:16                         ` Jeff King
2008-06-24  8:30                           ` David Jeske
2008-06-24  9:39                             ` Jakub Narebski
2008-06-24  8:30                           ` David Jeske
     [not found]                           ` <willow-jeske-01l5PFjPFEDjCfzf-01l5kv6TFEDjCj8S@brm-avmta-1.central.sun.com>
     [not found]                             ` <willow-jeske-01l5lTEoFEDjCVta@brm-avmta-1.central.sun.com>
2008-06-24 10:01                               ` Fedor Sergeev
2008-06-24 10:24                                 ` David Jeske
2008-06-24 13:13                                   ` Theodore Tso
2008-06-24  7:31                       ` David Jeske
2008-06-24  7:54                   ` Jakub Narebski
2008-06-24  8:08                     ` David Jeske
2008-06-24 11:22                       ` Jakub Narebski
2008-06-24 11:29                         ` David Jeske
2008-06-24 12:21                           ` Jakub Narebski
2008-06-24 11:29                         ` David Jeske
2008-06-24 12:19                           ` Rogan Dawes
2008-06-24 12:35                             ` Johannes Gilger
2008-06-24 12:46                               ` Rogan Dawes
2008-06-24 12:13                         ` Jakub Narebski
2008-06-24  8:08                     ` David Jeske
2008-06-24  4:59 Teemu Likonen
     [not found] ` <e80d075a0806232201o3933d154he2b570986604c30a@mail.gmail.com>
2008-06-24  5:43   ` Teemu Likonen
  -- strict thread matches above, loose matches on Subject: below --
2008-06-24  8:35 Björn Steinbrink
     [not found] <willow-jeske-01l5PFjPFEDjCfzf-01l5oEswFEDjCZBN>
     [not found] ` <willow-jeske-01l5oEsvFEDjCjRW>
2008-06-24 10:42   ` David Jeske
2008-06-24 10:42   ` David Jeske
2008-06-24 15:29     ` Brandon Casey
2008-06-24 16:41       ` David Jeske
2008-06-24 18:55         ` Brandon Casey
2008-06-25 12:20         ` Matthieu Moy
2008-06-25 17:56         ` Jing Xue
2008-06-24 16:41       ` David Jeske
2008-06-24 12:21 Olivier Galibert
2008-06-25 18:06 Dmitry Potapov

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=7vod5qa0tu.fsf@gitster.siamese.dyndns.org \
    --to=gitster@pobox$(echo .)com \
    --cc=bharrosh@panasas$(echo .)com \
    --cc=casey@nrlssc$(echo .)navy.mil \
    --cc=git@vger$(echo .)kernel.org \
    --cc=jeske@google$(echo .)com \
    --cc=jnareb@gmail$(echo .)com \
    --cc=tytso@mit$(echo .)edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox