I hear this term around the office, and know it's relevant to software development lifecycle. What does "promote" mean? Context: e.g. to promote a file.
- Anybody can ask a question
- Anybody can answer
- The best answers are voted up and rise to the top
In a well set up software development shop you will have various separated environments. "Sandbox", "development", "integration test", "User Acceptance Test", "Performance Test" and finally "Production" (or "beta" and "General Release" if you are selling/distributing software).
This should be a progression of quality and rigorousness of testing. From "gee whiz I can compile it" in the sandbox environment to "I absolutely guarantee this works according to spec, as long as you don't pull the plug".
Moving a piece of software from one environment to the next is known as "promoting" it. Promotion should be preceded by some sort of quality assurance and testing to prove that the component is fit to be promoted.
The full context is probably "promote a file to production" or something like that. It just means that the file is to be moved to the "more important" or "more critical" system. Presumably this only happens after code-review, testing, Q&A sign-off and so forth.
Analogy: a team leader is "promoted" to a manager.
That is entirely dependent on how you build and deploy stuff to your test and production environments.
But for instance, suppose you use Git for your version control, and you have one branch for your test environment and another for your production environment. In that case, you might promote a file (or more likely a changeset comprising changes to a number of files) by merging the changes in your test branch to your production branch, rebuilding the production code and deploying it. (Or you could do a reset to make the HEAD of the production branch the same as the last commit for the changeset on the test branch. Or you could cherry-pick ...)
In the most basic sense, this is just using the associated command from the version control system in common-language "office talk." Occasionally, the command to move a file from a developer's workspace into a higher level of the version control tree ("Test", "QA", etc) is