Appendix D: 2 principles for project managementīefore we start, I’d like to compare a few concepts from Plastic SCM to other version control systems, so everything will be much easier for you to understand in the following sections.Typical challenges found in setups with multiple product branches.When to merge maintenance branches back.Simple proposal for maintenance branches.Appendix C: Alternative branching strategies and solutions to frequent problems.Plastic 1.0, 2.0 and first international sales.It all started with a dream… and a challenge.Materials for learning more essential info.Files that require merge during checkin.How to convert a partial workspace into a full workspace and vice versa.Fully checked and partially checked directories.Partial workspaces can checkin without downloading new changes.Partial workspaces aren’t in sync with a given changeset.Full workspaces are always ready to merge.What if you really want to override changes?.Switch branch with changes – why it is risky.Tuning the update operation in full workspaces.Locking: avoiding merges for unmergeable files.Conflicts during checkin – working on a single branch.Re-merging a branch that was subtracted.Automatic resolution of directory conflicts.Conflict resolution order – directories before files.Recursive merge – why it is better than just choosing one ancestor.Recursive merge – more than 2 ancestors.2-way merge: life before common ancestors.Plastic always creates a changeset as result of the merge.Merge contributors: source, destination and base.Changesets can be moved to a different branch.Every repository starts with a main branch.A trick to replicate just a single changeset from main.Our recommended option – single source of truth and not exact clones.Sources of truth in distributed development.Use pull to resolve concurrent changes on your repo.Concurrent changesets on different repos.Handling concurrent changes on replicated repos.Why normal changeset numbers don’t always match, and do we need GUIDs?.Is distributed better for branching and merging?.Plastic can do centralized and distributed.Centralized and distributed flavors and layouts.Practical advice: Fantastic repos and when to create them.Keep it simple - Don’t overdesign your repo structure.Automation, orchestration and mergebots.How do task branches blend with distributed development?.Why do I insist on using task branches instead of just doing checkin?.Task branches blend well with Trunk-based development.Automated tests passing on each task branch.Have well-known starting points - do not shoot moving targets!.A small story on our experience with Exploratory.Validation – exploratory tests on each task.Reviews are crucial to prevent code from rotting.How we started reviewing every single task.A finished task must be ready to be deployed. What happens when a task can’t be merged automatically?.Task branches turn plans into solid artifacts that developers can touch.Objection: But… you need to be very careful with checkins, that’s a lot of work!.Checkin often and keep reviewers in mind.Techniques to keep branches independent.What if you really need tasks to depend on each other.You annotate a given revision of a file.Annotate/blame from command line and GUI.Are task branches mandatory in Plastic SCM?.
0 Comments
Leave a Reply. |