comparison mercurial/commands.py @ 1435:22b44fd9a166

add --no-merges (-M) for log, outgoing, incoming
author Benoit Boissinot <benoit.boissinot@ens-lyon.org>
date Mon, 24 Oct 2005 15:37:20 -0700
parents 16a5d349963c
children db6d7b4005ba
comparison
equal deleted inserted replaced
1434:696851b1bba9 1435:22b44fd9a166
1212 o = repo.findincoming(other) 1212 o = repo.findincoming(other)
1213 if not o: 1213 if not o:
1214 return 1214 return
1215 o = other.newer(o) 1215 o = other.newer(o)
1216 for n in o: 1216 for n in o:
1217 parents = [p for p in other.changelog.parents(n) if p != nullid]
1218 if opts['no_merges'] and len(parents) == 2:
1219 continue
1217 show_changeset(ui, other, changenode=n) 1220 show_changeset(ui, other, changenode=n)
1218 if opts['patch']: 1221 if opts['patch']:
1219 prev = other.changelog.parents(n)[0] 1222 prev = (parents and parents[0]) or nullid
1220 dodiff(ui, ui, other, prev, n) 1223 dodiff(ui, ui, other, prev, n)
1221 ui.write("\n") 1224 ui.write("\n")
1222 1225
1223 def init(ui, dest="."): 1226 def init(ui, dest="."):
1224 """create a new repository in the given directory""" 1227 """create a new repository in the given directory"""
1271 for st, rev, fns in changeiter: 1274 for st, rev, fns in changeiter:
1272 if st == 'window': 1275 if st == 'window':
1273 du = dui(ui) 1276 du = dui(ui)
1274 elif st == 'add': 1277 elif st == 'add':
1275 du.bump(rev) 1278 du.bump(rev)
1279 changenode = repo.changelog.node(rev)
1280 parents = [p for p in repo.changelog.parents(changenode)
1281 if p != nullid]
1282 if opts['no_merges'] and len(parents) == 2:
1283 continue
1284
1276 br = None 1285 br = None
1277 if opts['keyword']: 1286 if opts['keyword']:
1278 changes = repo.changelog.read(repo.changelog.node(rev)) 1287 changes = repo.changelog.read(repo.changelog.node(rev))
1279 miss = 0 1288 miss = 0
1280 for k in [kw.lower() for kw in opts['keyword']]: 1289 for k in [kw.lower() for kw in opts['keyword']]:
1289 if opts['branch']: 1298 if opts['branch']:
1290 br = repo.branchlookup([repo.changelog.node(rev)]) 1299 br = repo.branchlookup([repo.changelog.node(rev)])
1291 1300
1292 show_changeset(du, repo, rev, brinfo=br) 1301 show_changeset(du, repo, rev, brinfo=br)
1293 if opts['patch']: 1302 if opts['patch']:
1294 changenode = repo.changelog.node(rev) 1303 prev = (parents and parents[0]) or nullid
1295 prev, other = repo.changelog.parents(changenode)
1296 dodiff(du, du, repo, prev, changenode, fns) 1304 dodiff(du, du, repo, prev, changenode, fns)
1297 du.write("\n\n") 1305 du.write("\n\n")
1298 elif st == 'iter': 1306 elif st == 'iter':
1299 for args in du.hunk[rev]: 1307 for args in du.hunk[rev]:
1300 ui.write(*args) 1308 ui.write(*args)
1324 dest = ui.expandpath(dest) 1332 dest = ui.expandpath(dest)
1325 other = hg.repository(ui, dest) 1333 other = hg.repository(ui, dest)
1326 o = repo.findoutgoing(other) 1334 o = repo.findoutgoing(other)
1327 o = repo.newer(o) 1335 o = repo.newer(o)
1328 for n in o: 1336 for n in o:
1337 parents = [p for p in repo.changelog.parents(n) if p != nullid]
1338 if opts['no_merges'] and len(parents) == 2:
1339 continue
1329 show_changeset(ui, repo, changenode=n) 1340 show_changeset(ui, repo, changenode=n)
1330 if opts['patch']: 1341 if opts['patch']:
1331 prev = repo.changelog.parents(n)[0] 1342 prev = (parents and parents[0]) or nullid
1332 dodiff(ui, ui, repo, prev, n) 1343 dodiff(ui, ui, repo, prev, n)
1333 ui.write("\n") 1344 ui.write("\n")
1334 1345
1335 def parents(ui, repo, rev=None): 1346 def parents(ui, repo, rev=None):
1336 """show the parents of the working dir or revision""" 1347 """show the parents of the working dir or revision"""
1870 [('p', 'strip', 1, _('path strip')), 1881 [('p', 'strip', 1, _('path strip')),
1871 ('f', 'force', None, _('skip check for outstanding changes')), 1882 ('f', 'force', None, _('skip check for outstanding changes')),
1872 ('b', 'base', "", _('base path'))], 1883 ('b', 'base', "", _('base path'))],
1873 _("hg import [-f] [-p NUM] [-b BASE] PATCH...")), 1884 _("hg import [-f] [-p NUM] [-b BASE] PATCH...")),
1874 "incoming|in": (incoming, 1885 "incoming|in": (incoming,
1875 [('p', 'patch', None, _('show patch'))], 1886 [('M', 'no-merges', None, _("do not show merges")),
1887 ('p', 'patch', None, _('show patch'))],
1876 _('hg incoming [-p] [SOURCE]')), 1888 _('hg incoming [-p] [SOURCE]')),
1877 "^init": (init, [], _('hg init [DEST]')), 1889 "^init": (init, [], _('hg init [DEST]')),
1878 "locate": 1890 "locate":
1879 (locate, 1891 (locate,
1880 [('r', 'rev', '', _('revision')), 1892 [('r', 'rev', '', _('revision')),
1888 [('I', 'include', [], _('include path in search')), 1900 [('I', 'include', [], _('include path in search')),
1889 ('X', 'exclude', [], _('exclude path from search')), 1901 ('X', 'exclude', [], _('exclude path from search')),
1890 ('b', 'branch', None, _('show branches')), 1902 ('b', 'branch', None, _('show branches')),
1891 ('k', 'keyword', [], _('search for a keyword')), 1903 ('k', 'keyword', [], _('search for a keyword')),
1892 ('r', 'rev', [], _('revision')), 1904 ('r', 'rev', [], _('revision')),
1905 ('M', 'no-merges', None, _("do not show merges")),
1893 ('p', 'patch', None, _('show patch'))], 1906 ('p', 'patch', None, _('show patch'))],
1894 _('hg log [-I] [-X] [-r REV]... [-p] [FILE]')), 1907 _('hg log [-I] [-X] [-r REV]... [-p] [FILE]')),
1895 "manifest": (manifest, [], _('hg manifest [REV]')), 1908 "manifest": (manifest, [], _('hg manifest [REV]')),
1896 "outgoing|out": (outgoing, 1909 "outgoing|out": (outgoing,
1897 [('p', 'patch', None, _('show patch'))], 1910 [('M', 'no-merges', None, _("do not show merges")),
1911 ('p', 'patch', None, _('show patch'))],
1898 _('hg outgoing [-p] [DEST]')), 1912 _('hg outgoing [-p] [DEST]')),
1899 "parents": (parents, [], _('hg parents [REV]')), 1913 "parents": (parents, [], _('hg parents [REV]')),
1900 "paths": (paths, [], _('hg paths [NAME]')), 1914 "paths": (paths, [], _('hg paths [NAME]')),
1901 "^pull": 1915 "^pull":
1902 (pull, 1916 (pull,