From: Joshua N Pritikin <jpritikin@pobox.com>
To: Stefan Beller <sbeller@google.com>
Cc: "git@vger.kernel.org" <git@vger.kernel.org>
Subject: Re: interactive rebase should better highlight the not-applying commit
Date: Wed, 12 Oct 2016 09:27:40 -0400 [thread overview]
Message-ID: <20161012132740.dvyofl36qtualxgk@droplet> (raw)
In-Reply-To: <CAGZ79kZSQx7aOCgQ2dwzJeCLX-k-+x1SKabEBG7CktNfeXAbvg@mail.gmail.com>
On Tue, Oct 11, 2016 at 01:55:22PM -0700, Stefan Beller wrote:
> On Tue, Oct 11, 2016 at 12:07 PM, Joshua N Pritikin <jpritikin@pobox.com> wrote:
> > I assume somebody familiar with GIT's code base could make this change
> > in about 10 minutes.
>
> Can you elaborate how you come to that estimate?
Hm, a false belief in the general awesomeness of GIT developers?
On Tue, Oct 11, 2016 at 02:25:19PM -0700, Stefan Beller wrote:
> On Tue, Oct 11, 2016 at 12:07 PM, Joshua N Pritikin <jpritikin@pobox.com> wrote:
> > As of GIT 2.8.1, if you do an interactive rebase and get some conflict
> > in the stack of patches then the commit with the conflict is buried in
> > 4-5 lines of output. It is visually difficult to immediately pick out
> > which commit did not apply cleanly. I suggest highlighting the 1 line
> > commit summary in red or green or some color to help it stand out from
> > all the other output.
> >
> > I decided to suggest this change after I realized that I probably
> > skipped a commit during an interactive rebase instead of resolving the
> > conflict. I knew I had to skip some commit so I assumed that I just need
> > to skip without reading the commit summary carefully. Now it is 7-15
> > days after I did the erroneous rebase. I had to spend a few hours today
> > with GIT's archaeology tools to find the lost code.
>
> Looking at the actual code, this is not as easy as one might assume,
> because rebase is written in shell. (One of the last remaining large
> commands in shell), and there is no color support in the die(..)
> function.
I'm sorry to hear that.
> However IIUC currently rebase is completely rewritten/ported to C
> where it is easier to add color support as we do have some color
> support in there already.
Sounds great. Is there a beta release that I can try out?
Also, I have another wishlist item for (interactive) rebase. Sometimes I
do a rebase to fix some tiny thing 10-15 commits from HEAD. Maybe only 1
file is affected and there are no merge conflicts, but when rebase
reapplies all the commits, the timestamps of lots of unmodified files
change even though they are unmodified compared to before the rebase.
Since the modification times are used by 'make' to compute dependencies,
this creates a lot of useless recompilation that slows things down. It
would be great if rebase only changed the timestamps of files that were
actually modified.
Thank you.
--
Joshua N. Pritikin, Ph.D.
Virginia Institute for Psychiatric and Behavioral Genetics
Virginia Commonwealth University
PO Box 980126
800 E Leigh St, Biotech One, Suite 1-133
Richmond, VA 23219
http://people.virginia.edu/~jnp3bc
next prev parent reply other threads:[~2016-10-12 13:27 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-11 19:07 interactive rebase should better highlight the not-applying commit Joshua N Pritikin
2016-10-11 20:55 ` Stefan Beller
2016-10-12 16:14 ` Johannes Schindelin
2016-10-11 21:25 ` Stefan Beller
2016-10-12 13:27 ` Joshua N Pritikin [this message]
2016-10-12 16:24 ` Johannes Schindelin
2016-10-12 17:02 ` Joshua N Pritikin
2016-10-13 10:40 ` Johannes Schindelin
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=20161012132740.dvyofl36qtualxgk@droplet \
--to=jpritikin@pobox.com \
--cc=git@vger.kernel.org \
--cc=sbeller@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
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