Next: , Previous: , Up: Borg User Manual   [Contents][Index]


5 Updating drones

Borg does not provide an update command. By not doing so, it empowers you to update to exactly the commit you wish to update to, instead of to "the" new version.

To determine the drones that you might want to update, visit the Magit status buffer of the ~/.config/emacs repository and press f m to fetch inside all submodules. After you have done so, and provided there actually are any modules with new upstream commits, a section titled "Modules unpulled from @{upstream}" appears.

Each subsection of that section represents a submodule with new upstream commits. Expanding such a subsection lists the new upstream commits. These commits can be visited by pressing RET, and the status buffer of a submodule can be visited by pressing RET while point is inside the heading of the respective submodule section. To return to the status buffer of ~/.config/emacs press q.

Inside the status buffer of a submodule, you can pull the upstream changes as usual, using F u. If you wish you can inspect the changes before doing so. And you can also choose to check out another commit instead of the upstream HEAD.

Once you have "updated" to a new commit, you should also rebuild the drone using the command borg-build. This may fail, e.g., due to new dependencies.

Once you have resolved all issues, you should create an "update commit". You can either create one commit per updated drone or you can create a single commit for all updated drones, which ever you find more appropriate. However it is recommended that you use a message similar to:

Update foo to v1.1.0

Or for multiple packages:

Update 2 drones

Update foo to v1.1.0
Update bar to v1.2.1

The command borg-insert-update-message can be used to generate such commit messages.

To update the Epkg package database use the command epkg-update.


Next: Patching drones, Previous: Assimilation, Up: Borg User Manual   [Contents][Index]