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

  • Home
  • SEARCH
  • 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 4233518
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 21, 20262026-05-21T02:13:48+00:00 2026-05-21T02:13:48+00:00

We are in the process of migrating from PVCS to Subversion. I have demoed

  • 0

We are in the process of migrating from PVCS to Subversion. I have demoed a PVCS export => SVN import that does the job quite nicely for us but we have one issue.

We have made extensive use of PVCS labels and these give us a clear and consistent link to our Work Request numbers (W.R.). When we migrate to SVN these labels become tags (which in itself is fine) BUT we’re also implementing JIRA and so need to link the appropriate SVN version to a JIRA issue number. This is done by writing the JIRA issue number into the SVN log message.

So far; at SVN Import time I am reading each SVN log message and where I find a work request number I append the appropriate JIRA issue number to the SVN log message (using a post-commit script in SVN). However the practice of writing the W.R. into the PVCS commit description has been optional whereas the use of PVCS labels has been mandatory. Therefore many of the versions do not have a W.R. number in the log, only in the PVCS label (or as it becomes SVN Tag).

Is there any way I can find the PVCS version label during the SVN import? I can see them in the dump file created by the PVCS export where they become a part of the Node-path.

Or alternately is there a report or query I can run that will give me a list of revisions for each tag?

Regards
Karl

  • 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-21T02:13:49+00:00Added an answer on May 21, 2026 at 2:13 am

    I ended up sorting this myself. If anyone else has the same problem, I found that it was possible to get a list of all tags using

    svn ls <repo URL including tags location>
    

    and then get the versions in those tags using

    svn info ...
    

    And AWK the SVN INFO output using the following. Note I had to decrement the version number by 1 to get the actual version I was interested in. I think this is because during the import SVN copies the approriate version to the tag folder after creating the version and this is considered a version.

    BEGIN { RS="";
        FS = "\n"; }
    /^Path:/ { n1 = split($1,path,":");
               n3 = split($6,nodeKind, ":");
               n2 = split($9,lastRev,":");
               theRev = lastRev[2] -1;
    printf("%8s %10s, %-75s\n", theRev, nodeKind[2], path[2]); }
    

    WRKEYFILE and PTKEYFILE are just .csv lookup files to match against with a format of

    PT_TICKET,PKEY,Issue Title
    

    Then I wrote a script as follows …

    REPO=svn://vuwunicocsagfg1/Banner/tags
    REPOPATH=/var/subversion/Banner
    WRKEYFILE=workReq_pKey.unix
    PTKEYFILE=ptTicket_pKey.unix
    
    # working variables
    TEMPFILE=$$.tmp
    TAGLIST=$$.tags
    REVISIONS=$$.revisions
    SVNINFO=$$.info
    SVNLOOK=/usr/bin/svnlook
    
    
    # look up details in Subversion
    svn info -R $REPO | awk -f new_svn_report.awk > $SVNINFO
    svn ls $REPO > $TAGLIST
    
    cat $TAGLIST | awk '{ print $1}' | while read LINE
    do
    
       JIRAISSUE=""
       WRNUM=""
       PTNUM=""
       UWRNUM=""
       UPTNUM=""
    
       # Find Work Request or Perfect Tracker number
       WRNUM=$(echo "$LINE" | sed -n -e "s:.*\([wW][rR][0-9# -][0-9]\+\).*:\1:p")
       PTNUM=$(echo "$LINE" | sed -n -e "s:.*\([pP][tT][0-9# -][0-9]\+\).*:\1:p")
    
       # upper case the strings found and remove unwanted chars
       UWRNUM=`echo $WRNUM| tr 'a-z' 'A-Z' | tr --delete '# -'`
       UPTNUM=`echo $PTNUM| tr 'a-z' 'A-Z' | tr --delete '# -'`
       # Debug
       # echo "=============================="
       # echo "Line is: $LINE,  WRNUM is: $WRNUM, PTNUM is: $PTNUM"
    
       if [[ -n "$UWRNUM" ]]
       then
    
          # Find the JIRA issue number
          awk -F',' '/'"$UWRNUM"'/ {print $2}' $WRKEYFILE | awk '{if (NR==1) {print $0}}'  > $TEMPFILE
          JIRAISSUE=`cat $TEMPFILE`
    
          awk -F',' '/'"$UWRNUM"'/ {print $2,"; " $3}' $WRKEYFILE | tr '"' '_' | awk '{if (NR==1) {print $0}}' > $TEMPFILE
          NEWLOG=`cat $TEMPFILE`
    
          # all revisions in this Tag which are not directories
          grep $UWRNUM $SVNINFO | grep -v "directory" > $REVISIONS
       fi
    
       if [[ -n "$UPTNUM" ]]
       then
          # Find the JIRA issue number
          awk -F',' '/'"$UPTNUM"'/ {print $2}' $PTKEYFILE | awk '{if (NR==1) {print $0}}'  > $TEMPFILE
          JIRAISSUE=`cat $TEMPFILE`
    
          awk -F',' '/'"$UPTNUM"'/ {print $2,"; " $3}' $PTKEYFILE | tr '"' '_' | awk '{if (NR==1) {print $0}}' > $TEMPFILE
          NEWLOG=`cat $TEMPFILE`
    
          # all revisions in this Tag which are not directories
          grep $UPTNUM $SVNINFO | grep -v "directory" > $REVISIONS
       fi
    
       if [[ -n "$JIRAISSUE"  ]]
       then
          cat $REVISIONS | awk '{ print $1}' | while read REVLINE
          do
    
             $SVNLOOK log -r "$REVLINE" "$REPOPATH" | tr '"' '_' > $TEMPFILE
             OLDLOG=`cat $TEMPFILE `
    
             if `echo $OLDLOG | grep "$JIRAISSUE" 1>/dev/null 2>&1`
             then
                LOGMSG=$OLDLOG
             else
                LOGMSG="$OLDLOG  $NEWLOG"
             fi
            # Debug
             # echo "Jira issue is: $JIRAISSUE"
             # echo "update the log message for Revision $REVLINE"
             # echo "New log message is: $LOGMSG"
             # echo "***********************************"
    
             echo "svn propset --revprop -r "$REVLINE" svn:log \""$LOGMSG"\" $REPO"
             svn propset --revprop -r "$REVLINE" svn:log \""$LOGMSG"\" $REPO
             echo ""
    
           done
       fi
    done
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

After migrating from XCODE 4 to 4.2 i have quite a few problems with
I have an app that I am migrating from Ruby to JRuby (due to
We are in process of migrating from JSP VDL to Facelets VDL. We have
I am in the process of migrating from a Django FastCgi setup in Apache
We're in process of migrating one stable project from Castle Windsor 2.5.2 to 3.0.
I'm in the process of migrating a rather extensive REST service from WCF to
Sorry for the 'svn' style - we are in a process of migration from
THE TASK: I am in the process of migrating a DB from MS Access
I'm in the process of migrating a library that is written in C++ and
I'm currently in the process of migrating an application that uses NServiceBus 2.6 to

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.