From: Drew Northup <n1xim.email@gmail.com>
To: Drew Northup <n1xim.email@gmail.com>
Cc: git@vger.kernel.org, Jonas Fonseca <fonseca@diku.dk>
Subject: Re: [PATCH] TIG: Fix to reinstate proper operation with no arguments
Date: Thu, 18 Jul 2013 09:30:11 -0400 [thread overview]
Message-ID: <51E7EDE3.4080205@gmail.com> (raw)
In-Reply-To: <1374123113-3889-1-git-send-email-n1xim.email@gmail.com>
Somehow this patch breaks the main view to not open the correct commit
in diff view when <enter> is pressed. Back to the debugger...
On 07/18/2013 12:51 AM, Drew Northup wrote:
> Since c7d67ab running "tig" with no options has failed with the
> error "tig: No revisions match the given arguments." This was due
> to a change in how the arguments for the back-end git call was
> being constructed. This change caused the blank field left in
> place of "(encoding_arg)" when it is empty to not overwrite
> "buf" which then caused the value in "buf" to be copied into
> dst_argv twice. The resulting git command failed if there was no
> available revision named "log" as shown in the trace.
>
> From the TIG_TRACE log:
> git log log --no-color --pretty=raw --parents --parents --
> fatal: bad revision 'log'
>
> This fix works by teaching tig that when it is supplied with a
> blank field in the source argument buffer that it should skip
> over that field and continue instead of copying the previous
> field value into the destination buffer a second time.
>
> github issue # 167
>
> Signed-off-by: Drew Northup<n1xim.email@gmail.com>
> ---
>
> This should apply cleanly to the tig public master whether the
> mkstemps() patch I wrote has been applied or not.
>
> tig.c | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/tig.c b/tig.c
> index ba9ba98..1016cfe 100644
> --- a/tig.c
> +++ b/tig.c
> @@ -3105,10 +3105,11 @@ static bool
> format_append_arg(struct format_context *format, const char ***dst_argv, const char *arg)
> {
> format->bufpos = 0;
> + int len = 0;
>
> while (arg) {
> char *next = strstr(arg, "%(");
> - int len = next ? next - arg : strlen(arg);
> + len = next ? next - arg : strlen(arg);
>
> if (len&& !string_format_from(format->buf,&format->bufpos, "%.*s", len, arg))
> return FALSE;
> @@ -3119,7 +3120,11 @@ format_append_arg(struct format_context *format, const char ***dst_argv, const c
> arg = next ? strchr(next, ')') + 1 : NULL;
> }
>
> - return argv_append(dst_argv, format->buf);
> + if(len){
> + return argv_append(dst_argv, format->buf);
> + } else {
> + return TRUE;
> + }
> }
>
> static bool
--
--
-Drew Northup
--------------------------------------------------------------
"As opposed to vegetable or mineral error?"
-John Pescatore, SANS NewsBites Vol. 12 Num. 59
next prev parent reply other threads:[~2013-07-18 13:30 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-18 4:51 [PATCH] TIG: Fix to reinstate proper operation with no arguments Drew Northup
2013-07-18 13:30 ` Drew Northup [this message]
2013-07-19 4:07 ` Jonas Fonseca
2013-07-19 11:55 ` Drew Northup
2013-07-24 12:29 ` Drew Northup
2013-07-24 12:50 ` [PATCH V2] " Drew Northup
2013-07-29 1:23 ` Jonas Fonseca
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=51E7EDE3.4080205@gmail.com \
--to=n1xim.email@gmail.com \
--cc=fonseca@diku.dk \
--cc=git@vger.kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.