Auto-generate man pages for all StGit commands
[stgit] / stgit / commands / id.py
CommitLineData
e1261152
CM
1__copyright__ = """
2Copyright (C) 2005, Catalin Marinas <catalin.marinas@gmail.com>
3
4This program is free software; you can redistribute it and/or modify
5it under the terms of the GNU General Public License version 2 as
6published by the Free Software Foundation.
7
8This program is distributed in the hope that it will be useful,
9but WITHOUT ANY WARRANTY; without even the implied warranty of
10MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11GNU General Public License for more details.
12
13You should have received a copy of the GNU General Public License
14along with this program; if not, write to the Free Software
15Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16"""
17
48c930db
CM
18from stgit.out import out
19from stgit.commands import common
20from stgit.lib import stack
e1261152 21
575bbdae
KH
22help = 'Print the git hash value of a StGit reference'
23usage = ['[options] [id]']
24description = """
48c930db
CM
25Print the SHA1 value of a Git id (defaulting to HEAD). In addition to
26the standard Git id's like heads and tags, this command also accepts
27'[<branch>:]<patch>' and '[<branch>:]{base}' showing the id of a patch
28or the base of the stack. If no branch is specified, it defaults to the
29current one. The bottom of a patch is accessible with the
30'[<branch>:]<patch>^' format."""
e1261152 31
48c930db 32options = []
e1261152 33
575bbdae
KH
34directory = common.DirectoryHasRepositoryLib()
35
e1261152
CM
36def func(parser, options, args):
37 """Show the applied patches
38 """
39 if len(args) == 0:
40 id_str = 'HEAD'
41 elif len(args) == 1:
42 id_str = args[0]
43 else:
44 parser.error('incorrect number of arguments')
45
48c930db 46 out.stdout(common.git_commit(id_str, directory.repository).sha1)