I am working in an environment where we use GitHub and Git as part of our development environment. Given that TWS does not have perfect support for the Git/Github scenario, we have adopted the structure of having our actual Soluttion directory for TWS as its own directory that is built from the sandbox it is connect to in the standard way. We then have a separate directory that is our GitHub/Git Repo.
As we work on a branch we pull it down to our local repo and then have Ant Migration scripts to push the source controlled code and config up to the same sandbox that TWS is pointed at. We then do "Pull From Salesforce" in TWS for all metadata/code after a push from our repo into the org. (When we want to commit, we will manuallly copy any changed files from our TWS directory bck into the Repo directory to see changes that need to be staged and commited)
I am running into an issue where I am assuming that if I do a mass "Pull from Salesforce" that any local files for TWS that have changes NOT present in the org file that I would see a "Resolve" button to manually "merge" what is on the org (from source control if you follow the path). I have seen however situations where what is in source control and gets pushed to the org ends up just overwriting what is in my local TWS directory without TWS detecting a need to "Resolve"....
This is an issue as you lose code, especially if you are collaborating with another user on a shared branch where each developer is committing as they go and the other developer wants to do a pull to "get the latest" from the other developer from time to time.
Let me know if my scenario is not clear. I'm looking for advice on if the method we are using is sound or I should be doing something differently.