Powershell & Source Control

Hey everyone –
Apologies if this type of question isn’t meant for this particular forum.

I’ve got an ops team of 5 people that are involved in writing some PowerShell tools for our environment. We’ve also got an in-house development team of 10 people. For YEARS, our dev team has used an on-prem Perforce for source control. Recently, they moved to Plastic SCM Cloud. Our stuff is still in Perforce.

Bluntly, we hate it. Part of it I think is Perforce. But part of it I feel is also our lack of understanding around a solid workflow and process around source control and writing code as a team.

I am curious to know what you all use - I’d assume many will be Github. If that is the case, I am curious about what other tools you have in your belt to help visualize what is going on with your code. I was looking at something like https://gmaster.io/ for example.

Does anyone have any good resources they can share on how to get up and running at a very basic level?

Thanks
Steve

I haven’t really seen a need for crazy good visualization, but if you do need that, I know a lot of Github’s built in tools and metrics tracking will handle visualization pretty well.

And yeah, in large part I use Git and Github for this sort of thing. :slight_smile:

Ditto on the visualization part of this, but yeppers, GitHub is the main integration point for the PowerShell Community at large, and I would say that is because PS being host in GitHub by MS, that integration via VSCode, and that it’s been the #number one goto for OSS types, etc.

I’ve seen other folks asking for direct visualization of PS in a flowchart, automatically. The closet you’ll get to that is this site:

https://code2flow.com

There also this tool to look at PS code relationships.

https://bytecookie.wordpress.com/powershell-code-manager

I use both of these, but they are really lacking vs real UML-like tools. I’ve not tried this gmaster.io deal, but looks kind of interesting.

Prior to the above, Visual Studio Source Safe or team Services were my go to source control.

I guess it depends on why you hate Perforce, haven’t used it myself so I can’t really say if it’s bad or not.

The main tools I use is VSCode + GitLens Extension.
But I don’t think I’ve used that much visualization other than looking at diffs in whatever system is used (github, bitbucket, tfs etc.).

GitLens is pretty great, among other things it will show you who wrote what and which commit the code comes from while you’re writing/viewing your code.
Not visualization per say but very usefull.

Thanks for the awesome responses.

I’ve looked over the Github documentation. I’m just a little timid about committing (no pun intended) to paying for a private repo for my company if I am not certain that is the direction we want to go.

What did you use to get started? I’m hopefully looking for something that will make it click - I am not sure what it is, but the distributed model and general workflow - I can’t seem to wrap my head around it

Well you can try out Azure DevOps Services (new version of VSTS) for free, up to 5 users.
If I remember correctly if you have MSDN subscriptions you can invite those users as well.
GitLab is another alternative that offer private repo’s for free.
Both GitLAb and Azure DevOps Services have limits on a free account.

But as with anything, you need to define what you need and go from there.
Git is Git so that doesn’t really change between solutions.

If GitHub is the way you want to go why not test it?
It’s not that expensive to try out for a small team.
Pick e.g. a small Repo/Project and test it on that platform.
That way you don’t do a full commitment to a new solution without testing it.

For general usability I’ve switched over to Gitlab. But the git component is all the same. Nice part here, at the personal homelab level, is that private repositories don’t require a paid account. It might be a more extensible option for you. I haven’t used this at the enterprise level however.

If you’re looking for built-in reports and visualizations, the Atlassian product BitBucket might be up your alley. There are built-in reports and graphs for every repository and project that you could utilize.