Eskil

Diff
Login

Differences From Artifact [5f5f7eb83e]:

To Artifact [9cac4f4c04]:


72
73
74
75
76
77
78
79

80
81
82
83
84
85
86
87
88
89
90
91

92
93
94
95
96

97
98
99
100
101
102
103
104
105
106
107
108

109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127

128
129
130

131
132
133
134
135
136
137
72
73
74
75
76
77
78

79
80
81
82
83
84
85
86
87
88
89
90

91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107


108







109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132







-
+











-
+





+










-
-
+
-
-
-
-
-
-
-












+



+








If file names are given after -review, only the listed files are included.
If supported, the Commit button will be enabled allowing the viewed differences
to be committed directly from Eskil.

<h1>Conflict merging</h1>

Eskil can be used as a conflict resolution tool. See examples below for settings.
Eskil can be used as a conflict resolution tool. See examples below for settings. See also [./merge.wiki|Merge].

<h1>Tools Details</h1>

<h2>RCS/CVS</h2>

For RCS and CVS the arguments to -r are standard version numbers just like to their -r options.
If a revision is an integer, it is added to the last number in the current version, thus giving relative versions.  E.g. -1 gives the second to last version.

<h2>Subversion</h2>

For Subversion the arguments to -r are standard version numbers just like its -r option.
If a revision is a negative integer, the log is searched backwards for earlier versions.
If a revision is zero or a negative integer, the log is searched backwards for earlier versions.
E.g. -1 gives the second to last version.

<h2>Git</h2>

For Git -r <rev> is passed to show, as in "git show <rev>:<file>".
If a revision is zero or a negative integer, the log is searched backwards for earlier versions.

To use Eskil for conflict resolution these settings can be used.

<pre>git config --global merge.tool eskil</pre>
<pre>git config --global mergetool.eskil.cmd 'eskil -fine -a $BASE -o $MERGED $REMOTE $LOCAL'</pre>
<pre>git config --global diff.tool eskil</pre>
<pre>git config --global difftool.eskil.cmd 'eskil $LOCAL $REMOTE'</pre>

<h2>Fossil</h2>

For Fossil -r <rev> is passed to finfo, as in "fossil finfo -p <file> -r <rev>".

See [./fossil.wiki|Fossil].
Additionally, if a revision is zero or a negative integer, the log is searched backwards
for earlier versions. E.g. -1 gives the second to last version. The search
follows the current branch from the current version.

To use Eskil for conflict resolution these settings can be used.

<pre>fossil settings gmerge-command 'eskil -fine -a "%baseline" "%merge" "%original" -o "%output"' -global</pre>

<h2>Mercurial</h2>

For Mercurial -r mostly works as in "hg cat -r".
However, Eskil interprets zero or negative numbers as going back from the tip, i.e. -1 is one step back, corresponding to -2 in Mercurial.

Mercurial is supported in the Directory Diff, but needs the hglist extension to
display correct file sizes and dates. If not they are faked using the file's
sha1 and thus unique per file and gives a correct result in comparison.

To use Eskil for conflict resolution these config settings can be used.

<verbatim>
[merge-tools]
eskil.args = -fine -a $base $other $local -o $output
eskil.priority = 1
</verbatim>

<h2>Bazaar</h2>

For Bazaar -r works as in "bzr cat -r".

<h2>ClearCase</h2>