On 10/12/2015 11:51 PM, David Turner wrote:
> From: Ronnie Sahlberg <sahlb...@google.com>
> 
> Move delete_pseudoref, delete_ref() and delete_refs() to the refs.c
> file since these functions do not contain any backend specific code.
> 
> Based on a patch by Ronnie Sahlberg.
> 
> Signed-off-by: David Turner <dtur...@twopensource.com>
> Signed-off-by: Ronnie Sahlberg <sahlb...@google.com>
> ---
>  refs-be-files.c | 94 
> ---------------------------------------------------------
>  refs.c          | 94 
> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 94 insertions(+), 94 deletions(-)
> 
> diff --git a/refs-be-files.c b/refs-be-files.c
> index 7fe4931..099df75 100644
> --- a/refs-be-files.c
> +++ b/refs-be-files.c
> @@ -2877,100 +2877,6 @@ static int delete_ref_loose(struct ref_lock *lock, 
> int flag, struct strbuf *err)
>       return 0;
>  }
>  
> -static int delete_pseudoref(const char *pseudoref, const unsigned char 
> *old_sha1)
> -{
> -     static struct lock_file lock;
> -     const char *filename;
> -
> -     filename = git_path("%s", pseudoref);
> -
> -     if (old_sha1 && !is_null_sha1(old_sha1)) {
> -             int fd;
> -             unsigned char actual_old_sha1[20];
> -
> -             fd = hold_lock_file_for_update(&lock, filename,
> -                                            LOCK_DIE_ON_ERROR);
> -             if (fd < 0)
> -                     die_errno(_("Could not open '%s' for writing"), 
> filename);
> -             if (read_ref(pseudoref, actual_old_sha1))
> -                     die("could not read ref '%s'", pseudoref);
> -             if (hashcmp(actual_old_sha1, old_sha1)) {
> -                     warning("Unexpected sha1 when deleting %s", pseudoref);
> -                     rollback_lock_file(&lock);
> -                     return -1;
> -             }
> -
> -             unlink(filename);
> -             rollback_lock_file(&lock);
> -     } else {
> -             unlink(filename);
> -     }
> -
> -     return 0;
> -}
> -
> [...]
> diff --git a/refs.c b/refs.c
> index 2d10708..205a899 100644
> --- a/refs.c
> +++ b/refs.c
> @@ -116,3 +116,97 @@ int update_ref(const char *msg, const char *refname,
>               ref_transaction_free(t);
>       return 0;
>  }
> +
> +
> +static int delete_pseudoref(const char *pseudoref, const unsigned char 
> *old_sha1)
> +{
> +     static struct lock_file lock;
> +     const char *filename;
> +
> +     filename = git_path("%s", pseudoref);
> +
> +     if (old_sha1 && !is_null_sha1(old_sha1)) {
> +             int fd;
> +             unsigned char actual_old_sha1[20];
> +
> +             fd = hold_lock_file_for_update(&lock, filename,
> +                                            LOCK_DIE_ON_ERROR);
> +             if (fd < 0)
> +                     die_errno(_("Could not open '%s' for writing"), 
> filename);
> +             read_ref(pseudoref, actual_old_sha1);

The same test vanishes here as in the previous patch. The original was

                if (read_ref(pseudoref, actual_old_sha1))
                        die("could not read ref '%s'", pseudoref);

> +             if (hashcmp(actual_old_sha1, old_sha1)) {
> +                     warning("Unexpected sha1 when deleting %s", pseudoref);
> +                     rollback_lock_file(&lock);
> +                     return -1;
> +             }
> +
> +             unlink(filename);
> +             rollback_lock_file(&lock);
> +     } else {
> +             unlink(filename);
> +     }
> +
> +     return 0;
> +}
> +
> [...]

Michael

-- 
Michael Haggerty
mhag...@alum.mit.edu

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to