git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Shawn O. Pearce" <spearce@spearce.org>
To: Brandon Casey <casey@nrlssc.navy.mil>
Cc: Junio C Hamano <gitster@pobox.com>,
	Git Mailing List <git@vger.kernel.org>
Subject: Re: [PATCH] Teach fsck and prune that tmp_obj_ file names may not be 14 bytes long
Date: Tue, 5 Aug 2008 12:07:22 -0700	[thread overview]
Message-ID: <20080805190722.GC27207@spearce.org> (raw)
In-Reply-To: <I1vUBkF5DO9PiWvc0SRIfOHigaNX9d2kNHLqpAUceLenX-_BWPAliQ@cipher.nrlssc.navy.mil>

Brandon Casey <casey@nrlssc.navy.mil> wrote:
> As Shawn pointed out, not all temporary file creation routines can
> ensure that the generated temporary file is of a certain length.
> e.g. Java's createTempFile(prefix, suffix). So just depend on the
> prefix 'tmp_obj_' for detection.
> 
> Update prune, and fix the "fix" introduced by a08c53a1 :)

Arrrrgh!  :-)

Thanks for cleaning up my mess.
 
> Signed-off-by: Brandon "appendixless" Casey <casey@nrlssc.navy.mil>
> ---
>  builtin-fsck.c  |    2 +-
>  builtin-prune.c |    9 ++++-----
>  2 files changed, 5 insertions(+), 6 deletions(-)
> 
> diff --git a/builtin-fsck.c b/builtin-fsck.c
> index 6eb7da8..d3f3de9 100644
> --- a/builtin-fsck.c
> +++ b/builtin-fsck.c
> @@ -385,7 +385,7 @@ static void fsck_dir(int i, char *path)
>  			add_sha1_list(sha1, DIRENT_SORT_HINT(de));
>  			continue;
>  		}
> -		if (prefixcmp(de->d_name, "tmp_obj_"))
> +		if (!prefixcmp(de->d_name, "tmp_obj_"))
>  			continue;
>  		fprintf(stderr, "bad sha1 file: %s/%s\n", path, de->d_name);
>  	}
> diff --git a/builtin-prune.c b/builtin-prune.c
> index 947de8c..c767a0a 100644
> --- a/builtin-prune.c
> +++ b/builtin-prune.c
> @@ -69,11 +69,6 @@ static int prune_dir(int i, char *path)
>  			if (de->d_name[0] != '.')
>  				break;
>  			continue;
> -		case 14:
> -			if (prefixcmp(de->d_name, "tmp_obj_"))
> -				break;
> -			prune_tmp_object(path, de->d_name);
> -			continue;
>  		case 38:
>  			sprintf(name, "%02x", i);
>  			memcpy(name+2, de->d_name, len+1);
> @@ -90,6 +85,10 @@ static int prune_dir(int i, char *path)
>  			prune_object(path, de->d_name, sha1);
>  			continue;
>  		}
> +		if (!prefixcmp(de->d_name, "tmp_obj_")) {
> +			prune_tmp_object(path, de->d_name);
> +			continue;
> +		}
>  		fprintf(stderr, "bad sha1 file: %s/%s\n", path, de->d_name);
>  	}
>  	if (!show_only)
> -- 
> 1.5.6.2
> 

-- 
Shawn.

      reply	other threads:[~2008-08-05 19:08 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-05 18:01 [PATCH] Teach fsck and prune that tmp_obj_ file names may not be 14 bytes long Brandon Casey
2008-08-05 19:07 ` Shawn O. Pearce [this message]

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=20080805190722.GC27207@spearce.org \
    --to=spearce@spearce.org \
    --cc=casey@nrlssc.navy.mil \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.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;
as well as URLs for NNTP newsgroup(s).