Using iffTeX you can collaboratively edit your LaTeX documents like papers, posters and many other. As many users of the online LaTeX editor also want to continue their work offline we are pleased to announce that this is now possible with a very often requested feature: a GitLab integration.
Using this feature you can link your iffTeX account to your GitLab account at iffGit or juGit and synchronize an iffTeX project with a GitLab repository. This combines the advantages of the realtime collaborative online editor with Git’s powerful version control and the ability to work offline while changes can easily be merged with Git and GitLab.
This workflow shows how to link your accounts and start synchronizing projects.
iffTeX GitLab Workflow
Link Accounts
Authorize iffTeX to use your GitLab account
Import and Export Projects
Import a GitLab repository
Export a project to GitLab
Synchronize Changes
Pull changes from GitLab
Push changes to GitLab
Project Synchronization
The synchronization of GitLab projects is done in several steps:
- iffTeX creates a new git commit containing the current version of the project in iffTeX in a separate branch. This branch is based on the commit of the last synchronization (or the import/export).
- A merge request is opened from the synchronization branch into the master branch.
- If this merge request can be merged without conflicts it will be merged and the source branch deleted. Otherwise iffTeX will show a message and prompt the user to resolve the conflicts manually using GitLab (or Git).
- The master branch is pulled from GitLab and the changes are applied to the files in iffTeX. If step 3 failed due to conflicting changes the pull will be done after the user confirms that all conflicts are manually resolved.
This can for example result in the following commits:
In this example the first merge only contained updates from iffTeX and the second merge combined changes from iffTeX and GitLab. These combined changes were then applied to the files in iffTeX.
The synchronization can be triggered by every logged in iffTeX user that has write access to the TeX project. The user's linked GitLab account needs the permission to create commits in the repository and to merge into the master branch.
Project Synchronization
The synchronization of GitLab projects is done in several steps:
- iffTeX creates a new git commit containing the current version of the project in iffTeX in a separate branch. This branch is based on the commit of the last synchronization (or the import/export).
- A merge request is opened from the synchronization branch into the master branch.
- If this merge request can be merged without conflicts it will be merged and the source branch deleted. Otherwise iffTeX will show a message and prompt the user to resolve the conflicts manually using GitLab (or Git).
- The master branch is pulled from GitLab and the changes are applied to the files in iffTeX. If step 3 failed due to conflicting changes the pull will be done after the user confirms that all conflicts are manually resolved.
This can for example result in the following commits:
In this example the first merge only contained updates from iffTeX and the second merge combined changes from iffTeX and GitLab. These combined changes were then applied to the files in iffTeX.
The synchronization can be triggered by every logged in iffTeX user that has write access to the TeX project. The user's linked GitLab account needs the permission to create commits in the repository and to merge into the master branch.