BK-CHECK(1)

๐Ÿ“ฆ version 7.3.3, in alpine 3.24

๐ŸŒธ NAME ๐ŸŒธ

okay so this page is bk check, and the header up top literally reads bk check(none) from the BitKeeper Userโ€™s Manual โ€” cute, iconic, no notes. what it does, in one line: check repository for consistency. that's the whole assignment bestie ๐Ÿ’…


โœจ SYNOPSIS โœจ

bk โˆ’r check [โˆ’acdefgpRvw]

๐Ÿฆ‹ DESCRIPTION ๐Ÿฆ‹

so check exists to make sure your repository is in a consistent state, and honestly it's giving vibe check for your entire repo. here's the lore: a repository contains files, and each file may have multiple versions. groups of versions are called changesets (csets, for the girlies in a hurry). every cset gets recorded in the ChangeSet file. the ChangeSet file points at the set of deltas in the set of files. there are no back pointers, but the files do record the point at which each cset occurs โ€” and yeah, there can be multiple deltas in a file that all belong to one cset, and the marker records the cset boundary. iykyk ๐Ÿ”ฅ

since csets propagate between repositories, it is important that the ChangeSet file is correct โ€” like, main character energy levels of important. bk check is used to make sure nothing has gone wrong (and if it has, it gives you a rough idea of how to fix it). ๐Ÿซถ

currently, the following are checked:

  • for each file specified, make sure that deltas marked as recorded in the ChangeSet file are recorded in the ChangeSet file.
  • for each file specified and for each delta of that file which is recorded in the ChangeSet file, make sure that the delta exists in the file.
  • for each file specified, make sure that the file has no unresolved branches.
  • make sure that every delta recorded in ChangeSet file is in the repository (only with -a).
okay so yes, you can specify a list of files instead of using bk -r to get all of them โ€” but this is not recommended. ngl, just don't. ๐Ÿ™ˆ

๐ŸŽ€ OPTIONS ๐ŸŽ€

  • -a โ€” ensures that the ChangeSet file and the repository agree on what files are in the repository; also ensures that the ChangeSet and other files agree on where they are in the repository history timeline. lowkey the big one โญ
  • -c โ€” check file and the per delta checksums. heads up though: only the most recent deltaโ€™s checksum is checked, so if you wanna check all of the checksums, see bk checksum. ๐Ÿ’…
  • -d โ€” provide more details about what is wrong. mainly for debugging. not me reading the extra lore ๐Ÿ“
  • -e โ€” check for end of line (eoln) inconsistencies in text files. typically used with the -a option. this will check to make sure that:
    • the state of the EOLN_NATIVE flag in each sfile is consistent with what is set in the BitKeeper/etc/config file (see bk admin).
    • a bk file on a win32 operating system that has the EOLN_NATIVE flag set has the expected line termination: \r\n
    • a file on a UNIX operating system has the expected line termination: \n
    • a file that does not have the EOLN_NATIVE flag has the expected line termination: \n
  • -f โ€” fix any fixable errors. this option will renumber incorrectly numbered revisions, put incorrectly located files where they belong, reconstruct corrupted xflags metadata, and add missing changeset backpointers. and bestie, this option is on by default if the auto_fix config option is set. ๐Ÿ‘‘
  • -ff โ€” fix any fixable errors which have destructive fixes. this option will remove any old lineโ€‘ofโ€‘development (LOD) information except the 1.x LOD. > โš ๏ธ destructive means destructive, babe โ€” it's deleting stuff on purpose. proceed with your whole chest but maybe read twice ๐Ÿ’€
  • -g โ€” list each missing file as the fileโ€™s identifier (root key), but do not produce any other output. typically used as input to the bk gone command. โœจ
  • -gg โ€” list each missing delta key, but do not produce any other output. typically used as input to the bk gone command. โœจโœจ
  • -ggg โ€” list both missing files and missing deltas. typically used as input to the bk gone command. โœจโœจโœจ the trilogy, ate
  • -p โ€” list deltas which are in more than one changeset. ๐Ÿฆ‹
  • -R โ€” only do checks which make sense in the RESYNC dir. ๐Ÿ’œ
  • -v โ€” be more verbose. each -v adds additional verbosity. with just one, bk check will display a progress bar (slay, a progress bar ๐ŸŽ€). with two, bk check will list each file which is OK. more than two is for debugging only. without the -v option, there is no output if the repository is OK; there is only output if things are broken. silence = good news, fr fr ๐Ÿคซ
  • -w โ€” list files which are writable but not locked. ๐Ÿ”ฅ

๐ŸŒˆ SEE ALSO ๐ŸŒˆ

bkโ€admin, bkโ€checksum, bkโ€configโ€etc, bkโ€gone, bkโ€log, bkโ€xflags


โญ CATEGORY โญ

Repository


and that's the whole page, bestie ๐Ÿซถ this gem was brought to you by BitKeeper Inc, version 1E1, and the page itself goes by bk check(none) โ€” go forth and have a consistent repository, you've got this ๐Ÿ’–โœจ๐ŸŽ€

๐Ÿ“ฆ where this page comes from
  • alpine 3.24: bitkeeper-doc 7.3.3-r1 ยท Apache-2.0
  • ๐Ÿ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms