
Code to write out reftable has seen some optimization and simplification. * ps/reftable-write-optim: reftable/block: reuse compressed array reftable/block: reuse zstream when writing log blocks reftable/writer: reset `last_key` instead of releasing it reftable/writer: unify releasing memory reftable/writer: refactorings for `writer_flush_nonempty_block()` reftable/writer: refactorings for `writer_add_record()` refs/reftable: don't recompute committer ident reftable: remove name checks refs/reftable: skip duplicate name checks refs/reftable: perform explicit D/F check when writing symrefs refs/reftable: fix D/F conflict error message on ref copy
45 lines
1.0 KiB
C
45 lines
1.0 KiB
C
/*
|
|
Copyright 2020 Google LLC
|
|
|
|
Use of this source code is governed by a BSD-style
|
|
license that can be found in the LICENSE file or at
|
|
https://developers.google.com/open-source/licenses/bsd
|
|
*/
|
|
|
|
#include "system.h"
|
|
#include "reftable-error.h"
|
|
|
|
#include <stdio.h>
|
|
|
|
const char *reftable_error_str(int err)
|
|
{
|
|
static char buf[250];
|
|
switch (err) {
|
|
case REFTABLE_IO_ERROR:
|
|
return "I/O error";
|
|
case REFTABLE_FORMAT_ERROR:
|
|
return "corrupt reftable file";
|
|
case REFTABLE_NOT_EXIST_ERROR:
|
|
return "file does not exist";
|
|
case REFTABLE_LOCK_ERROR:
|
|
return "data is locked";
|
|
case REFTABLE_API_ERROR:
|
|
return "misuse of the reftable API";
|
|
case REFTABLE_ZLIB_ERROR:
|
|
return "zlib failure";
|
|
case REFTABLE_EMPTY_TABLE_ERROR:
|
|
return "wrote empty table";
|
|
case REFTABLE_REFNAME_ERROR:
|
|
return "invalid refname";
|
|
case REFTABLE_ENTRY_TOO_BIG_ERROR:
|
|
return "entry too large";
|
|
case REFTABLE_OUTDATED_ERROR:
|
|
return "data concurrently modified";
|
|
case -1:
|
|
return "general error";
|
|
default:
|
|
snprintf(buf, sizeof(buf), "unknown error code %d", err);
|
|
return buf;
|
|
}
|
|
}
|