1

I would like to know how can I create reports.

The first report that I need is the all files who was changed from a specific user from a beginning to a end datetime.

The second one, is similar to the first, but I need all messages commits and the files changed from a specific user from a beginning to a end datetime.

How can I perform this?

Example:

Report 1

user

Files changed from 2013-07-03 12:34:45 to 2013-09-16 15:00:37

a.php
b.txt
c.ini
d.rb
... and the other ones

Report 2

user

Commits did from 2013-07-03 12:34:45 to 2013-09-16 15:00:37 and the files changed

Message commit 1
    e.php
    j.txt

Message commit 2
    ka.rb
    asdf.jsp

... the another ones
GarouDan
  • 3,743
  • 9
  • 49
  • 75

1 Answers1

2

This is:

I tested those on the git repo for git itself:

  • Report1 would use git diff

    C:\Users\VonC\prog\git\git>
    git diff --author="Junio C Hamano" --name-status --pretty=oneline --abbrev-commit master@{"29 Jun 2013"}..master@{"14 Aug 2013"}
    

That is not satisfactory, as it uses the rev-parse syntax, which only goes back 90 days.

A more robust way would be to ask git rev-list to get the right SHA1 for git diff to use:
(but that works only in a unix-like bash, not in a DOS shell)

    VonC@VonCvb /c/Users/VonC/prog/git/git (master)
    $ git diff --author="Junio C Hamano" --name-status --pretty=oneline --abbrev-commit $(git rev-list -n 1 --before="10 Sep 2012" master) $(git rev-list -n 1 --before="12 Nov 2012" master)
  • Report2 would use git log:

    C:\Users\VonC\prog\git\git>
    git log --author="Junio C Hamano" --name-status --pretty=oneline --abbrev-commit --since "10 Sep 2012" --until "12 Nov 2012"
    
Community
  • 1
  • 1
VonC
  • 1,262,500
  • 529
  • 4,410
  • 5,250