annotate mercurial/hg.py @ 1907:7718885070b1

let commands that show changesets use templates. mechanism is same as hgweb templates. old show_changeset code is still used for now if no template given, because it is faster than template code when verbose or debug. simple template can be given on command line using -t, --template. example: hg log -t '{author|person}\n' complex template can be put in template map file, given on command line using --map-file. we give two example map files: map-log.compact prints 3 lines of output for every change. map-log.verbose prints exact same output as default "hg log -v". map files are searched where user says, then in template path as backup. example: hg log --map-file map-log.compact defaults can be set in hgrc with ui.logtemplate and ui.logmap.
author Vadim Gelfer <vadim.gelfer@gmail.com>
date Mon, 27 Feb 2006 13:18:57 -0800
parents c81d264cd17d
children dec6d3c13dbf
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
9117c6561b0b Add back links from file revisions to changeset revisions
mpm@selenic.com
parents:
diff changeset
1 # hg.py - repository classes for mercurial
9117c6561b0b Add back links from file revisions to changeset revisions
mpm@selenic.com
parents:
diff changeset
2 #
9117c6561b0b Add back links from file revisions to changeset revisions
mpm@selenic.com
parents:
diff changeset
3 # Copyright 2005 Matt Mackall <mpm@selenic.com>
9117c6561b0b Add back links from file revisions to changeset revisions
mpm@selenic.com
parents:
diff changeset
4 #
9117c6561b0b Add back links from file revisions to changeset revisions
mpm@selenic.com
parents:
diff changeset
5 # This software may be used and distributed according to the terms
9117c6561b0b Add back links from file revisions to changeset revisions
mpm@selenic.com
parents:
diff changeset
6 # of the GNU General Public License, incorporated herein by reference.
9117c6561b0b Add back links from file revisions to changeset revisions
mpm@selenic.com
parents:
diff changeset
7
1089
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents: 1072
diff changeset
8 from node import *
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents: 1072
diff changeset
9 from repo import *
262
3db700146536 implement demand loading hack
mpm@selenic.com
parents: 256
diff changeset
10 from demandload import *
1101
2cf5c8a4eae5 Separate out old-http support
mpm@selenic.com
parents: 1094
diff changeset
11 demandload(globals(), "localrepo httprepo sshrepo statichttprepo")
0
9117c6561b0b Add back links from file revisions to changeset revisions
mpm@selenic.com
parents:
diff changeset
12
60
e32fdbd97839 Add hg:// protocol
mpm@selenic.com
parents: 56
diff changeset
13 def repository(ui, path=None, create=0):
623
314867960a4a Change remote repository to httprepository
Matt Mackall <mpm@selenic.com>
parents: 622
diff changeset
14 if path:
314867960a4a Change remote repository to httprepository
Matt Mackall <mpm@selenic.com>
parents: 622
diff changeset
15 if path.startswith("http://"):
1089
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents: 1072
diff changeset
16 return httprepo.httprepository(ui, path)
923
c7a3b88505cd Add basic https support for pull
mpm@selenic.com
parents: 919
diff changeset
17 if path.startswith("https://"):
1089
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents: 1072
diff changeset
18 return httprepo.httpsrepository(ui, path)
623
314867960a4a Change remote repository to httprepository
Matt Mackall <mpm@selenic.com>
parents: 622
diff changeset
19 if path.startswith("hg://"):
1089
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents: 1072
diff changeset
20 return httprepo.httprepository(
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents: 1072
diff changeset
21 ui, path.replace("hg://", "http://"))
623
314867960a4a Change remote repository to httprepository
Matt Mackall <mpm@selenic.com>
parents: 622
diff changeset
22 if path.startswith("old-http://"):
1101
2cf5c8a4eae5 Separate out old-http support
mpm@selenic.com
parents: 1094
diff changeset
23 return statichttprepo.statichttprepository(
2cf5c8a4eae5 Separate out old-http support
mpm@selenic.com
parents: 1094
diff changeset
24 ui, path.replace("old-http://", "http://"))
624
876333a295ff Add an sshrepository class and hg serve --stdio
Matt Mackall <mpm@selenic.com>
parents: 623
diff changeset
25 if path.startswith("ssh://"):
1089
142b5d5ec9cc Break apart hg.py
mpm@selenic.com
parents: 1072
diff changeset
26 return sshrepo.sshrepository(ui, path)
60
e32fdbd97839 Add hg:// protocol
mpm@selenic.com
parents: 56
diff changeset
27
1102
c81d264cd17d localrepo: minor opener usage restructuring
mpm@selenic.com
parents: 1101
diff changeset
28 return localrepo.localrepository(ui, path, create)