Talk:Codebase

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

Unnamed section[edit]

Question. Does a specific codebase identify a specific *version* of a given application, or is it just the SCM repository? So basically, can I say for example that Production and UAT environment for the same application X are on two different codebases, or are they on the same codebase, since the SCM repository is the same? Thanks. 169.71.50.11 (talk) 01:13, 4 April 2008 (UTC)[reply]

A codebase is often stored in a source control repository of some type but that is not part of it being a codebase. A direct answer to your question is difficult as I'm not sure if the term is defined well enough to discern between the fine shades of meaning. If the codebase is the set of all source code used for a single build a given end deliverable, then no two versions ever have the "same" codebase unless they are identical. (as if they are not identical, at least some part of the codebase would have to have been changed to produce a different end result.) However the term often encompasses other source code which may not be part of the current build, such as past revisions - in which case, they would be using the same codebase. 216.36.186.2 (talk) 16:38, 8 May 2008 (UTC)[reply]
I agree: the term just isn't that specific. I have corrected the opening remark, which incorrectly equated a code base with a repository. Rp (talk) 09:16, 24 June 2010 (UTC)[reply]

Autogenerated code[edit]

The article states specifically that the codebase does not include autogenerated code, but that is clearly incorrect. Designer files, ORM files, and many other types of code which are created with the assistance of various tools are still considered primary source files, which are as much a part of the codebase as anything else. That is, if it can be (and should be) checked into a repository, because it is part of a normal (re)build process, it's part of the codebase. Shouldn't this be reworded? 67.52.192.26 (talk) 18:36, 11 November 2010 (UTC)[reply]

What about changing it this way: Typically, a codebase includes only human-written source code files; thus, a codebase usually does not include source code files generated by tools (generated files) or binary library files (object files), as they can be built from the human-written source codefiles generated during the build (generated source files, binary library files and object files). Fjares (talk) 09:38, 2 December 2015 (UTC)[reply]
That doesn't address user 67.52.192.26's objection. The distinction is not between autogenerated and non-autogenerated files, but rather, between files that can always be regenerated when working with the code base versus files for which this may not be the case. For instance:
  • designer files are generated but may subsequently be edited, so they become part of the codebase
  • ORM files are generated but if someone may work with the codebase without the tools or environment required to regenerate them, they become part of the codebase
  • in code bases for which building is managed by the GNU Autotools, file generated by the autotools are still distributed with the source, to allow developers to work on the code without having the whole toolchain working and configured
So the code base is the set of files that needs to be checked into version control, whether it actually is or not. Rp (talk) 18:20, 4 December 2015 (UTC)[reply]