move got_errors[] table into a single compilation unit (error.c) ok stsp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384
diff --git a/include/got_error.h b/include/got_error.h
index 020d902..15a2771 100644
--- a/include/got_error.h
+++ b/include/got_error.h
@@ -168,186 +168,9 @@
#define GOT_ERR_HUNK_FAILED 150
#define GOT_ERR_PATCH_FAILED 151
-static const struct got_error {
- int code;
- const char *msg;
-} got_errors[] = {
- { GOT_ERR_OK, "no error occured?!?" },
- { GOT_ERR_ERRNO, "see errno" },
- { GOT_ERR_NOT_GIT_REPO, "no git repository found" },
- { GOT_ERR_BAD_FILETYPE, "bad file type" },
- { GOT_ERR_BAD_PATH, "bad path" },
- { GOT_ERR_NOT_REF, "no such reference found" },
- { GOT_ERR_IO, "input/output error" },
- { GOT_ERR_EOF, "unexpected end of file" },
- { GOT_ERR_DECOMPRESSION,"decompression failed" },
- { GOT_ERR_NO_SPACE, "buffer too small" },
- { GOT_ERR_BAD_OBJ_HDR, "bad object header" },
- { GOT_ERR_OBJ_TYPE, "wrong type of object" },
- { GOT_ERR_BAD_OBJ_DATA, "bad object data" },
- { GOT_ERR_AMBIGUOUS_ID, "ambiguous object ID" },
- { GOT_ERR_BAD_PACKIDX, "bad pack index file" },
- { GOT_ERR_PACKIDX_CSUM, "pack index file checksum error" },
- { GOT_ERR_BAD_PACKFILE, "bad pack file" },
- { GOT_ERR_NO_OBJ, "object not found" },
- { GOT_ERR_NOT_IMPL, "feature not implemented" },
- { GOT_ERR_OBJ_NOT_PACKED,"object is not packed" },
- { GOT_ERR_BAD_DELTA_CHAIN,"bad delta chain" },
- { GOT_ERR_BAD_DELTA, "bad delta" },
- { GOT_ERR_COMPRESSION, "compression failed" },
- { GOT_ERR_BAD_OBJ_ID_STR,"bad object id string" },
- { GOT_ERR_WORKTREE_EXISTS,"worktree already exists" },
- { GOT_ERR_WORKTREE_META,"bad worktree meta data" },
- { GOT_ERR_WORKTREE_VERS,"unsupported worktree format version" },
- { GOT_ERR_WORKTREE_BUSY,"worktree already locked" },
- { GOT_ERR_FILE_OBSTRUCTED,"file is obstructed" },
- { GOT_ERR_RECURSION, "recursion limit reached" },
- { GOT_ERR_TIMEOUT, "operation timed out" },
- { GOT_ERR_INTERRUPT, "operation interrupted" },
- { GOT_ERR_PRIVSEP_READ, "no data received in imsg" },
- { GOT_ERR_PRIVSEP_LEN, "unexpected amount of data received in imsg" },
- { GOT_ERR_PRIVSEP_PIPE, "privsep peer process closed pipe" },
- { GOT_ERR_PRIVSEP_NO_FD,"privsep file descriptor unavailable" },
- { GOT_ERR_PRIVSEP_MSG, "received unexpected privsep message" },
- { GOT_ERR_PRIVSEP_DIED, "unprivileged process died unexpectedly" },
- { GOT_ERR_PRIVSEP_EXIT, "bad exit code from unprivileged process" },
- { GOT_ERR_PACK_OFFSET, "bad offset in pack file" },
- { GOT_ERR_OBJ_EXISTS, "object already exists" },
- { GOT_ERR_BAD_OBJ_ID, "bad object id" },
- { GOT_ERR_ITER_BUSY, "iteration already in progress" },
- { GOT_ERR_ITER_COMPLETED,"iteration completed" },
- { GOT_ERR_RANGE, "value out of range" },
- { GOT_ERR_EXPECTED, "expected an error but have no error" },
- { GOT_ERR_CANCELLED, "operation in progress has been cancelled" },
- { GOT_ERR_NO_TREE_ENTRY,"no such entry found in tree" },
- { GOT_ERR_FILEIDX_SIG, "bad file index signature" },
- { GOT_ERR_FILEIDX_VER, "unknown file index format version" },
- { GOT_ERR_FILEIDX_CSUM, "bad file index checksum" },
- { GOT_ERR_PATH_PREFIX, "worktree already contains items from a "
- "different path prefix" },
- { GOT_ERR_ANCESTRY, "target commit is on a different branch" },
- { GOT_ERR_FILEIDX_BAD, "file index is corrupt" },
- { GOT_ERR_BAD_REF_DATA, "could not parse reference data" },
- { GOT_ERR_TREE_DUP_ENTRY,"duplicate entry in tree object" },
- { GOT_ERR_DIR_DUP_ENTRY,"duplicate entry in directory" },
- { GOT_ERR_NOT_WORKTREE, "no got work tree found" },
- { GOT_ERR_UUID_VERSION, "bad uuid version" },
- { GOT_ERR_UUID_INVALID, "uuid invalid" },
- { GOT_ERR_UUID, "uuid error" },
- { GOT_ERR_LOCKFILE_TIMEOUT,"lockfile timeout" },
- { GOT_ERR_BAD_REF_NAME, "bad reference name" },
- { GOT_ERR_WORKTREE_REPO,"cannot create worktree inside a git repository" },
- { GOT_ERR_FILE_MODIFIED,"file contains modifications" },
- { GOT_ERR_FILE_STATUS, "file has unexpected status" },
- { GOT_ERR_COMMIT_CONFLICT,"cannot commit file in conflicted status" },
- { GOT_ERR_BAD_REF_TYPE, "bad reference type" },
- { GOT_ERR_COMMIT_NO_AUTHOR,"GOT_AUTHOR environment variable is not set" },
- { GOT_ERR_COMMIT_HEAD_CHANGED, "branch head in repository has changed "
- "while commit was in progress" },
- { GOT_ERR_COMMIT_OUT_OF_DATE, "work tree must be updated before these "
- "changes can be committed" },
- { GOT_ERR_COMMIT_MSG_EMPTY, "commit message cannot be empty" },
- { GOT_ERR_DIR_NOT_EMPTY, "directory exists and is not empty" },
- { GOT_ERR_COMMIT_NO_CHANGES, "no changes to commit" },
- { GOT_ERR_BRANCH_MOVED, "work tree's head reference now points to a "
- "different branch; new head reference and/or update -b required" },
- { GOT_ERR_OBJ_TOO_LARGE, "object too large" },
- { GOT_ERR_SAME_BRANCH, "commit is already contained in this branch" },
- { GOT_ERR_ROOT_COMMIT, "specified commit has no parent commit" },
- { GOT_ERR_MIXED_COMMITS,"work tree contains files from multiple "
- "base commits; the entire work tree must be updated first" },
- { GOT_ERR_CONFLICTS, "work tree contains conflicted files; these "
- "conflicts must be resolved first" },
- { GOT_ERR_BRANCH_EXISTS,"specified branch already exists" },
- { GOT_ERR_MODIFIED, "work tree contains local changes; these "
- "changes must be committed or reverted first" },
- { GOT_ERR_NOT_REBASING, "rebase operation not in progress" },
- { GOT_ERR_EMPTY_REBASE, "no commits to rebase" },
- { GOT_ERR_REBASE_COMMITID,"rebase commit ID mismatch" },
- { GOT_ERR_REBASING, "a rebase operation is in progress in this "
- "work tree and must be continued or aborted first" },
- { GOT_ERR_REBASE_PATH, "cannot rebase branch which contains "
- "changes outside of this work tree's path prefix" },
- { GOT_ERR_NOT_HISTEDIT, "histedit operation not in progress" },
- { GOT_ERR_EMPTY_HISTEDIT,"no commits to edit; perhaps the work tree "
- "must be updated to an older commit first" },
- { GOT_ERR_NO_HISTEDIT_CMD,"no histedit commands provided" },
- { GOT_ERR_HISTEDIT_SYNTAX,"syntax error in histedit command list" },
- { GOT_ERR_HISTEDIT_CANCEL,"histedit operation cancelled" },
- { 95, "unused error code" },
- { GOT_ERR_HISTEDIT_BUSY,"histedit operation is in progress in this "
- "work tree and must be continued or aborted first" },
- { GOT_ERR_HISTEDIT_CMD, "bad histedit command" },
- { GOT_ERR_HISTEDIT_PATH, "cannot edit branch history which contains "
- "changes outside of this work tree's path prefix" },
- { 99, "unused error code" },
- { GOT_ERR_COMMIT_BRANCH, "will not commit to a branch outside the "
- "\"refs/heads/\" reference namespace" },
- { GOT_ERR_FILE_STAGED, "file is staged" },
- { GOT_ERR_STAGE_NO_CHANGE, "no changes to stage" },
- { GOT_ERR_STAGE_CONFLICT, "cannot stage file in conflicted status" },
- { GOT_ERR_STAGE_OUT_OF_DATE, "work tree must be updated before "
- "changes can be staged" },
- { GOT_ERR_FILE_NOT_STAGED, "file is not staged" },
- { GOT_ERR_STAGED_PATHS, "work tree contains files with staged "
- "changes; these changes must be committed or unstaged first" },
- { GOT_ERR_PATCH_CHOICE, "invalid patch choice" },
- { GOT_ERR_COMMIT_NO_EMAIL, "commit author's email address is required "
- "for compatibility with Git" },
- { GOT_ERR_TAG_EXISTS,"specified tag already exists" },
- { GOT_ERR_GIT_REPO_FORMAT,"unknown git repository format version" },
- { GOT_ERR_REBASE_REQUIRED,"specified branch must be rebased first" },
- { GOT_ERR_REGEX, "regular expression error" },
- { GOT_ERR_REF_NAME_MINUS, "reference name may not start with '-'" },
- { GOT_ERR_GITCONFIG_SYNTAX, "gitconfig syntax error" },
- { GOT_ERR_REBASE_OUT_OF_DATE, "work tree must be updated before it "
- "can be used to rebase a branch" },
- { GOT_ERR_CACHE_DUP_ENTRY, "duplicate cache entry" },
- { GOT_ERR_QUERYSTRING, "bad querystring" },
- { GOT_ERR_FETCH_FAILED, "fetch failed" },
- { GOT_ERR_PARSE_URI, "failed to parse uri" },
- { GOT_ERR_BAD_PROTO, "unknown protocol" },
- { GOT_ERR_ADDRINFO, "getaddrinfo failed" },
- { GOT_ERR_BAD_PACKET, "bad packet received" },
- { GOT_ERR_NO_REMOTE, "remote repository not found" },
- { GOT_ERR_FETCH_NO_BRANCH, "could not find any branches to fetch" },
- { GOT_ERR_FETCH_BAD_REF, "reference cannot be fetched" },
- { GOT_ERR_TREE_ENTRY_TYPE, "unexpected tree entry type" },
- { GOT_ERR_PARSE_CONFIG, "configuration file syntax error" },
- { GOT_ERR_NO_CONFIG_FILE, "configuration file doesn't exit" },
- { GOT_ERR_BAD_SYMLINK, "symbolic link points outside of paths under "
- "version control" },
- { GOT_ERR_GIT_REPO_EXT, "unsupported repository format extension" },
- { GOT_ERR_CANNOT_PACK, "not enough objects to pack" },
- { GOT_ERR_LONELY_PACKIDX, "pack index has no corresponding pack file; "
- "pack file must be restored or 'gotadmin cleanup -p' must be run" },
- { GOT_ERR_OBJ_CSUM, "bad object checksum" },
- { GOT_ERR_SEND_BAD_REF, "reference cannot be sent" },
- { GOT_ERR_SEND_FAILED, "could not send pack file" },
- { GOT_ERR_SEND_EMPTY, "no references to send" },
- { GOT_ERR_SEND_ANCESTRY, "fetch and rebase required" },
- { GOT_ERR_CAPA_DELETE_REFS, "server cannot delete references" },
- { GOT_ERR_SEND_DELETE_REF, "reference cannot be deleted" },
- { GOT_ERR_SEND_TAG_EXISTS, "tag already exists on server" },
- { GOT_ERR_NOT_MERGING, "merge operation not in progress" },
- { GOT_ERR_MERGE_OUT_OF_DATE, "work tree must be updated before it "
- "can be used to merge a branch" },
- { GOT_ERR_MERGE_STAGED_PATHS, "work tree contains files with staged "
- "changes; these changes must be unstaged before merging can "
- "proceed" },
- { GOT_ERR_MERGE_COMMIT_OUT_OF_DATE, "merging cannot proceed because "
- "the work tree is no longer up-to-date; merge must be aborted "
- "and retried" },
- { GOT_ERR_MERGE_BUSY,"a merge operation is in progress in this "
- "work tree and must be continued or aborted first" },
- { GOT_ERR_MERGE_PATH, "cannot merge branch which contains "
- "changes outside of this work tree's path prefix" },
- { GOT_ERR_FILE_BINARY, "found a binary file instead of text" },
- { GOT_ERR_PATCH_MALFORMED, "malformed patch" },
- { GOT_ERR_PATCH_TRUNCATED, "patch truncated" },
- { GOT_ERR_NO_PATCH, "no patch found" },
- { GOT_ERR_HUNK_FAILED, "hunk failed to apply" },
- { GOT_ERR_PATCH_FAILED, "patch failed to apply" },
+struct got_error {
+ int code;
+ const char *msg;
};
/*
diff --git a/lib/error.c b/lib/error.c
index c4605e6..19d6e55 100644
--- a/lib/error.c
+++ b/lib/error.c
@@ -38,6 +38,185 @@
#define nitems(_a) (sizeof(_a) / sizeof((_a)[0]))
#endif
+static const struct got_error got_errors[] = {
+ { GOT_ERR_OK, "no error occured?!?" },
+ { GOT_ERR_ERRNO, "see errno" },
+ { GOT_ERR_NOT_GIT_REPO, "no git repository found" },
+ { GOT_ERR_BAD_FILETYPE, "bad file type" },
+ { GOT_ERR_BAD_PATH, "bad path" },
+ { GOT_ERR_NOT_REF, "no such reference found" },
+ { GOT_ERR_IO, "input/output error" },
+ { GOT_ERR_EOF, "unexpected end of file" },
+ { GOT_ERR_DECOMPRESSION,"decompression failed" },
+ { GOT_ERR_NO_SPACE, "buffer too small" },
+ { GOT_ERR_BAD_OBJ_HDR, "bad object header" },
+ { GOT_ERR_OBJ_TYPE, "wrong type of object" },
+ { GOT_ERR_BAD_OBJ_DATA, "bad object data" },
+ { GOT_ERR_AMBIGUOUS_ID, "ambiguous object ID" },
+ { GOT_ERR_BAD_PACKIDX, "bad pack index file" },
+ { GOT_ERR_PACKIDX_CSUM, "pack index file checksum error" },
+ { GOT_ERR_BAD_PACKFILE, "bad pack file" },
+ { GOT_ERR_NO_OBJ, "object not found" },
+ { GOT_ERR_NOT_IMPL, "feature not implemented" },
+ { GOT_ERR_OBJ_NOT_PACKED,"object is not packed" },
+ { GOT_ERR_BAD_DELTA_CHAIN,"bad delta chain" },
+ { GOT_ERR_BAD_DELTA, "bad delta" },
+ { GOT_ERR_COMPRESSION, "compression failed" },
+ { GOT_ERR_BAD_OBJ_ID_STR,"bad object id string" },
+ { GOT_ERR_WORKTREE_EXISTS,"worktree already exists" },
+ { GOT_ERR_WORKTREE_META,"bad worktree meta data" },
+ { GOT_ERR_WORKTREE_VERS,"unsupported worktree format version" },
+ { GOT_ERR_WORKTREE_BUSY,"worktree already locked" },
+ { GOT_ERR_FILE_OBSTRUCTED,"file is obstructed" },
+ { GOT_ERR_RECURSION, "recursion limit reached" },
+ { GOT_ERR_TIMEOUT, "operation timed out" },
+ { GOT_ERR_INTERRUPT, "operation interrupted" },
+ { GOT_ERR_PRIVSEP_READ, "no data received in imsg" },
+ { GOT_ERR_PRIVSEP_LEN, "unexpected amount of data received in imsg" },
+ { GOT_ERR_PRIVSEP_PIPE, "privsep peer process closed pipe" },
+ { GOT_ERR_PRIVSEP_NO_FD,"privsep file descriptor unavailable" },
+ { GOT_ERR_PRIVSEP_MSG, "received unexpected privsep message" },
+ { GOT_ERR_PRIVSEP_DIED, "unprivileged process died unexpectedly" },
+ { GOT_ERR_PRIVSEP_EXIT, "bad exit code from unprivileged process" },
+ { GOT_ERR_PACK_OFFSET, "bad offset in pack file" },
+ { GOT_ERR_OBJ_EXISTS, "object already exists" },
+ { GOT_ERR_BAD_OBJ_ID, "bad object id" },
+ { GOT_ERR_ITER_BUSY, "iteration already in progress" },
+ { GOT_ERR_ITER_COMPLETED,"iteration completed" },
+ { GOT_ERR_RANGE, "value out of range" },
+ { GOT_ERR_EXPECTED, "expected an error but have no error" },
+ { GOT_ERR_CANCELLED, "operation in progress has been cancelled" },
+ { GOT_ERR_NO_TREE_ENTRY,"no such entry found in tree" },
+ { GOT_ERR_FILEIDX_SIG, "bad file index signature" },
+ { GOT_ERR_FILEIDX_VER, "unknown file index format version" },
+ { GOT_ERR_FILEIDX_CSUM, "bad file index checksum" },
+ { GOT_ERR_PATH_PREFIX, "worktree already contains items from a "
+ "different path prefix" },
+ { GOT_ERR_ANCESTRY, "target commit is on a different branch" },
+ { GOT_ERR_FILEIDX_BAD, "file index is corrupt" },
+ { GOT_ERR_BAD_REF_DATA, "could not parse reference data" },
+ { GOT_ERR_TREE_DUP_ENTRY,"duplicate entry in tree object" },
+ { GOT_ERR_DIR_DUP_ENTRY,"duplicate entry in directory" },
+ { GOT_ERR_NOT_WORKTREE, "no got work tree found" },
+ { GOT_ERR_UUID_VERSION, "bad uuid version" },
+ { GOT_ERR_UUID_INVALID, "uuid invalid" },
+ { GOT_ERR_UUID, "uuid error" },
+ { GOT_ERR_LOCKFILE_TIMEOUT,"lockfile timeout" },
+ { GOT_ERR_BAD_REF_NAME, "bad reference name" },
+ { GOT_ERR_WORKTREE_REPO,"cannot create worktree inside a git repository" },
+ { GOT_ERR_FILE_MODIFIED,"file contains modifications" },
+ { GOT_ERR_FILE_STATUS, "file has unexpected status" },
+ { GOT_ERR_COMMIT_CONFLICT,"cannot commit file in conflicted status" },
+ { GOT_ERR_BAD_REF_TYPE, "bad reference type" },
+ { GOT_ERR_COMMIT_NO_AUTHOR,"GOT_AUTHOR environment variable is not set" },
+ { GOT_ERR_COMMIT_HEAD_CHANGED, "branch head in repository has changed "
+ "while commit was in progress" },
+ { GOT_ERR_COMMIT_OUT_OF_DATE, "work tree must be updated before these "
+ "changes can be committed" },
+ { GOT_ERR_COMMIT_MSG_EMPTY, "commit message cannot be empty" },
+ { GOT_ERR_DIR_NOT_EMPTY, "directory exists and is not empty" },
+ { GOT_ERR_COMMIT_NO_CHANGES, "no changes to commit" },
+ { GOT_ERR_BRANCH_MOVED, "work tree's head reference now points to a "
+ "different branch; new head reference and/or update -b required" },
+ { GOT_ERR_OBJ_TOO_LARGE, "object too large" },
+ { GOT_ERR_SAME_BRANCH, "commit is already contained in this branch" },
+ { GOT_ERR_ROOT_COMMIT, "specified commit has no parent commit" },
+ { GOT_ERR_MIXED_COMMITS,"work tree contains files from multiple "
+ "base commits; the entire work tree must be updated first" },
+ { GOT_ERR_CONFLICTS, "work tree contains conflicted files; these "
+ "conflicts must be resolved first" },
+ { GOT_ERR_BRANCH_EXISTS,"specified branch already exists" },
+ { GOT_ERR_MODIFIED, "work tree contains local changes; these "
+ "changes must be committed or reverted first" },
+ { GOT_ERR_NOT_REBASING, "rebase operation not in progress" },
+ { GOT_ERR_EMPTY_REBASE, "no commits to rebase" },
+ { GOT_ERR_REBASE_COMMITID,"rebase commit ID mismatch" },
+ { GOT_ERR_REBASING, "a rebase operation is in progress in this "
+ "work tree and must be continued or aborted first" },
+ { GOT_ERR_REBASE_PATH, "cannot rebase branch which contains "
+ "changes outside of this work tree's path prefix" },
+ { GOT_ERR_NOT_HISTEDIT, "histedit operation not in progress" },
+ { GOT_ERR_EMPTY_HISTEDIT,"no commits to edit; perhaps the work tree "
+ "must be updated to an older commit first" },
+ { GOT_ERR_NO_HISTEDIT_CMD,"no histedit commands provided" },
+ { GOT_ERR_HISTEDIT_SYNTAX,"syntax error in histedit command list" },
+ { GOT_ERR_HISTEDIT_CANCEL,"histedit operation cancelled" },
+ { 95, "unused error code" },
+ { GOT_ERR_HISTEDIT_BUSY,"histedit operation is in progress in this "
+ "work tree and must be continued or aborted first" },
+ { GOT_ERR_HISTEDIT_CMD, "bad histedit command" },
+ { GOT_ERR_HISTEDIT_PATH, "cannot edit branch history which contains "
+ "changes outside of this work tree's path prefix" },
+ { 99, "unused error code" },
+ { GOT_ERR_COMMIT_BRANCH, "will not commit to a branch outside the "
+ "\"refs/heads/\" reference namespace" },
+ { GOT_ERR_FILE_STAGED, "file is staged" },
+ { GOT_ERR_STAGE_NO_CHANGE, "no changes to stage" },
+ { GOT_ERR_STAGE_CONFLICT, "cannot stage file in conflicted status" },
+ { GOT_ERR_STAGE_OUT_OF_DATE, "work tree must be updated before "
+ "changes can be staged" },
+ { GOT_ERR_FILE_NOT_STAGED, "file is not staged" },
+ { GOT_ERR_STAGED_PATHS, "work tree contains files with staged "
+ "changes; these changes must be committed or unstaged first" },
+ { GOT_ERR_PATCH_CHOICE, "invalid patch choice" },
+ { GOT_ERR_COMMIT_NO_EMAIL, "commit author's email address is required "
+ "for compatibility with Git" },
+ { GOT_ERR_TAG_EXISTS,"specified tag already exists" },
+ { GOT_ERR_GIT_REPO_FORMAT,"unknown git repository format version" },
+ { GOT_ERR_REBASE_REQUIRED,"specified branch must be rebased first" },
+ { GOT_ERR_REGEX, "regular expression error" },
+ { GOT_ERR_REF_NAME_MINUS, "reference name may not start with '-'" },
+ { GOT_ERR_GITCONFIG_SYNTAX, "gitconfig syntax error" },
+ { GOT_ERR_REBASE_OUT_OF_DATE, "work tree must be updated before it "
+ "can be used to rebase a branch" },
+ { GOT_ERR_CACHE_DUP_ENTRY, "duplicate cache entry" },
+ { GOT_ERR_QUERYSTRING, "bad querystring" },
+ { GOT_ERR_FETCH_FAILED, "fetch failed" },
+ { GOT_ERR_PARSE_URI, "failed to parse uri" },
+ { GOT_ERR_BAD_PROTO, "unknown protocol" },
+ { GOT_ERR_ADDRINFO, "getaddrinfo failed" },
+ { GOT_ERR_BAD_PACKET, "bad packet received" },
+ { GOT_ERR_NO_REMOTE, "remote repository not found" },
+ { GOT_ERR_FETCH_NO_BRANCH, "could not find any branches to fetch" },
+ { GOT_ERR_FETCH_BAD_REF, "reference cannot be fetched" },
+ { GOT_ERR_TREE_ENTRY_TYPE, "unexpected tree entry type" },
+ { GOT_ERR_PARSE_CONFIG, "configuration file syntax error" },
+ { GOT_ERR_NO_CONFIG_FILE, "configuration file doesn't exit" },
+ { GOT_ERR_BAD_SYMLINK, "symbolic link points outside of paths under "
+ "version control" },
+ { GOT_ERR_GIT_REPO_EXT, "unsupported repository format extension" },
+ { GOT_ERR_CANNOT_PACK, "not enough objects to pack" },
+ { GOT_ERR_LONELY_PACKIDX, "pack index has no corresponding pack file; "
+ "pack file must be restored or 'gotadmin cleanup -p' must be run" },
+ { GOT_ERR_OBJ_CSUM, "bad object checksum" },
+ { GOT_ERR_SEND_BAD_REF, "reference cannot be sent" },
+ { GOT_ERR_SEND_FAILED, "could not send pack file" },
+ { GOT_ERR_SEND_EMPTY, "no references to send" },
+ { GOT_ERR_SEND_ANCESTRY, "fetch and rebase required" },
+ { GOT_ERR_CAPA_DELETE_REFS, "server cannot delete references" },
+ { GOT_ERR_SEND_DELETE_REF, "reference cannot be deleted" },
+ { GOT_ERR_SEND_TAG_EXISTS, "tag already exists on server" },
+ { GOT_ERR_NOT_MERGING, "merge operation not in progress" },
+ { GOT_ERR_MERGE_OUT_OF_DATE, "work tree must be updated before it "
+ "can be used to merge a branch" },
+ { GOT_ERR_MERGE_STAGED_PATHS, "work tree contains files with staged "
+ "changes; these changes must be unstaged before merging can "
+ "proceed" },
+ { GOT_ERR_MERGE_COMMIT_OUT_OF_DATE, "merging cannot proceed because "
+ "the work tree is no longer up-to-date; merge must be aborted "
+ "and retried" },
+ { GOT_ERR_MERGE_BUSY,"a merge operation is in progress in this "
+ "work tree and must be continued or aborted first" },
+ { GOT_ERR_MERGE_PATH, "cannot merge branch which contains "
+ "changes outside of this work tree's path prefix" },
+ { GOT_ERR_FILE_BINARY, "found a binary file instead of text" },
+ { GOT_ERR_PATCH_MALFORMED, "malformed patch" },
+ { GOT_ERR_PATCH_TRUNCATED, "patch truncated" },
+ { GOT_ERR_NO_PATCH, "no patch found" },
+ { GOT_ERR_HUNK_FAILED, "hunk failed to apply" },
+ { GOT_ERR_PATCH_FAILED, "patch failed to apply" },
+};
+
static struct got_custom_error {
struct got_error err;
char msg[4080];