##// END OF EJS Templates
extdiff: add --change option to display single changeset diff...
Gilles Moris -
r7758:e81e6c99 default
parent child Browse files
Show More
@@ -117,7 +117,19 b' def dodiff(ui, repo, diffcmd, diffopts, '
117 117 another one and more than 1 file is changed
118 118 - just invoke the diff for a single file in the working dir
119 119 '''
120 node1, node2 = cmdutil.revpair(repo, opts['rev'])
120
121 revs = opts.get('rev')
122 change = opts.get('change')
123
124 if revs and change:
125 msg = _('cannot specify --rev and --change at the same time')
126 raise util.Abort(msg)
127 elif change:
128 node2 = repo.lookup(change)
129 node1 = repo[node2].parents()[0].node()
130 else:
131 node1, node2 = cmdutil.revpair(repo, revs)
132
121 133 matcher = cmdutil.match(repo, pats, opts)
122 134 modified, added, removed = repo.status(node1, node2, matcher)[:3]
123 135 if not (modified or added or removed):
@@ -205,6 +217,7 b' cmdtable = {'
205 217 [('p', 'program', '', _('comparison program to run')),
206 218 ('o', 'option', [], _('pass option to comparison program')),
207 219 ('r', 'rev', [], _('revision')),
220 ('c', 'change', '', _('change made by revision')),
208 221 ] + commands.walkopts,
209 222 _('hg extdiff [OPT]... [FILE]...')),
210 223 }
@@ -32,9 +32,14 b' hg update 0'
32 32 echo c >> c
33 33 hg add c
34 34 hg ci -m "new branch" -d '1 0'
35 hg update -C 1
36 hg merge tip
35 hg merge 1
37 36 # should diff cloned file against wc file
38 hg falabala > out || echo "diff-like tools yield a non-zero exit code"
37 hg falabala > out
39 38 # cleanup the output since the wc is a tmp directory
40 39 sed 's:\(.* \).*\(\/test-extdiff\):\1[tmp]\2:' out
40 # test --change option
41 hg ci -d '2 0' -mtest3
42 hg falabala -c 1
43 # check diff are made from the first parent
44 hg falabala -c 3 || echo "diff-like tools yield a non-zero exit code"
45 #hg log
@@ -20,6 +20,7 b' options:'
20 20
21 21 -o --option pass option to comparison program
22 22 -r --rev revision
23 -c --change change made by revision
23 24 -I --include include names matching the given patterns
24 25 -X --exclude exclude names matching the given patterns
25 26
@@ -27,8 +28,9 b' use "hg -v help falabala" to show global'
27 28 diffing a.8a5febb7f867/a a.34eed99112ab/a
28 29 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
29 30 created new head
30 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
31 31 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
32 32 (branch merge, don't forget to commit)
33 diffing a.2a13a4d2da36/a [tmp]/test-extdiff/a/a
34 diffing a.8a5febb7f867/a a.34eed99112ab/a
35 diffing a.2a13a4d2da36/a a.46c0e4daeb72/a
33 36 diff-like tools yield a non-zero exit code
34 diffing a.34eed99112ab/c [tmp]/test-extdiff/a/c
General Comments 0
You need to be logged in to leave comments. Login now