Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to detect modified properties using SVN log

Background: writing an automated release script to export changed files between versions from SVN and upload to remote server.

The svn log command shows modified files and properties, but seems to not distinguish its verbose output between a content modification over property modifications.

Am I reading this output wrong, or is there an easy way to get a list of changed files between revisions whilst ignoring prop changes

Here's my sample cmd:

#: svn log "someurl" -r 2210:HEAD -v -q

Output:
------------------------------------------------------------------------
r2211 | author | 2010-02-08 12:36:56 +1300 (Mon, 08 Feb 2010)
Changed paths:
   M /branches/project/release-v1-r-maintenance
   M /branches/project/release-v1-r-maintenance/offroot/
   M /branches/project/release-v1-r-maintenance/offroot/test.config
------------------------------------------------------------------------

The top two are only prop changes (mergeinfo, ignores, etc), whereas the 3rd item is an actual content edit and this is the real item that I want to grab to avoid exporting whole root all over.

Is there anyway to get/filter out just the content changes from the svn log or other command.

like image 513
Dan Avatar asked Feb 08 '10 23:02

Dan


2 Answers

Here is a script i just wrote to get a verbose log of all revisions in which property changes inside the current svn dir where done. Just place the right start and end version where you guess the propertychange happened. It's not very fast, but it works.

#!/bin/bash
# Show the verbose log of the revisions, where svn properties 
# inside the current folder where added/removed
startrev=4600
endrev=4620
for i in $(eval echo {$startrev..$endrev})
  do
    svn diff -c $i 2>/dev/null | grep "Property changes on" 1>/dev/null
    if [ $? == 0 ]; then
      echo "Property change in revision $i:"
      svn log -r $i --verbose
    fi
done
like image 59
Wolkenarchitekt Avatar answered Sep 23 '22 02:09

Wolkenarchitekt


FYI, I posted a bash script over at How to make ‘svn log’ ignore property changes? that implements what jeroenh was alluding to... processing the output of svn log to drive svn diff and filtering on the output of the latter.

like image 43
LarsH Avatar answered Sep 22 '22 02:09

LarsH