Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 1011433
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 16, 20262026-05-16T09:14:01+00:00 2026-05-16T09:14:01+00:00

‘svn log’ shows the log of: 1) files whose content has changed AND/OR 2)

  • 0

‘svn log’ shows the log of:
1) files whose content has changed
AND/OR
2) files whose properties have changed.

Is there a way to show only files for which case 1 applies?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-16T09:14:02+00:00Added an answer on May 16, 2026 at 9:14 am

    ‘svn log’ shows the log of: 1) files
    whose content has changed AND/OR 2)
    files whose properties have changed.

    As you know, svn log’s output is organized by commit log messages rather than by files. If you use verbose mode (-v), it will show the files (“paths”) associated with each log entry.
    However some of those paths can be outside of the requested target (default: your current directory). Do you want the results to include those external paths as well?
    I guess taking your question at face value, you’re just asking for filtering, so yes you would want those external paths if they represent a content change to files.

    Here is a solution. It may be slow, but I tested it and it works in cygwin on Windows 7.
    (Don’t forget, make sure your scripts have unixy line endings! with dos2unix if necessary)

    It’s really only one long line, except for an external sed script (which a real hacker could put on the command line but life is short to be messing with command-line escaping):

    #!/bin/sh
    
    # These paths are set up for cygwin
    SED=/bin/sed
    SORT=/bin/sort
    UNIQ=/bin/uniq
    XARGS=/bin/xargs
    GREP=/bin/grep
    SVN=svn
    
    # Add desired log options here
    LOG_OPTIONS=-v
    SINCE_REV=10800
    SED_SCRIPT=/cygdrive/c/temp/get-paths.sed
    # Make sure you edit the sed script referenced above
    # to set the base URL of your repository.
    
    # 1) generate the list of log messages, including affected paths (svn log -v)
    # 2) process out those paths (sed)
    # 3) eliminate duplicates (sort | uniq)
    # 4) get the change history for each of those paths (svn diff)
    # 5) filter out the ones that involve only property changes (sed)
    # 6) eliminate duplicates again (sort | uniq)
    $SVN log $LOG_OPTIONS | $SED -n -f $SED_SCRIPT | $SORT | $UNIQ \
     | $XARGS -n20 -I PATHS $SVN diff -r $SINCE_REV --summarize PATHS 2> error.log \
     | $SED -n 's/^[^ ].... *//p' | $SORT | $UNIQ
    

    Here is the external sed script. Be sure to change the svn repository base URL to the right base URL for your repository. I.e. the beginning part of the svn URL that is not output by svn log -v.

     # sed script to output all lines between
     # /^Changed paths:$/ and /^$/, exclusive.
     # Also removes first 5 columns (status) and replaces them with svn repository base url.
    
     /^Changed paths:$/,/^$/ {
       /^Changed paths:$/b
       /^$/b
       s|^.....|https://svn.myrepo.org/prefix|
       s/ (from .*)$//
       p
    }
    

    The script will output some error messages to error.log, primarily “path not found”, which I believe is for files that used to be present in the repository but have been moved (renamed) or deleted.

    Does this meet your requirements?

    Credit to Michael Augustin at this page for ideas about grepping the output of svn diff to remove property-only changes.

    P.S. This other page seems to ask the same question, but there’s no full answer there.

    P.P.S. Edited the above bash script to add an extra | sort | uniq to the end of the pipeline, since I have seen duplicates come out there. Though I don’t see why they would occur.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

No related questions found

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.