Codebots and Git
A codebot commits to a git repository in the same manner a human would with one small difference, a codebot always commits only to the
When a codebot writes code and commits it, it always uses the same git commit message
Re-write target application. The reason for this message is that a bot is always directed by a human in the changes it makes. As far as the bot is concerned, it always performs the same action: writes the code based on the model.
Given a bot is directed by a human, it will attribute any changes made to the person who directed it to write the code (press the build button).
An example of a commit log from a bot will appear as follows:
As can be seen in this commit log, the top three commits where performed by the bot when it re-wrote the code as directed to by Kellie.
The first commit was performed by Codebots, not the bot, and the second from the bottom was a human commit.
Versioning and branching with a bot
The bot only writes code to the
develop branch of a repository. For some versioning and branching policies this may cause issues; as developers we become concerned with how we can trust a branch which can easily change (potentially every time a person presses the build button).
There are many ways of working with this problem. One solution is to create a new branch to allow for the manual management of bot written code and human written code. For this example, this branch will be called
In this flow, we allow the human developers to maintain strict control over the codebase whilst still having the benefits of using a codebot.