<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Modern Source Control on Engineering Leadership in AI &amp; Software</title>
		<link>https://engineering-leadership-preview.hinshelwood.com/tags/modern-source-control/</link>
		<description>Recent content in Modern Source Control on Engineering Leadership in AI &amp; Software</description>
		<generator>Hugo</generator>
		<language>en</language>
		
		
		
		
			<lastBuildDate>Tue, 16 Jun 2026 17:40:35 +0000</lastBuildDate>
		
			<atom:link href="https://engineering-leadership-preview.hinshelwood.com/tags/modern-source-control/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Why Topic Branches Drive High-Quality Delivery</title>
				<link>https://engineering-leadership-preview.hinshelwood.com/articles/why-topic-branches-drive-high-quality-delivery/</link>
				<pubDate>Mon, 14 Jul 2025 09:00:00 +0000</pubDate>
				<guid>https://engineering-leadership-preview.hinshelwood.com/articles/why-topic-branches-drive-high-quality-delivery/</guid>
				<description>Short-lived topic branches help teams deliver high-quality software by making integration easier, reducing merge conflicts, and supporting modular, continuous delivery. Adopting models like GitHub Flow or Release Flow keeps work focused and feedback fast, while long-lived branches increase risk and slow down delivery. Development managers should enforce small, short-lived branches and regularly review branching strategies to maintain flow, agility, and quality.</description>
			</item>
			<item>
				<title>Stop Promoting Branches</title>
				<link>https://engineering-leadership-preview.hinshelwood.com/articles/stop-promoting-branches/</link>
				<pubDate>Thu, 06 Feb 2025 09:00:00 +0000</pubDate>
				<guid>https://engineering-leadership-preview.hinshelwood.com/articles/stop-promoting-branches/</guid>
				<description>Promoting code through multiple environment branches slows delivery, increases risk, and adds unnecessary complexity. Instead, use simple branching models like GitHub Flow for continuous delivery or Release Flow if you must support multiple live versions; avoid outdated models like Git Flow and never rely on reverse integration. Focus on merging changes directly into main, use feature flags for releases, and keep branching lightweight to deliver value faster.</description>
			</item>
			<item>
				<title>The Hidden Costs of Supporting Multiple Versions in Production</title>
				<link>https://engineering-leadership-preview.hinshelwood.com/signals/the-hidden-costs-of-supporting-multiple-versions-in-production/</link>
				<pubDate>Thu, 06 Feb 2025 16:30:01 +0000</pubDate>
				<guid>https://engineering-leadership-preview.hinshelwood.com/signals/the-hidden-costs-of-supporting-multiple-versions-in-production/</guid>
				<description>Supporting multiple versions in production drains engineering resources through increased context-switching, merge conflicts, and bug risks. Back-porting fixes and maintaining separate branches for each customer make things worse, leading to instability and technical debt. To avoid these problems, teams should simplify and standardise their branching strategy.</description>
			</item>
			<item>
				<title>Avoid the pick-n-mix branching anti-pattern</title>
				<link>https://engineering-leadership-preview.hinshelwood.com/articles/avoid-the-pick-n-mix-branching-anti-pattern/</link>
				<pubDate>Mon, 14 Jul 2014 15:35:35 +0000</pubDate>
				<guid>https://engineering-leadership-preview.hinshelwood.com/articles/avoid-the-pick-n-mix-branching-anti-pattern/</guid>
				<description>Explains the risks of the pick-n-mix branching anti-pattern in source control, its impact on code quality, and recommends feature branching and toggles for stability.</description>
			</item>
			<item>
				<title>Getting started with a modern source control system and DevOps</title>
				<link>https://engineering-leadership-preview.hinshelwood.com/articles/getting-started-with-a-modern-source-control-system-and-devops/</link>
				<pubDate>Mon, 13 Jul 2020 18:41:59 +0000</pubDate>
				<guid>https://engineering-leadership-preview.hinshelwood.com/articles/getting-started-with-a-modern-source-control-system-and-devops/</guid>
				<description>Modern source control systems are essential for managing not just code but the entire software development lifecycle, supporting DevOps practices and providing critical metadata for process visibility. Key practices include always using source control, automating release pipelines, minimizing branches with feature flags, moving to Git, and ensuring regular feedback and testing. To stay competitive, development managers should ensure all code is in source control, automate releases, and adopt integrated platforms like VSTS that support any technology and enable continuous delivery.</description>
			</item>
			<item>
				<title>Best Branching Strategies for Development Teams Explained</title>
				<link>https://engineering-leadership-preview.hinshelwood.com/signals/best-branching-strategies-for-development-teams-explained/</link>
				<pubDate>Tue, 25 Feb 2025 16:30:02 +0000</pubDate>
				<guid>https://engineering-leadership-preview.hinshelwood.com/signals/best-branching-strategies-for-development-teams-explained/</guid>
				<description>Using separate branches for each environment increases complexity and slows feedback, making it harder to deliver value quickly. Teams should use branches to manage work in progress and rely on feature flags and progressive rollouts to control what users see. Review your current branching approach and consider simplifying it to speed up delivery and reduce risk.</description>
			</item>
			<item>
				<title>Too many teams overcomplicate their branching strategies</title>
				<link>https://engineering-leadership-preview.hinshelwood.com/signals/too-many-teams-overcomplicate-their-branching-strategies/</link>
				<pubDate>Thu, 06 Feb 2025 09:38:01 +0000</pubDate>
				<guid>https://engineering-leadership-preview.hinshelwood.com/signals/too-many-teams-overcomplicate-their-branching-strategies/</guid>
				<description>Many teams make branching too complex, which slows delivery and adds risk. Simple models like GitHub Flow or Release Flow help teams move faster and deliver value more consistently. Focus on minimizing branching complexity to improve speed and reliability.</description>
			</item>
			<item>
				<title>Guidance - Branching for each Sprint</title>
				<link>https://engineering-leadership-preview.hinshelwood.com/articles/guidance-branching-for-each-sprint/</link>
				<pubDate>Thu, 08 Apr 2010 16:34:03 +0000</pubDate>
				<guid>https://engineering-leadership-preview.hinshelwood.com/articles/guidance-branching-for-each-sprint/</guid>
				<description>Explains how using a separate version control branch for each sprint in Scrum improves code stability, release management, and team collaboration over using labels.</description>
			</item>
			<item>
				<title>Guidance: A Branching strategy for Scrum Teams</title>
				<link>https://engineering-leadership-preview.hinshelwood.com/articles/guidance-a-branching-strategy-for-scrum-teams/</link>
				<pubDate>Wed, 14 Apr 2010 20:11:36 +0000</pubDate>
				<guid>https://engineering-leadership-preview.hinshelwood.com/articles/guidance-a-branching-strategy-for-scrum-teams/</guid>
				<description>Explains an effective branching strategy for Scrum teams, covering best practices, common pitfalls, and step-by-step guidance for managing code, releases, and bug fixes.</description>
			</item>
			<item>
				<title>Git Flow should have died years ago</title>
				<link>https://engineering-leadership-preview.hinshelwood.com/signals/git-flow-should-have-died-years-ago/</link>
				<pubDate>Sun, 09 Feb 2025 16:30:00 +0000</pubDate>
				<guid>https://engineering-leadership-preview.hinshelwood.com/signals/git-flow-should-have-died-years-ago/</guid>
				<description>Git Flow is outdated and causes unnecessary delays and complications for modern software teams. Long-lived branches and complex merges slow down delivery and increase risk. Switch to simpler workflows like GitHub Flow or Release Flow to speed up development and focus on delivering value.</description>
			</item>
			<item>
				<title>Branch Policies for TFVC</title>
				<link>https://engineering-leadership-preview.hinshelwood.com/articles/branch-policies-for-tfvc/</link>
				<pubDate>Wed, 13 Jan 2016 15:49:00 +0000</pubDate>
				<guid>https://engineering-leadership-preview.hinshelwood.com/articles/branch-policies-for-tfvc/</guid>
				<description>A new branch policy tool for TFVC allows you to apply policies like branch locks, code reviews, and work item requirements across multiple branches using simple patterns, making policy management much easier for large, complex codebases. This approach avoids cumbersome path-based setups and helps ensure key quality steps are not missed without overburdening developers. You can try the tool, provide feedback, or contribute to its development on GitHub.</description>
			</item>
			<item>
				<title>Open-source with VSTS or TFS and Github for better DevOps</title>
				<link>https://engineering-leadership-preview.hinshelwood.com/articles/open-source-with-vsts-or-tfs-and-github-for-better-devops/</link>
				<pubDate>Tue, 10 May 2016 16:19:00 +0000</pubDate>
				<guid>https://engineering-leadership-preview.hinshelwood.com/articles/open-source-with-vsts-or-tfs-and-github-for-better-devops/</guid>
				<description>You can use VSTS or TFS for full DevOps and agile capabilities while keeping your open-source code on Github by setting up automated two-way synchronization between the platforms. This approach lets you manage private work and processes in VSTS, then publish selected branches to Github for public access and contributions. Set up automated builds in VSTS to sync code in both directions, using personal tokens for authentication, so you get the best of both tools without extra manual effort.</description>
			</item>
			<item>
				<title>Guidance: How to layout you files for an Ideal Solution</title>
				<link>https://engineering-leadership-preview.hinshelwood.com/articles/guidance-how-to-layout-you-files-for-an-ideal-solution/</link>
				<pubDate>Mon, 17 May 2010 11:08:16 +0000</pubDate>
				<guid>https://engineering-leadership-preview.hinshelwood.com/articles/guidance-how-to-layout-you-files-for-an-ideal-solution/</guid>
				<description>Learn best practices for organising solution and project files in version control, including folder structure, naming conventions, and branching for maintainable code.</description>
			</item>
			<item>
				<title>Create a Build vNext build definition</title>
				<link>https://engineering-leadership-preview.hinshelwood.com/articles/create-a-build-vnext-build-definition/</link>
				<pubDate>Wed, 04 Mar 2015 17:37:00 +0000</pubDate>
				<guid>https://engineering-leadership-preview.hinshelwood.com/articles/create-a-build-vnext-build-definition/</guid>
				<description>Microsoft&amp;rsquo;s new Build vNext system for TFS and VSO is more modular and user-friendly, offering a wide range of out-of-the-box build and deployment tasks, improved configuration options, and better auditability of changes. It currently supports only Git repositories and continuous integration triggers, with plans for greater extensibility and additional features in the future. Development managers should consider evaluating Build vNext in test environments to prepare for its eventual adoption and to explore its enhanced flexibility and control.</description>
			</item>
			<item>
				<title>Migrating source from Perforce to Git on VSO</title>
				<link>https://engineering-leadership-preview.hinshelwood.com/articles/migrating-source-from-perforce-to-git-on-vso/</link>
				<pubDate>Wed, 20 Aug 2014 14:06:13 +0000</pubDate>
				<guid>https://engineering-leadership-preview.hinshelwood.com/articles/migrating-source-from-perforce-to-git-on-vso/</guid>
				<description>Step-by-step guide to migrating source code from Perforce to Git on VSO, covering repository setup, dependency management, build processes, and key migration tips.</description>
			</item>
			<item>
				<title>Syncing many Dynamics AX instances to a single TFS 2010 Team Project</title>
				<link>https://engineering-leadership-preview.hinshelwood.com/articles/syncing-many-dynamics-ax-instances-to-a-single-tfs-2010-team-project/</link>
				<pubDate>Fri, 08 Oct 2010 16:20:46 +0000</pubDate>
				<guid>https://engineering-leadership-preview.hinshelwood.com/articles/syncing-many-dynamics-ax-instances-to-a-single-tfs-2010-team-project/</guid>
				<description>Explains how to configure multiple Dynamics AX instances to sync with a single TFS 2010 Team Project, streamlining source control and work item management for many clients.</description>
			</item>
			<item>
				<title>Bug in the Visual Studio Git integration that results in a merge conflict</title>
				<link>https://engineering-leadership-preview.hinshelwood.com/articles/bug-in-the-visual-studio-git-integration-that-results-in-a-merge-conflict/</link>
				<pubDate>Thu, 09 Oct 2014 15:20:01 +0000</pubDate>
				<guid>https://engineering-leadership-preview.hinshelwood.com/articles/bug-in-the-visual-studio-git-integration-that-results-in-a-merge-conflict/</guid>
				<description>A bug in Visual Studio 2013.3&amp;rsquo;s Git integration causes merge conflicts when developers pull from a remote branch with local commits, even if there are no uncommitted changes. The issue disrupts teams migrating from older systems and can only be worked around by moving changes to a temporary branch and rolling back the local branch, or by adopting a workflow where all work is done on feature or hotfix branches. Installing Visual Studio 2013.4 CTP resolves the bug, so upgrading is recommended to avoid these conflicts and streamline development.</description>
			</item>
			<item>
				<title>TFS Integration Tools - Issue: TF14009: Cannot merge source into target because the target is underneath source</title>
				<link>https://engineering-leadership-preview.hinshelwood.com/articles/tfs-integration-tools-issue-tf14009-cannot-merge-source-into-target-because-the-target-is-underneath-source/</link>
				<pubDate>Mon, 20 Aug 2012 18:19:36 +0000</pubDate>
				<guid>https://engineering-leadership-preview.hinshelwood.com/articles/tfs-integration-tools-issue-tf14009-cannot-merge-source-into-target-because-the-target-is-underneath-source/</guid>
				<description>Explains the TF14009 error in TFS when merging a source into a subfolder of itself, its causes during migration, and practical workarounds to resolve the issue.</description>
			</item>
			<item>
				<title>GitHub</title>
				<link>https://engineering-leadership-preview.hinshelwood.com/tags/github/</link>
				<pubDate>Thu, 10 Apr 2025 10:16:54 +0000</pubDate>
				<guid>https://engineering-leadership-preview.hinshelwood.com/tags/github/</guid>
				<description>GitHub is a comprehensive platform that facilitates version control, collaboration, and integration within software development. Originating as a hosting service for Git repositories, it has evolved to include features such as GitHub Actions for automating continuous integration and continuous delivery workflows, and GitHub Projects for task management and progress tracking. Its significance lies in its ability to enhance collaboration among development teams, reduce friction in development cycles, and support the efficient delivery of value. GitHub is essential for organisations seeking to maintain transparency and integrate workflows between development and operations teams, as its integration with CI/CD practices allows for the automation of testing, builds, and deployments, ensuring continuous validation and delivery of code changes. The platform&amp;rsquo;s features, including issues, pull requests, and discussions, foster effective communication and alignment on project goals. Additionally, GitHub&amp;rsquo;s compatibility with a variety of third-party tools and services further amplifies its effectiveness in modern DevOps environments. By utilising GitHub&amp;rsquo;s extensive toolset, organisations can enhance team collaboration, streamline development processes, and improve software delivery outcomes.</description>
			</item>
			<item>
				<title>Azure Repos</title>
				<link>https://engineering-leadership-preview.hinshelwood.com/tags/azure-repos/</link>
				<pubDate>Tue, 11 Feb 2025 10:17:24 +0000</pubDate>
				<guid>https://engineering-leadership-preview.hinshelwood.com/tags/azure-repos/</guid>
				<description>Azure Repos is a cloud-based source control service within the Azure DevOps ecosystem, designed to help teams manage their code repositories efficiently. It supports both Git and Team Foundation Version Control (TFVC), allowing teams to select the version control system that aligns with their specific workflows. By providing a centralised platform for code collaboration, Azure Repos integrates seamlessly with other Azure DevOps services, such as Azure Pipelines and Azure Boards, thereby enhancing the overall development lifecycle. Its significance lies in its ability to promote collaboration among team members, enabling concurrent work on code while minimising conflicts, which is essential for delivering value in a predictable and sustainable manner. Features like pull requests, branch policies, and code reviews help maintain code quality while facilitating rapid iteration and innovation. Additionally, Azure Repos fosters a culture of transparency and accountability by tracking changes and maintaining a clear history of contributions. This systemic approach to source control streamlines development processes and aligns with agile principles, promoting adaptability and responsiveness to change. By integrating with various tools and practices, Azure Repos empowers teams to focus on delivering high-quality software that effectively meets customer needs.</description>
			</item>
			<item>
				<title>Modern Source Control</title>
				<link>https://engineering-leadership-preview.hinshelwood.com/tags/modern-source-control/</link>
				<pubDate>Tue, 11 Feb 2025 10:17:24 +0000</pubDate>
				<guid>https://engineering-leadership-preview.hinshelwood.com/tags/modern-source-control/</guid>
				<description>Modern source control is a critical practice in software development that focuses on version control and branching strategies to manage codebase changes effectively. Originating from the need for collaborative coding, it utilises systems like Git to allow multiple developers to work simultaneously without conflicts, while also enabling the tracking of modifications, reverting to previous states, and maintaining a comprehensive development history. This practice is vital as it enhances a team&amp;rsquo;s ability to deliver value in a predictable and sustainable manner, facilitating the implementation of continuous integration and continuous delivery (CI/CD) pipelines that promote rapid feedback and reduced lead times. Such agility empowers organisations to swiftly adapt to market demands and customer feedback, fostering innovation. Additionally, modern source control encourages a systematic approach to development through branching strategies, such as feature branches or trunk-based development, which support parallel workstreams and minimise disruptions to the main codebase. This not only improves collaboration but also helps in managing technical debt by allowing teams to isolate and resolve issues more efficiently. By integrating these practices into their workflows, organisations can cultivate a resilient development environment that prioritises quality and efficiency, ultimately contributing to long-term success in product delivery.</description>
			</item>
	</channel>
</rss>
