git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Remi Galan Alfonso <remi.galan-alfonso@ensimag.grenoble-inp.fr>
To: Junio C Hamano <gitster@pobox.com>
Cc: Git List <git@vger.kernel.org>,
	Remi Lespinet <remi.lespinet@ensimag.grenoble-inp.fr>,
	Guillaume Pages <guillaume.pages@ensimag.grenoble-inp.fr>,
	Louis-Alexandre Stuber 
	<louis--alexandre.stuber@ensimag.grenoble-inp.fr>,
	Antoine Delaite <antoine.delaite@ensimag.grenoble-inp.fr>,
	Matthieu Moy <Matthieu.Moy@grenoble-inp.fr>,
	Eric Sunshine <sunshine@sunshineco.com>
Subject: Re: [PATCHv6 3/3] git rebase -i: add static check for commands and SHA-1
Date: Tue, 23 Jun 2015 22:35:32 +0200 (CEST)	[thread overview]
Message-ID: <1208569888.733725.1435091732761.JavaMail.zimbra@ensimag.grenoble-inp.fr> (raw)
In-Reply-To: <xmqqpp4mciu7.fsf@gitster.dls.corp.google.com>

Junio C Hamano <gitster@pobox.com> writes:
> Galan Rémi  <remi.galan-alfonso@ensimag.grenoble-inp.fr> writes:
> 
> >  I used:
> >    read -r command sha1 rest <<EOF
> >    $line
> >    EOF
> >  because
> >    printf '%s' "$line" | read -r command sha1 rest
> >  doesn't work (the 3 variables have no value as a result).
> >  There might be a better way to do this, but I don't have it right now.
> 
>         while read line
>         do
>                 (
>                         IFS=' '
>                         set x $line
>                         shift
>                         # now $1 is your command, $2 is sha1, $3 is remainder
>                         ...
>                 )
>         done
> 
> perhaps?

Will try, thanks!

> But more importantly, why do you even need to keep the bad ones in a
> separate .badcmd and .badsha files?  Isn't that bloating your changes
> unnecessarily, iow, if you issued your warning as you encounter them,
> wouldn't the change become cleaner and easier to understand (and as
> a side effect it may even become smaller)?  The _only_ thing that
> you would get by keeping them in temporary files is that you can do
> "one header and bunch of errors", but is it so common to make a bad
> edit to the insn sheet that "a sequence of errors, one per line"
> becomes more burdensome to the end user?
> 
> I would think
> 
>         stripspace |
>         while read -r command sha1 rest
>         do
>                 ...
> 
> and showing the warning as you detect inside that loop would be
> sufficient.  Perhaps I am missing subtle details of what you are
> doing.

You're not missing subtle details, it is as you said, I tough it would
be clearer for the user to have "one header and a bunch of errors".
Moreover while it would make the patch smaller and easier to
understand, I am not sure about making it cleaner; I guess I will have
to try and see how it ends up.

What I'm not completely happy with your proposition is the fact that 
if there are multiple errors of the same kind, the output would look 
something like:
> Warning: the command isn't recognized in the following line:
> badcmd1 some_sha some_commit_message
> Warning: the command isn't recognized in the following line:
> badcmd2 some_sha some_commit_message
(I don't think it would be good to squash some understandable warning
message and the faulty line in one line, it would probably end up
being too long)
However as you say, such mistakes are uncommon so I guess it's fine.

Thanks,
Rémi

  reply	other threads:[~2015-06-23 20:33 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-22 21:42 [PATCHv6 1/3] git-rebase -i: add command "drop" to remove a commit Galan Rémi
2015-06-22 21:42 ` [PATCHv6 2/3] git rebase -i: warn about removed commits Galan Rémi
2015-06-22 21:42 ` [PATCHv6 3/3] git rebase -i: add static check for commands and SHA-1 Galan Rémi
2015-06-23 19:42   ` Junio C Hamano
2015-06-23 20:35     ` Remi Galan Alfonso [this message]
2015-06-23 18:24 ` [PATCHv6 1/3] git-rebase -i: add command "drop" to remove a commit Eric Sunshine
2015-06-23 19:01   ` Remi Galan Alfonso
2015-06-23 19:07     ` Matthieu Moy
2015-06-23 19:18       ` Remi Galan Alfonso
2015-06-23 20:22         ` Matthieu Moy
2015-06-23 20:39           ` Junio C Hamano
2015-06-23 20:47             ` Remi Galan Alfonso
2015-06-23 19:17     ` Eric Sunshine
2015-06-23 19:27 ` Junio C Hamano
2015-06-23 20:08   ` Remi Galan Alfonso
2015-06-23 20:37   ` Junio C Hamano

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

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1208569888.733725.1435091732761.JavaMail.zimbra@ensimag.grenoble-inp.fr \
    --to=remi.galan-alfonso@ensimag.grenoble-inp.fr \
    --cc=Matthieu.Moy@grenoble-inp.fr \
    --cc=antoine.delaite@ensimag.grenoble-inp.fr \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=guillaume.pages@ensimag.grenoble-inp.fr \
    --cc=louis--alexandre.stuber@ensimag.grenoble-inp.fr \
    --cc=remi.lespinet@ensimag.grenoble-inp.fr \
    --cc=sunshine@sunshineco.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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).