How to get a list of all recent SVN commit messages?

SvnHistory

Svn Problem Overview


At times I want to revisit a change I committed to SVN a short while back, but don't recall the specific files involved or the revision number. So I would like to see a list of recent commit messages, ideally including the files included in each commit.

I picture going to the root of my working copy and entering something like the following to see the messages and files associated with the most recent 5 commits:

svn log -l5 -v *

Unfortunately, this command requires a single target, and won't accept '*'. I know SVN has the information I want. Is there a simple way to retrieve it?

Svn Solutions


Solution 1 - Svn

You can use svn log -l5 -v <URL of your repository>. svn info can be used to get the root URL for the repository where your working copy is connected to.

Solution 2 - Svn

svn log -q -v --limit N inside working copy (you have WC, isn't it?!) will show short list of latest N commits with commit-message (mea culpa, -q supress commit-message output) and files only

Log output example - repo

>svn log -q -v http://mayorat.ursinecorner.ru:8088/svn/Hello/ -l 5
------------------------------------------------------------------------
r33 | lazybadger | 2012-02-28 16:10:41 +0600 (Вт, 28 фев 2012)
Changed paths:
   M /trunk/Hello.en.txt
------------------------------------------------------------------------
r32 | lazybadger | 2011-12-27 17:37:31 +0600 (Вт, 27 дек 2011)
Changed paths:
   M /trunk/Hello.de.txt
   M /trunk/Hello.en.txt
------------------------------------------------------------------------
r31 | lazybadger | 2011-12-27 17:29:00 +0600 (Вт, 27 дек 2011)
Changed paths:
   M /trunk/Hello.de.txt
   M /trunk/Hello.en.txt
   M /trunk/Hello.fr.txt
------------------------------------------------------------------------
r30 | lazybadger | 2011-10-19 16:23:52 +0600 (Ср, 19 окт 2011)
Changed paths:
   M /trunk
------------------------------------------------------------------------
r29 | lazybadger | 2011-10-19 16:18:43 +0600 (Ср, 19 окт 2011)
Changed paths:
   M /trunk
------------------------------------------------------------------------

Secong log for commit-messages (removed -q -v)

>svn log http://mayorat.ursinecorner.ru:8088/svn/Hello/ -l 5
------------------------------------------------------------------------
r33 | lazybadger | 2012-02-28 16:10:41 +0600 (Вт, 28 фев 2012) | 1 line

One more change
------------------------------------------------------------------------
r32 | lazybadger | 2011-12-27 17:37:31 +0600 (Вт, 27 дек 2011) | 1 line

Cleanups
------------------------------------------------------------------------
r31 | lazybadger | 2011-12-27 17:29:00 +0600 (Вт, 27 дек 2011) | 1 line

Purification
------------------------------------------------------------------------
r30 | lazybadger | 2011-10-19 16:23:52 +0600 (Ср, 19 окт 2011) | 1 line

Try fix FS #2
------------------------------------------------------------------------
r29 | lazybadger | 2011-10-19 16:18:43 +0600 (Ср, 19 окт 2011) | 1 line

If I checkout repo from root and svn log in WC-rot, result will not differ at all

Hello>svn log -q -v -l 5
------------------------------------------------------------------------
r33 | lazybadger | 2012-02-28 16:10:41 +0600 (Вт, 28 фев 2012)
Changed paths:
   M /trunk/Hello.en.txt
------------------------------------------------------------------------
r32 | lazybadger | 2011-12-27 17:37:31 +0600 (Вт, 27 дек 2011)
Changed paths:
   M /trunk/Hello.de.txt
   M /trunk/Hello.en.txt
------------------------------------------------------------------------
r31 | lazybadger | 2011-12-27 17:29:00 +0600 (Вт, 27 дек 2011)
Changed paths:
   M /trunk/Hello.de.txt
   M /trunk/Hello.en.txt
   M /trunk/Hello.fr.txt
------------------------------------------------------------------------
r30 | lazybadger | 2011-10-19 16:23:52 +0600 (Ср, 19 окт 2011)
Changed paths:
   M /trunk
------------------------------------------------------------------------
r29 | lazybadger | 2011-10-19 16:18:43 +0600 (Ср, 19 окт 2011)
Changed paths:
   M /trunk

Solution 3 - Svn

For TortoiseSVN users:

  1. Browse to the repository folder and right click.
  2. Select TortoiseSVN > Show log

The log window appears.

  1. Select the first log and hold down Shift and select the last log you are interested in (Ctrl + A to select all. Alternatively you can use Ctrl selection method).
  2. Right click on of the selected entries and select Copy to clipboard > Messages

The log of commit messages is copied to your clipboard.

  1. Open Notepad or Notepad++ and paste the log (Ctrl + v). Save the file as you wish.

Solution 4 - Svn

  1.  svn log -l5 -v http://99.9.9.999/repos/reposName
    
     // This will show you only last 5 commit records
    
  2.  svn log -q -v http://99.9.9.999/repos/reposName
    
     // This will show you all the commit records
    

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestiongrwView Question on Stackoverflow
Solution 1 - SvnRudiView Answer on Stackoverflow
Solution 2 - SvnLazy BadgerView Answer on Stackoverflow
Solution 3 - Svnsa_leinadView Answer on Stackoverflow
Solution 4 - SvnDeblinaView Answer on Stackoverflow