Show which files have been changed in any branch of SVN, but have not yet merged with the trunk

In our sub-option, repository changes are often performed in one or more function branches, as well as in the trunk. Before releasing the next version to the test department, we would like to check if any file has been changed in any branch, but has not yet merged with the trunk. Also sometimes we just have a list of all revisions, whether in the trunk or in any branch in which a particular file was changed, so we can view all the commits (and not just one big commit created by merging back to the trunk),

Example. There is a file with a name /trunk/src/main.cand several branches /trunk. Now src/main.cchanges in /trunk/, but also in /branches/feature99/src/main.c. Now I want to get a list or graph that shows me: a) that there are noticeable changes in the branch (i.e. there was no merging with the body after that), and b) all changes that main.c(in any branch) were changed.

Is there a tool that shows this that is best on a good schedule or list? It may be based on each file, but if we could get a list of all files with a fixed modification that have not yet been merged with the trunk, it would be even better.

The editing graph created by TortoiseSVN is close if it is used in the same file or directory, but, for example, does not show a merge.

I understand that this requires scanning the entire repository, since this information is not available directly in the svn repo database.

+4
source share
1 answer

Assuming that your repo has merge tracking enabled, it svn mergeinfo --show-revs eligiblewill show you the changes in the branch since the last merge, that is, those who have the right to merge.

Then, to get a little deeper, it svn mergeinfo --show-revs eligible --logincludes log entries, then add -vtoo to view the modified files.

svn mergeinfo http://host/svn/branches/b1 http://host/svn/trunk --show-revs eligible --log -v
------------------------------------------------------------------------
r7 | username | 2018-04-09 21:31:21 +0100 (Mon, 09 Apr 2018) | 1 line
Changed paths:
   M /branches/b1/dir/file.txt

Second change on b1
------------------------------------------------------------------------

Just in case, if he is not familiar with TortoiseSVN, the command svnis available, for example, C:\Program Files\TortoiseSVN\bin- I hope it is already on your way.

+2
source

Source: https://habr.com/ru/post/1695214/


All Articles