Skip to content
git-ls-date is git sub command shows first and last commit date.
Python
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
testfiles
.gitignore
.python-version
LICENSE
MANIFEST.in
README.rst
git_ls_date.py
setup.py
test_git_ls_date.py
tox.ini

README.rst

git-ls-date

git-ls-date is git sub command shows first and last commit date.

Examples

Basic

default option is

  • date = short
  • format = "{fd} {fh} {ld} {lh} {f}"
$ git ls-date
2013-11-05 7ab1b16  2013-11-05 7ab1b16  README.rst
2013-11-07 342ad26  2013-11-10 2826492  git_ls_date.py

How long ago?

git ls-date --date relative --format "first commit is {fd: <20} | {f}"
first commit is 6 days ago           | .gitignore
first commit is 3 days ago           | .python-version
first commit is 3 days ago           | LICENSE
first commit is 77 minutes ago       | MANIFEST.in
first commit is 6 days ago           | README.rst
first commit is 3 days ago           | git_ls_date.py
first commit is 3 days ago           | setup.py
first commit is 3 days ago           | test_git_ls_date.py
first commit is 30 hours ago         | testfiles/testdirectory/testfile4
first commit is 30 hours ago         | testfiles/testfile1
first commit is 30 hours ago         | testfiles/testfile2
first commit is 30 hours ago         | testfiles/testfile3
first commit is 3 days ago           | tox.ini

Only show commit hash

$ git ls-date --format="{lh} {f}
7ab1b16 README.rst
2826492 git_ls_date.py

Sort files by last commit date

$ git ls-date --date iso --format "{ld} {f}" | sort
2013-11-05 04:40:11 +0900 .gitignore
2013-11-05 04:40:11 +0900 README.rst
2013-11-07 23:22:29 +0900 setup.py
2013-11-07 23:34:59 +0900 LICENSE
2013-11-08 15:36:16 +0900 .python-version
2013-11-09 15:07:06 +0900 testfiles/testdirectory/testfile4
2013-11-09 19:11:38 +0900 testfiles/testfile2
2013-11-09 19:11:38 +0900 testfiles/testfile3
2013-11-09 21:03:55 +0900 testfiles/testfile1
2013-11-09 22:22:38 +0900 tox.ini
2013-11-10 15:32:19 +0900 test_git_ls_date.py
2013-11-10 18:28:24 +0900 git_ls_date.py
2013-11-10 19:45:40 +0900 MANIFEST.in

Requirements

  • Python 2.6 / 2.7 / 3.2 / 3.3 or higher

I'm testing with 2.6.8, 2.7.5, 3.2.5, 3.3.2.

Installation

Install from pypi

easy_install git-ls-date

or

pip install git-ls-date

Install from github

git clone https://github.com/ton1517/git-ls-date.git
cd git-ls-date
python setup.py install

Manual setup

  1. Copy git_ls_date.py to a directory that is in your PATH.
  2. Rename it to git-ls-date.
  3. Change it to executable.
cd ~/bin
wget https://raw.github.com/ton1517/git-ls-date/master/git_ls_date.py -O git-ls-date
chmod +x git-ls-date

Usage

Usage:
git ls-date [--date=<option>] [--format=<format>] [<path>]...
git ls-date -h | --help
git ls-date -v | --version
Options:
-h --help                                             Show help.
-v --version                                          Show version.
-d --date=(relative|local|default|iso|rfc|short|raw)  Date option.(default: short)
-f --format=<format>                                  Show-format option. See SHOW FORMAT.(default: "{fd} {fh}  {ld} {lh}  {f}")
SHOW FORMAT:

format option allows you to specify which information you want to show.

placeholders:
  • {ld}: last commit date
  • {fd}: first commit date
  • {lh}: last commit hash
  • {fh}: first commit hash
  • {f}: filename
for example:
$ git ls-date --date=local --format="{fd} {fh}  {ld} {lh}  {f}" ./README.rst
Tue Nov 5 04:40:11 2013 7ab1b16  Tue Nov 5 04:40:11 2013 7ab1b16  README.rst

You can see more format spec to http://docs.python.org/3/library/string.html?highlight=string.format#formatspec

Gitconfig

You can write option in .gitconfig

for example:
[git-ls-date]
    date = relative
    format = {lh} {ld: <25} {f}
$ git ls-date
7ab1b16 6 days ago                  README.rst
2826492 2 hours ago                 git_ls_date.py
You can’t perform that action at this time.