I have a number of separate projects that share some common code. What is the best practice for accomplishing this in Git, and specifically SmartGit?
Have everything in one giant repository
Have a repository for each project, and a repository for shared code, and use Git Submodules.
Have a repository for each project, and a repository for shared code, and use Git Subtrees. Can anyone tell me if this is supported by SmartGit, and how it can be achieved?
What are the potential pitfalls with these methods, and what are the best practices with SmartGit?