I’ve grown up reading Tom Clancy and probably most of you have at least seen Red October, so this book caught my eye when browsing used books for a recent trip. It’s a fairly human look at what’s involved in sailing on a Trident missile submarine…
I’m excited. Git support is growing in SQL Source Control and the release recently contains Git push/pull support. If you don’t see the release of 4.1.x, you need to update. The update should be available for everyone.
I do like Git. I’m working with SVN, TFS, and Git on a regular basis. However I tend to prefer Git overall. Now I can do most things I want to do in SOC, which is exciting. No forgetting to push or the need to drop to the command line or another interface.
The Git Additions
In a previous post, I set up a link between a database and a Git repository. Let’s see how the Git push now works.
I’ve got this database on my local instance.
It’s linked with SQL Source Control to a local Git repository.
Let’s change something. I’ll pop open a stored proc.
Let’s a simple, but real, change. I’ll add a NOCOUNT setting in there, which is a good idea.
In the Commit tab for SQL Source Control, I see my change. Note that most everything looks the same here and I can see the code differences like I always could.
Now I commit this change. In this case, it goes to my local Git repo, but isn’t pushed.
NOTE: In the real world, I’d pull before I commit to be sure I wasn’t causing a merge issue.
Once that’s done, my Commit tab changes.
SQL Source Control (SOC) detects the change and knows we have an unsynced Git repo. I can now push the “Push” button. Once I do this, I get a warning if I haven’t turned this off. I turn it off, but you should always be aware that SOC isn’t managing your Git repo. It’s linking to it. If you make changes in the repo with some other app, like Visual Studio, the entire repo is pushed, not just the change SOC committed.
Once this is done, I once again see a clean Commit tab.
However, if I go to the remote repo, which is on GitHub in this case, I see my change.
I love Git. I think it’s really cool, and it’s a great way to work with distributed Version Control. I am playing with TFS as well, but I prefer Git, and I think this support is great.