I'm using Sourcetree to mange a Bitbucket account for a Unity engine project I'm working on. Unity uses an Assets folder which holds image files, game world files, etc.
I created a branch to fix a bug, and inside this branch I deleted several files in the Assets folder (mostly PNG images) and added several new ones as well as modified some other pertinent files. I've commited the finished changes to that branch just fine, however now that I'm attempting to merge these changes into master, Sourcetree seems to act as if there are no changes to any of the files in this Assets folder. After it prompts me to resolve conflicts, when I look at the working copy the entire Assets directory isn't even visible when viewing "Pending" or "Conflicts" files. These files are visible when I select to view "Clean" files, and there seems to be no insinuation at all that the branch I'm attempting to merge from has deleted or added files in this directory.
Any ideas what's going on in this situation?
EDIT: The Assets directory is not specified in the .gitignore file.
EDIT2: If I use ctrl to select the master and branch together, I am able to view the changes which are correctly reflected. However the problem arises when attempting to merge.
After the merge the files are the older versions (the ones in master NOT the ones in the branch). Here's some pictures for example:
Here is the Assets/Sprites/Player directory in the sprites_blurry branch:
Now here is that same directory in the master branch:
We can check the differences between the two branches here:
And we see that the pictures do, indeed show up as different:
Now with the master branch checked out we attempt to merge the blurry_sprites branch into the master:
It says conflicts need to be resolved so we look in the working copy. However, the pending files don't recognize any of the contents of the Asset folder as being altered:
We can see this when we view the clean files, and the Asset directory is visible, containing the master's version of those files, but no reference to the branch's deletion of them or inclusion of new files:
I would assume they are listed as unstaged because there is no changes between them and the last commit. In those example pictures I am switching between the two branches by checking them out respectively. In the first picture the hotfix/sprites_blurry branch is checked out and the contents of the last commit to it are visible. In the second picture the master branch is checked out and the contents of the last commit to it are visible.
Are you changing branches after you started the merge to master?
Ah, in this picture I had attempted the merge commit but discarded the changes because it wasn't working properly as previously mentioned. It seems it kept that comment in the box below even though the merge commit never happened.
Without that discarded merge attempt, here is the working copy of the hotfix branch:
It seems like the issue is something to do with git and not Sourcetree in particular. I attempted to merge using the git terminal and had the same issues arise, so my somewhat hacky and non-elegant solution was to simply create a new branch off master, paste all the files from the troublesome branch into that new one, commit that branch, and then merge it into the master branch. This merge was successful so it seems like git has some issue with the tracking on the original branch for some reason.
A vulnerability has been published today in regards to Sourcetree for Windows. The goal of this article is to give you a summary of information we have gathered from Atlassian Community as a st...
Connect with like-minded Atlassian users at free events near you!Find an event
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no Community Events near you at the moment.Host an event