9 Followers · 120 Posts

Git is a version control system for tracking changes in computer files and coordinating work on those files among multiple people.

Official site.

Announcement Timothy Leavitt · Nov 8, 2021

If you're building solutions on IRIS and want to use Git, that's great! Just use VSCode with a local git repo and push your changes out to the server - it's that easy.

But what if:

  • You're collaborating with other developers on a shared, remote development environment and want to avoid concurrent editing of the same file
  • You're using editors based in the management portal for BPL, DTL, pivots, dashboards, etc.
50
15 5260
Announcement Brett Saviano · Aug 7, 2024

The VS Code extension development team is looking for beta testers to provide feedback on a proposed overhaul of the client-side editing workflow. The full list of changes can be found in the GitHub pull request description. Here are the highlights:

  • Support the use of client-side editing in any non-isfs workspace folder, not just folders in your local file system. For example, with VS Code Remote Development.
  • Create an index of all Classes, MAC and INT routines, and Include files inside non-isfs workspace folders.
35
2 870
Article Timur Safin · Feb 2, 2017 19m read

This is the second part of my long post about package managers in operating systems and language distributions. Now, hopefully, we have managed to convince you that convenient package manager and rich 3rd party code repository is one key factor in establishing of a vibrant and fast growing ecosystem. (Another possible reason for ecosystem success is the consistent language design, but it will be topic for another day.)

In this second part we plan to discuss the practical aspects of creating a package manager in general and their projection to the Caché database environment.

23
1 1491
Article Evgeny Shvarov · Feb 24, 2020 9m read

Hi Developers!

Many of you publish your InterSystems ObjectScript libraries on Open Exchange and Github.

But what do you do to ease the usage and collaboration to your project for developers?

In this article, I want to introduce the way how to introduce an easy way to launch and contribute to any ObjectScript project just by copying a standard set of files to your repository.

Let's go!

21
6 2514
Question Roberto Cahanap · Apr 13, 2018

We are going to start using Git within Cache.

One question came up - if the branch that you checked out does not have the class or mac file, what is the correct thing to do?

Should we delete from Cache or should we just keep it?

I'm leaning more towards deleting it because Cache should reflect what is in your work folder in git. But other team members are saying to keep it.

16
0 699
Question Token Ibragimov · Apr 2, 2024

Hello!

Trying to configure tortoise GIT in Linux System

NAME="Red Hat Enterprise Linux Server"
VERSION="7.9 (Maipo)"
My steps

1. Enable [write-access](http://docs.intersystems.com/ens20151/csp/docbook/DocBook.UI.Page.cls?K…) to CACHELIB database via the Management Portal. (This is required for csp-page with settings import.)
2. Import project in %SYS:

    %SYS> do $system.OBJ.ImportDir("/arch/cache-tort-git-master/","*.xml","ck",,1)

3. Now you can disable write-access to CACHELIB.
4. In Management Portal select the new %SourceControl.

12
0 334
Question Michael Davidovich · Jan 3, 2020

I searched to see if there was a previous question on this, but I didn't quite find anything.  Please link if you think this has been answered before (I have a feeling it has): what are the barriers to source control using Cache 2018 and Studio?  

I'm trying to figure out how to create a local repository but I can't access the folder structure in the USER namespace for my local instance.  If I could, it would be as simple as navigating there in Git Bash and doing a 'git init' and then I can push changes to a remote repo for control.

12
0 1644
Question Alan Watts · Jan 2, 2024

We are trying to use Git for Source Code control in our existing application. Currently all Source Control is a manual process. We are running IRIS on a Windows server. The git extension has been installed and initial configuration done. We do get the git tab in Studio. We keep getting the following error:

Git Status:
fatal: detected dubious ownership in repository at 'C:/KBS/dev/server/db'
'C:/KBS/dev/server/db' is owned by:
'S-1-1-0'
but the current user is:
'S-1-5-18'
To add an exception for this directory, call: git config --global --add safe.directory C:/KBS/dev/server/db.

12
0 1014
Question Travis Thurber · Apr 28, 2016

Hi,

I'm in the process of trying to convert my team to a Git-based workflow for source code version management (we use Ensemble and HealthShare, but build a lot of customizations on top). We are having a hard time working with Atelier in this regard for a few reasons:

  • Atelier always wants to sync the local files with the Cache server files, so switching between git branches causes all sorts of mayhem with the synchronization. Creating new files locally leads to a similar problem.
11
0 1480
Discussion Andrew Sklyarov · Oct 8, 2025

I know the next ones:

1. Place all different settings in environment variables. You have a different .env file for each environment, and you must add some code to Production for reading and setting these values. It's good for deploying into containers, but challenging for management when we have a large production. I mean, we have many settings that can vary depending on the environment: active flag, pool size, timeouts, and so on. Not only endpoints.

2. My own case.

10
0 198
Article Eduard Lebedyuk · May 10, 2018 9m read

In this series of articles, I'd like to present and discuss several possible approaches toward software development with InterSystems technologies and GitLab. I will cover such topics as:

  • Git 101
  • Git flow (development process)
  • GitLab installation
  • GitLab Workflow
  • Continuous Delivery
  • GitLab installation and configuration
  • GitLab CI/CD
  • Why containers?
  • Containers infrastructure
  • CD using containers

In the first article, we covered Git basics, why a high-level understanding of Git concepts is important for modern software development, and how Git can be used to develop software.

In the second article, we covered GitLab Workflow - a complete software life cycle process and Continuous Delivery.

In the third article, we covered GitLab installation and configuration and connecting your environments to GitLab

In the fourth article, we wrote a CD configuration.

In the fifth article, we talked about containers and how (and why) they can be used.

In the sixth article let's discuss main components you'll need to run a continuous delivery pipeline with containers and how they all work together.

In this article, we'll build Continuous Delivery configuration discussed in the previous articles.

10
4 2871
Announcement Marcus Wurlitzer · Apr 21, 2021

Hi Developers, I am glad to announce Git for InterSystems IRIS, my first submission to OpenExchange and part of the current Developer Tools Contest.

Git for InterSystems IRIS is a source control package that aims to facilitate a native integration of the Git workflow with the InterSystems IRIS platform. It is designed to work as a transparent link between InterSystems IRIS and a Git-enabled code directory that, once setup, requires no user interaction. A detailed description can be found on GitHub.

  

 

I am looking forward to learn what you think about this approach. Does it make sense?

10
4 1380
Question Michael Derr · Dec 4, 2025

We are a group of interface analysts in a healthcare setting, running IRIS for Health 2024, having upgraded over time from an old ENSEMBLE environment.  We have been working on a wish list of development goals, but are having trouble finding the correct, best practice method/path for getting to what we envision.

Current state:  We run IRIS for Health on a Redhat 8 virtual machine.  We run Interoperability productions (IE.cls) out of 6 namespaces.  We have a dev/test box and a production box.

10
0 162
Question Mathew Rimmington · Jan 17, 2024

The company I work for have a repository for one of our products which already contains both InterSystems and non-InterSystems source code. I'm in the process of trying to migrate us over to using VSCode to edit the InterSystems source but am stuck on some issues surrounding the files on disk and the routines in the IRIS instance.

The folder structure inside the repo is \appname\src\database. Directly underneath the database folder is all of our InterSystems source code. If I add a new routine to the root of the database folder called ROUTINEA.

9
0 523
Article Evgeny Shvarov · Sep 14, 2019 1m read

Hi Developers!

Often I find questions on how to install IRIS, connect to IRIS from IDE, setup the environment, compile, debug, maintain the repository.

Here below possibly the shortest way to set up all the environment and start development with ObjectScript on InterSystems IRIS.

Prerequisites

Make sure you have Git, Docker, and VSCode installed

Install Docker and ObjectScript extensions into VSCode

Sign in or Create an account on Github

Here we go!

9
6 1591
Question Ian Minshall · Sep 14, 2017

Hi

When trying to sync a class to the server where the server class has been updated by another user, I, as expected, get the Conflict Resolution Wizard.

I can then use the wizard to copy code from the server side to my local copy using the arrows also as expected.

But when I have integrated the remote code into what I think is my local copy how do I save it so that it gets integrated into my local copy and synchronised to the server.

9
0 654
Article Pietro Di Leo · Sep 24, 2025 23m read

Table of Contents

  1. Purpose of the article
  2. What containers are and why they make sense with IRIS
     2.1 Containers and images in a nutshell
     2.2 Why containers are useful for developers
     2.3 Why IRIS works well with Docker
  3. Prerequisites
  4. Installing the InterSystems IRIS image
     4.1 Using Docker Hub
     4.2 Pulling the image
  5. Running the InterSystems IRIS image
     5.1 Starting an IRIS container
     5.2 Checking container status
     5.3 Executing code in the container terminal
     5.4 Accessing the IRIS Management Portal
     5.5 Connecting the container to VS Code
     5.6 Stopping or removing the container
     5.7 Setting a specific password with a bind mount
     5.8 Using durable %SYS volumes
      5.8.1 What gets stored with durable %SYS
      5.8.2 How to enable durable %SYS
  6. Using Docker Compose
     6.1 Docker Compose example
     6.2 Running Docker Compose
  7. Using a Dockerfile to run custom source code
     7.1 Dockerfile example
     7.2 Docker Compose example
     7.3 Understanding layers, image tagging and build vs. run time
     7.4 Source code and init script
     7.5 Building the image with Dockerfile
     7.6 Running instructions in the containerized IRIS terminal
  8. Conclusion and what’s next
9
10 518
Question Amir Samary · Aug 12, 2016

Hi!

I am about to configure a server with continuous integration for a client. I found that our Russian friends have again come up to the rescue and developed not one, but two continuous integration tools for Git and Caché:

My question is simple: What are the most important differences between the two and which one is going forward so I can choose the right one?

Kind regards,

Amir Samary

8
0 960
Question Shanwen Liu · Dec 10, 2024

Hey everyone, I am implementing version control with git-source-control on our codebase and I ran into a pretty strange issue. I believe I have the set up (mostly) correct as the behavior with .cls files is exactly as expected. However, I noticed that git is not keeping track of any changes to CSP files.

Specifically, if a new CSP file is created and saved, I will get the following output:

exporting new version of /csp/testdb/wrc.csp to C:\InterSystems\IRIS\mgr\repo\TESTDB\csp\testdb\wrc.csp

Added /csp/testdb/wrc.csp to source control.

C:\InterSystems\IRIS\mgr\repo\TESTDB\csp\testdb\wrc.

8
1 251
Article Evgeny Shvarov · Feb 12, 2023 3m read

Hi Developers!

As you know InterSystems IRIS Interoperability solutions contain different elements of the solution, such as: production, business rule, business process, data transformation, record mapper. And sometimes we can create and modify these elements with UI tools.  And of course we need a handy and robust way to source-control the changes made with UI tools.

For a long time this was a manual (export class, element, global, etc) or cumbersome settings procedure, so the saved time with source-control UI automation was competing with lost time to setup and maintain the settings.

Now the problem doesn't exist any more. With two approaches: package first development and usage of IPM package git-source-control by @Timothy Leavitt 
.

Meme Creator - Funny WOW IT REALLY WORKS Meme Generator at MemeCreator.org!

The details are below!

8
3 1405
Question Alan Watts · Oct 31, 2023

I am trying to use git-source-control with IRIS. 

Things are moving along well. I have installed git, ipm/ zpm, git-source-control. I have done the initial configuration and initialized the repository. I am hoping there is some documentation available to describe how to use this within Studio. I see a new option on my toolbar labeled "Git". It gives me options Status, Settings, Launch Git UI, Push to remote branch, Fetch from remote, Pull changes from remote branch, Create a new branch, Check out an existing branch, Export All, Export All (Force), Import All, and Import All (Force).

8
0 1657
Article Joel Solon · Jun 24, 2016 2m read

One of the benefits of Atelier is easy integration with source code management tools. Some Eclipse installations include the EGit plugin, or you can install it from the Eclipse marketplace. EGIt makes integration with Git and GitHub easy. Here are the steps I used to connect Atelier to a GitHub repository:

8
0 2513
Article Eduard Lebedyuk · Mar 20, 2018 8m read

In this series of articles, I'd like to present and discuss several possible approaches toward software development with InterSystems technologies and GitLab. I will cover such topics as:

  • Git 101
  • Git flow (development process)
  • GitLab installation
  • GitLab Workflow
  • Continuous Delivery
  • GitLab installation and configuration
  • GitLab CI/CD

In the first article, we covered Git basics, why a high-level understanding of Git concepts is important for modern software development, and how Git can be used to develop software.

8
2 3269
Question Ben Spead · Aug 29, 2017

I want to demonstrate using Git via Server-side Source Control hooks (to allow both Studio and Atelier to access a Shared Dev namespace), and I was planning to use the popular Caché Git hooks:

https://github.com/intersystems/cache-tort-git 

Unfortunately, when I installed and configured them I realized that they will not work in a Shared Dev configuration because those hooks rely on calling the TortoiseGit Windows executable, which means that your IDE and your Caché instance must both be running on the same machine (this doesn't make sense for Shared Dev configurations).

7
0 1029
Question Salma Sarwar · Jan 19, 2018

Hi

I am in the process of trying to implement version control software with studio.  Has anyone got any recommendations (either Linux based/windows based) as a place to start I have installed Gitlab and I wanted to know whether anyone has come across any obstacles using this.

I was also wondering whether anyone has developed any hooks for Gitlab that works well with Studio as I would prefer if there was a more integrated solution with studio?  Any help with this would be great.

Thank you.

 

Kind Regards,

 

Salma

7
0 1045