Opened 19 years ago
Closed 18 years ago
#3002 closed enhancement (fixed)
Please use textfile type diff display for changed svn properties
Reported by: | Owned by: | Christian Boos | |
---|---|---|---|
Priority: | low | Milestone: | 0.11 |
Component: | version control/changeset view | Version: | 0.9.4 |
Severity: | normal | Keywords: | diff properties |
Cc: | rhind@… | Branch: | |
Release Notes: | |||
API Changes: | |||
Internal Changes: |
Description
We typically have many externals set on some of our folders (say 10). Each of these are quite long URLs. When then lock them to revisions on a branch using -rXXX. If we then change the revision, trac does show that the properties have changed, but just shows the text before and after which for us just lists 20 URLs, but they aren't even on separate lines, which makes it virtually impossible to tell the difference.
Each property could be treated as a changed text file and use the standard diff display to show added/removed/changed lines which would be very helpful.
Attachments (1)
Change History (12)
comment:1 by , 19 years ago
comment:2 by , 19 years ago
Cc: | added |
---|
by , 19 years ago
Attachment: | prop_diffs_3002.patch added |
---|
Patch on r3116 implementing the suggested feature
comment:3 by , 19 years ago
Keywords: | diff properties added |
---|---|
Owner: | changed from | to
Priority: | normal → low |
Status: | new → assigned |
Well, that was an interesting suggestion for a Sunday morning :)
Please try out attachment:prop_diffs_3002.patch
That's a bit of a hack, though, as a proper implementation would require some cleanup in the versioncontrol/diff.py and mimeview/patch.py code, in order to be able to directly generate the html diff view from the fromlines/tolines without having to go through an unified diff text…
comment:4 by , 19 years ago
Yes, some of are stuck at work with nothing better to do and have to wait for those extra long C++ compile times :)
Thanks for the patch. I have a couple of questions. We're running 0.9.4 under Apache/mod_python on Win32 here. Can I install a dev version along side 0.9.4 so I can try the patch on a test repo? I don't want to change our actual repos over from 0.9.4.
Is it as easy as downloading r3116 in to a separate directory in our Python23 directory and applying the patch then pointing the test repo to the new mod_python handler?
Thanks
Russell
comment:5 by , 19 years ago
Never mind, I'll set up apache and stuff on my development machine so it won't interfere with out actual repos and trac system.
Thanks
Russell
comment:6 by , 19 years ago
This looks good. I've only tested it with svn:externals set. The only issue is if that the changeset only contains an externals modification, then there is no 'diff options' box in the top right of the page.
Thanks
Russell
comment:7 by , 19 years ago
Other minor points: It only shows in 'inline' view even when I change to 'side by side' (I modified a file in the same changeset so I could get to the diff options) and the column headings above the line numbers just show 'old' and 'new' rather than links to the actual revisiosn. Doesn't really matter, just thought I'd mention it as the modified file shows r2 and r3 links and the headings.
Cheers
Russell
comment:8 by , 18 years ago
Hi, Any chance this could make in on the list for 0.11? I found the patch you posted more useful than the current view.
Thanks
Russell
comment:9 by , 18 years ago
Milestone: | → 0.11 |
---|
Probably not in its current form, no ;)
But thanks for reminding me about that, there's certainly time to implement it proper for 0.11, together with #1601.
comment:10 by , 18 years ago
Status: | assigned → new |
---|
An example we that just occured for me was:
Property svn:externals changed from 3rdParty/lib/bcb -r60 http://ourserver.ourdomain.com/svn/eng-soft/3rdparty/bcb/6.4/lib 3rdParty/include/boost -r73 http://ourserver.ourdomain.com/svn/eng-soft/3rdparty/boost/1.32.0/include 3rdParty/lib/boost -r60 http://ourserver.ourdomain.com/svn/eng-soft/3rdparty/boost/1.32.0/lib 3rdParty/include/nidaq -r60 http://ourserver.ourdomain.com/svn/eng-soft/3rdparty/nidaq/6.9.3/include 3rdParty/lib/ldcn -r60 http://ourserver.ourdomain.com/svn/eng-soft/3rdparty/ldcn/1.0.6.1/lib 3rdParty/include/VTK -r60 http://ourserver.ourdomain.com/svn/eng-soft/3rdparty/VTK/4.2/include 3rdParty/lib/VTK -r60 http://ourserver.ourdomain.com/svn/eng-soft/3rdparty/VTK/4.2/lib 3rdParty/lib/vcl -r60 http://ourserver.ourdomain.com/svn/eng-soft/3rdparty/vcl/6.4 3rdParty/tools/subwcrev -r60 http://ourserver.ourdomain.com/svn/eng-soft/3rdparty/subwcrev/1.2.x 3rdParty/tools/sed -r60 http://ourserver.ourdomain.com/svn/eng-soft/3rdparty/sed/4.1.4 to 3rdParty/lib/bcb -r60 http://ourserver.ourdomain.com/svn/eng-soft/3rdparty/bcb/6.4/lib 3rdParty/include/boost -r83 http://ourserver.ourdomain.com/svn/eng-soft/3rdparty/boost/1.32.0/include 3rdParty/lib/boost -r83 http://ourserver.ourdomain.com/svn/eng-soft/3rdparty/boost/1.32.0/lib 3rdParty/include/nidaq -r60 http://ourserver.ourdomain.com/svn/eng-soft/3rdparty/nidaq/6.9.3/include 3rdParty/lib/ldcn -r60 http://ourserver.ourdomain.com/svn/eng-soft/3rdparty/ldcn/1.0.6.1/lib 3rdParty/include/VTK -r60 http://ourserver.ourdomain.com/svn/eng-soft/3rdparty/VTK/4.2/include 3rdParty/lib/VTK -r60 http://ourserver.ourdomain.com/svn/eng-soft/3rdparty/VTK/4.2/lib 3rdParty/lib/vcl -r60 http://ourserver.ourdomain.com/svn/eng-soft/3rdparty/vcl/6.4 3rdParty/tools/subwcrev -r60 http://ourserver.ourdomain.com/svn/eng-soft/3rdparty/subwcrev/1.2.x 3rdParty/tools/sed -r60 http://ourserver.ourdomain.com/svn/eng-soft/3rdparty/sed/4.1.4
The actual formatting in the changeset view was slightly worse than appears here because the changeset uses the entire width of my browser so you sometimes get 2 URLs on a line.
But each external is new-line separated so a diff on this would easily show that only 2 externals were changed, the boost include/lib externals changed from -r60 to -r83.
Thanks
Russell