What Source Control to use?

The topic of this post is a question I have been pondering lately and would like to get others thoughts.

I have only started using Source Control solutions within the last year as before that I had never really felt the need for them. In the past I would just make an archived copy of the project before i started work on it. Obviously this still wasn't ideal but it worked for a long time, whether it was writing html, delphi pascal, c# or Asp.Net.

Working like this came to an end though when it became neccessary to start sharing code with colleagues. At this time I decided we should use Team Foundation Server as it was available for us to use. Even then once we had it installed and setup we used it more like a backup repository rather for source control.

Again this all changed when myself and some colleagues formed a mini development team. To be able to make this work properly and efficiently we needed to start using source control to our advantage. We continued to use TFS at the start but some found it a bit clunky to use as they were used to working with Git. Now being a new team and open to suggestions we found out that we also had access to an internal GitLab repo and begun working with this.

All in all i can honestly say that I have not personally had any issues with using either TFS or Git, but as I said I am pretty new to all of this and I don't have any baggage or prior use coming into this.

Now the main reason I am asking this is because I want to start making some of my code I have worked on in my own time available for others to use and make improvements if neccessary. Currently I have been using Visual Studio Online but Git does seem to be the most widely used so perhaps I'd be better off uploading my content to there? So thoughts and comments welcome, let me know what you think.

NW Updater for 1E's Nightwatchman

The company that I work for use 1E's Nightwatchman service for shutting down and waking up computers for the purpose of power saving and having greener credentials as a corporation. The service itself is great and does an amazing job of keeping our machines in a state to save energy etc and to enable us to wake up the machines in order for staff to be able to get to their desk in the morning and find their pc ready and waiting for them to login.

However I have one issue with Nightwatchman and that is its managemnet console and scripts used for adding machines to the Nightwatchman database. Obviously you could use custom scripts instead of those supplied but i thought it would be beneficial to have an application which does all of the work for you behind the scenes.

The main problems i see are that you have to compile a csv file with a list of 5 tiers and the Active Directory OU of where the computers reside. This can be very tedious and time consuming to create and update if you change things (or management want to change things) such as the tier structure or names.

So as I see it I want to be able to take an existing csv file of the tier structure import it into a datagridview. This will then ebale you to edit the fields/tiers in a more manageble fashion. From this you can then do a preview of what your tier structure will look like in a treeview control (in a similar fashion to the Nightwatchman Management console), before you commit the changes to the database.

Once i am happy with this structure I then want to be able to update these changes to the database using the stored procs or direct inserts into the Nightwatchman Staging table. When this is complete (and no error warnings have been given), it will then create the structure in the database and move the machines from the staging table into the correct tier location.

So far I have created an app which will read the csv file, create the datagridview and allow the preview of the treeview (minor tweaks needed for some UI improvements). If you would like to help or contribute to this project then please get in contact, I am pretty sure that more Nightwatchman users would find a tool like this useful.