Repository Connector

Repository Connector Version History

Version 1.6.11

Improvements:

  • Made the parameter, sshKey.user, optional. If it's omitted, then the Git user is used. 
  • Added error handling when Git enumerates branches, and may request a non-existing branch.

Version 1.6.10

Improvements:

Updated export translations flow. Added additional validation do we have actual changes in translated files that should be committed, or file has changes that don't have an impact on translated content. Updated log messages

Version 1.6.9

Improvements: 

  • Improved log messages

Version 1.6.7

Improvements:

  • Usually, when you use SSH authentication, you use "git" as a username. In case the username "git" is disabled, and you use your real name, this can be specified in the settings.
    Below, is the snippet from the latest repo-connector.conf file:

// ssh key authentication
// Add your public key to github and provide path for the private key and passphrase here
// Parameter "user" is optional and can be omitted (default value "git")
// Also update repository url to git@<repository-host>:/<account>/<repository-name>.git
// If you use custom port then ssh://<repository-host>:<port>/<account>/<repository-name>.git
"sshKey": {
     "privateKeyPath": "/home/user/.ssh/repo_key_rsa",
     "passphrase": "password",
     "user": "my-user-name"
}

Important: The repo-connector ignores username in URL and always takes it from the sshKey.user configuration.

Version 1.6.6

Bug Fixes

  • Fixed issue with connector not being able to switch to a newly created branch. This bug presented itself when the connector was configured to track branches by regex, and the user actively created and removed branches.

Version 1.6.5 

Bug Fixes

  • Fixed issue with possible double slash in translationPathExpression parameter in smartling-config.json.

Version 1.6.4 

Improvements

  • Forced to use TLS 1.2 for Smartling API.

    TLS 1.0 is deprecated and will soon be disabled by Smartling API.

Version 1.6.3 

Improvements:

  • Made the connector fault tolerant to errors during import of original content into Smartling. For example, if the network error occurs and the connector cannot upload the file to Smartling, then it will try to repeat the upload the next time.

Bug Fixes:

  • Fixed bug when connector didn't pick up the changes from the latest commit.

Version 1.6.2 

Bug Fixes

  • Fixed concurrency access to same repository from different threads.
  • Added correct closing repository for some edge cases.

Version 1.6.1 

Improvements:

  • If connector detects conflict while pushing local commits to remote, then it used the "merge" approach. Starting with this release, the connector uses a "rebase" approach. Therefore, the regular "export translations" flow now looks like this:
    • Switch to a proper branch
    • Hard reset to remote HEAD. We want to make sure that we will use a "clean" workspace
    • git pull without merge
    • Save previously downloaded translated files to disk
    • Add files to commit
    • Make local commit
    • Make git push
    • If push command failed because a new commit is present in remote, then do a git pull with rebase and push again
  • Configuration parameter outdatedBranchAfter was renamed to outdatedBranchesDays

Version 1.6.0 

This version requires manual migration steps from previous versions. The new version is fully compatible with previous config files but it uses another strategy for branches. Before running the new version you should delete repository-data folder under cfg. This can be done by a command such as this: $ rm -rf /<path-where-repo-was-installed>/cfg/repository-data

Improvements

  • Allows you to configure locale mappings for every resorceset. Before the repo-connector had a single locale mapping configuration for all resorcesets (in smartling-config.json). From now on, the locales parameter on the top level is still mandatory, but you can override it for every file.
  • Processing all repository branches in a single folder. From the beginning, the repo-connector was developed for speed. by handling events for different branches in parallel. The drawback to this approach was the amount of disk space consumed. It cloned a full git repository for every branch (in separate folders). It worked well except for large repositories. If you have a 2GB repository and 200 branches, then you need 400GB of disk space. With this new approach, a repository is cloned only once, and is used for all branches. It's the same approach that developers use on their local machines.
  • Reduced the number of API requests during repo initialization. We replaced GET file status call (for every locale), with a single call which returns information for all locales.

Version 1.5.6 

Improvements

  • Repository Connector version 1.5.6: The initial list of locales was defined globally (for all resource sets) at the top of smartling-config.json. With this release, you can define locales for each resourceset. In this case, resourceset overrides global locales configuration. Can define different locales for different files in the same configuration. No need to keep multiple configurations.
  • Fixed an exception from ActiveMQ when application is terminated by Ctrl+C instead of -stop command.

Version 1.5.5 

Features

  • Updated validation pattern for application locale code. Now you can use any string as application locale code in smartling-config.json (length: 1 to 50).
  • Added cleanup step before checkout and commit for SVN repositories, in order not to have issue with locks.
  • Added updating the last modified flag for files that are not changed and should not be pushed in order not to download content every time check translation status is executed.
  • Automatically recover connector from inconsistent state, when there exist local commits that were not pushed to remote repository.

Version 1.5.4 

Features

  • Updated the way the connector commits translated files back to your repository. Previously, a separate commit was made for each locale of each source file. Now, all available locales are included in one commit per source file.

Version 1.5.3 

Features

  • resourcesConfig parameter now accepts relative paths with leading ./.
  • Added more helpful error logging for network errors between the Connector and Smartling API.

Bug Fixes

  • Uploading resources files no longer fails due to an empty file or a parsing error.
  • Status check no longer fails if a file has been manually deleted from Smartling.

Version 1.5.2 08/17/2016

Bug Fixes

  • Prevent fail on resources linked to repository that doesn’t exist in the configuration.

Version 1.5.1 

Features

  • Updated handling of Github and Beanstalk webhooks.
  • Added support for running the Connector behind a proxy.

Bug Fixes

  • Made improvements to flow of Check Smartling Progress function in case of failure getting status or downloading translations to the repository.

Version 1.5.0 

Improvements

  • Automatically resolves merge conflicts if Connector fails to pull updates.
  • Purges obsolete branch folders in workspace and files from Smartling Dashboard. If a branch is deleted in the repository, files uploaded to Smartling from that branch are also deleted, along with the local folder created by the connector for that branch.
  • Switched to version 2 of Smartling File API. This version is not backwards compatible. New API credentials need to be supplied in repoconnector.conf. 

Version 1.4.8 

Improvements

  • Dockerized the Connector.

Bug Fixes

  • Fixed bug that caused errors handling branch names containing a slash. e.g. ‘dev/martin’.

Version 1.4.5 

Improvements

  • Translated files are downloaded every time a callback is received. Even if completion progress of the file is unchanged.

Bug Fixes

  • Fixed bug that caused publishing of some resources to fail.

Version 1.4.3 

Improvements

  • Added ability to set download trigger and retrieval type.

Version 1.4.0 

Bug Fixes

  • Changed trigger condition for downloading translated files. Now connector take into account not only translated strings but not authorized too.
  • New version is backward compatible with previous configuration files. Just backup your configuration, install new version and apply configuration.

Version 1.3.1 

Improvements

  • Allow user to filter branches that must be processed by regex. Optional property branches is added to repository configurations to repo-connector.conf

Bug Fixes

  • Fixed SSH authorization on Indeed environment

Version 1.3.0 

Improvements

  • Default repo-connector.conf is minimized and contains polling configuration only. If client requires hooks functionality they must add the configuration.
  • Required repository type property is added to repository configurations to repo-connector.conf.
  • Added svn repositories support to repo-connector.
  • SVN layout customization. User can define trunk and brunches folders name with “layout”.”trunkFolder” and “layout”.”branchesFolder” properties of the repository configuration in repo-connector.conf.

Bug Fixes

  • Warn user to login when resources configuration isn’t found

Version 1.2.2 

Bug Fixes

  • Fixed a bug that caused errors handling SSH keys.
  • Fixed handling of SSH repository URLs.

Version 1.0.1 

First Release

  • Service works as standalone app
  • Native Github service configuration UI
  • Configure files resources watch pattern
  • Pull resources from repository by Github hook
  • Push back translations from Smartling to Github
  • Trigger for push back translations can be Smartling callback or cron
  • Customize where and how to push translated resources
  • Allow to configure Language mapping
  • Allow to enable/disable automatic authorize files for all or specific locales
  • Single Smartling project can be mappet to 1 or more repositories
  • Translate several branches at once (or only master branch)
  • Automatically remove resources files from Smartling project when files removed from Github
Was this article helpful?