Switching to Git from TFS

by Codewiz51 25. December 2013 09:44

I've been involved with Git at work since late May of 2013.  Transitioning to Eclipse, Java and Git was a bit intimidating in the beginning.  However, after some bumps in the road learning how to utilize Git, I became a convert to this version control system.  It's light weight, fast and runs well on Windows Server 2012.  I'm slowly migrating my projects off of TFS 2010 to a local Git repository.  What really sold me on Git is the ease of branching and merging operations.  Then, I discovered the add-in component for VS 2013 works as well or better than Eclipse's integration of Git.  About the only thing I am losing when I leave TFS is work item tracking.  However, that function will be filled by a $10 copy of Jira for my personal use.

I don't own powerful server hardware.  So Git is a Godsend compared to how TFS 2010 and Sharepoint 2010 drag on my outdated servers.

This series of blog posts will cover my experiences installing and configuring GitStack.com's version of Git for Windows:

  1. Stuff to download: (Prerequisites)
    • First, check out this post on MSDN to make sure your VS 2013 git client is operational. I strongly suggest you make sure you can connect VS 2013 to a github or bitbucket project and clone successfully before you even begin downloading anything else.  (I started out using github, but switched to bitbucket.  Bitbucket allows me access to Jira functionality (issue tracking) and code reviews (limited.)  It's free and allows private projects.
    • I like to install a command line git tool.  I use Chocolatey to install git command line tools.  I've run into some issues getting this to work over SSL, but I've solved all the problems and documented them in this series of articles.
    • If you are going to use Git over SSL, you'll may need OpenSSL for Windows.  GitStack needs an RSA key file, and OpenSSL is the only way I know to generate this file and create a certificate request tied to the key file.
    • You'll need the gitstack.com git installer.
    • I generally like to have a copy of Cygwin available.  This is completely optional, not required and not really used for this install (unless something goes incredibly wrong.)
    • There's probably some other stuff I've forgotten.  I'll add downloads here as time and memory permits. Cool
  2. Install
  3. Configure ports
  4. Firewall Changes
  5. Users and Groups
  6. LDAP/Active Directory
  7. OpenSSH/CertSrv/SSL
  8. Testing
  9. VS 2013 and Git
  10. Git-tfs

Since it's Christmas morning and the family is waking up, I'll fill in the details later today and tomorrow.  I need to go prepare Christmas breakfast for the World of Ware Crack crowd.


Design | Infrastructure | Programming

Discoveries while on call

by Codewiz51 16. March 2013 07:48

I was on call last week, during some incredibly hectic network switch overs and server patching.  I learned a lot about our infrastructure, and unfortunately, found out about several Windows Services that only one or two people knew about (and only one of the knowledgeable people was accessible.)  This little incident caused quite a few managers to be awakened in the middle of the night to handle a problem that was really quite simple to fix - if we had a smidgen of documentation.  This event was a very stark reminder to me that companies have to spend time documenting their environment.

If we had a cross reference of services running on the affected servers, we could have solved our problem in a couple of minutes instead of a few hours.

The problem that all companies face is staff turn over.  When a staff member leaves, and there is no documentation, the knowledge is lost.  If the company is lucky, you might be able to fish the information out of an email archive.  But mostly, the company is stuck with re-learning the process.  This is expensive, embarrassing when it affects customers and time consuming.

You have to make time to document your processes and develop operating manuals.

Tags: ,


Didn't keep good development notes? Here's some help

by Codewiz51 31. December 2012 15:13

If you use TFS, then you have help when you need to remember what you checked in over a period of time:

This command includes a date range:

tf history "$/<Your Project Path>/" /recursive /noprompt /format:detailed /user:<your user name> /version:D"11/1/12"~D"12/31/12"

How to run this command:

Start -> Visual Studio 2010->Visual Studio Tools-> Visual Studio 2010 Command Prompt.

Once the command prompt is ready, edit the above command, paste it into the command line, and you’ll soon have your list.  It’s big.  Really BIG!  It’ll overrun the output buffer of your command prompt window!

I suggest actually spooling the output to a text file:

tf history "$/DCDFLIB/" /recursive /noprompt /format:detailed /user:Gene /version:D"12/1/12"~D"12/31/12" > c:\mywork.txt

Then bring up mywork.txt in your favorite editor to see what you did last month!


Tags: , ,

Infrastructure | Programming

Upgraded Screwturn Wiki and BlogEngine.Net today

by Codewiz51 25. August 2012 21:47

I managed to upgrade my web site to .Net 4.0 today.  There was minimal trouble.  I had some minor trouble upgrading Screwturn wiki to use .Net 4.0.  I ultimately downloaded the source code and recompiled everything for .Net 4.0.  I also had to add a trust attribute to the web.config file.  Hopefully, I can get back into the swing of things.

I'm enjoying working on some e-commerce projects, but mostly I enjoy working on some very low level Windows 7 coding in my spare time.  I'm taking a course in Computer Security at Rose State this fall.



Team Foundation Server

by Codewiz51 12. March 2012 08:34

I spent all day Saturday and most of Sunday morning ironing out the installation and integration of SharePoint 2010 and Team Foundation Server 2010.  I am down to a couple of event entries that can be ignored (at least for the time being.)

You need to plan on visiting the blog-osphere  to fix up your installations with small corrections.  I am working with a single, salvaged desktop computer that is old and out dated.  I am probably asking to much of the hardware and processor, so I generally don't get too excited if installs do not go completely error free.  In particular, anything that relies on rebooting my underpowered server generally fails.  Why?  Rebooting a domain controller that is running IIS 7.5, SQL Server 2008, Sharepoint 2010 and TFS is generally pretty busy at boot time.  Busy enough that stuff times out.  A lot.

I'll need to go through and correct permissions on my SQL Server and Sharepoint service accounts.  I was in a hurry and simply made the service accounts part of the administrators group.  I know, I know.  Bad Form!  I've been reading up on what the base permissions are for the SQL Server service account, so I will make those changes first.  Hopefully, by the end of the week, I'll have everything locked down.

At the end of the day, I was able to create a new team Agile template project in TFS.  Yeah!  The Sharepoint web site was create correctly!  Yeah!

Tonight, I will start proper service account creation for the installed services and servers.  My base Sharepoint web site is a "blog" site, that I use as a log when I make corrections and experiment with permissions.  Once I have completed the setup, I'll publish my findings.

I have to give Microsoft some kudos on this stuff.  It's big.  It's complex.  It takes a lot of background knowledge to install Sharepoint and TFS.  The documents are available and the bloggers fill in any of the gaps.  For 99.95% of the installation, everything proceeded correctly.  The few things that weren't quite right were caused by my own impatience.  My advice?  Read the docs and scan the web.  After you have completed the installs, don't hurry.  Give your system time to stabilize.  Watch the event logs like a hawk for a couple of days.  They tell you a lot about what is going on with your system and you can fix a lot of small problems before they become major problems.  Learn how to administer the product before you start using it.



Design | Infrastructure


This blog represents my personal hobby, observations and views. It does not represent the views of my employer, clients, especially my wife, children, in-laws, clergy, the dog, the cat or my daughter's horse. In fact, I am not even sure it represents my views when I take the time to reread postings.  So, take most of what I say with a grain of salt.

© Copyright 2008-2014