2014-12-03 18:55:13 +01:00
|
|
|
User manual
|
|
|
|
###########
|
|
|
|
|
|
|
|
Using BAM is easy and fun! Provided that:
|
|
|
|
|
2014-12-03 23:06:55 +01:00
|
|
|
- you know how to use the command line of your system.
|
2014-12-03 18:55:13 +01:00
|
|
|
- have some experience of how versioning systems work
|
|
|
|
|
2014-12-03 23:06:55 +01:00
|
|
|
Actually, this is not true, and in this guide we will explain to use BAM client from scratch.
|
2014-12-03 18:55:13 +01:00
|
|
|
|
2014-12-03 23:06:55 +01:00
|
|
|
.. hint::
|
|
|
|
|
|
|
|
Do not try to follow this page as a step-by-step tutorial, since its content might
|
|
|
|
be not completely coherent. The purpose of this manual is simply to explain the bam
|
|
|
|
workflow from the artist point of view.
|
2014-12-03 18:55:13 +01:00
|
|
|
|
|
|
|
|
|
|
|
Project Initialization
|
|
|
|
======================
|
|
|
|
|
|
|
|
In order to start working, we need to initialize a *project folder*. This operation should
|
|
|
|
be done only once. To create a project folder we need to open our terminal, and go to the
|
2014-12-03 23:06:55 +01:00
|
|
|
location where we want to store the project folder. Then we can type:
|
|
|
|
|
|
|
|
.. code-block:: sh
|
2014-12-03 18:55:13 +01:00
|
|
|
|
|
|
|
bam init http://bam:5000/gooseberry
|
|
|
|
|
|
|
|
This command creates a ``gooseberry`` folder, containing information about the project. If
|
|
|
|
we enter the folder and use the ``ls`` comand command, we notice that it is empty, but if
|
|
|
|
we use the ``bam ls`` command we see a directory listing. This listing is provided by the
|
|
|
|
project server on the fly and it allows us to browse its content without having a local copy
|
|
|
|
on our machine.
|
|
|
|
|
|
|
|
The project folder can be moved anywhere, at any time. The exact ``bam init`` syntax is
|
|
|
|
available in the reference section.
|
|
|
|
|
|
|
|
|
|
|
|
Session creation
|
|
|
|
================
|
|
|
|
|
|
|
|
Once the project has been initialized and we are able to browse it remotely, we can proceed
|
2014-12-03 23:06:55 +01:00
|
|
|
checking out a file from it. For example we can type:
|
2014-12-03 18:55:13 +01:00
|
|
|
|
2014-12-03 23:06:55 +01:00
|
|
|
.. code-block:: sh
|
|
|
|
|
|
|
|
bam checkout libs/envs/jungle/jungle_opening.blend
|
2014-12-03 18:55:13 +01:00
|
|
|
|
|
|
|
This creates a ``jungle_opening`` folder inside of our ``gooseberry`` project folder, which
|
|
|
|
will contain the ``jungle_opening.blend``, along with all its dependencies (library files,
|
|
|
|
textures, etc.) organized as follows. ::
|
|
|
|
|
|
|
|
jungle_opening.blend
|
|
|
|
relative/maps/path/map.png
|
|
|
|
_absolute/maps/path/map.png
|
|
|
|
|
|
|
|
As we can see, folders starting with the ``_`` character map to an absolute path on the server,
|
|
|
|
while the other folders are relative to the file that was used to create the session.
|
|
|
|
|
|
|
|
|
|
|
|
Editing
|
|
|
|
=======
|
|
|
|
|
|
|
|
At this point we can edit any file in the session, and the system will keep track of our changes.
|
|
|
|
Currently we can:
|
|
|
|
|
|
|
|
- add new files to the session
|
|
|
|
- delete files
|
|
|
|
- edit files
|
|
|
|
|
|
|
|
We can not:
|
|
|
|
|
|
|
|
- rename files
|
|
|
|
|
2014-12-03 23:06:55 +01:00
|
|
|
In order to check what is the status of our edits, we can use ``bam status``, which will print a list
|
2014-12-03 18:55:13 +01:00
|
|
|
of edited, added and deleted files.
|
|
|
|
|
2014-12-03 23:06:55 +01:00
|
|
|
.. note::
|
|
|
|
|
|
|
|
Sessions are meant to create a contained and controlled working environment. We should
|
|
|
|
never, ever refer to content that is outside of a session folder.
|