When I view the 'Show Log' in Tortoisegit, some of the revisions are shown without a node/bullet in Graph. What does that mean?
In the log dialog all revisions (except working tree changes - as these are uncommitted) have a bullet indicating on which „branch“ they are located.
It can happen, however, that the column is not wide enough.
Related
For some reason, source tree does not show the listing of files in my commit. I am on the "Workspace->History" view, It's set to "All Branches", "Show Remote Branches" and "Ancestral Order".
The tree shows up fine.
Under that, it shows me commit description, SHA1, parents, author, date, labels. On the right, it shows me only the diff of only one of files in the commit.
If I drag up the lower border, I can see the Command History.
If I create and stage new files, I do see them appear in the lower portion of the view in "Staged files" and "Unstaged files", and I can click on each file, and the diff on the right shows the differences. But once I commit, I can no longer see the file listing.
I know that all the files are committed as I see them in ls-files, it seems like I'm missing an option or preference somewhere in the tool. Anyone know what I'm referring to?
Wow. I did not realize there was a table with "Filename / Path" headers. On a mac at least, you can resize the contents of the table to a 0 height, so that it completely disappears and there is no way to bring it back without hovering over with a mouse.
I try to merge two branches with Xcode. I get conflict, and I use "let then right" button to reconcile conflict. But when I click "merge", Xcode shows the error
fatal: You have not concluded your merge (MERGE_HEAD exists).
Please, commit your changes before you merge.
Here is the screenshot
The four icons at the bottom mean this:
left then right - keep both changes, placing the left code before the right
left - keep only the left file
right - keep only the right file
right then left - keep both changes, placing the right code before the left
You chose "left then right" as you stated. However, I see that in your code both files have <outlet property="bottomView"> and <outlet property="finishSuiDuButton"> line which will result in duplicate code after merge, since the code from both files will be included. It looks to me like the option you actually want is option 2 - keep only the left file.
Either that or remove the duplicate code from one of the files and you should be good. :)
I have two branch and they are called as NewFeature1 and subFun100. subFun100 is a branch created from previous commit in NewFeature1. Now, I have fixed code in subFun100 and I want to merge back into NewFeature1 branch. But, I have conflict like this. I just want to take both codes and how shall I do? Merge button is hidden and I can't click. Is there any step I am missing?
Merging Two Branches from developer apple.
3 . Resolve differences by using the left and right buttons to specify which file’s contents to use.
4 . After resolving all differences and conflicts, click Merge.
Use these 4 buttons. (red circle)
How To Use Git Source Control with Xcode in iOS 7
You need to resolve each conflict, choosing either left, right or both.
Only then you can complete the merge.
The documentation is here: http://www.kernel.org/pub/software/scm/git/docs/git-mergetool.html
A handy guide is here: http://ryanflorence.com/git-for-beginners/
However, neither of them explain how to use mergetool's filemerge.
The guide I read says "I hit enter and FileMerge pops up and I deal with the conflicts:" but it doesn't mention how to "deal with the conflicts".
When I run:
git mergetool
:and then hit return as prompted, and the filemerge window opens showing all the merge conflicts, it only responds to the commands cmd+D and cmd+shift+D (which allow cycling through the conflicts). However, there doesn't seem to be a mention of how to, for each conflict, choose left/right/neither. The combo-box dropdown does not seem to do anything.
Have already looked at docs, guide, file system menu, and systematically pressed keys on the keyboard looking for a response =)
I haven't found any official documentation for it, but here's the understanding I got from trial and error:
There's a split view with your two options on the left and right. You can't edit either of those. There's also a bottom view which you can edit. You might need to pull up on the little circle in the middle of the bottom of the screen to expand that section.
For each conflict, click on the area in middle of the left/right split view and choose from the drop down in the lower right either "Choose Left" if the left is what you want or "Choose Right" if that is what you want. If neither option is good, click "Choose Neither" and edit it in the bottom section.
There's an arrow in the middle column that will show whether you've chosen left or right by pointing at it. If you've chosen neither, the arrow will disappear. All three views scroll together using the scroll bar on the far right screen.
When you're done, click File > Save Merge from the menubar.
I see the option for specifying three files (left, right, and ancestor), but it doesn't seem to be possible to actually display the ancestor.
The bottom pane shows the result of the merge. I'd rather see what the original content was, so I could understand the context for the left and right sides of the conflict. Is this possible? FileMerge has awful help documentation.
Looks like in version 2.5 they have finally added this feature. "Ancestor" now actually means "Ancestor" and there is a separate "merge" option
From the command line you can do something like this:
$ opendiff mine theirs --ancestor base
Where "mine" is my version of the file, "theirs" is the version I'm trying to merge with, and "base" is the common ancestor of "mine" and "theirs.
This command will open File Merge and show the ancestor at the bottom (where the merge is in my example from 2010).
Unfortunately, it's not possible to use the --merge option along with the --ancestor option. So you can't view a three-way merge AND use File Merge to resolve the conflicts at the same time.
I am starting to use File Merge for viewing and understanding the conflict, then editing the conflict markers in a text editor as usual. (sigh...)
To my knowledge, this is not possible with filemerge.
Paid (but very good) app: http://www.deltopia.com/
Open source: http://sourcegear.com/diffmerge/
#mehaase:
That is not exactly correct. Here is the documentation on the new ancestor option from FileMerge Help:
Sometimes, you need to compare two versions of a file that have been modified
independently. For example, say two people branch a file; that is, they make
copies of a file and modify it. In this case, specify an ancestor file, which
is the common ancestor of the modified files.
The ancestor file lets FileMerge choose when to take changes from the left
file or the right file. For example, say the left file and the right file
contain a different version of line 33. If line 33 in the ancestor matches
line 33 in the left file, you know the change happened after the two files
branched off, and FileMerge prefers the newer version of line 33 in the right
file. If line 33 is different among the three files, you know that the files’
editors edited the lines separately. FileMerge displays that difference with
a red border and asks you to choose with edit to use.
So the ancestor is still not displayed, but it helps the merge tool to make a little more informed decisions when it decides to choose the left or right sides by default.
I realise this answer technically doesn't answer the question on how to do it with FileMerge, but I use kdiff3 (available for Windows, Mac and *nix) and it shows the base/ancestor, plus left and right, plus output/result, for a 3-way merge. (http://kdiff3.sourceforge.net/)
It's not a pretty user interface, but (IMHO) it's fairly simple to use and works well. And it's open source. :-)