Le 27/05/2018 à 20:09, Christophe Jaillet a écrit :
Hi,
From time to time, I try to synch 2.4.x with trunk in order to avoid to
many differences between the 2. It is just small steps, but it may avoid
some nightmares when something needs to be backported. To many
differences lead to merge issue.
So, IMHO, the closest, the better.
I used to do it with a simple 'svn diff' + manual inspection of what
'looks' easy and safe to backport. Then 'svn blame' to spot the
corresponding commit, then 'svn merge --dry-run' to see if it can be
merged as-is.
This is tedious. So today, I wrote a small script that automates most of
the process. It merges the 'svn diff' with the 'svn blame' output in
order to have most of the relevant information at the same place.
Then, I can easily find commit numbers, who did it, if other commits
numbers are around, search in the 2.4.x/trunk diff file...
Very helpful to me (I wanted to write something like that for years).
I think that it could be also useful for others for digging the code
and/or proposing backports.
It also helps to spot its own pieces of code that have never been
backported :)
This not httpd specific and it could be used to have a more instrumented
'svn diff' output to diff two branches of a svn repository.
First, make the 'normal' diff file:
diff -rup -X httpd_exclude.txt svn_httpd_2.4.x/
svn_httpd_trunk_unmodified/ > ~/diff_httpd_2.4.diff
Then:
./my_history_httpd_2.4 diff_httpd_2.4.diff >
diff_httpd_2.4_with_history.diff
The 'my_history_httpd_2.4' script and the corresponding outputs are
attached. Enjoy.
Any feedback and/or improvement appreciated.
CJ
Forgot to also attach my httpd_exclude.txt list.
CJ
.svn
srclib
config\.log
config\.nice
config\.status
Makefile
NWGNU*
CHANGES
STATUS
configure
exports.c
export_files
output.txt
*.o
*.lo
*.la
*.slo
*.deps
*.libs
*.su
*.html
*.meta
*.utf8
*.svg
*.1
*.8
*.da
*.de
*.en
*.es
*.euc-kr
*.ja
*.ko
*.pt-br
*.ru
*.ru.koi8-r
*.tr
*.zh-cn
*.html.fr
*.fr
dox
docs
docs