From e2f541c98dfa4081fa3ab3d28f08ea2309281884 Mon Sep 17 00:00:00 2001 From: tpearson Date: Mon, 15 Mar 2010 17:32:48 +0000 Subject: Added KDE3 version of kdesvn git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/kdesvn@1103685 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- AUTHORS | 13 + CMakeLists.txt | 129 + COPYING | 26 + COPYING.OpenSSL | 127 + ChangeLog | 315 ++ Doxyfile.in | 281 ++ Doxyfile.svnqt.in | 276 ++ GPL.txt | 280 ++ Helperstuff/BuildService/Readme.OSC.txt | 5 + Helperstuff/BuildService/debian.changelog | 357 ++ Helperstuff/BuildService/debian.control | 53 + Helperstuff/BuildService/kdesvn.dsc.in | 13 + Helperstuff/BuildService/kdesvn.spec.in | 122 + INSTALL-cmake | 72 + NEWS | 0 README | 3 + TODO | 1 + cmakemodules/FindKdeLibs.cmake | 521 +++ cmakemodules/KDE3Macros.cmake | 391 +++ cmakemodules/MacroEnsureVersion.cmake | 28 + cmakemodules/SetupCompiler.cmake | 72 + cmakemodules/TestSetenv.cxx | 7 + cmakemodules/cmake_uninstall.cmake.in | 21 + cmakemodules/generatelibtoolfile.cmake | 16 + cmakemodules/kde3uic.cmake | 20 + cmakemodules/kdesvnMacros.cmake | 50 + cmakemodules/makedist.sh.in | 37 + cmakemodules/package_messages.sh.in | 82 + doc/CMakeLists.txt | 54 + doc/en/hi128-filesys-kdesvnadded.png | Bin 0 -> 1318 bytes doc/en/hi128-filesys-kdesvnconflicted.png | Bin 0 -> 5565 bytes doc/en/hi128-filesys-kdesvndeleted.png | Bin 0 -> 1286 bytes doc/en/hi128-filesys-kdesvnlocked.png | Bin 0 -> 3586 bytes doc/en/hi128-filesys-kdesvnmodified.png | Bin 0 -> 5543 bytes doc/en/hi128-filesys-kdesvnneedlock.png | Bin 0 -> 6474 bytes doc/en/hi128-filesys-kdesvnupdates.png | Bin 0 -> 4803 bytes doc/en/index.docbook | 2324 ++++++++++++ doc/makecommon.sh | 16 + doc/makelink.cmake | 18 + doc/man/CMakeLists.txt | 8 + doc/man/kdesvn.1 | 166 + doc/man/kdesvnaskpass.1 | 147 + doc/nl/hi128-filesys-kdesvnadded.png | Bin 0 -> 1318 bytes doc/nl/hi128-filesys-kdesvnconflicted.png | Bin 0 -> 5565 bytes doc/nl/hi128-filesys-kdesvndeleted.png | Bin 0 -> 1286 bytes doc/nl/hi128-filesys-kdesvnlocked.png | Bin 0 -> 3586 bytes doc/nl/hi128-filesys-kdesvnmodified.png | Bin 0 -> 5543 bytes doc/nl/hi128-filesys-kdesvnneedlock.png | Bin 0 -> 6474 bytes doc/nl/hi128-filesys-kdesvnupdates.png | Bin 0 -> 4803 bytes doc/nl/index.docbook | 2174 ++++++++++++ kdesvn-config.h.in | 14 + kdesvn.spec | 98 + kdesvn.spec.in | 98 + kdesvn_logo1.png | Bin 0 -> 19946 bytes po/CMakeLists.txt | 1 + po/ca.po | 3641 +++++++++++++++++++ po/cs.po | 3452 ++++++++++++++++++ po/de.po | 3575 +++++++++++++++++++ po/es.po | 3570 +++++++++++++++++++ po/fr.po | 3632 +++++++++++++++++++ po/gl.po | 3597 +++++++++++++++++++ po/it.po | 3696 ++++++++++++++++++++ po/ja.po | 3478 ++++++++++++++++++ po/kdesvn.pot | 3313 ++++++++++++++++++ po/lt.po | 3354 ++++++++++++++++++ po/nl.po | 3580 +++++++++++++++++++ po/pa.po | 3400 ++++++++++++++++++ po/ru.po | 3342 ++++++++++++++++++ po/sv.po | 3586 +++++++++++++++++++ src/CMakeLists.txt | 57 + src/README | 81 + src/askpass/kdesvn-askpass.cpp | 64 + src/commandline.cpp | 84 + src/commandline.h | 41 + src/commandline_part.cpp | 48 + src/commandline_part.h | 43 + src/eventnumbers.h | 36 + src/helpers/CMakeLists.txt | 14 + src/helpers/ktranslateurl.cpp | 141 + src/helpers/ktranslateurl.h | 43 + src/helpers/sshagent.cpp | 257 ++ src/helpers/sshagent.h | 65 + src/helpers/stringhelper.h | 66 + src/helpers/sub2qt.cpp | 49 + src/helpers/sub2qt.h | 43 + src/icons/CMakeLists.txt | 2 + src/icons/hi128-app-kdesvn.png | Bin 0 -> 8139 bytes src/icons/hi16-app-kdesvn.png | Bin 0 -> 710 bytes src/icons/hi22-app-kdesvn.png | Bin 0 -> 894 bytes src/icons/hi32-app-kdesvn.png | Bin 0 -> 1370 bytes src/icons/hi48-app-kdesvn.png | Bin 0 -> 2302 bytes src/icons/hi64-app-kdesvn.png | Bin 0 -> 3298 bytes src/icons/hisc-app-kdesvn.svgz | Bin 0 -> 3470 bytes src/kdesvn.cpp | 450 +++ src/kdesvn.desktop | 22 + src/kdesvn.h | 116 + src/kdesvn.lsm | 16 + src/kdesvn_events.cpp | 7 + src/kdesvn_events.h | 17 + src/kdesvn_part.cpp | 451 +++ src/kdesvn_part.h | 146 + src/kdesvn_part.rc | 243 ++ src/kdesvnd/CMakeLists.txt | 55 + src/kdesvnd/kdesvn_subversion.desktop.in | 368 ++ src/kdesvnd/kdesvnd.desktop | 12 + src/kdesvnd/kdesvnd_dcop.cpp | 461 +++ src/kdesvnd/kdesvnd_dcop.h | 74 + src/kdesvnd/main.cpp | 67 + src/kdesvnui.rc | 60 + src/kdesvnview.cpp | 485 +++ src/kdesvnview.h | 142 + src/kiosvn/CMakeLists.txt | 26 + src/kiosvn/kiobytestream.cpp | 63 + src/kiosvn/kiobytestream.h | 66 + src/kiosvn/kiolistener.cpp | 408 +++ src/kiosvn/kiolistener.h | 83 + src/kiosvn/kiosvn.cpp | 954 +++++ src/kiosvn/kiosvn.h | 120 + src/kiosvn/ksvn+file.protocol | 39 + src/kiosvn/ksvn+http.protocol | 39 + src/kiosvn/ksvn+https.protocol | 39 + src/kiosvn/ksvn+ssh.protocol | 39 + src/kiosvn/ksvn.protocol | 39 + src/kiosvn/svn+file.protocol | 39 + src/kiosvn/svn+http.protocol | 39 + src/kiosvn/svn+https.protocol | 39 + src/kiosvn/svn+ssh.protocol | 39 + src/kiosvn/svn.protocol | 39 + src/ksvnwidgets/CMakeLists.txt | 46 + src/ksvnwidgets/authdialogimpl.cpp | 69 + src/ksvnwidgets/authdialogimpl.h | 40 + src/ksvnwidgets/authdlg.ui | 195 ++ src/ksvnwidgets/depthform.ui | 93 + src/ksvnwidgets/depthselector.cpp | 97 + src/ksvnwidgets/depthselector.h | 42 + src/ksvnwidgets/diffbrowser.cpp | 256 ++ src/ksvnwidgets/diffbrowser.h | 64 + src/ksvnwidgets/diffbrowserdata.cpp | 43 + src/ksvnwidgets/diffbrowserdata.h | 42 + src/ksvnwidgets/diffsyntax.cpp | 95 + src/ksvnwidgets/diffsyntax.h | 40 + src/ksvnwidgets/encodingselector.ui | 91 + src/ksvnwidgets/encodingselector_impl.cpp | 50 + src/ksvnwidgets/encodingselector_impl.h | 40 + src/ksvnwidgets/logmessage.ui | 344 ++ src/ksvnwidgets/logmsg_impl.cpp | 653 ++++ src/ksvnwidgets/logmsg_impl.h | 102 + src/ksvnwidgets/pwstorage.cpp | 208 ++ src/ksvnwidgets/pwstorage.h | 53 + src/ksvnwidgets/revertform.ui | 89 + src/ksvnwidgets/revertform_impl.cpp | 57 + src/ksvnwidgets/revertform_impl.h | 38 + src/ksvnwidgets/ssltrustprompt.ui | 40 + src/ksvnwidgets/ssltrustprompt_impl.cpp | 92 + src/ksvnwidgets/ssltrustprompt_impl.h | 32 + src/main.cpp | 97 + src/pics/CMakeLists.txt | 2 + src/pics/hi128-action-kdesvnadd.png | Bin 0 -> 10181 bytes src/pics/hi128-action-kdesvnaddrecursive.png | Bin 0 -> 12478 bytes src/pics/hi128-action-kdesvnblame.png | Bin 0 -> 11319 bytes src/pics/hi128-action-kdesvncat.png | Bin 0 -> 8421 bytes src/pics/hi128-action-kdesvncheckout.png | Bin 0 -> 12030 bytes src/pics/hi128-action-kdesvncheckupdates.png | Bin 0 -> 10379 bytes src/pics/hi128-action-kdesvncleanup.png | Bin 0 -> 14571 bytes src/pics/hi128-action-kdesvncommit.png | Bin 0 -> 8520 bytes src/pics/hi128-action-kdesvncopy.png | Bin 0 -> 21089 bytes src/pics/hi128-action-kdesvndelete.png | Bin 0 -> 12031 bytes src/pics/hi128-action-kdesvndiff.png | Bin 0 -> 18461 bytes src/pics/hi128-action-kdesvnexport.png | Bin 0 -> 10731 bytes src/pics/hi128-action-kdesvninfo.png | Bin 0 -> 9366 bytes src/pics/hi128-action-kdesvnlock.png | Bin 0 -> 4899 bytes src/pics/hi128-action-kdesvnlog.png | Bin 0 -> 9328 bytes src/pics/hi128-action-kdesvnmerge.png | Bin 0 -> 2313 bytes src/pics/hi128-action-kdesvnrelocate.png | Bin 0 -> 7762 bytes src/pics/hi128-action-kdesvnswitch.png | Bin 0 -> 10845 bytes src/pics/hi128-action-kdesvnunlock.png | Bin 0 -> 4022 bytes src/pics/hi128-action-kdesvnupdate.png | Bin 0 -> 8016 bytes src/pics/hi128-filesys-kdesvnadded.png | Bin 0 -> 1318 bytes src/pics/hi128-filesys-kdesvnconflicted.png | Bin 0 -> 5565 bytes src/pics/hi128-filesys-kdesvndeleted.png | Bin 0 -> 1286 bytes src/pics/hi128-filesys-kdesvnlocked.png | Bin 0 -> 3586 bytes src/pics/hi128-filesys-kdesvnmodified.png | Bin 0 -> 5543 bytes src/pics/hi128-filesys-kdesvnneedlock.png | Bin 0 -> 6474 bytes src/pics/hi128-filesys-kdesvnupdates.png | Bin 0 -> 4803 bytes src/pics/hi16-action-kdesvnadd.png | Bin 0 -> 740 bytes src/pics/hi16-action-kdesvnaddrecursive.png | Bin 0 -> 813 bytes src/pics/hi16-action-kdesvnblame.png | Bin 0 -> 835 bytes src/pics/hi16-action-kdesvncat.png | Bin 0 -> 750 bytes src/pics/hi16-action-kdesvncheckout.png | Bin 0 -> 679 bytes src/pics/hi16-action-kdesvncheckupdates.png | Bin 0 -> 788 bytes src/pics/hi16-action-kdesvncleanup.png | Bin 0 -> 834 bytes src/pics/hi16-action-kdesvncommit.png | Bin 0 -> 630 bytes src/pics/hi16-action-kdesvncopy.png | Bin 0 -> 897 bytes src/pics/hi16-action-kdesvndelete.png | Bin 0 -> 710 bytes src/pics/hi16-action-kdesvndiff.png | Bin 0 -> 934 bytes src/pics/hi16-action-kdesvnexport.png | Bin 0 -> 624 bytes src/pics/hi16-action-kdesvninfo.png | Bin 0 -> 769 bytes src/pics/hi16-action-kdesvnlock.png | Bin 0 -> 642 bytes src/pics/hi16-action-kdesvnlog.png | Bin 0 -> 685 bytes src/pics/hi16-action-kdesvnmerge.png | Bin 0 -> 503 bytes src/pics/hi16-action-kdesvnrelocate.png | Bin 0 -> 636 bytes src/pics/hi16-action-kdesvnswitch.png | Bin 0 -> 725 bytes src/pics/hi16-action-kdesvnunlock.png | Bin 0 -> 611 bytes src/pics/hi16-action-kdesvnupdate.png | Bin 0 -> 612 bytes src/pics/hi16-filesys-kdesvnadded.png | Bin 0 -> 340 bytes src/pics/hi16-filesys-kdesvnconflicted.png | Bin 0 -> 491 bytes src/pics/hi16-filesys-kdesvndeleted.png | Bin 0 -> 269 bytes src/pics/hi16-filesys-kdesvnlocked.png | Bin 0 -> 469 bytes src/pics/hi16-filesys-kdesvnmodified.png | Bin 0 -> 482 bytes src/pics/hi16-filesys-kdesvnneedlock.png | Bin 0 -> 556 bytes src/pics/hi16-filesys-kdesvnupdates.png | Bin 0 -> 489 bytes src/pics/hi22-action-kdesvnadd.png | Bin 0 -> 1069 bytes src/pics/hi22-action-kdesvnaddrecursive.png | Bin 0 -> 1177 bytes src/pics/hi22-action-kdesvnblame.png | Bin 0 -> 1202 bytes src/pics/hi22-action-kdesvncat.png | Bin 0 -> 990 bytes src/pics/hi22-action-kdesvncheckout.png | Bin 0 -> 1011 bytes src/pics/hi22-action-kdesvncheckupdates.png | Bin 0 -> 1141 bytes src/pics/hi22-action-kdesvncleanup.png | Bin 0 -> 1196 bytes src/pics/hi22-action-kdesvncommit.png | Bin 0 -> 899 bytes src/pics/hi22-action-kdesvncopy.png | Bin 0 -> 1376 bytes src/pics/hi22-action-kdesvndelete.png | Bin 0 -> 992 bytes src/pics/hi22-action-kdesvndiff.png | Bin 0 -> 1445 bytes src/pics/hi22-action-kdesvnexport.png | Bin 0 -> 925 bytes src/pics/hi22-action-kdesvninfo.png | Bin 0 -> 1068 bytes src/pics/hi22-action-kdesvnlock.png | Bin 0 -> 863 bytes src/pics/hi22-action-kdesvnlog.png | Bin 0 -> 969 bytes src/pics/hi22-action-kdesvnmerge.png | Bin 0 -> 637 bytes src/pics/hi22-action-kdesvnrelocate.png | Bin 0 -> 938 bytes src/pics/hi22-action-kdesvnswitch.png | Bin 0 -> 1118 bytes src/pics/hi22-action-kdesvnunlock.png | Bin 0 -> 787 bytes src/pics/hi22-action-kdesvnupdate.png | Bin 0 -> 876 bytes src/pics/hi22-filesys-kdesvnadded.png | Bin 0 -> 435 bytes src/pics/hi22-filesys-kdesvnconflicted.png | Bin 0 -> 667 bytes src/pics/hi22-filesys-kdesvndeleted.png | Bin 0 -> 318 bytes src/pics/hi22-filesys-kdesvnlocked.png | Bin 0 -> 632 bytes src/pics/hi22-filesys-kdesvnmodified.png | Bin 0 -> 655 bytes src/pics/hi22-filesys-kdesvnneedlock.png | Bin 0 -> 778 bytes src/pics/hi22-filesys-kdesvnupdates.png | Bin 0 -> 667 bytes src/pics/hi32-action-kdesvnadd.png | Bin 0 -> 1572 bytes src/pics/hi32-action-kdesvnaddrecursive.png | Bin 0 -> 1930 bytes src/pics/hi32-action-kdesvnblame.png | Bin 0 -> 1926 bytes src/pics/hi32-action-kdesvncat.png | Bin 0 -> 1618 bytes src/pics/hi32-action-kdesvncheckout.png | Bin 0 -> 1649 bytes src/pics/hi32-action-kdesvncheckupdates.png | Bin 0 -> 1764 bytes src/pics/hi32-action-kdesvncleanup.png | Bin 0 -> 1979 bytes src/pics/hi32-action-kdesvncommit.png | Bin 0 -> 1354 bytes src/pics/hi32-action-kdesvncopy.png | Bin 0 -> 2484 bytes src/pics/hi32-action-kdesvndelete.png | Bin 0 -> 1606 bytes src/pics/hi32-action-kdesvndiff.png | Bin 0 -> 2329 bytes src/pics/hi32-action-kdesvnexport.png | Bin 0 -> 1466 bytes src/pics/hi32-action-kdesvninfo.png | Bin 0 -> 1656 bytes src/pics/hi32-action-kdesvnlock.png | Bin 0 -> 1251 bytes src/pics/hi32-action-kdesvnlog.png | Bin 0 -> 1429 bytes src/pics/hi32-action-kdesvnmerge.png | Bin 0 -> 769 bytes src/pics/hi32-action-kdesvnrelocate.png | Bin 0 -> 1358 bytes src/pics/hi32-action-kdesvnswitch.png | Bin 0 -> 1718 bytes src/pics/hi32-action-kdesvnunlock.png | Bin 0 -> 1063 bytes src/pics/hi32-action-kdesvnupdate.png | Bin 0 -> 1298 bytes src/pics/hi32-filesys-kdesvnadded.png | Bin 0 -> 468 bytes src/pics/hi32-filesys-kdesvnconflicted.png | Bin 0 -> 1108 bytes src/pics/hi32-filesys-kdesvndeleted.png | Bin 0 -> 388 bytes src/pics/hi32-filesys-kdesvnlocked.png | Bin 0 -> 889 bytes src/pics/hi32-filesys-kdesvnmodified.png | Bin 0 -> 1021 bytes src/pics/hi32-filesys-kdesvnneedlock.png | Bin 0 -> 1199 bytes src/pics/hi32-filesys-kdesvnupdates.png | Bin 0 -> 960 bytes src/pics/hi48-action-kdesvnadd.png | Bin 0 -> 2760 bytes src/pics/hi48-action-kdesvnaddrecursive.png | Bin 0 -> 3302 bytes src/pics/hi48-action-kdesvnblame.png | Bin 0 -> 3331 bytes src/pics/hi48-action-kdesvncat.png | Bin 0 -> 2474 bytes src/pics/hi48-action-kdesvncheckout.png | Bin 0 -> 2910 bytes src/pics/hi48-action-kdesvncheckupdates.png | Bin 0 -> 2966 bytes src/pics/hi48-action-kdesvncleanup.png | Bin 0 -> 3572 bytes src/pics/hi48-action-kdesvncommit.png | Bin 0 -> 2308 bytes src/pics/hi48-action-kdesvncopy.png | Bin 0 -> 4638 bytes src/pics/hi48-action-kdesvndelete.png | Bin 0 -> 2872 bytes src/pics/hi48-action-kdesvndiff.png | Bin 0 -> 4430 bytes src/pics/hi48-action-kdesvnexport.png | Bin 0 -> 2544 bytes src/pics/hi48-action-kdesvninfo.png | Bin 0 -> 2825 bytes src/pics/hi48-action-kdesvnlock.png | Bin 0 -> 1846 bytes src/pics/hi48-action-kdesvnlog.png | Bin 0 -> 2458 bytes src/pics/hi48-action-kdesvnmerge.png | Bin 0 -> 1028 bytes src/pics/hi48-action-kdesvnrelocate.png | Bin 0 -> 2305 bytes src/pics/hi48-action-kdesvnswitch.png | Bin 0 -> 2932 bytes src/pics/hi48-action-kdesvnunlock.png | Bin 0 -> 1566 bytes src/pics/hi48-action-kdesvnupdate.png | Bin 0 -> 2179 bytes src/pics/hi48-filesys-kdesvnadded.png | Bin 0 -> 638 bytes src/pics/hi48-filesys-kdesvnconflicted.png | Bin 0 -> 1796 bytes src/pics/hi48-filesys-kdesvndeleted.png | Bin 0 -> 556 bytes src/pics/hi48-filesys-kdesvnlocked.png | Bin 0 -> 1341 bytes src/pics/hi48-filesys-kdesvnmodified.png | Bin 0 -> 1709 bytes src/pics/hi48-filesys-kdesvnneedlock.png | Bin 0 -> 1960 bytes src/pics/hi48-filesys-kdesvnupdates.png | Bin 0 -> 1579 bytes src/pics/hi64-action-kdesvnadd.png | Bin 0 -> 3823 bytes src/pics/hi64-action-kdesvnaddrecursive.png | Bin 0 -> 4917 bytes src/pics/hi64-action-kdesvnblame.png | Bin 0 -> 4742 bytes src/pics/hi64-action-kdesvncat.png | Bin 0 -> 3519 bytes src/pics/hi64-action-kdesvncheckout.png | Bin 0 -> 4376 bytes src/pics/hi64-action-kdesvncheckupdates.png | Bin 0 -> 4154 bytes src/pics/hi64-action-kdesvncleanup.png | Bin 0 -> 5171 bytes src/pics/hi64-action-kdesvncommit.png | Bin 0 -> 3277 bytes src/pics/hi64-action-kdesvncopy.png | Bin 0 -> 7335 bytes src/pics/hi64-action-kdesvndelete.png | Bin 0 -> 4185 bytes src/pics/hi64-action-kdesvndiff.png | Bin 0 -> 6862 bytes src/pics/hi64-action-kdesvnexport.png | Bin 0 -> 3885 bytes src/pics/hi64-action-kdesvninfo.png | Bin 0 -> 3965 bytes src/pics/hi64-action-kdesvnlock.png | Bin 0 -> 2415 bytes src/pics/hi64-action-kdesvnlog.png | Bin 0 -> 3655 bytes src/pics/hi64-action-kdesvnmerge.png | Bin 0 -> 1286 bytes src/pics/hi64-action-kdesvnrelocate.png | Bin 0 -> 3127 bytes src/pics/hi64-action-kdesvnswitch.png | Bin 0 -> 4128 bytes src/pics/hi64-action-kdesvnunlock.png | Bin 0 -> 2044 bytes src/pics/hi64-action-kdesvnupdate.png | Bin 0 -> 3122 bytes src/pics/hi64-filesys-kdesvnadded.png | Bin 0 -> 800 bytes src/pics/hi64-filesys-kdesvnconflicted.png | Bin 0 -> 2547 bytes src/pics/hi64-filesys-kdesvndeleted.png | Bin 0 -> 679 bytes src/pics/hi64-filesys-kdesvnlocked.png | Bin 0 -> 1863 bytes src/pics/hi64-filesys-kdesvnmodified.png | Bin 0 -> 2464 bytes src/pics/hi64-filesys-kdesvnneedlock.png | Bin 0 -> 2885 bytes src/pics/hi64-filesys-kdesvnupdates.png | Bin 0 -> 2247 bytes src/pics/hisc-action-kdesvnadd.svgz | Bin 0 -> 81670 bytes src/pics/hisc-action-kdesvnaddrecursive.svgz | Bin 0 -> 86434 bytes src/pics/hisc-action-kdesvnblame.svgz | Bin 0 -> 3338 bytes src/pics/hisc-action-kdesvncat.svgz | Bin 0 -> 2615 bytes src/pics/hisc-action-kdesvncheckout.svgz | Bin 0 -> 9354 bytes src/pics/hisc-action-kdesvncheckupdates.svgz | Bin 0 -> 4009 bytes src/pics/hisc-action-kdesvncleanup.svgz | Bin 0 -> 5439 bytes src/pics/hisc-action-kdesvncommit.svgz | Bin 0 -> 2842 bytes src/pics/hisc-action-kdesvncopy.svgz | Bin 0 -> 2308 bytes src/pics/hisc-action-kdesvndelete.svgz | Bin 0 -> 82166 bytes src/pics/hisc-action-kdesvndiff.svgz | Bin 0 -> 4594 bytes src/pics/hisc-action-kdesvnexport.svgz | Bin 0 -> 9231 bytes src/pics/hisc-action-kdesvninfo.svgz | Bin 0 -> 2884 bytes src/pics/hisc-action-kdesvnlock.svgz | Bin 0 -> 3428 bytes src/pics/hisc-action-kdesvnlog.svgz | Bin 0 -> 1803 bytes src/pics/hisc-action-kdesvnmerge.svgz | Bin 0 -> 5128 bytes src/pics/hisc-action-kdesvnrelocate.svgz | Bin 0 -> 3848 bytes src/pics/hisc-action-kdesvnswitch.svgz | Bin 0 -> 4252 bytes src/pics/hisc-action-kdesvnunlock.svgz | Bin 0 -> 4140 bytes src/pics/hisc-action-kdesvnupdate.svgz | Bin 0 -> 2990 bytes src/pics/hisc-filesys-kdesvnadded.svgz | Bin 0 -> 4173 bytes src/pics/hisc-filesys-kdesvnconflicted.svgz | Bin 0 -> 3273 bytes src/pics/hisc-filesys-kdesvndeleted.svgz | Bin 0 -> 4691 bytes src/pics/hisc-filesys-kdesvnlocked.svgz | Bin 0 -> 3484 bytes src/pics/hisc-filesys-kdesvnmodified.svgz | Bin 0 -> 2501 bytes src/pics/hisc-filesys-kdesvnneedlock.svgz | Bin 0 -> 4827 bytes src/pics/hisc-filesys-kdesvnupdates.svgz | Bin 0 -> 2393 bytes src/pics/to_png.py | 50 + src/settings/CMakeLists.txt | 50 + src/settings/cmdexecsettings.ui | 155 + src/settings/cmdexecsettings_impl.cpp | 41 + src/settings/cmdexecsettings_impl.h | 46 + src/settings/diffmergesettings.ui | 251 ++ src/settings/diffmergesettings_impl.cpp | 45 + src/settings/diffmergesettings_impl.h | 34 + src/settings/dispcolor_settings.ui | 259 ++ src/settings/dispcolorsettings_impl.cpp | 47 + src/settings/dispcolorsettings_impl.h | 34 + src/settings/display_settings.ui | 243 ++ src/settings/displaysettings_impl.cpp | 44 + src/settings/displaysettings_impl.h | 34 + src/settings/kdesvn-use-external-update.sh | 31 + src/settings/kdesvn_part.kcfg | 261 ++ src/settings/kdesvnpartrc-use-external.upd | 6 + src/settings/kdesvnsettings.kcfgc | 6 + src/settings/revisiontree_settings.ui | 247 ++ src/settings/revisiontreesettingsdlg_impl.cpp | 31 + src/settings/revisiontreesettingsdlg_impl.h | 33 + src/settings/subversion_settings.ui | 249 ++ src/settings/subversionsettings_impl.cpp | 37 + src/settings/subversionsettings_impl.h | 47 + src/svnfrontend/CMakeLists.txt | 86 + src/svnfrontend/blamedisplay.ui | 108 + src/svnfrontend/blamedisplay_impl.cpp | 490 +++ src/svnfrontend/blamedisplay_impl.h | 65 + src/svnfrontend/cacheentry.h | 581 +++ src/svnfrontend/ccontextlistener.cpp | 353 ++ src/svnfrontend/ccontextlistener.h | 96 + src/svnfrontend/commandexec.cpp | 650 ++++ src/svnfrontend/commandexec.h | 87 + src/svnfrontend/copymoveview.ui | 102 + src/svnfrontend/copymoveview_impl.cpp | 102 + src/svnfrontend/copymoveview_impl.h | 54 + src/svnfrontend/createrepo_dlg.ui | 207 ++ src/svnfrontend/createrepo_impl.cpp | 126 + src/svnfrontend/createrepo_impl.h | 46 + src/svnfrontend/dummydisplay.cpp | 55 + src/svnfrontend/dummydisplay.h | 40 + src/svnfrontend/dumprepo_dlg.ui | 200 ++ src/svnfrontend/dumprepo_impl.cpp | 112 + src/svnfrontend/dumprepo_impl.h | 40 + src/svnfrontend/editproperty_impl.cpp | 209 ++ src/svnfrontend/editproperty_impl.h | 54 + src/svnfrontend/editpropsdlg.ui | 244 ++ src/svnfrontend/filelistviewitem.cpp | 322 ++ src/svnfrontend/filelistviewitem.h | 88 + src/svnfrontend/fillcachethread.cpp | 123 + src/svnfrontend/fillcachethread.h | 54 + src/svnfrontend/frontendtypes.h | 11 + src/svnfrontend/fronthelpers/checkoutinfo.ui | 223 ++ src/svnfrontend/fronthelpers/checkoutinfo_impl.cpp | 211 ++ src/svnfrontend/fronthelpers/checkoutinfo_impl.h | 56 + src/svnfrontend/fronthelpers/cursorstack.h | 56 + src/svnfrontend/fronthelpers/propertyitem.cpp | 56 + src/svnfrontend/fronthelpers/propertyitem.h | 49 + src/svnfrontend/fronthelpers/propertylist.cpp | 166 + src/svnfrontend/fronthelpers/propertylist.h | 57 + src/svnfrontend/fronthelpers/rangeinput.ui | 285 ++ src/svnfrontend/fronthelpers/rangeinput_impl.cpp | 193 + src/svnfrontend/fronthelpers/rangeinput_impl.h | 58 + src/svnfrontend/fronthelpers/revisionbutton.ui | 55 + .../fronthelpers/revisionbuttonimpl.cpp | 75 + src/svnfrontend/fronthelpers/revisionbuttonimpl.h | 51 + src/svnfrontend/fronthelpers/widgetblockstack.cpp | 38 + src/svnfrontend/fronthelpers/widgetblockstack.h | 33 + src/svnfrontend/graphtree/drawparams.cpp | 708 ++++ src/svnfrontend/graphtree/drawparams.h | 200 ++ src/svnfrontend/graphtree/elogentry.cpp | 76 + src/svnfrontend/graphtree/elogentry.h | 37 + src/svnfrontend/graphtree/graphtree_defines.h | 31 + src/svnfrontend/graphtree/graphtreelabel.cpp | 220 ++ src/svnfrontend/graphtree/graphtreelabel.h | 89 + src/svnfrontend/graphtree/pannerview.cpp | 101 + src/svnfrontend/graphtree/pannerview.h | 53 + src/svnfrontend/graphtree/revgraphview.cpp | 950 +++++ src/svnfrontend/graphtree/revgraphview.h | 151 + src/svnfrontend/graphtree/revisiontree.cpp | 544 +++ src/svnfrontend/graphtree/revisiontree.h | 75 + src/svnfrontend/graphtree/revtreewidget.cpp | 115 + src/svnfrontend/graphtree/revtreewidget.h | 74 + src/svnfrontend/hotcopydlg.ui | 94 + src/svnfrontend/hotcopydlg_impl.cpp | 60 + src/svnfrontend/hotcopydlg_impl.h | 42 + src/svnfrontend/importdir_logmsg.cpp | 87 + src/svnfrontend/importdir_logmsg.h | 48 + src/svnfrontend/itemdisplay.cpp | 119 + src/svnfrontend/itemdisplay.h | 68 + src/svnfrontend/kdesvnfilelist.cpp | 3160 +++++++++++++++++ src/svnfrontend/kdesvnfilelist.h | 243 ++ src/svnfrontend/keystatus.cpp | 39 + src/svnfrontend/keystatus.h | 33 + src/svnfrontend/loaddmpdlg.ui | 183 + src/svnfrontend/loaddmpdlg_impl.cpp | 106 + src/svnfrontend/loaddmpdlg_impl.h | 40 + src/svnfrontend/merge_dlg.ui | 213 ++ src/svnfrontend/mergedlg_impl.cpp | 213 ++ src/svnfrontend/mergedlg_impl.h | 54 + src/svnfrontend/modifiedthread.cpp | 79 + src/svnfrontend/modifiedthread.h | 56 + src/svnfrontend/opencontextmenu.cpp | 83 + src/svnfrontend/opencontextmenu.h | 50 + src/svnfrontend/propertiesdlg.cpp | 293 ++ src/svnfrontend/propertiesdlg.h | 97 + src/svnfrontend/simple_logcb.h | 51 + src/svnfrontend/stopdlg.cpp | 216 ++ src/svnfrontend/stopdlg.h | 105 + src/svnfrontend/svnactions.cpp | 2891 +++++++++++++++ src/svnfrontend/svnactions.h | 254 ++ src/svnfrontend/svnfiletip.cpp | 308 ++ src/svnfrontend/svnfiletip.h | 97 + src/svnfrontend/svnitem.cpp | 535 +++ src/svnfrontend/svnitem.h | 111 + src/svnfrontend/svnlogdlg.ui | 479 +++ src/svnfrontend/svnlogdlgimp.cpp | 661 ++++ src/svnfrontend/svnlogdlgimp.h | 89 + src/svnfrontend/tcontextlistener.cpp | 319 ++ src/svnfrontend/tcontextlistener.h | 72 + src/svnfrontend/threadcontextlistenerdata.cpp | 30 + src/svnfrontend/threadcontextlistenerdata.h | 85 + src/svnqt/CMakeLists.txt | 205 ++ src/svnqt/annotate_line.hpp | 159 + src/svnqt/apr.cpp | 52 + src/svnqt/apr.hpp | 69 + src/svnqt/cache/DatabaseException.cpp | 12 + src/svnqt/cache/DatabaseException.hpp | 35 + src/svnqt/cache/LogCache.cpp | 468 +++ src/svnqt/cache/LogCache.hpp | 41 + src/svnqt/cache/ReposLog.cpp | 535 +++ src/svnqt/cache/ReposLog.hpp | 70 + src/svnqt/cache/sqlite3/README | 32 + src/svnqt/cache/sqlite3/qsql_sqlite3.cpp | 485 +++ src/svnqt/cache/sqlite3/qsql_sqlite3.h | 90 + src/svnqt/cache/sqlite3/qsqlcachedresult.cpp | 260 ++ src/svnqt/cache/sqlite3/qsqlcachedresult.h | 81 + src/svnqt/cache/test/CMakeLists.txt | 19 + src/svnqt/cache/test/sqlite.cpp | 111 + src/svnqt/cache/test/testconfig.h.in | 8 + src/svnqt/check.hpp | 50 + src/svnqt/client.cpp | 104 + src/svnqt/client.hpp | 882 +++++ src/svnqt/client_annotate.cpp | 142 + src/svnqt/client_cat.cpp | 105 + src/svnqt/client_diff.cpp | 184 + src/svnqt/client_impl.cpp | 123 + src/svnqt/client_impl.hpp | 881 +++++ src/svnqt/client_lock.cpp | 63 + src/svnqt/client_ls.cpp | 237 ++ src/svnqt/client_merge.cpp | 180 + src/svnqt/client_modify.cpp | 722 ++++ src/svnqt/client_property.cpp | 450 +++ src/svnqt/client_status.cpp | 736 ++++ src/svnqt/cmakemodules/FindSqlite.cmake | 32 + src/svnqt/cmakemodules/FindSubversion.cmake | 352 ++ src/svnqt/commititem.cpp | 167 + src/svnqt/commititem.hpp | 101 + src/svnqt/conflictdescription.cpp | 185 + src/svnqt/conflictdescription.hpp | 96 + src/svnqt/conflictresult.cpp | 131 + src/svnqt/conflictresult.hpp | 78 + src/svnqt/context.cpp | 136 + src/svnqt/context.hpp | 176 + src/svnqt/context_listener.hpp | 271 ++ src/svnqt/contextdata.cpp | 782 +++++ src/svnqt/contextdata.hpp | 338 ++ src/svnqt/datetime.cpp | 170 + src/svnqt/datetime.hpp | 166 + src/svnqt/diff_data.cpp | 145 + src/svnqt/diff_data.hpp | 75 + src/svnqt/diffoptions.cpp | 144 + src/svnqt/diffoptions.hpp | 79 + src/svnqt/dirent.cpp | 186 + src/svnqt/dirent.hpp | 131 + src/svnqt/entry.cpp | 394 +++ src/svnqt/entry.hpp | 245 ++ src/svnqt/exception.cpp | 224 ++ src/svnqt/exception.hpp | 138 + src/svnqt/helper.hpp | 98 + src/svnqt/info_entry.cpp | 311 ++ src/svnqt/info_entry.hpp | 118 + src/svnqt/lock_entry.cpp | 141 + src/svnqt/lock_entry.hpp | 90 + src/svnqt/log_entry.cpp | 190 + src/svnqt/log_entry.hpp | 137 + src/svnqt/path.cpp | 290 ++ src/svnqt/path.hpp | 200 ++ src/svnqt/pool.cpp | 94 + src/svnqt/pool.hpp | 92 + src/svnqt/repository.cpp | 104 + src/svnqt/repository.hpp | 119 + src/svnqt/repositorydata.cpp | 250 ++ src/svnqt/repositorydata.hpp | 73 + src/svnqt/repositorylistener.cpp | 37 + src/svnqt/repositorylistener.hpp | 56 + src/svnqt/revision.cpp | 299 ++ src/svnqt/revision.hpp | 222 ++ src/svnqt/shared_pointer.hpp | 193 + src/svnqt/smart_pointer.hpp | 146 + src/svnqt/status.cpp | 319 ++ src/svnqt/status.hpp | 187 + src/svnqt/stringarray.cpp | 121 + src/svnqt/stringarray.hpp | 73 + src/svnqt/svnfilestream.cpp | 134 + src/svnqt/svnfilestream.hpp | 69 + src/svnqt/svnqt_defines.hpp.in | 43 + src/svnqt/svnqttypes.hpp | 104 + src/svnqt/svnstream.cpp | 263 ++ src/svnqt/svnstream.hpp | 164 + src/svnqt/targets.cpp | 170 + src/svnqt/targets.hpp | 168 + src/svnqt/testmain.cpp | 62 + src/svnqt/tests/CMakeLists.txt | 23 + src/svnqt/tests/ckpath.cpp | 24 + src/svnqt/tests/crepo.cpp | 63 + src/svnqt/tests/lsdir.cpp | 78 + src/svnqt/tests/testconfig.h.in | 7 + src/svnqt/tests/testlistener.h | 37 + src/svnqt/url.cpp | 209 ++ src/svnqt/url.hpp | 104 + src/svnqt/version_check.cpp | 70 + src/svnqt/version_check.hpp | 43 + src/svnqt/wc.cpp | 129 + src/svnqt/wc.hpp | 96 + src/urldlg.cpp | 146 + src/urldlg.h | 48 + templates/cpp | 19 + templates/h | 19 + 575 files changed, 109818 insertions(+) create mode 100644 AUTHORS create mode 100644 CMakeLists.txt create mode 100644 COPYING create mode 100644 COPYING.OpenSSL create mode 100644 ChangeLog create mode 100644 Doxyfile.in create mode 100644 Doxyfile.svnqt.in create mode 100644 GPL.txt create mode 100644 Helperstuff/BuildService/Readme.OSC.txt create mode 100644 Helperstuff/BuildService/debian.changelog create mode 100644 Helperstuff/BuildService/debian.control create mode 100644 Helperstuff/BuildService/kdesvn.dsc.in create mode 100644 Helperstuff/BuildService/kdesvn.spec.in create mode 100644 INSTALL-cmake create mode 100644 NEWS create mode 100644 README create mode 100644 TODO create mode 100644 cmakemodules/FindKdeLibs.cmake create mode 100644 cmakemodules/KDE3Macros.cmake create mode 100644 cmakemodules/MacroEnsureVersion.cmake create mode 100644 cmakemodules/SetupCompiler.cmake create mode 100644 cmakemodules/TestSetenv.cxx create mode 100644 cmakemodules/cmake_uninstall.cmake.in create mode 100644 cmakemodules/generatelibtoolfile.cmake create mode 100644 cmakemodules/kde3uic.cmake create mode 100644 cmakemodules/kdesvnMacros.cmake create mode 100755 cmakemodules/makedist.sh.in create mode 100755 cmakemodules/package_messages.sh.in create mode 100644 doc/CMakeLists.txt create mode 100644 doc/en/hi128-filesys-kdesvnadded.png create mode 100644 doc/en/hi128-filesys-kdesvnconflicted.png create mode 100644 doc/en/hi128-filesys-kdesvndeleted.png create mode 100644 doc/en/hi128-filesys-kdesvnlocked.png create mode 100644 doc/en/hi128-filesys-kdesvnmodified.png create mode 100644 doc/en/hi128-filesys-kdesvnneedlock.png create mode 100644 doc/en/hi128-filesys-kdesvnupdates.png create mode 100644 doc/en/index.docbook create mode 100755 doc/makecommon.sh create mode 100644 doc/makelink.cmake create mode 100644 doc/man/CMakeLists.txt create mode 100644 doc/man/kdesvn.1 create mode 100644 doc/man/kdesvnaskpass.1 create mode 100644 doc/nl/hi128-filesys-kdesvnadded.png create mode 100644 doc/nl/hi128-filesys-kdesvnconflicted.png create mode 100644 doc/nl/hi128-filesys-kdesvndeleted.png create mode 100644 doc/nl/hi128-filesys-kdesvnlocked.png create mode 100644 doc/nl/hi128-filesys-kdesvnmodified.png create mode 100644 doc/nl/hi128-filesys-kdesvnneedlock.png create mode 100644 doc/nl/hi128-filesys-kdesvnupdates.png create mode 100644 doc/nl/index.docbook create mode 100644 kdesvn-config.h.in create mode 100644 kdesvn.spec create mode 100644 kdesvn.spec.in create mode 100644 kdesvn_logo1.png create mode 100644 po/CMakeLists.txt create mode 100644 po/ca.po create mode 100644 po/cs.po create mode 100644 po/de.po create mode 100644 po/es.po create mode 100644 po/fr.po create mode 100644 po/gl.po create mode 100644 po/it.po create mode 100644 po/ja.po create mode 100644 po/kdesvn.pot create mode 100644 po/lt.po create mode 100644 po/nl.po create mode 100644 po/pa.po create mode 100644 po/ru.po create mode 100644 po/sv.po create mode 100644 src/CMakeLists.txt create mode 100644 src/README create mode 100644 src/askpass/kdesvn-askpass.cpp create mode 100644 src/commandline.cpp create mode 100644 src/commandline.h create mode 100644 src/commandline_part.cpp create mode 100644 src/commandline_part.h create mode 100644 src/eventnumbers.h create mode 100644 src/helpers/CMakeLists.txt create mode 100644 src/helpers/ktranslateurl.cpp create mode 100644 src/helpers/ktranslateurl.h create mode 100644 src/helpers/sshagent.cpp create mode 100644 src/helpers/sshagent.h create mode 100644 src/helpers/stringhelper.h create mode 100644 src/helpers/sub2qt.cpp create mode 100644 src/helpers/sub2qt.h create mode 100644 src/icons/CMakeLists.txt create mode 100644 src/icons/hi128-app-kdesvn.png create mode 100644 src/icons/hi16-app-kdesvn.png create mode 100644 src/icons/hi22-app-kdesvn.png create mode 100644 src/icons/hi32-app-kdesvn.png create mode 100644 src/icons/hi48-app-kdesvn.png create mode 100644 src/icons/hi64-app-kdesvn.png create mode 100644 src/icons/hisc-app-kdesvn.svgz create mode 100644 src/kdesvn.cpp create mode 100644 src/kdesvn.desktop create mode 100644 src/kdesvn.h create mode 100644 src/kdesvn.lsm create mode 100644 src/kdesvn_events.cpp create mode 100644 src/kdesvn_events.h create mode 100644 src/kdesvn_part.cpp create mode 100644 src/kdesvn_part.h create mode 100644 src/kdesvn_part.rc create mode 100644 src/kdesvnd/CMakeLists.txt create mode 100644 src/kdesvnd/kdesvn_subversion.desktop.in create mode 100644 src/kdesvnd/kdesvnd.desktop create mode 100644 src/kdesvnd/kdesvnd_dcop.cpp create mode 100644 src/kdesvnd/kdesvnd_dcop.h create mode 100644 src/kdesvnd/main.cpp create mode 100644 src/kdesvnui.rc create mode 100644 src/kdesvnview.cpp create mode 100644 src/kdesvnview.h create mode 100644 src/kiosvn/CMakeLists.txt create mode 100644 src/kiosvn/kiobytestream.cpp create mode 100644 src/kiosvn/kiobytestream.h create mode 100644 src/kiosvn/kiolistener.cpp create mode 100644 src/kiosvn/kiolistener.h create mode 100644 src/kiosvn/kiosvn.cpp create mode 100644 src/kiosvn/kiosvn.h create mode 100644 src/kiosvn/ksvn+file.protocol create mode 100644 src/kiosvn/ksvn+http.protocol create mode 100644 src/kiosvn/ksvn+https.protocol create mode 100644 src/kiosvn/ksvn+ssh.protocol create mode 100644 src/kiosvn/ksvn.protocol create mode 100644 src/kiosvn/svn+file.protocol create mode 100644 src/kiosvn/svn+http.protocol create mode 100644 src/kiosvn/svn+https.protocol create mode 100644 src/kiosvn/svn+ssh.protocol create mode 100644 src/kiosvn/svn.protocol create mode 100644 src/ksvnwidgets/CMakeLists.txt create mode 100644 src/ksvnwidgets/authdialogimpl.cpp create mode 100644 src/ksvnwidgets/authdialogimpl.h create mode 100644 src/ksvnwidgets/authdlg.ui create mode 100644 src/ksvnwidgets/depthform.ui create mode 100644 src/ksvnwidgets/depthselector.cpp create mode 100644 src/ksvnwidgets/depthselector.h create mode 100644 src/ksvnwidgets/diffbrowser.cpp create mode 100644 src/ksvnwidgets/diffbrowser.h create mode 100644 src/ksvnwidgets/diffbrowserdata.cpp create mode 100644 src/ksvnwidgets/diffbrowserdata.h create mode 100644 src/ksvnwidgets/diffsyntax.cpp create mode 100644 src/ksvnwidgets/diffsyntax.h create mode 100644 src/ksvnwidgets/encodingselector.ui create mode 100644 src/ksvnwidgets/encodingselector_impl.cpp create mode 100644 src/ksvnwidgets/encodingselector_impl.h create mode 100644 src/ksvnwidgets/logmessage.ui create mode 100644 src/ksvnwidgets/logmsg_impl.cpp create mode 100644 src/ksvnwidgets/logmsg_impl.h create mode 100644 src/ksvnwidgets/pwstorage.cpp create mode 100644 src/ksvnwidgets/pwstorage.h create mode 100644 src/ksvnwidgets/revertform.ui create mode 100644 src/ksvnwidgets/revertform_impl.cpp create mode 100644 src/ksvnwidgets/revertform_impl.h create mode 100644 src/ksvnwidgets/ssltrustprompt.ui create mode 100644 src/ksvnwidgets/ssltrustprompt_impl.cpp create mode 100644 src/ksvnwidgets/ssltrustprompt_impl.h create mode 100644 src/main.cpp create mode 100644 src/pics/CMakeLists.txt create mode 100644 src/pics/hi128-action-kdesvnadd.png create mode 100644 src/pics/hi128-action-kdesvnaddrecursive.png create mode 100644 src/pics/hi128-action-kdesvnblame.png create mode 100644 src/pics/hi128-action-kdesvncat.png create mode 100644 src/pics/hi128-action-kdesvncheckout.png create mode 100644 src/pics/hi128-action-kdesvncheckupdates.png create mode 100644 src/pics/hi128-action-kdesvncleanup.png create mode 100644 src/pics/hi128-action-kdesvncommit.png create mode 100644 src/pics/hi128-action-kdesvncopy.png create mode 100644 src/pics/hi128-action-kdesvndelete.png create mode 100644 src/pics/hi128-action-kdesvndiff.png create mode 100644 src/pics/hi128-action-kdesvnexport.png create mode 100644 src/pics/hi128-action-kdesvninfo.png create mode 100644 src/pics/hi128-action-kdesvnlock.png create mode 100644 src/pics/hi128-action-kdesvnlog.png create mode 100644 src/pics/hi128-action-kdesvnmerge.png create mode 100644 src/pics/hi128-action-kdesvnrelocate.png create mode 100644 src/pics/hi128-action-kdesvnswitch.png create mode 100644 src/pics/hi128-action-kdesvnunlock.png create mode 100644 src/pics/hi128-action-kdesvnupdate.png create mode 100644 src/pics/hi128-filesys-kdesvnadded.png create mode 100644 src/pics/hi128-filesys-kdesvnconflicted.png create mode 100644 src/pics/hi128-filesys-kdesvndeleted.png create mode 100644 src/pics/hi128-filesys-kdesvnlocked.png create mode 100644 src/pics/hi128-filesys-kdesvnmodified.png create mode 100644 src/pics/hi128-filesys-kdesvnneedlock.png create mode 100644 src/pics/hi128-filesys-kdesvnupdates.png create mode 100644 src/pics/hi16-action-kdesvnadd.png create mode 100644 src/pics/hi16-action-kdesvnaddrecursive.png create mode 100644 src/pics/hi16-action-kdesvnblame.png create mode 100644 src/pics/hi16-action-kdesvncat.png create mode 100644 src/pics/hi16-action-kdesvncheckout.png create mode 100644 src/pics/hi16-action-kdesvncheckupdates.png create mode 100644 src/pics/hi16-action-kdesvncleanup.png create mode 100644 src/pics/hi16-action-kdesvncommit.png create mode 100644 src/pics/hi16-action-kdesvncopy.png create mode 100644 src/pics/hi16-action-kdesvndelete.png create mode 100644 src/pics/hi16-action-kdesvndiff.png create mode 100644 src/pics/hi16-action-kdesvnexport.png create mode 100644 src/pics/hi16-action-kdesvninfo.png create mode 100644 src/pics/hi16-action-kdesvnlock.png create mode 100644 src/pics/hi16-action-kdesvnlog.png create mode 100644 src/pics/hi16-action-kdesvnmerge.png create mode 100644 src/pics/hi16-action-kdesvnrelocate.png create mode 100644 src/pics/hi16-action-kdesvnswitch.png create mode 100644 src/pics/hi16-action-kdesvnunlock.png create mode 100644 src/pics/hi16-action-kdesvnupdate.png create mode 100644 src/pics/hi16-filesys-kdesvnadded.png create mode 100644 src/pics/hi16-filesys-kdesvnconflicted.png create mode 100644 src/pics/hi16-filesys-kdesvndeleted.png create mode 100644 src/pics/hi16-filesys-kdesvnlocked.png create mode 100644 src/pics/hi16-filesys-kdesvnmodified.png create mode 100644 src/pics/hi16-filesys-kdesvnneedlock.png create mode 100644 src/pics/hi16-filesys-kdesvnupdates.png create mode 100644 src/pics/hi22-action-kdesvnadd.png create mode 100644 src/pics/hi22-action-kdesvnaddrecursive.png create mode 100644 src/pics/hi22-action-kdesvnblame.png create mode 100644 src/pics/hi22-action-kdesvncat.png create mode 100644 src/pics/hi22-action-kdesvncheckout.png create mode 100644 src/pics/hi22-action-kdesvncheckupdates.png create mode 100644 src/pics/hi22-action-kdesvncleanup.png create mode 100644 src/pics/hi22-action-kdesvncommit.png create mode 100644 src/pics/hi22-action-kdesvncopy.png create mode 100644 src/pics/hi22-action-kdesvndelete.png create mode 100644 src/pics/hi22-action-kdesvndiff.png create mode 100644 src/pics/hi22-action-kdesvnexport.png create mode 100644 src/pics/hi22-action-kdesvninfo.png create mode 100644 src/pics/hi22-action-kdesvnlock.png create mode 100644 src/pics/hi22-action-kdesvnlog.png create mode 100644 src/pics/hi22-action-kdesvnmerge.png create mode 100644 src/pics/hi22-action-kdesvnrelocate.png create mode 100644 src/pics/hi22-action-kdesvnswitch.png create mode 100644 src/pics/hi22-action-kdesvnunlock.png create mode 100644 src/pics/hi22-action-kdesvnupdate.png create mode 100644 src/pics/hi22-filesys-kdesvnadded.png create mode 100644 src/pics/hi22-filesys-kdesvnconflicted.png create mode 100644 src/pics/hi22-filesys-kdesvndeleted.png create mode 100644 src/pics/hi22-filesys-kdesvnlocked.png create mode 100644 src/pics/hi22-filesys-kdesvnmodified.png create mode 100644 src/pics/hi22-filesys-kdesvnneedlock.png create mode 100644 src/pics/hi22-filesys-kdesvnupdates.png create mode 100644 src/pics/hi32-action-kdesvnadd.png create mode 100644 src/pics/hi32-action-kdesvnaddrecursive.png create mode 100644 src/pics/hi32-action-kdesvnblame.png create mode 100644 src/pics/hi32-action-kdesvncat.png create mode 100644 src/pics/hi32-action-kdesvncheckout.png create mode 100644 src/pics/hi32-action-kdesvncheckupdates.png create mode 100644 src/pics/hi32-action-kdesvncleanup.png create mode 100644 src/pics/hi32-action-kdesvncommit.png create mode 100644 src/pics/hi32-action-kdesvncopy.png create mode 100644 src/pics/hi32-action-kdesvndelete.png create mode 100644 src/pics/hi32-action-kdesvndiff.png create mode 100644 src/pics/hi32-action-kdesvnexport.png create mode 100644 src/pics/hi32-action-kdesvninfo.png create mode 100644 src/pics/hi32-action-kdesvnlock.png create mode 100644 src/pics/hi32-action-kdesvnlog.png create mode 100644 src/pics/hi32-action-kdesvnmerge.png create mode 100644 src/pics/hi32-action-kdesvnrelocate.png create mode 100644 src/pics/hi32-action-kdesvnswitch.png create mode 100644 src/pics/hi32-action-kdesvnunlock.png create mode 100644 src/pics/hi32-action-kdesvnupdate.png create mode 100644 src/pics/hi32-filesys-kdesvnadded.png create mode 100644 src/pics/hi32-filesys-kdesvnconflicted.png create mode 100644 src/pics/hi32-filesys-kdesvndeleted.png create mode 100644 src/pics/hi32-filesys-kdesvnlocked.png create mode 100644 src/pics/hi32-filesys-kdesvnmodified.png create mode 100644 src/pics/hi32-filesys-kdesvnneedlock.png create mode 100644 src/pics/hi32-filesys-kdesvnupdates.png create mode 100644 src/pics/hi48-action-kdesvnadd.png create mode 100644 src/pics/hi48-action-kdesvnaddrecursive.png create mode 100644 src/pics/hi48-action-kdesvnblame.png create mode 100644 src/pics/hi48-action-kdesvncat.png create mode 100644 src/pics/hi48-action-kdesvncheckout.png create mode 100644 src/pics/hi48-action-kdesvncheckupdates.png create mode 100644 src/pics/hi48-action-kdesvncleanup.png create mode 100644 src/pics/hi48-action-kdesvncommit.png create mode 100644 src/pics/hi48-action-kdesvncopy.png create mode 100644 src/pics/hi48-action-kdesvndelete.png create mode 100644 src/pics/hi48-action-kdesvndiff.png create mode 100644 src/pics/hi48-action-kdesvnexport.png create mode 100644 src/pics/hi48-action-kdesvninfo.png create mode 100644 src/pics/hi48-action-kdesvnlock.png create mode 100644 src/pics/hi48-action-kdesvnlog.png create mode 100644 src/pics/hi48-action-kdesvnmerge.png create mode 100644 src/pics/hi48-action-kdesvnrelocate.png create mode 100644 src/pics/hi48-action-kdesvnswitch.png create mode 100644 src/pics/hi48-action-kdesvnunlock.png create mode 100644 src/pics/hi48-action-kdesvnupdate.png create mode 100644 src/pics/hi48-filesys-kdesvnadded.png create mode 100644 src/pics/hi48-filesys-kdesvnconflicted.png create mode 100644 src/pics/hi48-filesys-kdesvndeleted.png create mode 100644 src/pics/hi48-filesys-kdesvnlocked.png create mode 100644 src/pics/hi48-filesys-kdesvnmodified.png create mode 100644 src/pics/hi48-filesys-kdesvnneedlock.png create mode 100644 src/pics/hi48-filesys-kdesvnupdates.png create mode 100644 src/pics/hi64-action-kdesvnadd.png create mode 100644 src/pics/hi64-action-kdesvnaddrecursive.png create mode 100644 src/pics/hi64-action-kdesvnblame.png create mode 100644 src/pics/hi64-action-kdesvncat.png create mode 100644 src/pics/hi64-action-kdesvncheckout.png create mode 100644 src/pics/hi64-action-kdesvncheckupdates.png create mode 100644 src/pics/hi64-action-kdesvncleanup.png create mode 100644 src/pics/hi64-action-kdesvncommit.png create mode 100644 src/pics/hi64-action-kdesvncopy.png create mode 100644 src/pics/hi64-action-kdesvndelete.png create mode 100644 src/pics/hi64-action-kdesvndiff.png create mode 100644 src/pics/hi64-action-kdesvnexport.png create mode 100644 src/pics/hi64-action-kdesvninfo.png create mode 100644 src/pics/hi64-action-kdesvnlock.png create mode 100644 src/pics/hi64-action-kdesvnlog.png create mode 100644 src/pics/hi64-action-kdesvnmerge.png create mode 100644 src/pics/hi64-action-kdesvnrelocate.png create mode 100644 src/pics/hi64-action-kdesvnswitch.png create mode 100644 src/pics/hi64-action-kdesvnunlock.png create mode 100644 src/pics/hi64-action-kdesvnupdate.png create mode 100644 src/pics/hi64-filesys-kdesvnadded.png create mode 100644 src/pics/hi64-filesys-kdesvnconflicted.png create mode 100644 src/pics/hi64-filesys-kdesvndeleted.png create mode 100644 src/pics/hi64-filesys-kdesvnlocked.png create mode 100644 src/pics/hi64-filesys-kdesvnmodified.png create mode 100644 src/pics/hi64-filesys-kdesvnneedlock.png create mode 100644 src/pics/hi64-filesys-kdesvnupdates.png create mode 100644 src/pics/hisc-action-kdesvnadd.svgz create mode 100644 src/pics/hisc-action-kdesvnaddrecursive.svgz create mode 100644 src/pics/hisc-action-kdesvnblame.svgz create mode 100644 src/pics/hisc-action-kdesvncat.svgz create mode 100644 src/pics/hisc-action-kdesvncheckout.svgz create mode 100644 src/pics/hisc-action-kdesvncheckupdates.svgz create mode 100644 src/pics/hisc-action-kdesvncleanup.svgz create mode 100644 src/pics/hisc-action-kdesvncommit.svgz create mode 100644 src/pics/hisc-action-kdesvncopy.svgz create mode 100644 src/pics/hisc-action-kdesvndelete.svgz create mode 100644 src/pics/hisc-action-kdesvndiff.svgz create mode 100644 src/pics/hisc-action-kdesvnexport.svgz create mode 100644 src/pics/hisc-action-kdesvninfo.svgz create mode 100644 src/pics/hisc-action-kdesvnlock.svgz create mode 100644 src/pics/hisc-action-kdesvnlog.svgz create mode 100644 src/pics/hisc-action-kdesvnmerge.svgz create mode 100644 src/pics/hisc-action-kdesvnrelocate.svgz create mode 100644 src/pics/hisc-action-kdesvnswitch.svgz create mode 100644 src/pics/hisc-action-kdesvnunlock.svgz create mode 100644 src/pics/hisc-action-kdesvnupdate.svgz create mode 100644 src/pics/hisc-filesys-kdesvnadded.svgz create mode 100644 src/pics/hisc-filesys-kdesvnconflicted.svgz create mode 100644 src/pics/hisc-filesys-kdesvndeleted.svgz create mode 100644 src/pics/hisc-filesys-kdesvnlocked.svgz create mode 100644 src/pics/hisc-filesys-kdesvnmodified.svgz create mode 100644 src/pics/hisc-filesys-kdesvnneedlock.svgz create mode 100644 src/pics/hisc-filesys-kdesvnupdates.svgz create mode 100755 src/pics/to_png.py create mode 100644 src/settings/CMakeLists.txt create mode 100644 src/settings/cmdexecsettings.ui create mode 100644 src/settings/cmdexecsettings_impl.cpp create mode 100644 src/settings/cmdexecsettings_impl.h create mode 100644 src/settings/diffmergesettings.ui create mode 100644 src/settings/diffmergesettings_impl.cpp create mode 100644 src/settings/diffmergesettings_impl.h create mode 100644 src/settings/dispcolor_settings.ui create mode 100644 src/settings/dispcolorsettings_impl.cpp create mode 100644 src/settings/dispcolorsettings_impl.h create mode 100644 src/settings/display_settings.ui create mode 100644 src/settings/displaysettings_impl.cpp create mode 100644 src/settings/displaysettings_impl.h create mode 100755 src/settings/kdesvn-use-external-update.sh create mode 100644 src/settings/kdesvn_part.kcfg create mode 100644 src/settings/kdesvnpartrc-use-external.upd create mode 100644 src/settings/kdesvnsettings.kcfgc create mode 100644 src/settings/revisiontree_settings.ui create mode 100644 src/settings/revisiontreesettingsdlg_impl.cpp create mode 100644 src/settings/revisiontreesettingsdlg_impl.h create mode 100644 src/settings/subversion_settings.ui create mode 100644 src/settings/subversionsettings_impl.cpp create mode 100644 src/settings/subversionsettings_impl.h create mode 100644 src/svnfrontend/CMakeLists.txt create mode 100644 src/svnfrontend/blamedisplay.ui create mode 100644 src/svnfrontend/blamedisplay_impl.cpp create mode 100644 src/svnfrontend/blamedisplay_impl.h create mode 100644 src/svnfrontend/cacheentry.h create mode 100644 src/svnfrontend/ccontextlistener.cpp create mode 100644 src/svnfrontend/ccontextlistener.h create mode 100644 src/svnfrontend/commandexec.cpp create mode 100644 src/svnfrontend/commandexec.h create mode 100644 src/svnfrontend/copymoveview.ui create mode 100644 src/svnfrontend/copymoveview_impl.cpp create mode 100644 src/svnfrontend/copymoveview_impl.h create mode 100644 src/svnfrontend/createrepo_dlg.ui create mode 100644 src/svnfrontend/createrepo_impl.cpp create mode 100644 src/svnfrontend/createrepo_impl.h create mode 100644 src/svnfrontend/dummydisplay.cpp create mode 100644 src/svnfrontend/dummydisplay.h create mode 100644 src/svnfrontend/dumprepo_dlg.ui create mode 100644 src/svnfrontend/dumprepo_impl.cpp create mode 100644 src/svnfrontend/dumprepo_impl.h create mode 100644 src/svnfrontend/editproperty_impl.cpp create mode 100644 src/svnfrontend/editproperty_impl.h create mode 100644 src/svnfrontend/editpropsdlg.ui create mode 100644 src/svnfrontend/filelistviewitem.cpp create mode 100644 src/svnfrontend/filelistviewitem.h create mode 100644 src/svnfrontend/fillcachethread.cpp create mode 100644 src/svnfrontend/fillcachethread.h create mode 100644 src/svnfrontend/frontendtypes.h create mode 100644 src/svnfrontend/fronthelpers/checkoutinfo.ui create mode 100644 src/svnfrontend/fronthelpers/checkoutinfo_impl.cpp create mode 100644 src/svnfrontend/fronthelpers/checkoutinfo_impl.h create mode 100644 src/svnfrontend/fronthelpers/cursorstack.h create mode 100644 src/svnfrontend/fronthelpers/propertyitem.cpp create mode 100644 src/svnfrontend/fronthelpers/propertyitem.h create mode 100644 src/svnfrontend/fronthelpers/propertylist.cpp create mode 100644 src/svnfrontend/fronthelpers/propertylist.h create mode 100644 src/svnfrontend/fronthelpers/rangeinput.ui create mode 100644 src/svnfrontend/fronthelpers/rangeinput_impl.cpp create mode 100644 src/svnfrontend/fronthelpers/rangeinput_impl.h create mode 100644 src/svnfrontend/fronthelpers/revisionbutton.ui create mode 100644 src/svnfrontend/fronthelpers/revisionbuttonimpl.cpp create mode 100644 src/svnfrontend/fronthelpers/revisionbuttonimpl.h create mode 100644 src/svnfrontend/fronthelpers/widgetblockstack.cpp create mode 100644 src/svnfrontend/fronthelpers/widgetblockstack.h create mode 100644 src/svnfrontend/graphtree/drawparams.cpp create mode 100644 src/svnfrontend/graphtree/drawparams.h create mode 100644 src/svnfrontend/graphtree/elogentry.cpp create mode 100644 src/svnfrontend/graphtree/elogentry.h create mode 100644 src/svnfrontend/graphtree/graphtree_defines.h create mode 100644 src/svnfrontend/graphtree/graphtreelabel.cpp create mode 100644 src/svnfrontend/graphtree/graphtreelabel.h create mode 100644 src/svnfrontend/graphtree/pannerview.cpp create mode 100644 src/svnfrontend/graphtree/pannerview.h create mode 100644 src/svnfrontend/graphtree/revgraphview.cpp create mode 100644 src/svnfrontend/graphtree/revgraphview.h create mode 100644 src/svnfrontend/graphtree/revisiontree.cpp create mode 100644 src/svnfrontend/graphtree/revisiontree.h create mode 100644 src/svnfrontend/graphtree/revtreewidget.cpp create mode 100644 src/svnfrontend/graphtree/revtreewidget.h create mode 100644 src/svnfrontend/hotcopydlg.ui create mode 100644 src/svnfrontend/hotcopydlg_impl.cpp create mode 100644 src/svnfrontend/hotcopydlg_impl.h create mode 100644 src/svnfrontend/importdir_logmsg.cpp create mode 100644 src/svnfrontend/importdir_logmsg.h create mode 100644 src/svnfrontend/itemdisplay.cpp create mode 100644 src/svnfrontend/itemdisplay.h create mode 100644 src/svnfrontend/kdesvnfilelist.cpp create mode 100644 src/svnfrontend/kdesvnfilelist.h create mode 100644 src/svnfrontend/keystatus.cpp create mode 100644 src/svnfrontend/keystatus.h create mode 100644 src/svnfrontend/loaddmpdlg.ui create mode 100644 src/svnfrontend/loaddmpdlg_impl.cpp create mode 100644 src/svnfrontend/loaddmpdlg_impl.h create mode 100644 src/svnfrontend/merge_dlg.ui create mode 100644 src/svnfrontend/mergedlg_impl.cpp create mode 100644 src/svnfrontend/mergedlg_impl.h create mode 100644 src/svnfrontend/modifiedthread.cpp create mode 100644 src/svnfrontend/modifiedthread.h create mode 100644 src/svnfrontend/opencontextmenu.cpp create mode 100644 src/svnfrontend/opencontextmenu.h create mode 100644 src/svnfrontend/propertiesdlg.cpp create mode 100644 src/svnfrontend/propertiesdlg.h create mode 100644 src/svnfrontend/simple_logcb.h create mode 100644 src/svnfrontend/stopdlg.cpp create mode 100644 src/svnfrontend/stopdlg.h create mode 100644 src/svnfrontend/svnactions.cpp create mode 100644 src/svnfrontend/svnactions.h create mode 100644 src/svnfrontend/svnfiletip.cpp create mode 100644 src/svnfrontend/svnfiletip.h create mode 100644 src/svnfrontend/svnitem.cpp create mode 100644 src/svnfrontend/svnitem.h create mode 100644 src/svnfrontend/svnlogdlg.ui create mode 100644 src/svnfrontend/svnlogdlgimp.cpp create mode 100644 src/svnfrontend/svnlogdlgimp.h create mode 100644 src/svnfrontend/tcontextlistener.cpp create mode 100644 src/svnfrontend/tcontextlistener.h create mode 100644 src/svnfrontend/threadcontextlistenerdata.cpp create mode 100644 src/svnfrontend/threadcontextlistenerdata.h create mode 100644 src/svnqt/CMakeLists.txt create mode 100644 src/svnqt/annotate_line.hpp create mode 100644 src/svnqt/apr.cpp create mode 100644 src/svnqt/apr.hpp create mode 100644 src/svnqt/cache/DatabaseException.cpp create mode 100644 src/svnqt/cache/DatabaseException.hpp create mode 100644 src/svnqt/cache/LogCache.cpp create mode 100644 src/svnqt/cache/LogCache.hpp create mode 100644 src/svnqt/cache/ReposLog.cpp create mode 100644 src/svnqt/cache/ReposLog.hpp create mode 100644 src/svnqt/cache/sqlite3/README create mode 100644 src/svnqt/cache/sqlite3/qsql_sqlite3.cpp create mode 100644 src/svnqt/cache/sqlite3/qsql_sqlite3.h create mode 100644 src/svnqt/cache/sqlite3/qsqlcachedresult.cpp create mode 100644 src/svnqt/cache/sqlite3/qsqlcachedresult.h create mode 100644 src/svnqt/cache/test/CMakeLists.txt create mode 100644 src/svnqt/cache/test/sqlite.cpp create mode 100644 src/svnqt/cache/test/testconfig.h.in create mode 100644 src/svnqt/check.hpp create mode 100644 src/svnqt/client.cpp create mode 100644 src/svnqt/client.hpp create mode 100644 src/svnqt/client_annotate.cpp create mode 100644 src/svnqt/client_cat.cpp create mode 100644 src/svnqt/client_diff.cpp create mode 100644 src/svnqt/client_impl.cpp create mode 100644 src/svnqt/client_impl.hpp create mode 100644 src/svnqt/client_lock.cpp create mode 100644 src/svnqt/client_ls.cpp create mode 100644 src/svnqt/client_merge.cpp create mode 100644 src/svnqt/client_modify.cpp create mode 100644 src/svnqt/client_property.cpp create mode 100644 src/svnqt/client_status.cpp create mode 100644 src/svnqt/cmakemodules/FindSqlite.cmake create mode 100644 src/svnqt/cmakemodules/FindSubversion.cmake create mode 100644 src/svnqt/commititem.cpp create mode 100644 src/svnqt/commititem.hpp create mode 100644 src/svnqt/conflictdescription.cpp create mode 100644 src/svnqt/conflictdescription.hpp create mode 100644 src/svnqt/conflictresult.cpp create mode 100644 src/svnqt/conflictresult.hpp create mode 100644 src/svnqt/context.cpp create mode 100644 src/svnqt/context.hpp create mode 100644 src/svnqt/context_listener.hpp create mode 100644 src/svnqt/contextdata.cpp create mode 100644 src/svnqt/contextdata.hpp create mode 100644 src/svnqt/datetime.cpp create mode 100644 src/svnqt/datetime.hpp create mode 100644 src/svnqt/diff_data.cpp create mode 100644 src/svnqt/diff_data.hpp create mode 100644 src/svnqt/diffoptions.cpp create mode 100644 src/svnqt/diffoptions.hpp create mode 100644 src/svnqt/dirent.cpp create mode 100644 src/svnqt/dirent.hpp create mode 100644 src/svnqt/entry.cpp create mode 100644 src/svnqt/entry.hpp create mode 100644 src/svnqt/exception.cpp create mode 100644 src/svnqt/exception.hpp create mode 100644 src/svnqt/helper.hpp create mode 100644 src/svnqt/info_entry.cpp create mode 100644 src/svnqt/info_entry.hpp create mode 100644 src/svnqt/lock_entry.cpp create mode 100644 src/svnqt/lock_entry.hpp create mode 100644 src/svnqt/log_entry.cpp create mode 100644 src/svnqt/log_entry.hpp create mode 100644 src/svnqt/path.cpp create mode 100644 src/svnqt/path.hpp create mode 100644 src/svnqt/pool.cpp create mode 100644 src/svnqt/pool.hpp create mode 100644 src/svnqt/repository.cpp create mode 100644 src/svnqt/repository.hpp create mode 100644 src/svnqt/repositorydata.cpp create mode 100644 src/svnqt/repositorydata.hpp create mode 100644 src/svnqt/repositorylistener.cpp create mode 100644 src/svnqt/repositorylistener.hpp create mode 100644 src/svnqt/revision.cpp create mode 100644 src/svnqt/revision.hpp create mode 100644 src/svnqt/shared_pointer.hpp create mode 100644 src/svnqt/smart_pointer.hpp create mode 100644 src/svnqt/status.cpp create mode 100644 src/svnqt/status.hpp create mode 100644 src/svnqt/stringarray.cpp create mode 100644 src/svnqt/stringarray.hpp create mode 100644 src/svnqt/svnfilestream.cpp create mode 100644 src/svnqt/svnfilestream.hpp create mode 100644 src/svnqt/svnqt_defines.hpp.in create mode 100644 src/svnqt/svnqttypes.hpp create mode 100644 src/svnqt/svnstream.cpp create mode 100644 src/svnqt/svnstream.hpp create mode 100644 src/svnqt/targets.cpp create mode 100644 src/svnqt/targets.hpp create mode 100644 src/svnqt/testmain.cpp create mode 100644 src/svnqt/tests/CMakeLists.txt create mode 100644 src/svnqt/tests/ckpath.cpp create mode 100644 src/svnqt/tests/crepo.cpp create mode 100644 src/svnqt/tests/lsdir.cpp create mode 100644 src/svnqt/tests/testconfig.h.in create mode 100644 src/svnqt/tests/testlistener.h create mode 100644 src/svnqt/url.cpp create mode 100644 src/svnqt/url.hpp create mode 100644 src/svnqt/version_check.cpp create mode 100644 src/svnqt/version_check.hpp create mode 100644 src/svnqt/wc.cpp create mode 100644 src/svnqt/wc.hpp create mode 100644 src/urldlg.cpp create mode 100644 src/urldlg.h create mode 100644 templates/cpp create mode 100644 templates/h diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 0000000..f1e57c5 --- /dev/null +++ b/AUTHORS @@ -0,0 +1,13 @@ +Rajko Albrecht +Michael Biebl + +C++ subversion API in src/svncpp based on C++-Api from the RapidSVN-project +http://rapidsvn.tigris.org, ported to QT by Rajko Albrecht + +Translations see translation files + +Codefragments around ssh taken from the cervisia-project http://www.kde.org/apps/cervisia/ + +All code containing namespace "Opie" are from the OPIE-project http://opie.handhelds.org/ + +Code for revisiontree-display is adapted from the kcachegrind project. \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..588d7ea --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,129 @@ +PROJECT(kdesvn) +CMAKE_MINIMUM_REQUIRED(VERSION 2.4) +SET(BASE_VERSION 1.0.4) + +OPTION(BUILD_TESTS "Building the tests yes or no (default off)") +OPTION(DAILY_BUILD "Generate version number for a daily build (default off)") + +SET(TESTINGBUILD OFF CACHE BOOL "Enable/Disable special testing flags") +IF (TESTINGBUILD) + ADD_DEFINITIONS("-DTESTING_RC=\"\\\"\${CMAKE_SOURCE_DIR}/src/kdesvnui.rc\\\"\" -DTESTING_PARTRC=\"\\\"\${CMAKE_SOURCE_DIR}/src/kdesvn_part.rc\\\"\"") + ADD_DEFINITIONS("-DFORCE_ASKPASS=\"\\\"\${CMAKE_BINARY_DIR}/bin/kdesvnaskpass\\\"\"") +ENDIF (TESTINGBUILD) + +IF(BUILD_TESTS) + ENABLE_TESTING() +ENDIF(BUILD_TESTS) + +SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmakemodules ${CMAKE_SOURCE_DIR}/src/svnqt/cmakemodules) + +INCLUDE(FindKdeLibs) +SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/kde3/bin) +SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/kde3/lib${LIB_SUFFIX}/kde3) + +INCLUDE(MacroEnsureVersion) +INCLUDE(FindSubversion) +INCLUDE(SetupCompiler) +INCLUDE(FindSqlite) + +IF (HAVE_GCC_VISIBILITY) + SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden") + SET(_KDESVN_EXPORT "__attribute__ ((visibility(\"default\")))") + SET(_KDESVN_NOEXPORT "__attribute__ ((visibility(\"hidden\")))") +ENDIF (HAVE_GCC_VISIBILITY) + +INCLUDE_DIRECTORIES ( + BEFORE + ${CMAKE_SOURCE_DIR}/src/svnqt +) + +INCLUDE_DIRECTORIES ( + ${CMAKE_SOURCE_DIR}/src + ${CMAKE_SOURCE_DIR}/src/svnfrontend + ${CMAKE_SOURCE_DIR} + ${CMAKE_BINARY_DIR}/src + ${CMAKE_BINARY_DIR}/src/svnfrontend + ${CMAKE_BINARY_DIR} + ${KDE3_INCLUDE_DIR} + ${QT_INCLUDE_DIR} + ${APR_INCLUDE_DIR} + ${APU_INCLUDE_DIR} + ${SUBVERSION_INCLUDE_DIR} +) + +ADD_DEFINITIONS(${KDE3_DEFINITIONS} ${QT_DEFINITIONS} ${APR_CPP_FLAGS}) + +IF(CMAKE_BUILD_TYPE MATCHES Debug) + # FindKde3 always make a "-O2" into it. That isn't nice. + STRING(REGEX REPLACE "-O2 " "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) +ENDIF(CMAKE_BUILD_TYPE MATCHES Debug) +STRING(REGEX REPLACE "-fno-exceptions " "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) + +SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/kde3/bin) +SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/kde3/lib${LIB_SUFFIX}/kde3) +SET(_BASE_LDADD "-L${CMAKE_BINARY_DIR}/kde3/lib${LIB_SUFFIX}") + +# current version +IF (DAILY_BUILD) + EXECUTE_PROCESS(COMMAND "date" "+%Y%m%d" OUTPUT_VARIABLE BUILDDATE) + STRING(REPLACE "\n" "" BUILDDATE ${BUILDDATE}) + SET(VERSION "${BASE_VERSION}.${BUILDDATE}") + SET(KDESVN_VERSION "\"${BASE_VERSION}-${BUILDDATE}\"") +ELSE(DAILY_BUILD) + SET(VERSION "$ENV{KDESVN_VERSION}") + IF(NOT VERSION) + SET(VERSION ${BASE_VERSION}) + ENDIF(NOT VERSION) + SET(KDESVN_VERSION \"${VERSION}\") +ENDIF(DAILY_BUILD) + +CONFIGURE_FILE(kdesvn-config.h.in kdesvn-config.h @ONLY) +CONFIGURE_FILE(kdesvn.spec.in kdesvn.spec @ONLY) +CONFIGURE_FILE(Helperstuff/BuildService/kdesvn.spec.in Helperstuff/BuildService/kdesvn.spec @ONLY) +CONFIGURE_FILE(Helperstuff/BuildService/kdesvn.dsc.in Helperstuff/BuildService/kdesvn.dsc @ONLY) +CONFIGURE_FILE(Doxyfile.in Doxyfile @ONLY) +CONFIGURE_FILE(Doxyfile.svnqt.in Doxyfile.svnqt @ONLY) + +SET(DIST_EXCLUDE "Helperstuff/pic_design") +CONFIGURE_FILE( + "${CMAKE_CURRENT_SOURCE_DIR}/cmakemodules/makedist.sh.in" + "${CMAKE_CURRENT_BINARY_DIR}/makedist.sh" + IMMEDIATE + @ONLY) + + +CONFIGURE_FILE( + "${CMAKE_CURRENT_SOURCE_DIR}/cmakemodules/cmake_uninstall.cmake.in" + "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" + IMMEDIATE @ONLY) + +ADD_CUSTOM_TARGET(uninstall + "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake") + +ADD_CUSTOM_TARGET(dist + "${CMAKE_BINARY_DIR}/makedist.sh" + DEPENDS doc + WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) + + +ADD_SUBDIRECTORY(src) +ADD_SUBDIRECTORY(po) +ADD_SUBDIRECTORY(doc) + +FILE(GLOB _POFILES po/*.po) +FOREACH(_p ${_POFILES}) + SET(POFILES "${_p} ${POFILES}") +ENDFOREACH(_p) + +SET(MESSAGES_DIR ${CMAKE_SOURCE_DIR}/src) +CONFIGURE_FILE( + "${CMAKE_CURRENT_SOURCE_DIR}/cmakemodules/package_messages.sh.in" + "${CMAKE_CURRENT_BINARY_DIR}/package_messages.sh" + IMMEDIATE + @ONLY) +ADD_CUSTOM_TARGET(package-messages + "${CMAKE_CURRENT_BINARY_DIR}/package_messages.sh") + +ADD_CUSTOM_TARGET(apidox + "doxygen" "${CMAKE_BINARY_DIR}/Doxyfile" + DEPENDS "${CMAKE_BINARY_DIR}/Doxyfile") diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..767e61d --- /dev/null +++ b/COPYING @@ -0,0 +1,26 @@ +Kdesvn a Subversion client for KDE Copyright (C) 2005 Rajko Albrecht + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +In addition, as a special exception, Rajko Albrecht +gives permission to link the code of this program with any +version of the OpenSSL library which is distributed under a +license identical to that listed in the included COPYING.OpenSSL +file, and distribute linked combinations including the two. +you must obey the GNU General Public License in all respects +for all of the code used other than OpenSSL. If you modify +this file, you may extend this exception to your version of the +file, but you are not obligated to do so. If you do not wish to +do so, delete this exception statement from your version. diff --git a/COPYING.OpenSSL b/COPYING.OpenSSL new file mode 100644 index 0000000..e6afecc --- /dev/null +++ b/COPYING.OpenSSL @@ -0,0 +1,127 @@ + + LICENSE ISSUES + ============== + + The OpenSSL toolkit stays under a dual license, i.e. both the conditions of + the OpenSSL License and the original SSLeay license apply to the toolkit. + See below for the actual license texts. Actually both licenses are BSD-style + Open Source licenses. In case of any license issues related to OpenSSL + please contact openssl-core@openssl.org. + + OpenSSL License + --------------- + +/* ==================================================================== + * Copyright (c) 1998-2005 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + + Original SSLeay License + ----------------------- + +/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + * All rights reserved. + * + * This package is an SSL implementation written + * by Eric Young (eay@cryptsoft.com). + * The implementation was written so as to conform with Netscapes SSL. + * + * This library is free for commercial and non-commercial use as long as + * the following conditions are aheared to. The following conditions + * apply to all code found in this distribution, be it the RC4, RSA, + * lhash, DES, etc., code; not just the SSL code. The SSL documentation + * included with this distribution is covered by the same copyright terms + * except that the holder is Tim Hudson (tjh@cryptsoft.com). + * + * Copyright remains Eric Young's, and as such any Copyright notices in + * the code are not to be removed. + * If this package is used in a product, Eric Young should be given attribution + * as the author of the parts of the library used. + * This can be in the form of a textual message at program startup or + * in documentation (online or textual) provided with the package. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * "This product includes cryptographic software written by + * Eric Young (eay@cryptsoft.com)" + * The word 'cryptographic' can be left out if the rouines from the library + * being used are not cryptographic related :-). + * 4. If you include any Windows specific code (or a derivative thereof) from + * the apps directory (application code) you must include an acknowledgement: + * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + * + * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * The licence and distribution terms for any publically available version or + * derivative of this code cannot be changed. i.e. this code cannot simply be + * copied and put under another distribution licence + * [including the GNU Public Licence.] + */ + diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..8c4eb85 --- /dev/null +++ b/ChangeLog @@ -0,0 +1,315 @@ +version 1.0.4 + * due a backporting mistake from kde4 branch kdesvn 1.0.3 were not able to run - fixed (#562 - #564) + +version 1.0.3 + * fixed a problem with pathes containing multiple special chars like space (#588) + +version 1.0.2 + * fixed distorted logic in "merge" parameter, results in working merge tracking with svn1.5, too. + +version 1.0.1 + * fixed a crasher with svn 1.5 + * some smaller fixes + * various bugfixes in buildsystem, build failure with svn 1.3 + * improvement in handling of logcache errors + +version 1.0.0 + * implemented a sqlite-based logcache used by revision tree + * removed support for subversion prior 1.3 + * integrated direct support for subversion 1.5 + * dutch handbook added + * kdesvn may work (simplified) offline + * Passwords may hold in a memory cache until application ends + +version 0.14.5 + * fixed the problems accessing KWallet from within threads which let sometimes kdesvn die + +version 0.14.4 + * fix a binary compatible issue, see #329 + * fix a wrong handling of memory which may result in utf8-encoding errors. + +version 0.14.3 + * fixed problems with diff between copied/moved elements (#309) + * suppress some useless messages (#314) + * within some circumstances kdesvn crashed in logviewer + +version 0.14.2 + * fixed a crasher which happens (as example) when opening a folder where the svn-admin-area (eg, the .svn subdir) + is removed + * german translation corrected + * spain and russian translation updated + * direct call to resolve conflicted items with external editor like kdiff3 (default) integrated. + * fixed a crasher in KIO protocoll when walking fast trough folders. + * fixed a crasher in UI when embedded in konqueror and walk fast trough folders + +version 0.14.1 + * fixed a rare crasher when selected entries are deleted + * frensh and lithuanian translation updated + +version 0.14.0 + * setting if an external diff-display should used is now a simple yes/no box, so there is no need checking for + kompare on programstart anymore. (#140) + * when browsing in working copies or local repositories (file:// protocol) properties of a single selected item will + displayed. + * checking for svn:needs-lock property on each item when browsing in working copies may disabled so list operations may + get much faster. + * display-encoding in Annotate / Difference display may changed for content not written in KDE defaul locale. + * feature request: added "Display last change" action (#192) + * feature request: request #156: check for properties bugtraq:url and bugtraq:logregex, replace issue numbers + in logoutput with url to bugtracker. + +version 0.13.0 + * fixed some buildproblems within freebsd or systems with more restrictive qt + * feature wish: integrated "Recent files" into kdesvn application + * feature wish: integrated diff options for ignoring white space changes when using subversion built-in diff. + * feature wish: list of recent opened urls + * diff two items/pathes from within gui via contextmenu + * some other small improvements and featurerequest + +version 0.12.1 + * fixed a build problem on solaris + * fix: when multiple windows opened diff may failed due wrong relative + pathes. + * fix: links with macos X linker + * fix: in KIO module status didn't work - it always returned a fake status. + * fix: in KIO module in urls of from "proto://user[:pass]@host/" the authentication strings were ignored. + +version 0.12.0 + * passwords may stored in more secure kde wallet instead of subversions plain file + * user may select to hide or show unversioned files in working copies + * user may select to hide or show not modified files in working copies + * enhanced internal difference display (Colored, search, differences may saved) + * fix: in urls the wrapper libs overwrites the "@" in proto://user@host/path with url-encoding. + * fix: let user select if them want to checkout/export external declarations, too. + +version 0.11.2 + * missing KIO::special functions implemented (update/add/del) + * fix: since subversion 1.4 kdesvn made an error when making simple diff on commandline ("kdesvn exec diff ") + * fix: kdevelop always gives a file:/// uri for locals, kio_ksvn has to check if this is a working copy uri + and transform it to uri without protocoll if yes. + * feature request: Logdialog may display details about items in a changeset (difference and annotate) #30 + * feature request: search in blamewindows + * spain translation updated + * fix: DirWatcher should not have any display leaks any more and should not crash kdesvn on heavy changes. + * fix: kdesvn could crash when try to open folders where user had no execute/read rights for. + * fix: kdesvn didn't see replaced items as modified items. + * fix: kdesvn asks now if on commits locks should released. + * Lithuanian translation added + +version 0.11.1 + * Galician translation added + * lock/unlock as commandline action + * workaround for a subversion-problem with "@" in file/folder names (bugid 132) + * feature request: In commit dialog difference of items may displayed (bugid 123) + * feature request: in commit dialog all unversioned items may mark for adding with one click (bugid 125) + +version 0.11.0 + * lot of bugfixes in cmake-build system + * annotate lines may called from within log window at specific revision (feature request #113) + * annotate may displayed colored, speed of display increased, "Go to line" and "Display log for revision" inserted + * some dialogs stored sizes into wrong configfiles when using as part of other programs like konqueror - fixed + * buildproblems on sun fixed + * When doing operations like copy or mkdir on repositories via kdesvn's KIO-protocol user may set a default message + and won't questioned for a specific logmessage. + * 'cat' tries to let KDE select a specific display for a specific content. Only if no info about a specific mime- + type exists kdesvn displays the content. + +version 0.10.0 + * russion translation added + * more than one mainwindow may opened + * reworked parts of KIO, progress bar while downloading with KIO works now + * when build against subversion 1.3 or above transfer/progress information on any operation may displayed + * integrated pure external diff, eg., diff will not made with subversion but with external programs like meld or kdiff3 + * integrated possibility of merging with external programs rather than with subversions builtin merge + * fix: bug #106 kdesvn crashed sometimes on fresh checkouts + * some smaller UI improves + * work on handbook + +version 0.9.3 + * fix: svnqt now build against subversion 1.4 + +version 0.9.2 + * fix: utf8 mismatch again. Two intelligent transformers (subversion and qt) inside a program + makes such a stuff a little bit horrible. + * fix: sortorder in main view is with all locale case-sensitive (if wished) + * featurerequest: on context menu operations from konqueror/krusader or other commandline-executes + a log-window may stay open, context menu for konqueror may switched off. + * translations de/nl/pa/es/sv updated + +version 0.9.1 + * fix: subversion were never initialized - it was the reason that with some locale "diff" failed + * fix: (buildsystem) missing libs added + * diffs from within logviewer works across pathchanges + * fix: checking out urls with special chars like space failed + * some speedups in diff/cat/get operations + +version 0.9.0 + * Partial revision tree implemented + * only one context menu for konqueror due problems with KDE dcop call for getting the dynamic menue entries + * Revision tree in commandline implemented + * more differenced context menus + * french translation added (tnx to Frederic Rodrigo) + * Context menus contains "Open with..." action for more different editor/viewer selection + * featurerequest: kdesvn may create a new subversion repository and creates base layout (as standalone app only) + * featurerequest: kdesvn may dump a local repository + * fix: locale now not only works with utf-8 + +version 0.8.5 + * fix: display new items in repository (in difference to local working copy) failed sometimes (bug #91) + * added Punjabi translation from A S Alam + * added Catalan translation. Thanks to Antoni Bella. + +version 0.8.4 + * fix: revision tree sometimes failed while detecting renamed items + * featurerequest: when checking for updates kdesvn displays now if a item is locked somewhere + * featurerequest: mark items with "svn:needs-lock"-property set. + +version 0.8.3 + * fix: removed a big memory leak + * fix: when drag&drop starts from kdesvn urls from repositories didn't have a revision number + * fix: kdesvn wasn't able copy items from a specific revision (eg, restoring deleted items wasn't possible) + +version 0.8.2 + * fix: when creating dir in repository kdesvn/kio-ksvn asked twice for a logmessage + * revision tree has context menues for diffs and detailed information + * fix: log and info on repositories got sometimes wrong revisions to search for + * added spain translation from Mario Palomo + * executing an item now generates correct url for KDE + * fix: execute on "enter" key + +version 0.8.1 + * revision tree is generated using dot. + * colors and direction of tree may set by user + * fix compile error + +version 0.8.0 + * subversion wrapper made as shared lib so binaries are smaller + * all possible subversion calls switched to subversion 1.2 API + * start usage of subversion 1.3 API (only active when build against 1.3) + * display in working copy view when there are newer files in repository + * Fix: activated callbacks for cancel of log/info + * Fix: script for generating desktop-entries works with bourne shell, too. + * history tree for items may displayed (early stage) + +version 0.7.4 + * user may review items before commit will done. + +version 0.7.3 + * rapid speed up maintenance of listing of modified and/or updated items + * Option: user may set if storing passwords is default or not. + * Folders containing conflicted items are marked as conflicted, too. + * Better behavior of tree view when open a folder not yet read in. + * visual markup for conflicted items + +version 0.7.2 + * enabled drag & drop from kdesvn to konqueror or kdesvn itself + * Option: user may let check for detailed info when retrieving remote listing + * Option: User may display changed/locked items or items with updates colored. + * fix: stopdialogs could shadow other dialogs so gui would block + * fix: revision parsing failed sometimes + * fix: App crashed when deleting item and refreshing view + * some more KIO actions + * small GUI fixes + * fixed some UTF8 errors. + +version 0.7.1 + * a lot of bugfixes + * more help written + * context menus may setup depending on kde version kdesvn is compiled against + * KIO now full working + * KIO::special started for integration into other software + * will only compile against subversion 1.2 or newer - subversion 1.1 makes no sense anymore + * fix: check for compiler with -fvisibility flag + +version 0.7.0 + * complete own icon design + * own KIO (ksvn and svn) + * commandline / DCop client (both not full finished) + * fix: Bug 37 - displays dateformat as user setup in kde-environment + * fix: Bug 35 - recursive add possible + * Checking for updates runs in background thread, check may start on open a working copy + * On open a working copy checking for modified items runs in background thread + * loghistory will show shorten messages so dialog will not get to large. + * check recursive for unversioned items. + * "Diff head" is always made without network access + * fix: information about accepted ssl-certificates where not stored + * fix: detailed information why a ssl-certificate isn't accepted + * display logs may shorten to a maximum + * removed build against subversion 1.1, from now subversion 1.2 is required. + +version 0.6.3 + * fix: application crashed when closing repository and item was selected + * fix: default svn:external in property editor is called svn:externals + * translations updated + * browsing trough unversioned folders possible (applied by Akhmad Fathonih) + +version 0.6.2 + * dutch translation updated + * UI fixes + * fix: change title of mainwindow after checkout and open + +version 0.6.1 + * fixed a crash when switching repository url of working copy + * implemented forgotten action "relocate" + +version 0.6.0 + * status display due overlayed icons + * config dialog + * open local repositories for browsing (file:///), autodetect if local path is a working copy or a + repository + * select revision to browse for repositories + * fixed up some messages + * converted all internal stuff to QT/KDE classes + * configdialog + * user may select an own diff-display + * logmessages are remembered not only for current session + * shortcuts for standalone and part may configured + * Tooltips on items in listview like the konqueror one + * detect changes on files/dirs not made within kdesvn + * logview may show list of changed files + * property editor has a list of pre-defined properties with explanation. + * bugfixes + +version 0.5.3 + * italian translation by Luciano Montanaro + * fixed up KPart integration (#0000019 and others) + * removed obsolete icons, replaced some + +version 0.5.2 + * dutch translation by Bram Schoenmakers + * fixed a lot of wrong string-conversions + * fixed a layout-problem in properties-dialog + +version 0.5.1 + * fixed a bug in buildsystem which let build fail on some systems + * fixed a convertion stl -> qtstring in svnactions which let build fail on some systems + +version 0.5.0 + * KPart based application and integration into konqueror in first stage finished + +version 0.4.3 + * bugfix when no repository or WC was opened before checkout/export a repository failed. + +version 0.4.2 + * bugfix for not deleted (but empty) temporary files + +version 0.4.1 + * bugfix for building against subversion 1.1.x + +version 0.4 + * Lock/Unlock items + * Ignore/Unignore files + * fix buildproblems with gcc 4 + * some basic settings implemented + * fixed some wrong actions activating/deactivating + * SSL interface + +version 0.3: + + * Adding files & dirs to working copy via drag&drop works + * Importing files & dirs to repository via drag&drop works + * Renaming/Copy of files/dirs works + * Merge between two revisions of a file works + * fixed enabling/disabling menu/toolbar entries + * exchanged logo + * started a Changelog diff --git a/Doxyfile.in b/Doxyfile.in new file mode 100644 index 0000000..b4c9e5c --- /dev/null +++ b/Doxyfile.in @@ -0,0 +1,281 @@ +# Doxyfile 1.5.1 + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = KDESvn +PROJECT_NUMBER = @VERSION@ +OUTPUT_DIRECTORY = api_doc +CREATE_SUBDIRS = NO +OUTPUT_LANGUAGE = English +USE_WINDOWS_ENCODING = NO +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ABBREVIATE_BRIEF = "The $name class" \ + "The $name widget" \ + "The $name file" \ + is \ + provides \ + specifies \ + contains \ + represents \ + a \ + an \ + the +ALWAYS_DETAILED_SEC = YES +INLINE_INHERITED_MEMB = YES +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = @CMAKE_SOURCE_DIR@ +STRIP_FROM_INC_PATH = +SHORT_NAMES = NO +JAVADOC_AUTOBRIEF = NO +MULTILINE_CPP_IS_BRIEF = NO +DETAILS_AT_TOP = NO +INHERIT_DOCS = YES +SEPARATE_MEMBER_PAGES = NO +TAB_SIZE = 4 +ALIASES = +OPTIMIZE_OUTPUT_FOR_C = NO +OPTIMIZE_OUTPUT_JAVA = NO +BUILTIN_STL_SUPPORT = YES +DISTRIBUTE_GROUP_DOC = NO +SUBGROUPING = YES +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- +EXTRACT_ALL = YES +EXTRACT_PRIVATE = YES +EXTRACT_STATIC = YES +EXTRACT_LOCAL_CLASSES = YES +EXTRACT_LOCAL_METHODS = NO +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +HIDE_FRIEND_COMPOUNDS = NO +HIDE_IN_BODY_DOCS = NO +INTERNAL_DOCS = YES +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +SHOW_INCLUDE_FILES = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +SORT_BRIEF_DOCS = YES +SORT_BY_SCOPE_NAME = NO +GENERATE_TODOLIST = YES +GENERATE_TESTLIST = YES +GENERATE_BUGLIST = YES +GENERATE_DEPRECATEDLIST= YES +ENABLED_SECTIONS = +MAX_INITIALIZER_LINES = 30 +SHOW_USED_FILES = YES +SHOW_DIRECTORIES = YES +FILE_VERSION_FILTER = +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- +QUIET = NO +WARNINGS = YES +WARN_IF_UNDOCUMENTED = YES +WARN_IF_DOC_ERROR = YES +WARN_NO_PARAMDOC = NO +WARN_FORMAT = "$file:$line: $text" +WARN_LOGFILE = @CMAKE_BINARY_DIR@/doxygen-warning.log +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = @CMAKE_SOURCE_DIR@/src @SUBVERSION_INCLUDE_DIR@ +FILE_PATTERNS = *.c \ + *.cc \ + *.cxx \ + *.cpp \ + *.c++ \ + *.java \ + *.ii \ + *.ixx \ + *.ipp \ + *.i++ \ + *.inl \ + *.h \ + *.hh \ + *.hxx \ + *.hpp \ + *.h++ \ + *.idl \ + *.odl \ + *.cs \ + *.php \ + *.php3 \ + *.inc \ + *.m \ + *.mm \ + *.dox \ + *.C \ + *.CC \ + *.C++ \ + *.II \ + *.I++ \ + *.H \ + *.HH \ + *.H++ \ + *.CS \ + *.PHP \ + *.PHP3 \ + *.M \ + *.MM \ + *.C \ + *.H \ + *.tlh \ + *.diff \ + *.patch \ + *.moc \ + *.xpm \ + *.dox +RECURSIVE = YES +EXCLUDE = +EXCLUDE_SYMLINKS = NO +EXCLUDE_PATTERNS = *moc* *.svn/* +EXAMPLE_PATH = +EXAMPLE_PATTERNS = * +EXAMPLE_RECURSIVE = NO +IMAGE_PATH = +INPUT_FILTER = +FILTER_PATTERNS = +FILTER_SOURCE_FILES = NO +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- +SOURCE_BROWSER = YES +INLINE_SOURCES = NO +STRIP_CODE_COMMENTS = YES +REFERENCED_BY_RELATION = YES +REFERENCES_RELATION = YES +REFERENCES_LINK_SOURCE = YES +USE_HTAGS = NO +VERBATIM_HEADERS = YES +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- +ALPHABETICAL_INDEX = YES +COLS_IN_ALPHA_INDEX = 5 +IGNORE_PREFIX = +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- +GENERATE_HTML = YES +HTML_OUTPUT = html +HTML_FILE_EXTENSION = .html +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = NO +CHM_FILE = +HHC_LOCATION = +GENERATE_CHI = NO +BINARY_TOC = NO +TOC_EXPAND = NO +DISABLE_INDEX = NO +ENUM_VALUES_PER_LINE = 4 +GENERATE_TREEVIEW = NO +TREEVIEW_WIDTH = 250 +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +LATEX_CMD_NAME = latex +MAKEINDEX_CMD_NAME = makeindex +COMPACT_LATEX = YES +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = YES +USE_PDFLATEX = YES +LATEX_BATCHMODE = NO +LATEX_HIDE_INDICES = NO +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 +MAN_LINKS = NO +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- +GENERATE_XML = NO +XML_OUTPUT = xml +XML_SCHEMA = +XML_DTD = +XML_PROGRAMLISTING = YES +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- +GENERATE_AUTOGEN_DEF = NO +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- +GENERATE_PERLMOD = NO +PERLMOD_LATEX = NO +PERLMOD_PRETTY = YES +PERLMOD_MAKEVAR_PREFIX = +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = NO +EXPAND_ONLY_PREDEF = NO +SEARCH_INCLUDES = YES +INCLUDE_PATH = @SUBVERSION_INCLUDE_DIR@ +INCLUDE_FILE_PATTERNS = *.h \ + *.hpp +PREDEFINED = +EXPAND_AS_DEFINED = +SKIP_FUNCTION_MACROS = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- +TAGFILES = +GENERATE_TAGFILE = @CMAKE_BINARY_DIR@/api_doc/html/kdesvn.tag +ALLEXTERNALS = NO +EXTERNAL_GROUPS = YES +PERL_PATH = /usr/bin/perl +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- +CLASS_DIAGRAMS = YES +HIDE_UNDOC_RELATIONS = NO +HAVE_DOT = YES +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +GROUP_GRAPHS = YES +UML_LOOK = YES +TEMPLATE_RELATIONS = YES +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +CALL_GRAPH = YES +CALLER_GRAPH = YES +GRAPHICAL_HIERARCHY = YES +DIRECTORY_GRAPH = YES +DOT_IMAGE_FORMAT = png +DOT_PATH = +DOTFILE_DIRS = +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 +MAX_DOT_GRAPH_DEPTH = 1000 +DOT_TRANSPARENT = YES +DOT_MULTI_TARGETS = YES +GENERATE_LEGEND = YES +DOT_CLEANUP = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to the search engine +#--------------------------------------------------------------------------- +SEARCHENGINE = YES diff --git a/Doxyfile.svnqt.in b/Doxyfile.svnqt.in new file mode 100644 index 0000000..ed2e29a --- /dev/null +++ b/Doxyfile.svnqt.in @@ -0,0 +1,276 @@ +# Doxyfile 1.4.1-KDevelop + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = svnqt +PROJECT_NUMBER = @VERSION@ +OUTPUT_DIRECTORY = svnqt_doc +CREATE_SUBDIRS = NO +OUTPUT_LANGUAGE = English +USE_WINDOWS_ENCODING = NO +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ABBREVIATE_BRIEF = "The $name class" \ + "The $name widget" \ + "The $name file" \ + is \ + provides \ + specifies \ + contains \ + represents \ + a \ + an \ + the +ALWAYS_DETAILED_SEC = NO +INLINE_INHERITED_MEMB = NO +FULL_PATH_NAMES = NO +STRIP_FROM_PATH = @CMAKE_SOURCE_DIR@/src/svnqt +STRIP_FROM_INC_PATH = +SHORT_NAMES = NO +JAVADOC_AUTOBRIEF = NO +MULTILINE_CPP_IS_BRIEF = NO +DETAILS_AT_TOP = NO +INHERIT_DOCS = YES +DISTRIBUTE_GROUP_DOC = NO +TAB_SIZE = 4 +ALIASES = +OPTIMIZE_OUTPUT_FOR_C = NO +OPTIMIZE_OUTPUT_JAVA = NO +SUBGROUPING = YES +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- +EXTRACT_ALL = YES +EXTRACT_PRIVATE = YES +EXTRACT_STATIC = YES +EXTRACT_LOCAL_CLASSES = YES +EXTRACT_LOCAL_METHODS = NO +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +HIDE_FRIEND_COMPOUNDS = NO +HIDE_IN_BODY_DOCS = NO +INTERNAL_DOCS = YES +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +SHOW_INCLUDE_FILES = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +SORT_BRIEF_DOCS = NO +SORT_BY_SCOPE_NAME = NO +GENERATE_TODOLIST = YES +GENERATE_TESTLIST = YES +GENERATE_BUGLIST = YES +GENERATE_DEPRECATEDLIST= YES +ENABLED_SECTIONS = +MAX_INITIALIZER_LINES = 30 +SHOW_USED_FILES = YES +SHOW_DIRECTORIES = YES +FILE_VERSION_FILTER = +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- +QUIET = NO +WARNINGS = YES +WARN_IF_UNDOCUMENTED = YES +WARN_IF_DOC_ERROR = YES +WARN_NO_PARAMDOC = NO +WARN_FORMAT = "$file:$line: $text" +WARN_LOGFILE = dox-svnqt.warn.log +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = @CMAKE_SOURCE_DIR@/src/svnqt \ + @SUBVERSION_INCLUDE_DIR@ +FILE_PATTERNS = *.c \ + *.cc \ + *.cxx \ + *.cpp \ + *.c++ \ + *.java \ + *.ii \ + *.ixx \ + *.ipp \ + *.i++ \ + *.inl \ + *.h \ + *.hh \ + *.hxx \ + *.hpp \ + *.h++ \ + *.idl \ + *.odl \ + *.cs \ + *.php \ + *.php3 \ + *.inc \ + *.m \ + *.mm \ + *.dox \ + *.C \ + *.CC \ + *.C++ \ + *.II \ + *.I++ \ + *.H \ + *.HH \ + *.H++ \ + *.CS \ + *.PHP \ + *.PHP3 \ + *.M \ + *.MM \ + *.C \ + *.H \ + *.tlh \ + *.diff \ + *.patch \ + *.moc \ + *.xpm \ + *.dox +RECURSIVE = YES +EXCLUDE = +EXCLUDE_SYMLINKS = NO +EXCLUDE_PATTERNS = *moc* +EXAMPLE_PATH = +EXAMPLE_PATTERNS = * +EXAMPLE_RECURSIVE = NO +IMAGE_PATH = +INPUT_FILTER = +FILTER_PATTERNS = +FILTER_SOURCE_FILES = NO +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- +SOURCE_BROWSER = YES +INLINE_SOURCES = NO +STRIP_CODE_COMMENTS = YES +REFERENCED_BY_RELATION = YES +REFERENCES_RELATION = YES +VERBATIM_HEADERS = YES +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- +ALPHABETICAL_INDEX = YES +COLS_IN_ALPHA_INDEX = 5 +IGNORE_PREFIX = +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- +GENERATE_HTML = YES +HTML_OUTPUT = html +HTML_FILE_EXTENSION = .html +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = NO +CHM_FILE = +HHC_LOCATION = +GENERATE_CHI = NO +BINARY_TOC = NO +TOC_EXPAND = NO +DISABLE_INDEX = NO +ENUM_VALUES_PER_LINE = 4 +GENERATE_TREEVIEW = NO +TREEVIEW_WIDTH = 250 +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- +GENERATE_LATEX = YES +LATEX_OUTPUT = latex +LATEX_CMD_NAME = latex +MAKEINDEX_CMD_NAME = makeindex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = YES +USE_PDFLATEX = YES +LATEX_BATCHMODE = NO +LATEX_HIDE_INDICES = NO +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 +MAN_LINKS = NO +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- +GENERATE_XML = YES +XML_OUTPUT = xml +XML_SCHEMA = +XML_DTD = +XML_PROGRAMLISTING = YES +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- +GENERATE_AUTOGEN_DEF = NO +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- +GENERATE_PERLMOD = NO +PERLMOD_LATEX = NO +PERLMOD_PRETTY = YES +PERLMOD_MAKEVAR_PREFIX = +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = NO +EXPAND_ONLY_PREDEF = NO +SEARCH_INCLUDES = YES +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = +PREDEFINED = +EXPAND_AS_DEFINED = +SKIP_FUNCTION_MACROS = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- +TAGFILES = +GENERATE_TAGFILE = @CMAKE_BINARY_DIR@/svnqt.tag +ALLEXTERNALS = NO +EXTERNAL_GROUPS = YES +PERL_PATH = /usr/bin/perl +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- +CLASS_DIAGRAMS = YES +HIDE_UNDOC_RELATIONS = NO +HAVE_DOT = YES +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +GROUP_GRAPHS = YES +UML_LOOK = YES +TEMPLATE_RELATIONS = YES +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +CALL_GRAPH = YES +GRAPHICAL_HIERARCHY = YES +DIRECTORY_GRAPH = YES +DOT_IMAGE_FORMAT = png +DOT_PATH = +DOTFILE_DIRS = +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 +MAX_DOT_GRAPH_DEPTH = 1000 +DOT_TRANSPARENT = YES +DOT_MULTI_TARGETS = YES +GENERATE_LEGEND = YES +DOT_CLEANUP = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to the search engine +#--------------------------------------------------------------------------- +SEARCHENGINE = NO diff --git a/GPL.txt b/GPL.txt new file mode 100644 index 0000000..2bc1e36 --- /dev/null +++ b/GPL.txt @@ -0,0 +1,280 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS diff --git a/Helperstuff/BuildService/Readme.OSC.txt b/Helperstuff/BuildService/Readme.OSC.txt new file mode 100644 index 0000000..46ed38a --- /dev/null +++ b/Helperstuff/BuildService/Readme.OSC.txt @@ -0,0 +1,5 @@ +Kdesvn OSC url is https://api.opensuse.org/source/home:elektritter:kdesvn, the SPEC file is only for this, +for local builds you have to setup the variable "{distribution}_version" to the right value. + +See spec file which distributions are currently supported. Help for supporting more distributions in OSC +is welcome. diff --git a/Helperstuff/BuildService/debian.changelog b/Helperstuff/BuildService/debian.changelog new file mode 100644 index 0000000..599c086 --- /dev/null +++ b/Helperstuff/BuildService/debian.changelog @@ -0,0 +1,357 @@ +kdesvn (1.0.2-1) unstable; urgency=low + + * New upstream release. + + -- Rajko Albrecht Tue, 15 Sep 2008 14:26:45 +0200 + +kdesvn (0.14.6-1) unstable; urgency=low + + * New upstream release. + + -- Michael Biebl Tue, 15 Jul 2008 14:26:45 +0200 + +kdesvn (0.14.5-1) unstable; urgency=low + + * New upstream release. + * debian/control + - Don't conflict with kde4 versions of kdesdk-kio-plugins. Closes: #483260 + - Bump Standards-Version to 3.8.0. No further changes. + * debian/watch + - Update watch file to match the new download location. + * debian/patches/02-docimages.patch + - Specifiy the path to the doc images directly. + Beginning with version 2.4.7, cmake copies symlinks verbatim, leading to + dangling symlinks. Closes: #480585 + + -- Michael Biebl Mon, 14 Jul 2008 20:06:12 +0200 + +kdesvn (0.14.4-1) unstable; urgency=low + + * New upstream release. + + -- Michael Biebl Mon, 19 May 2008 18:25:35 +0200 + +kdesvn (0.14.3-1) unstable; urgency=low + + * New upstream release. + * debian/rules + - Include the cmake.mk class provided by cdbs. + * debian/cdbs/cmake.mk + - Drop our custom cmake.mk Makefile as we now use the one provided by + cdbs. + * debian/control + - Bump Build-Depends on cdbs to (>= 0.4.50) for the cmake support. + - Drop the "-1" revsion of the libssl-dev Build-Depends to make lintian + happy. + + -- Michael Biebl Fri, 04 Apr 2008 01:02:42 +0200 + +kdesvn (0.14.2-2) unstable; urgency=low + + * debian/rules + - Pass -DLIB_SUFFIX="" to DEB_CMAKE_EXTRA_FLAGS. This ensures that the + libraries are installed into lib and not lib64 on 64-bit architectures. + Closes: #468064 + - Update DEB_DH_MAKESHLIBS_ARGS for libsvnqt4. + + -- Michael Biebl Tue, 26 Feb 2008 23:31:17 +0100 + +kdesvn (0.14.2-1) unstable; urgency=low + + * New upstream release. + * debian/control + - Bump Standards-Version to 3.7.3. No further changes required. + + -- Michael Biebl Wed, 20 Feb 2008 00:15:24 +0100 + +kdesvn (0.14.1-1) unstable; urgency=low + + * New upstream release. + * debian/watch + - Updated for the new download location. Closes: #449689 + + -- Michael Biebl Mon, 12 Nov 2007 11:36:34 +0100 + +kdesvn (0.14.0-1) unstable; urgency=low + + * New upstream release. + * debian/kdesvn.menu + - Change section to "Applications/Programming" to comply with the new menu + spec. + * debian/patches/01-bashisms_kconf_update.patch + - Fix a bashism in the kconf_update script. + * debian/control + - Use the new "Homepage:" field to specify the upstream URL. + - SONAME bump, rename the libsvnqt3 package to libsvnqt4. + * Rename libsvnqt3.install to libsvnqt4.install. + * debian/kdesvn.install + - Install the kconf_update files. + * debian/libsvnqt-dev.install + - No longer install the libtool *.la files for libsvnqt. + + -- Michael Biebl Thu, 18 Oct 2007 02:20:32 +0200 + +kdesvn (0.13.0-1) unstable; urgency=low + + * New upstream release. + + -- Michael Biebl Fri, 10 Aug 2007 00:13:38 +0200 + +kdesvn (0.12.1-1) unstable; urgency=low + + * New upstream release. + * debian/watch + - Adapt to new directory layout. + * debian/control + - Replace ${Source-Version} with ${binary:Version}. + + -- Michael Biebl Wed, 13 Jun 2007 16:07:32 +0200 + +kdesvn (0.12.0-1) unstable; urgency=low + + * New upstream release. + * debian/patches/01-po_ca.patch + + Removed. Merged upstream. + + -- Michael Biebl Sat, 05 May 2007 02:07:52 +0200 + +kdesvn (0.11.2-2) unstable; urgency=low + + * debian/patches/01-po_ca.patch + - Added. Updates to the Catalan translation by Antoni Bella Pérez. Thanks! + Closes: #417963 + + -- Michael Biebl Thu, 05 Apr 2007 21:16:11 +0200 + +kdesvn (0.11.2-1) unstable; urgency=low + + * New upstream release. + + -- Michael Biebl Mon, 26 Mar 2007 00:51:07 +0200 + +kdesvn (0.11.1-1) unstable; urgency=low + + * New upstream release. + + -- Michael Biebl Mon, 5 Mar 2007 06:44:49 +0100 + +kdesvn (0.11.0-1) unstable; urgency=low + + * New upstream release. + * debian/patches/01-kompare_diff.patch + + Removed. Fixed upstream. + * debian/control + + Add a "Suggests: kdiff3" to kdesvn. kdiff3 can be used as an external + merge program. + + -- Michael Biebl Fri, 27 Oct 2006 12:52:15 +0200 + +kdesvn (0.10.0-2) unstable; urgency=low + + * Update maintainer email address to biebl@debian.org. + * debian/patches/01-kompare_diff.patch + + Added. Fixes a problem when using kompare as external diff application. + Closes: #394817 + + -- Michael Biebl Mon, 23 Oct 2006 13:12:45 +0200 + +kdesvn (0.10.0-1) unstable; urgency=low + + * New upstream release. + * API bump for libsvnqt + + Updated debian/control: libsvnqt2 -> libsvnqt3. + + Moved debian/libsvnqt2.install to debian/libsvnqt3.install. + + -- Michael Biebl Thu, 5 Oct 2006 01:50:41 +0200 + +kdesvn (0.9.3-1) unstable; urgency=low + + * New upstream release. + * debian/control + + Changed build dependency from libsvn0-dev to libsvn-dev. + + libsvnqt-dev: Changed "Depends: libsvn0-dev" to libsvn-dev. + * debian/patches/01-cmake_uic.patch + + Removed, merged upstream. + * debian/patches/02-build_system.patch + + Removed, fixed upstream. + + -- Michael Biebl Sat, 16 Sep 2006 16:54:55 +0200 + +kdesvn (0.9.2-1) unstable; urgency=low + + * New upstream release. + + Improved UTF-8 handling. Closes: #381424 + + Dynamic context menues can now be disabled from within kdesvn. + Closes: #377592. This also addresses #370303. + * Switched the build system to CMake. + + Added debian/cdbs/cmake.mk, a cdbs class for CMake (taken from the + strigi package). + + Updated the build dependencies in debian/control accordingly. + + Updated debian/rules. Include debian/cdbs/cmake.mk instead of + /usr/share/cdbs/1/class/kde.mk. + * Updated debian/watch to scan for bz2 tarballs. + * Backported two build system related fixes from trunk (01-cmake_uic.patch + and 02-build_system.patch). + + -- Michael Biebl Fri, 1 Sep 2006 13:40:57 +0200 + +kdesvn (0.9.1-1) unstable; urgency=medium + + * New upstream release. + + Correct diffs for non-UTF8 locales. Closes: #369809 + * Ship updated admin/cvs.sh with support for autoconf-2.6. Closes: #379826 + + -- Michael Biebl Tue, 25 Jul 2006 22:36:03 +0200 + +kdesvn (0.9.0-1) unstable; urgency=low + + * New upstream release. + + The dynamic context menu entries are now in their own, exclusive + submenu. This is a workaround for #370303. + * Removed patch makefile_am.diff, merged upstream. + + -- Michael Biebl Mon, 24 Jul 2006 02:52:17 +0200 + +kdesvn (0.8.5-1) unstable; urgency=low + + * New upstream release. + + -- Michael Biebl Sun, 25 Jun 2006 08:00:01 +0200 + +kdesvn (0.8.4-1) unstable; urgency=low + + * New upstream release. + * Bumped Standards-Version to 3.7.2, no further changes required. + + -- Michael Biebl Sun, 21 May 2006 13:32:16 +0200 + +kdesvn (0.8.3-1) unstable; urgency=low + + * New upstream release. Closes: #365643 + + Local characters in URLs are properly encoded now. Closes: #364910 + + Do not print a warning message if svnqt and kdesvn version differ. + Closes: #365743 + * Bumped Standards-Version to 3.7.1, no further changes required. + + -- Michael Biebl Thu, 4 May 2006 00:18:09 +0200 + +kdesvn (0.8.2-1) unstable; urgency=low + + * New upstream release. + * Added a "Recommends: graphviz" to kdesvn. dot is part of the graphviz + package and used by kdesvn to generate nice looking revision graphs. + * The soname of svnqt changed from 1 to 2. Updated the control files + accordingly. + * Moved libsvnqt2 in front of kdesvn in debian/control. This way the shlibs + file of libsvnqt2 is created before dh_shlibdeps for kdesvn is run. + + -- Michael Biebl Sun, 23 Apr 2006 00:40:43 +0200 + +kdesvn (0.8.1-1) unstable; urgency=low + + * New upstream release. + + -- Michael Biebl Sun, 2 Apr 2006 15:18:56 +0200 + +kdesvn (0.8.0-1) unstable; urgency=low + + * New upstream release. + * Added two new binary packages libsvnqt1 and libsvnqt-dev. svnqt is a Qt + wrapper library for subversion. kdesvn uses it to ease the access to + libsvn. + * Updated copyright file and added information about svnqt. + * Bumped debhelper compatibility to 5. + + -- Michael Biebl Fri, 24 Mar 2006 08:56:09 +0100 + +kdesvn (0.7.4-1) unstable; urgency=low + + * New upstream release. + * Fixed indentation of homepage url in the long description. + * Disabled autoloading of kded service, added patch kded_no_autoload.diff. + Fixes problem with dynamic context menus. Closes: #348411 + + -- Michael Biebl Wed, 1 Mar 2006 22:19:30 +0100 + +kdesvn (0.7.3-1) unstable; urgency=low + + * New upstream release. + + Removed patch store_passwords_config.diff, merged upstream. + + Removed patch settings_icons.diff, merged upstream. + + -- Michael Biebl Thu, 2 Feb 2006 15:25:50 +0100 + +kdesvn (0.7.2-2) unstable; urgency=low + + * subversion_settings.cpp was not regenerated from the patched ui file. + Enforce its recreation via rm. This really fixes #345518. + + -- Michael Biebl Fri, 13 Jan 2006 16:09:35 +0100 + +kdesvn (0.7.2-1) unstable; urgency=low + + * New upstream release. + + Removed patch context_menu.diff, merged upstream. + * Added patch store_passwords_config.diff. Closes: #345518 + * Added patch settings_icons.diff for more distinct icons in the settings + dialog. + + -- Michael Biebl Fri, 13 Jan 2006 04:31:54 +0100 + +kdesvn (0.7.1-1) unstable; urgency=low + + * New upstream release. + * Tightened build dependency on kdelibs4-dev because of the C++ allocator + change. + * Tightened build dependency on libsvn0-dev as kdesvn now requires subversion + 1.2 or higher. + * Split up package into core application kdesvn and KIO plugin package + kdesvn-kio-plugins. + * Updated menu icon. + * Use Debian libtool and regenerate the autotools files. Closes: #343952 + + Add build dependencies to automake1.9, autoconf and libtool. + + Patch makefile_am.diff from Aurelien Jarno adds + missing libraries needed for linking. + + -- Michael Biebl Mon, 19 Dec 2005 21:47:39 +0100 + +kdesvn (0.6.3-1) unstable; urgency=low + + * New upstream release. + + -- Michael Biebl Mon, 24 Oct 2005 17:37:02 +0200 + +kdesvn (0.6.2-1) unstable; urgency=low + + * New upstream release. + * Added a versioned build dependency to libssl-dev (>= 0.9.8a-1) to make + sure kdesvn links against a version of openssl which has symbol + versioning. + + -- Michael Biebl Wed, 5 Oct 2005 15:40:53 +0200 + +kdesvn (0.6.1-1) unstable; urgency=low + + * New upstream release. + + -- Michael Biebl Tue, 4 Oct 2005 04:04:14 +0200 + +kdesvn (0.6.0-1) unstable; urgency=low + + * New upstream release. + + -- Michael Biebl Fri, 23 Sep 2005 16:47:04 +0200 + +kdesvn (0.5.3-2) unstable; urgency=low + + * Removed useless build dependency on build-essential which was + generated by cdbs. Closes: #326638 + + -- Michael Biebl Mon, 5 Sep 2005 18:50:39 +0200 + +kdesvn (0.5.3-1) unstable; urgency=low + + * Initial release. Closes: #323697 + + -- Michael Biebl Fri, 2 Sep 2005 19:26:13 +0200 + diff --git a/Helperstuff/BuildService/debian.control b/Helperstuff/BuildService/debian.control new file mode 100644 index 0000000..6df53f6 --- /dev/null +++ b/Helperstuff/BuildService/debian.control @@ -0,0 +1,53 @@ +Source: kdesvn +Section: devel +Priority: optional +Maintainer: Rajko Albrecht +Build-Depends: cdbs (>= 0.4.50), debhelper (>= 5.0.0), cmake (>= 2.4), kdelibs4-dev (>= 4:3.4.3-2), libsvn-dev (>= 1.2.0), libssl-dev (>= 0.9.8a), gettext +Standards-Version: 3.8.0 +Homepage: http://kdesvn.alwins-world.de/ + +Package: libsvnqt4 +Section: libs +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Qt wrapper library for subversion + This package provides svnqt, a Qt wrapper library around the + subversion library. + . + It is based on the RapidSvn SvnCpp library, a subversion client API + written in C++. + +Package: libsvnqt-dev +Section: libdevel +Architecture: any +Depends: libsvnqt4 (= ${binary:Version}), libqt3-mt-dev, libsvn-dev +Description: Qt wrapper library for subversion (development files) + This package contains the header files and symbolic links that developers + using svnqt will need. + +Package: kdesvn +Section: devel +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, kdesvn-kio-plugins (= ${binary:Version}) +Recommends: kompare, graphviz +Suggests: khelpcenter, kdiff3 +Description: subversion client with tight KDE integration + KDESvn is a graphical client for the subversion revision control + system (svn). + . + Besides offering common and advanced svn operations, it features + a tight integration into KDE and can be embedded into other KDE + applications like konqueror via the KDE component technology KParts. + +Package: kdesvn-kio-plugins +Section: devel +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Conflicts: kdesdk-misc (<< 4:3.5.0-1), kdesdk-kio-plugins (<< 4:4.0.0) +Replaces: kdesdk-kio-plugins (<< 4:4.0.0) +Description: subversion I/O slaves for KDE + This packages includes KIO slaves for svn, svn+file, svn+http, + svn+https, svn+ssh. This allows you to access subversion repositories + inside any KIO enabled KDE application. + . + This package is part of kdesvn. diff --git a/Helperstuff/BuildService/kdesvn.dsc.in b/Helperstuff/BuildService/kdesvn.dsc.in new file mode 100644 index 0000000..2c02e0b --- /dev/null +++ b/Helperstuff/BuildService/kdesvn.dsc.in @@ -0,0 +1,13 @@ +Format: 1.0 +Source: kdesvn +Binary: libsvnqt4, libsvnqt-dev, kdesvn, kdesvn-kio-plugins +Architecture: any +Version: @VERSION@-1 +Maintainer: Rajko Albrecht +Homepage: http://kdesvn.alwins-world.de/ +Standards-Version: 3.8.0 +Build-Depends: cdbs (>= 0.4.50), cmake (>= 2.4), debhelper (>= 5.0.0), gettext, kdelibs4-dev (>= 4:3.4.3-2), libssl-dev (>= 0.9.8a), libsvn-dev (>= 1.2.0) +Files: + 1a7ef78663645b9a1e4b9b5161fdfe0d 11338 kdesvn_@VERSION@-1.diff.tar.gz + d57283ebb8157ae919762c58419353c8 133282 kdesvn_@VERSION@.orig.tar.gz + diff --git a/Helperstuff/BuildService/kdesvn.spec.in b/Helperstuff/BuildService/kdesvn.spec.in new file mode 100644 index 0000000..66a3aa3 --- /dev/null +++ b/Helperstuff/BuildService/kdesvn.spec.in @@ -0,0 +1,122 @@ +# norootforbuild +Summary: A subversion client for the KDE with KIO integration +Name: kdesvn +Version: @VERSION@ +Release: 1 +License: LGPL +Vendor: Rajko Albrecht +Url: http://kdesvn.alwins-world.de +Group: Development/Tools +Source: kdesvn-%version.tar.bz2 +BuildRoot: %{_tmppath}/%{name}-root +Requires: subversion >= 1.3.0 +Requires: /usr/bin/dot +BuildRequires: cmake >= 2.4 +BuildRequires: gcc-c++ +BuildRequires: sqlite-devel +BuildRequires: subversion-devel + +%if 0%{?fedora_version} > 0 || 0%{?rhel_version} > 0 || 0%{?centos_version} > 0 +BuildRequires: apr-devel +BuildRequires: apr-util-devel +%if 0%{?fedora_version} > 8 +BuildRequires: kdelibs3-devel +%else +BuildRequires: kdelibs-devel >= 3.4 +%endif +%define _prefix /usr +%endif + +%if 0%{?suse_version} > 0 +BuildRequires: xorg-x11-devel +BuildRequires: kdelibs3-devel +%define _prefix /opt/kde3 +%if %suse_version >= 1010 +BuildRequires: libapr1 libapr1-devel libapr-util1 libapr-util1-devel +%else +BuildRequires: libapr0 +%endif +%define _bindir %{_prefix}/bin +%define _datadir %{_prefix}/share +%define _libdir %{_prefix}/%_lib +%define _includedir %{_prefix}/include +%endif + + +%description +Kdesvn is a subversion client for KDE. +It may used as standalone application or plugin (KPart). Base functions are provided +via a KIO protocol, too. + +%package kiosvn +Requires: kdesvn = %{version} +Group: Development/Tools +Summary: A kde-kio integration for subversion based on kdesvn + +%description kiosvn +KIO integration (KIO::svn) based on kdesvn alternative protocol name. + +%package devel +Group: Development/Libraries +Summary: Wrapper lib for subversion QT integration +Requires: subversion-devel >= 1.3.0 +Requires: kdesvn = %{version} + +%description devel +Development files for kdesvn. It is required when you plan use svnqt wrapper library in your own application. + +%prep +%setup -q +mkdir build +cd build +cmake ../ -DCMAKE_INSTALL_PREFIX=`kde-config --prefix` -DCMAKE_BUILD_TYPE=Release -DLIB_SUFFIX=`kde-config --libsuffix` + +%build +%if 0%{?suse_version} > 0 +. /etc/opt/kde3/common_options +%endif +cd build +make %{?jobs:-j%jobs} + +%install +cd build +rm -rf $RPM_BUILD_ROOT +make install DESTDIR=$RPM_BUILD_ROOT +gzip $RPM_BUILD_ROOT/%{_datadir}/man/man1/* + +%clean +rm -rf $RPM_BUILD_ROOT + + +%files +%defattr(-,root,root) +%{_bindir}/kdesvn +%{_bindir}/kdesvnaskpass +%{_libdir}/*/*part* +%{_datadir}/applications/* +%{_datadir}/apps/kdesvn/* +%{_datadir}/apps/kdesvnpart/* +%{_datadir}/apps/kconf_update/* +%{_datadir}/config.kcfg/* +%{_datadir}/doc/* +%{_datadir}/icons/* +%{_datadir}/locale/* +%{_libdir}/*/kded_kdesvnd.* +%{_datadir}/services/kded/kdesvnd.desktop +%{_datadir}/apps/konqueror/servicemenus/kdesvn* +%{_libdir}/*/kio_ksvn* +%{_datadir}/services/ksvn*.protocol +%{_datadir}/man/man1/* +%{_libdir}/libsvnqt*.so* +%doc AUTHORS ChangeLog GPL.txt TODO COPYING COPYING.OpenSSL + +%files kiosvn +%defattr(-,root,root) +%{_datadir}/services/svn*.protocol + +%files devel +%defattr(-,root,root) +%dir %{_includedir}/svnqt +%{_includedir}/svnqt/* + +%changelog diff --git a/INSTALL-cmake b/INSTALL-cmake new file mode 100644 index 0000000..cf30958 --- /dev/null +++ b/INSTALL-cmake @@ -0,0 +1,72 @@ +Note for failed linking +======================= +Seems that on some systems linking fails due missing references. You may +solve it with + +. /etc/profile.d/qt.sh +export QTLIB=${QTDIR}/lib QTINC=${QTDIR}/include + +before running cmake. +On some systems cmake doesn't detect that it is a threaded qt-version. So you should +do + +export CXXFLAGS="-DQT_THREAD_SUPPORT" + +before running cmake. +(Or give it as parameter to cmake with -DCMAKE_CXX_FLAGS="-DQT_THREAD_SUPPORT") + + +Prepare install +=============== +You require at least cmake 2.4, kde 3.4.x and subversion 1.2. In source-tree-build are mostly unwanted, so +make a subdir called "kdesvn-build" and change to it. + +Basic installation +================== +Change to your builddirectory and call cmake with the path to kdesvn. E.g., +when your build-folder is "kdesvn-build" within source-tree, so change to it +and type "cmake ../". + +Now your system get checked if it is able compiling kdesvn and cmake generates +the Makefiles. +Important parameters to cmake: + +-DCMAKE_BUILD_TYPE= + may current one of "Debug", "Release", "ReleaseWithDebInfo" +or "MINSIZEREL" + +-DCMAKE_INSTALL_PREFIX= +Default to "/usr/local" + +-DSUBVERSION_INSTALL_PATH= +Where is subversion-lib installed. Default check in /usr and /usr/local + +-DCMAKE_CXX_FLAGS= +Extra flags for the c++ compiler for your system required. + +-DLIB_SUFFIX= +Mostly for 64bit systems, there suffix may be 64 so libs will installed +in /usr/lib64 and not /usr/lib for instance. + +After calling cmake just type + make +and build begins. When more output is wanted call + make VERBOSE=1 + +After make type "make install" and install begins. + +You may install to a temporary-root with + make install DESTDIR= + +If you want to uninstall kdesvn again type "make uninstall" from within the +build directory. + +Extra cflags and linker flags +============================= + +If you require extra flags for compiler and linker you may give them via environment variables + "CXXFLAGS" (c++ compiler) + "LDFLAGS" (for linker) + "CFLAGS" (for c-compiler, not needed in kdesvn build) + +eg., it may usefull on 64bit systems "-m64" to CXXFLAGS and LDFLAGS. diff --git a/NEWS b/NEWS new file mode 100644 index 0000000..e69de29 diff --git a/README b/README new file mode 100644 index 0000000..0cfb2df --- /dev/null +++ b/README @@ -0,0 +1,3 @@ +Pure C++ KDE Subversion client. + +C++ wrapper from rapidsvn (rapidsvn.tigris.org) diff --git a/TODO b/TODO new file mode 100644 index 0000000..25845b2 --- /dev/null +++ b/TODO @@ -0,0 +1 @@ +See ticket tracker on http://kdesvn.alwins-world.de diff --git a/cmakemodules/FindKdeLibs.cmake b/cmakemodules/FindKdeLibs.cmake new file mode 100644 index 0000000..e36dab4 --- /dev/null +++ b/cmakemodules/FindKdeLibs.cmake @@ -0,0 +1,521 @@ +include(FindQt3) + +# - Find the KDE3 include and library dirs, KDE preprocessors and define a some macros +# +# This module defines the following variables: +# KDE3_DEFINITIONS - compiler definitions required for compiling KDE software +# KDE3_INCLUDE_DIR - the KDE include directory +# KDE3_INCLUDE_DIRS - the KDE and the Qt include directory, for use with INCLUDE_DIRECTORIES() +# KDE3_LIB_DIR - the directory where the KDE libraries are installed, for use with LINK_DIRECTORIES() +# QT_AND_KDECORE_LIBS - this contains both the Qt and the kdecore library +# KDE3_DCOPIDL_EXECUTABLE - the dcopidl executable +# KDE3_DCOPIDL2CPP_EXECUTABLE - the dcopidl2cpp executable +# KDE3_KCFGC_EXECUTABLE - the kconfig_compiler executable +# KDE3_FOUND - set to TRUE if all of the above has been found +# +# The following user adjustable options are provided: +# +# KDE3_BUILD_TESTS - enable this to build KDE testcases +# +# +# It also adds the following macros (from KDE3Macros.cmake) +# SRCS_VAR is always the variable which contains the list of source files for your application or library. +# +# KDE3_AUTOMOC(file1 ... fileN) +# Call this if you want to have automatic moc file handling. +# This means if you include "foo.moc" in the source file foo.cpp +# a moc file for the header foo.h will be created automatically. +# You can set the property SKIP_AUTOMAKE using SET_SOURCE_FILES_PROPERTIES() +# to exclude some files in the list from being processed. +# +# KDE3_ADD_MOC_FILES(SRCS_VAR file1 ... fileN ) +# If you don't use the KDE3_AUTOMOC() macro, for the files +# listed here moc files will be created (named "foo.moc.cpp") +# +# KDE3_ADD_DCOP_SKELS(SRCS_VAR header1.h ... headerN.h ) +# Use this to generate DCOP skeletions from the listed headers. +# +# KDE3_ADD_DCOP_STUBS(SRCS_VAR header1.h ... headerN.h ) +# Use this to generate DCOP stubs from the listed headers. +# +# KDE3_ADD_UI_FILES(SRCS_VAR file1.ui ... fileN.ui ) +# Use this to add the Qt designer ui files to your application/library. +# +# KDE3_ADD_KCFG_FILES(SRCS_VAR file1.kcfgc ... fileN.kcfgc ) +# Use this to add KDE kconfig compiler files to your application/library. +# +# KDE3_INSTALL_LIBTOOL_FILE(target) +# This will create and install a simple libtool file for the given target. +# +# KDE3_ADD_EXECUTABLE(name file1 ... fileN ) +# Currently identical to ADD_EXECUTABLE(), may provide some advanced features in the future. +# +# KDE3_ADD_KPART(name [WITH_PREFIX] file1 ... fileN ) +# Create a KDE plugin (KPart, kioslave, etc.) from the given source files. +# If WITH_PREFIX is given, the resulting plugin will have the prefix "lib", otherwise it won't. +# It creates and installs an appropriate libtool la-file. +# +# KDE3_ADD_KDEINIT_EXECUTABLE(name file1 ... fileN ) +# Create a KDE application in the form of a module loadable via kdeinit. +# A library named kdeinit_ will be created and a small executable which links to it. +# +# The option KDE3_ENABLE_FINAL to enable all-in-one compilation is +# no longer supported. +# +# +# Author: Alexander Neundorf + +IF(NOT UNIX AND KDE3_FIND_REQUIRED) + MESSAGE(FATAL_ERROR "Compiling KDE3 applications and libraries under Windows is not supported") +ENDIF(NOT UNIX AND KDE3_FIND_REQUIRED) + +# If Qt4 has already been found, fail. +IF(QT4_FOUND) + IF(KDE3_FIND_REQUIRED) + MESSAGE( FATAL_ERROR "KDE3/Qt3 and Qt4 cannot be used together in one project.") + ELSE(KDE3_FIND_REQUIRED) + IF(NOT KDE3_FIND_QUIETLY) + MESSAGE( STATUS "KDE3/Qt3 and Qt4 cannot be used together in one project.") + ENDIF(NOT KDE3_FIND_QUIETLY) + RETURN() + ENDIF(KDE3_FIND_REQUIRED) +ENDIF(QT4_FOUND) + + +SET(QT_MT_REQUIRED TRUE) +#SET(QT_MIN_VERSION "3.0.0") + +#this line includes FindQt.cmake, which searches the Qt library and headers +IF(KDE3_FIND_REQUIRED) + SET(_REQ_STRING_KDE3 "REQUIRED") +ENDIF(KDE3_FIND_REQUIRED) + +FIND_PACKAGE(Qt3 ${_REQ_STRING_KDE3}) +FIND_PACKAGE(X11 ${_REQ_STRING_KDE3}) + + +#now try to find some kde stuff +FIND_PROGRAM(KDECONFIG_EXECUTABLE NAMES kde-config + HINTS + $ENV{KDEDIR}/bin + PATHS + /opt/kde3/bin + /opt/kde/bin + /usr/kde3/bin + ) + +SET(KDE3PREFIX) +IF(KDECONFIG_EXECUTABLE) + EXECUTE_PROCESS(COMMAND ${KDECONFIG_EXECUTABLE} --version + OUTPUT_VARIABLE kde_config_version ) + + STRING(REGEX MATCH "KDE: .\\." kde_version ${kde_config_version}) + IF (${kde_version} MATCHES "KDE: 3\\.") + EXECUTE_PROCESS(COMMAND ${KDECONFIG_EXECUTABLE} --prefix + OUTPUT_VARIABLE kdedir ) + STRING(REGEX REPLACE "\n" "" KDE3PREFIX "${kdedir}") + + ENDIF (${kde_version} MATCHES "KDE: 3\\.") +ENDIF(KDECONFIG_EXECUTABLE) + + + +# at first the KDE include direcory +# kpassdlg.h comes from kdeui and doesn't exist in KDE4 anymore +# FIND_PATH(KDE3_INCLUDE_DIR kpassdlg.h +# HINTS +# $ENV{KDEDIR}/include +# ${KDE3PREFIX}/include +# PATHS +# /opt/kde3/include +# /opt/kde/include +# /usr/include/kde +# /usr/local/include/kde +# ) + +# override this +SET(KDE3_INCLUDE_DIR "/usr/include/kde") + +#now the KDE library directory +FIND_LIBRARY(KDE3_KDECORE_LIBRARY NAMES kdecore + HINTS + $ENV{KDEDIR}/lib + ${KDE3PREFIX}/lib + PATHS + /opt/kde3/lib + /opt/kde/lib + /usr/kde3/lib +) + +SET(QT_AND_KDECORE_LIBS ${QT_LIBRARIES} ${KDE3_KDECORE_LIBRARY}) + +GET_FILENAME_COMPONENT(KDE3_LIB_DIR ${KDE3_KDECORE_LIBRARY} PATH ) + +IF(NOT KDE3_LIBTOOL_DIR) + IF(KDE3_KDECORE_LIBRARY MATCHES lib64) + SET(KDE3_LIBTOOL_DIR /lib64/kde3) + ELSE(KDE3_KDECORE_LIBRARY MATCHES lib64) + SET(KDE3_LIBTOOL_DIR /lib/kde3) + ENDIF(KDE3_KDECORE_LIBRARY MATCHES lib64) +ENDIF(NOT KDE3_LIBTOOL_DIR) + +#now search for the dcop utilities +FIND_PROGRAM(KDE3_DCOPIDL_EXECUTABLE NAMES dcopidl + HINTS + $ENV{KDEDIR}/bin + ${KDE3PREFIX}/bin + PATHS + /opt/kde3/bin + /opt/kde/bin + /usr/kde3/bin + ) + +FIND_PROGRAM(KDE3_DCOPIDL2CPP_EXECUTABLE NAMES dcopidl2cpp + HINTS + $ENV{KDEDIR}/bin + ${KDE3PREFIX}/bin + PATHS + /opt/kde3/bin + /opt/kde/bin + /usr/kde3/bin + ) + +FIND_PROGRAM(KDE3_KCFGC_EXECUTABLE NAMES kconfig_compiler + HINTS + $ENV{KDEDIR}/bin + ${KDE3PREFIX}/bin + PATHS + /opt/kde3/bin + /opt/kde/bin + /usr/kde3/bin + ) + + +#SET KDE3_FOUND +IF (KDE3_INCLUDE_DIR AND KDE3_LIB_DIR AND KDE3_DCOPIDL_EXECUTABLE AND KDE3_DCOPIDL2CPP_EXECUTABLE AND KDE3_KCFGC_EXECUTABLE) + SET(KDE3_FOUND TRUE) +ELSE (KDE3_INCLUDE_DIR AND KDE3_LIB_DIR AND KDE3_DCOPIDL_EXECUTABLE AND KDE3_DCOPIDL2CPP_EXECUTABLE AND KDE3_KCFGC_EXECUTABLE) + SET(KDE3_FOUND FALSE) +ENDIF (KDE3_INCLUDE_DIR AND KDE3_LIB_DIR AND KDE3_DCOPIDL_EXECUTABLE AND KDE3_DCOPIDL2CPP_EXECUTABLE AND KDE3_KCFGC_EXECUTABLE) + +# add some KDE specific stuff +SET(KDE3_DEFINITIONS -DQT_CLEAN_NAMESPACE -D_GNU_SOURCE) + +# set compiler flags only if KDE3 has actually been found +IF(KDE3_FOUND) + SET(_KDE3_USE_FLAGS FALSE) + IF(CMAKE_COMPILER_IS_GNUCXX) + SET(_KDE3_USE_FLAGS TRUE) # use flags for gnu compiler + EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER} --version + OUTPUT_VARIABLE out) + # gnu gcc 2.96 does not work with flags + # I guess 2.95 also doesn't then + IF("${out}" MATCHES "2.9[56]") + SET(_KDE3_USE_FLAGS FALSE) + ENDIF("${out}" MATCHES "2.9[56]") + ENDIF(CMAKE_COMPILER_IS_GNUCXX) + + #only on linux, but NOT e.g. on FreeBSD: + IF(CMAKE_SYSTEM_NAME MATCHES "Linux" AND _KDE3_USE_FLAGS) + SET (KDE3_DEFINITIONS ${KDE3_DEFINITIONS} -D_XOPEN_SOURCE=500 -D_BSD_SOURCE) + SET ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-long-long -ansi -Wundef -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -Wmissing-format-attribute -fno-common") + SET ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -fno-exceptions -fno-check-new -fno-common") + ENDIF(CMAKE_SYSTEM_NAME MATCHES "Linux" AND _KDE3_USE_FLAGS) + + # works on FreeBSD, NOT tested on NetBSD and OpenBSD + IF (CMAKE_SYSTEM_NAME MATCHES BSD AND _KDE3_USE_FLAGS) + SET ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-long-long -ansi -Wundef -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -Wmissing-format-attribute -fno-common") + SET ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wnon-virtual-dtor -Wno-long-long -Wundef -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common") + ENDIF (CMAKE_SYSTEM_NAME MATCHES BSD AND _KDE3_USE_FLAGS) + + # if no special buildtype is selected, add -O2 as default optimization + IF (NOT CMAKE_BUILD_TYPE AND _KDE3_USE_FLAGS) + SET ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2") + SET ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2") + ENDIF (NOT CMAKE_BUILD_TYPE AND _KDE3_USE_FLAGS) + +#SET(CMAKE_SHARED_LINKER_FLAGS "-avoid-version -module -Wl,--no-undefined -Wl,--allow-shlib-undefined") +#SET(CMAKE_SHARED_LINKER_FLAGS "-Wl,--fatal-warnings -avoid-version -Wl,--no-undefined -lc") +#SET(CMAKE_MODULE_LINKER_FLAGS "-Wl,--fatal-warnings -avoid-version -Wl,--no-undefined -lc") +ENDIF(KDE3_FOUND) + + +# KDE3Macros.cmake contains all the KDE specific macros +INCLUDE(KDE3Macros) + + +MACRO (KDE3_PRINT_RESULTS) + IF(KDE3_INCLUDE_DIR) + MESSAGE(STATUS "Found KDE3 include dir: ${KDE3_INCLUDE_DIR}") + ELSE(KDE3_INCLUDE_DIR) + MESSAGE(STATUS "Didn't find KDE3 headers") + ENDIF(KDE3_INCLUDE_DIR) + + IF(KDE3_LIB_DIR) + MESSAGE(STATUS "Found KDE3 library dir: ${KDE3_LIB_DIR}") + ELSE(KDE3_LIB_DIR) + MESSAGE(STATUS "Didn't find KDE3 core library") + ENDIF(KDE3_LIB_DIR) + + IF(KDE3_DCOPIDL_EXECUTABLE) + MESSAGE(STATUS "Found KDE3 dcopidl preprocessor: ${KDE3_DCOPIDL_EXECUTABLE}") + ELSE(KDE3_DCOPIDL_EXECUTABLE) + MESSAGE(STATUS "Didn't find the KDE3 dcopidl preprocessor") + ENDIF(KDE3_DCOPIDL_EXECUTABLE) + + IF(KDE3_DCOPIDL2CPP_EXECUTABLE) + MESSAGE(STATUS "Found KDE3 dcopidl2cpp preprocessor: ${KDE3_DCOPIDL2CPP_EXECUTABLE}") + ELSE(KDE3_DCOPIDL2CPP_EXECUTABLE) + MESSAGE(STATUS "Didn't find the KDE3 dcopidl2cpp preprocessor") + ENDIF(KDE3_DCOPIDL2CPP_EXECUTABLE) + + IF(KDE3_KCFGC_EXECUTABLE) + MESSAGE(STATUS "Found KDE3 kconfig_compiler preprocessor: ${KDE3_KCFGC_EXECUTABLE}") + ELSE(KDE3_KCFGC_EXECUTABLE) + MESSAGE(STATUS "Didn't find the KDE3 kconfig_compiler preprocessor") + ENDIF(KDE3_KCFGC_EXECUTABLE) + +ENDMACRO (KDE3_PRINT_RESULTS) + + +IF (KDE3_FIND_REQUIRED AND NOT KDE3_FOUND) + #bail out if something wasn't found + KDE3_PRINT_RESULTS() + MESSAGE(FATAL_ERROR "Could NOT find everything required for compiling KDE 3 programs") + +ENDIF (KDE3_FIND_REQUIRED AND NOT KDE3_FOUND) + + +IF (NOT KDE3_FIND_QUIETLY) + KDE3_PRINT_RESULTS() +ENDIF (NOT KDE3_FIND_QUIETLY) + +#add the found Qt and KDE include directories to the current include path +SET(KDE3_INCLUDE_DIRS ${QT_INCLUDE_DIR} ${KDE3_INCLUDE_DIR}) + +include(kdesvnMacros) + +IF(CMAKE_SIZEOF_VOID_P EQUAL 4) + SET(DEF_SUFF "") +ELSE(CMAKE_SIZEOF_VOID_P EQUAL 4) + SET(DEF_SUFF 64) +ENDIF(CMAKE_SIZEOF_VOID_P EQUAL 4) + +set(LIB_SUFFIX ${DEF_SUFF} CACHE STRING "Define suffix of directory name (32/64)" FORCE) + +SET(LIB_SEARCH_PATHES ${KDE3_LIB_DIR} + $ENV{KDEDIR}/lib + /opt/kde/lib + /opt/kde3/lib + /usr/lib + /usr/local/lib + /usr/kde3/lib +) + +IF (LIB_SUFFIX) + SET(LIB_SEARCH_PATHES + $ENV{KDEDIR}/lib${LIB_SUFFIX} + /opt/kde/lib${LIB_SUFFIX} + /opt/kde3/lib${LIB_SUFFIX} + /usr/lib${LIB_SUFFIX} + /usr/local/lib${LIB_SUFFIX} + ${LIB_SEARCH_PATHES}) +ENDIF (LIB_SUFFIX) + +FIND_LIBRARY(KDE3_UI_LIBRARY NAMES kdeui + PATHS + ${LIB_SEARCH_PATHES} +) + +FIND_LIBRARY(KDE3_PART_LIBRARY NAMES kparts + PATHS + ${LIB_SEARCH_PATHES} +) + +FIND_LIBRARY(KDE3_KIO_LIBRARY NAMES kio + PATHS + ${LIB_SEARCH_PATHES} +) + +FIND_LIBRARY(KDE3_DCOP_LIBRARY NAMES DCOP + PATHS + ${LIB_SEARCH_PATHES} +) + +FIND_LIBRARY(KDE3_WALLET_LIBRARY NAMES kwalletclient + PATHS + ${LIB_SEARCH_PATHES} +) + +FIND_LIBRARY(KDE3_KINIT_KDED_LIBRARY NAMES kdeinit_kded + PATHS + ${LIB_SEARCH_PATHES} +) + +FIND_PROGRAM(KDE3_KDECONFIG_EXECUTABLE NAME kde-config PATHS + $ENV{KDEDIR}/bin + /opt/kde/bin + /opt/kde3/bin + /usr/kde3/bin +) + +FIND_PROGRAM(MSGFMT + NAMES gmsgfmt msgfmt) + +FIND_PROGRAM(STRIP + NAMES strip) + +FIND_PROGRAM(KDE3_MEINPROC_EXECUTABLE NAME meinproc PATHS + ${KDE3_BIN_INSTALL_DIR} + $ENV{KDEDIR}/bin + /opt/kde/bin + /opt/kde3/bin + /usr/kde3/bin +) + +IF(KDE3_MEINPROC_EXECUTABLE) + MESSAGE(STATUS "Found meinproc: ${KDE3_MEINPROC_EXECUTABLE}") +ELSE(KDE3_MEINPROC_EXECUTABLE) + MESSAGE(STATUS "Didn't find meinproc!") +ENDIF(KDE3_MEINPROC_EXECUTABLE) + +IF(MSGFMT) + EXECUTE_PROCESS(COMMAND ${MSGFMT} "--version" "2>&1" + OUTPUT_VARIABLE _msgout) + STRING(REGEX MATCH "GNU[\t ]gettext" _isgnu "${_msgout}") + IF (NOT _isgnu) + MESSAGE(STATUS "No gnu msgfmt found!") + SET(MSGFMT ":" CACHE STRING "Msgfmt program") + ELSE(NOT _isgnu) + MESSAGE(STATUS "Found gnu msgfmt: ${MSGFMT}") + ENDIF (NOT _isgnu) +ELSE(MSGFMT) + SET(MSGFMT ":" CACHE STRING "Msgfmt program") +ENDIF(MSGFMT) + +# 'cause my own defines were not good I take them from kde4 trunk +#add some KDE specific stuff +set(SHARE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}/share CACHE PATH "Base directory for files which go to share/" FORCE) +set(EXEC_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} CACHE PATH "Base directory for executables and libraries" FORCE) +# +## the following are directories where stuff will be installed to +set(BIN_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/bin" CACHE PATH "The kde bin install dir (default prefix/bin)" FORCE) +set(SBIN_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/sbin" CACHE PATH "The kde sbin install dir (default prefix/sbin)" FORCE) +set(LIB_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX}" CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is /lib${LIB_SUFFIX})" FORCE) +set(LIBEXEC_INSTALL_DIR "${LIB_INSTALL_DIR}/kde3/libexec" CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is /lib/kde3/libexec)" FORCE) +set(PLUGIN_INSTALL_DIR "${LIB_INSTALL_DIR}/kde3" CACHE PATH "The subdirectory relative to the install prefix where plugins will be installed (default is ${LIB_INSTALL_DIR}/kde3)" FORCE) +set(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "The subdirectory to the header prefix" FORCE) +set(CONFIG_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/config" CACHE PATH "The config file install dir" FORCE) +set(DATA_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/apps" CACHE PATH "The parent directory where applications can install their data" FORCE) +set(HTML_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/doc/HTML" CACHE PATH "The HTML install dir for documentation" FORCE) +set(ICON_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/icons" CACHE PATH "The icon install dir (default prefix/share/icons/)" FORCE) +set(KCFG_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/config.kcfg" CACHE PATH "The install dir for kconfig files" FORCE) +set(LOCALE_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/locale" CACHE PATH "The install dir for translations" FORCE) +set(MIME_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/mimelnk" CACHE PATH "The install dir for the mimetype desktop files" FORCE) +set(SERVICES_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/services" CACHE PATH "The install dir for service (desktop, protocol, ...) files" FORCE) +set(SERVICETYPES_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/servicetypes" CACHE PATH "The install dir for servicestypes desktop files" FORCE) +set(SOUND_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/sounds" CACHE PATH "The install dir for sound files" FORCE) +set(TEMPLATES_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/templates" CACHE PATH "The install dir for templates (Create new file...)" FORCE) +set(WALLPAPER_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/wallpapers" CACHE PATH "The install dir for wallpapers" FORCE) +set(KCONF_UPDATE_INSTALL_DIR "${DATA_INSTALL_DIR}/kconf_update" CACHE PATH "The kconf_update install dir" FORCE) +# this one shouldn't be used anymore +set(APPLNK_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/applnk" CACHE PATH "Is this still used ?" FORCE) +set(AUTOSTART_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/autostart" CACHE PATH "The install dir for autostart files" FORCE) +set(XDG_APPS_DIR "${SHARE_INSTALL_PREFIX}/applications/kde" CACHE PATH "The XDG apps dir" FORCE) +set(XDG_DIRECTORY_DIR "${SHARE_INSTALL_PREFIX}/desktop-directories" CACHE PATH "The XDG directory" FORCE) +set(SYSCONF_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/etc" CACHE PATH "The kde sysconfig install dir (default/etc)" FORCE) +set(MAN_INSTALL_DIR "${SHARE_INSTALL_PREFIX}/man" CACHE PATH "The kde man install dir (default prefix/share/man/)" FORCE) +set(INFO_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/info" CACHE PATH "The kde info install dir (default prefix/info)" FORCE) + +# linker flags - must get checked + +IF (CMAKE_SYSTEM MATCHES "Linux*") + SET(lundef "-Wl,--no-undefined") + KDESVN_CHECK_LINK_FLAG(${lundef} _NO_UNDEFINED) + IF (_NO_UNDEFINED) + SET(LINK_NO_UNDEFINED "${lundef}") + ENDIF (_NO_UNDEFINED) + + SET(lundef "-Wl,--allow-shlib-undefined") + KDESVN_CHECK_LINK_FLAG(${lundef} _ALLOW_SHLIB) + IF (_ALLOW_SHLIB) + SET(LINK_NO_UNDEFINED "${LINK_NO_UNDEFINED} ${lundef}") + ENDIF (_ALLOW_SHLIB) +ENDIF (CMAKE_SYSTEM MATCHES "Linux*") + + +# own macros +MACRO(KDESVN_INSTALL_ICONS _theme) + + FILE(GLOB _icons *.png) + FILE(GLOB _svg *svgz) + SET(_icons ${_icons} ${_svg}) + FOREACH(_current_ICON ${_icons} ) + GET_FILENAME_COMPONENT(_ctype ${_current_ICON} EXT) + + if (${_ctype} STREQUAL ".png") + STRING(REGEX REPLACE "^.*/[a-zA-Z]+([0-9]+)\\-([a-z]+)\\-(.+\\.png)$" "\\1" _size "${_current_ICON}") + STRING(REGEX REPLACE "^.*/[a-zA-Z]+([0-9]+)\\-([a-z]+)\\-(.+\\.png)$" "\\2" _group "${_current_ICON}") + STRING(REGEX REPLACE "^.*/[a-zA-Z]+([0-9]+)\\-([a-z]+)\\-(.+\\.png)$" "\\3" _name "${_current_ICON}") + set(_sizestring "${_size}x${_size}") + endif (${_ctype} STREQUAL ".png") + + if (${_ctype} STREQUAL ".svgz") + STRING(REGEX REPLACE "^.*/[a-zA-Z]+\\-([a-z]+)\\-(.+\\.svgz)$" "\\1" _group "${_current_ICON}") + STRING(REGEX REPLACE "^.*/[a-zA-Z]+\\-([a-z]+)\\-(.+\\.svgz)$" "\\2" _name "${_current_ICON}") + set(_sizestring "scalable") + endif (${_ctype} STREQUAL ".svgz") + + SET(_icon_GROUP "actions") + + IF(${_group} STREQUAL "mime") + SET(_icon_GROUP "mimetypes") + ENDIF(${_group} STREQUAL "mime") + + IF(${_group} STREQUAL "filesys") + SET(_icon_GROUP "filesystems") + ENDIF(${_group} STREQUAL "filesys") + + IF(${_group} STREQUAL "device") + SET(_icon_GROUP "devices") + ENDIF(${_group} STREQUAL "device") + + IF(${_group} STREQUAL "app") + SET(_icon_GROUP "apps") + ENDIF(${_group} STREQUAL "app") + + IF(${_group} STREQUAL "action") + SET(_icon_GROUP "actions") + ENDIF(${_group} STREQUAL "action") + + #message(STATUS "icon: ${_current_ICON} size: ${_sizestring} group: ${_group} name: ${_name}" ) + SET(_ICON_INSTALL_DIR ${ICON_INSTALL_DIR}/${_theme}/${_sizestring}/${_icon_GROUP}) + + INSTALL(FILES ${_current_ICON} DESTINATION ${_ICON_INSTALL_DIR} RENAME ${_name}) + + ENDFOREACH (_current_ICON) +ENDMACRO(KDESVN_INSTALL_ICONS) + +MACRO(ADD_POFILES packagename) + SET(_gmofiles) + FILE(GLOB _pofiles *.po) + + FOREACH(_current_po ${_pofiles}) + GET_FILENAME_COMPONENT(_name ${_current_po} NAME_WE) + STRING(REGEX REPLACE "^.*/([a-zA-Z]+)(\\.po)" "\\1" _lang "${_current_po}") + SET(_gmofile "${CMAKE_CURRENT_BINARY_DIR}/${_name}.gmo") + ADD_CUSTOM_COMMAND(OUTPUT ${_gmofile} + COMMAND ${MSGFMT} + ARGS "-o" "${_gmofile}" "${_current_po}" + DEPENDS ${_current_po} + ) + SET(_gmofiles ${_gmofiles} ${_gmofile}) + INSTALL(FILES ${_gmofile} + DESTINATION ${LOCALE_INSTALL_DIR}/${_lang}/LC_MESSAGES + RENAME ${packagename}.mo) + ENDFOREACH(_current_po ${_pofiles}) + + ADD_CUSTOM_TARGET(translations ALL + DEPENDS ${_gmofiles}) + +ENDMACRO(ADD_POFILES) diff --git a/cmakemodules/KDE3Macros.cmake b/cmakemodules/KDE3Macros.cmake new file mode 100644 index 0000000..242e12f --- /dev/null +++ b/cmakemodules/KDE3Macros.cmake @@ -0,0 +1,391 @@ +# + +# See FindKDE3.cmake for documentation. +# +# this file contains the following macros: +# KDE3_ADD_DCOP_SKELS +# KDE3_ADD_DCOP_STUBS +# KDE3_ADD_MOC_FILES +# KDE3_ADD_UI_FILES +# KDE3_ADD_KCFG_FILES +# KDE3_AUTOMOC +# KDE3_INSTALL_LIBTOOL_FILE +# KDE3_CREATE_FINAL_FILE +# KDE3_ADD_KPART +# KDE3_ADD_KDEINIT_EXECUTABLE +# KDE3_ADD_EXECUTABLE + + +#neundorf@kde.org + +INCLUDE(AddFileDependencies) + +#create the kidl and skeletion file for dcop stuff +#usage: KDE_ADD_COP_SKELS(foo_SRCS ${dcop_headers}) +MACRO(KDE3_ADD_DCOP_SKELS _sources) + FOREACH (_current_FILE ${ARGN}) + + GET_FILENAME_COMPONENT(_tmp_FILE ${_current_FILE} ABSOLUTE) + GET_FILENAME_COMPONENT(_basename ${_tmp_FILE} NAME_WE) + + SET(_skel ${CMAKE_CURRENT_BINARY_DIR}/${_basename}_skel.cpp) + SET(_kidl ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.kidl) + + IF (NOT HAVE_${_basename}_KIDL_RULE) + SET(HAVE_${_basename}_KIDL_RULE ON) + + ADD_CUSTOM_COMMAND(OUTPUT ${_kidl} + COMMAND ${KDE3_DCOPIDL_EXECUTABLE} + ARGS ${CMAKE_CURRENT_SOURCE_DIR}/${_current_FILE} > ${_kidl} + DEPENDS ${_tmp_FILE} + ) + ENDIF (NOT HAVE_${_basename}_KIDL_RULE) + + IF (NOT HAVE_${_basename}_SKEL_RULE) + SET(HAVE_${_basename}_SKEL_RULE ON) + + ADD_CUSTOM_COMMAND(OUTPUT ${_skel} + COMMAND ${KDE3_DCOPIDL2CPP_EXECUTABLE} + ARGS --c++-suffix cpp --no-signals --no-stub ${_kidl} + DEPENDS ${_kidl} + ) + + ENDIF (NOT HAVE_${_basename}_SKEL_RULE) + + SET(${_sources} ${${_sources}} ${_skel}) + + ENDFOREACH (_current_FILE) + +ENDMACRO(KDE3_ADD_DCOP_SKELS) + + +MACRO(KDE3_ADD_DCOP_STUBS _sources) + FOREACH (_current_FILE ${ARGN}) + + GET_FILENAME_COMPONENT(_tmp_FILE ${_current_FILE} ABSOLUTE) + + GET_FILENAME_COMPONENT(_basename ${_tmp_FILE} NAME_WE) + + SET(_stub_CPP ${CMAKE_CURRENT_BINARY_DIR}/${_basename}_stub.cpp) + SET(_kidl ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.kidl) + + IF (NOT HAVE_${_basename}_KIDL_RULE) + SET(HAVE_${_basename}_KIDL_RULE ON) + + + ADD_CUSTOM_COMMAND(OUTPUT ${_kidl} + COMMAND ${KDE3_DCOPIDL_EXECUTABLE} + ARGS ${tmp_FILE} > ${_kidl} + DEPENDS ${tmp_FILE} + ) + + ENDIF (NOT HAVE_${_basename}_KIDL_RULE) + + + IF (NOT HAVE_${_basename}_STUB_RULE) + SET(HAVE_${_basename}_STUB_RULE ON) + + ADD_CUSTOM_COMMAND(OUTPUT ${_stub_CPP} + COMMAND ${KDE3_DCOPIDL2CPP_EXECUTABLE} + ARGS --c++-suffix cpp --no-signals --no-skel ${_kidl} + DEPENDS ${_kidl} + ) + + ENDIF (NOT HAVE_${_basename}_STUB_RULE) + + SET(${_sources} ${${_sources}} ${_stub_CPP}) + + ENDFOREACH (_current_FILE) + +ENDMACRO(KDE3_ADD_DCOP_STUBS) + + +MACRO(KDE3_ADD_KCFG_FILES _sources) + FOREACH (_current_FILE ${ARGN}) + + GET_FILENAME_COMPONENT(_tmp_FILE ${_current_FILE} ABSOLUTE) + + GET_FILENAME_COMPONENT(_basename ${_tmp_FILE} NAME_WE) + + FILE(READ ${_tmp_FILE} _contents) + STRING(REGEX REPLACE "^(.*\n)?File=([^\n]+)\n.*$" "\\2" _kcfg_FILE "${_contents}") + + SET(_src_FILE ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.cpp) + SET(_header_FILE ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.h) + + ADD_CUSTOM_COMMAND(OUTPUT ${_src_FILE} + COMMAND ${KDE3_KCFGC_EXECUTABLE} + ARGS ${CMAKE_CURRENT_SOURCE_DIR}/${_kcfg_FILE} ${_tmp_FILE} + DEPENDS ${_tmp_FILE} ${CMAKE_CURRENT_SOURCE_DIR}/${_kcfg_FILE} ) + + SET(${_sources} ${${_sources}} ${_src_FILE}) + + ENDFOREACH (_current_FILE) + +ENDMACRO(KDE3_ADD_KCFG_FILES) + + +#create the moc files and add them to the list of sources +#usage: KDE_ADD_MOC_FILES(foo_SRCS ${moc_headers}) +MACRO(KDE3_ADD_MOC_FILES _sources) + FOREACH (_current_FILE ${ARGN}) + + GET_FILENAME_COMPONENT(_tmp_FILE ${_current_FILE} ABSOLUTE) + + GET_FILENAME_COMPONENT(_basename ${_tmp_FILE} NAME_WE) + SET(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.moc.cpp) + + ADD_CUSTOM_COMMAND(OUTPUT ${_moc} + COMMAND ${QT_MOC_EXECUTABLE} + ARGS ${_tmp_FILE} -o ${_moc} + DEPENDS ${_tmp_FILE} + ) + + SET(${_sources} ${${_sources}} ${_moc}) + + ENDFOREACH (_current_FILE) +ENDMACRO(KDE3_ADD_MOC_FILES) + + +GET_FILENAME_COMPONENT( KDE3_MODULE_DIR ${CMAKE_CURRENT_LIST_FILE} PATH) + +#create the implementation files from the ui files and add them to the list of sources +#usage: KDE_ADD_UI_FILES(foo_SRCS ${ui_files}) +MACRO(KDE3_ADD_UI_FILES _sources ) + FOREACH (_current_FILE ${ARGN}) + + GET_FILENAME_COMPONENT(_tmp_FILE ${_current_FILE} ABSOLUTE) + + GET_FILENAME_COMPONENT(_basename ${_tmp_FILE} NAME_WE) + SET(_header ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.h) + SET(_src ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.cpp) + SET(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.moc.cpp) + + ADD_CUSTOM_COMMAND(OUTPUT ${_header} + COMMAND ${QT_UIC_EXECUTABLE} + ARGS -L ${KDE3_LIB_DIR}/kde3/plugins/designer -nounload -o ${_header} ${CMAKE_CURRENT_SOURCE_DIR}/${_current_FILE} + DEPENDS ${_tmp_FILE} + ) + + ADD_CUSTOM_COMMAND(OUTPUT ${_src} + COMMAND ${CMAKE_COMMAND} + ARGS + -DKDE_UIC_PLUGIN_DIR:FILEPATH=${KDE3_LIB_DIR}/kde3/plugins/designer + -DKDE_UIC_EXECUTABLE:FILEPATH=${QT_UIC_EXECUTABLE} + -DKDE_UIC_FILE:FILEPATH=${_tmp_FILE} + -DKDE_UIC_CPP_FILE:FILEPATH=${_src} + -DKDE_UIC_H_FILE:FILEPATH=${_header} + -P ${KDE3_MODULE_DIR}/kde3uic.cmake + DEPENDS ${_header} + ) + + ADD_CUSTOM_COMMAND(OUTPUT ${_moc} + COMMAND ${QT_MOC_EXECUTABLE} + ARGS ${_header} -o ${_moc} + DEPENDS ${_header} + ) + + SET(${_sources} ${${_sources}} ${_src} ${_moc} ) + + ENDFOREACH (_current_FILE) +ENDMACRO(KDE3_ADD_UI_FILES) + + +MACRO(KDE3_AUTOMOC) + SET(_matching_FILES ) + FOREACH (_current_FILE ${ARGN}) + + GET_FILENAME_COMPONENT(_abs_FILE ${_current_FILE} ABSOLUTE) + + # if "SKIP_AUTOMOC" is set to true, we will not handle this file here. + # here. this is required to make bouic work correctly: + # we need to add generated .cpp files to the sources (to compile them), + # but we cannot let automoc handle them, as the .cpp files don't exist yet when + # cmake is run for the very first time on them -> however the .cpp files might + # exist at a later run. at that time we need to skip them, so that we don't add two + # different rules for the same moc file + GET_SOURCE_FILE_PROPERTY(_skip ${_abs_FILE} SKIP_AUTOMOC) + + IF (EXISTS ${_abs_FILE} AND NOT _skip) + + FILE(READ ${_abs_FILE} _contents) + + GET_FILENAME_COMPONENT(_abs_PATH ${_abs_FILE} PATH) + + STRING(REGEX MATCHALL "#include +[^ ]+\\.moc[\">]" _match "${_contents}") + IF(_match) + FOREACH (_current_MOC_INC ${_match}) + STRING(REGEX MATCH "[^ <\"]+\\.moc" _current_MOC "${_current_MOC_INC}") + + GET_FILENAME_COMPONENT(_basename ${_current_MOC} NAME_WE) +# SET(_header ${CMAKE_CURRENT_SOURCE_DIR}/${_basename}.h) + SET(_header ${_abs_PATH}/${_basename}.h) + SET(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_current_MOC}) + + ADD_CUSTOM_COMMAND(OUTPUT ${_moc} + COMMAND ${QT_MOC_EXECUTABLE} + ARGS ${_header} -o ${_moc} + DEPENDS ${_header} + ) + + ADD_FILE_DEPENDENCIES(${_abs_FILE} ${_moc}) + + ENDFOREACH (_current_MOC_INC) + ENDIF(_match) + + ENDIF (EXISTS ${_abs_FILE} AND NOT _skip) + ENDFOREACH (_current_FILE) +ENDMACRO(KDE3_AUTOMOC) + +# only used internally by KDE3_INSTALL_ICONS +MACRO (_KDE3_ADD_ICON_INSTALL_RULE _install_SCRIPT _install_PATH _group _orig_NAME _install_NAME) + + # if the string doesn't match the pattern, the result is the full string, so all three have the same content + IF (NOT ${_group} STREQUAL ${_install_NAME} ) + SET(_icon_GROUP "actions") + + IF (${_group} STREQUAL "mime") + SET(_icon_GROUP "mimetypes") + ENDIF (${_group} STREQUAL "mime") + + IF (${_group} STREQUAL "filesys") + SET(_icon_GROUP "filesystems") + ENDIF (${_group} STREQUAL "filesys") + + IF (${_group} STREQUAL "device") + SET(_icon_GROUP "devices") + ENDIF (${_group} STREQUAL "device") + + IF (${_group} STREQUAL "app") + SET(_icon_GROUP "apps") + ENDIF (${_group} STREQUAL "app") + + IF (${_group} STREQUAL "action") + SET(_icon_GROUP "actions") + ENDIF (${_group} STREQUAL "action") + +# message(STATUS "icon: ${_current_ICON} size: ${_size} group: ${_group} name: ${_name}" ) + INSTALL(FILES ${_orig_NAME} DESTINATION ${_install_PATH}/${_icon_GROUP}/ RENAME ${_install_NAME} ) + ENDIF (NOT ${_group} STREQUAL ${_install_NAME} ) + +ENDMACRO (_KDE3_ADD_ICON_INSTALL_RULE) + + +MACRO (KDE3_INSTALL_ICONS _theme ) + SET(_defaultpath "${CMAKE_INSTALL_PREFIX}/share/icons") + # first the png icons + FILE(GLOB _icons *.png) + FOREACH (_current_ICON ${_icons} ) + STRING(REGEX REPLACE "^.*/[a-zA-Z]+([0-9]+)\\-([a-z]+)\\-(.+\\.png)$" "\\1" _size "${_current_ICON}") + STRING(REGEX REPLACE "^.*/[a-zA-Z]+([0-9]+)\\-([a-z]+)\\-(.+\\.png)$" "\\2" _group "${_current_ICON}") + STRING(REGEX REPLACE "^.*/[a-zA-Z]+([0-9]+)\\-([a-z]+)\\-(.+\\.png)$" "\\3" _name "${_current_ICON}") + _KDE3_ADD_ICON_INSTALL_RULE(${CMAKE_CURRENT_BINARY_DIR}/install_icons.cmake + ${_defaultpath}/${_theme}/${_size}x${_size} + ${_group} ${_current_ICON} ${_name}) + ENDFOREACH (_current_ICON) + + # and now the svg icons + FILE(GLOB _icons *.svgz) + FOREACH (_current_ICON ${_icons} ) + STRING(REGEX REPLACE "^.*/crsc\\-([a-z]+)\\-(.+\\.svgz)$" "\\1" _group "${_current_ICON}") + STRING(REGEX REPLACE "^.*/crsc\\-([a-z]+)\\-(.+\\.svgz)$" "\\2" _name "${_current_ICON}") + _KDE3_ADD_ICON_INSTALL_RULE(${CMAKE_CURRENT_BINARY_DIR}/install_icons.cmake + ${_defaultpath}/${_theme}/scalable + ${_group} ${_current_ICON} ${_name}) + ENDFOREACH (_current_ICON) + +ENDMACRO (KDE3_INSTALL_ICONS) + +MACRO(KDE3_INSTALL_LIBTOOL_FILE _target) + GET_TARGET_PROPERTY(_target_location ${_target} LOCATION) + + GET_FILENAME_COMPONENT(_laname ${_target_location} NAME_WE) + GET_FILENAME_COMPONENT(_soname ${_target_location} NAME) + SET(_laname ${CMAKE_CURRENT_BINARY_DIR}/${_laname}.la) + + FILE(WRITE ${_laname} "# ${_laname} - a libtool library file, generated by cmake \n") + FILE(APPEND ${_laname} "# The name that we can dlopen(3).\n") + FILE(APPEND ${_laname} "dlname='${_soname}'\n") + FILE(APPEND ${_laname} "# Names of this library\n") + FILE(APPEND ${_laname} "library_names='${_soname} ${_soname} ${_soname}'\n") + FILE(APPEND ${_laname} "# The name of the static archive\n") + FILE(APPEND ${_laname} "old_library=''\n") + FILE(APPEND ${_laname} "# Libraries that this one depends upon.\n") + FILE(APPEND ${_laname} "dependency_libs=''\n") +# FILE(APPEND ${_laname} "dependency_libs='${${_target}_LIB_DEPENDS}'\n") + FILE(APPEND ${_laname} "# Version information.\ncurrent=0\nage=0\nrevision=0\n") + FILE(APPEND ${_laname} "# Is this an already installed library?\ninstalled=yes\n") + FILE(APPEND ${_laname} "# Should we warn about portability when linking against -modules?\nshouldnotlink=yes\n") + FILE(APPEND ${_laname} "# Files to dlopen/dlpreopen\ndlopen=''\ndlpreopen=''\n") + FILE(APPEND ${_laname} "# Directory that this library needs to be installed in:\n") + FILE(APPEND ${_laname} "libdir='${PLUGIN_INSTALL_DIR}'\n") + INSTALL(FILES ${_laname} DESTINATION ${PLUGIN_INSTALL_DIR}) +ENDMACRO(KDE3_INSTALL_LIBTOOL_FILE) + + +MACRO(KDE3_CREATE_FINAL_FILE _filename) + FILE(WRITE ${_filename} "//autogenerated file\n") + FOREACH (_current_FILE ${ARGN}) + FILE(APPEND ${_filename} "#include \"${_current_FILE}\"\n") + ENDFOREACH (_current_FILE) + +ENDMACRO(KDE3_CREATE_FINAL_FILE) + + +OPTION(KDE3_ENABLE_FINAL "Enable final all-in-one compilation") +OPTION(KDE3_BUILD_TESTS "Build the tests") + + +MACRO(KDE3_ADD_KPART _target_NAME _with_PREFIX) +#is the first argument is "WITH_PREFIX" then keep the standard "lib" prefix, otherwise SET the prefix empty + IF (${_with_PREFIX} STREQUAL "WITH_PREFIX") + SET(_first_SRC) + ELSE (${_with_PREFIX} STREQUAL "WITH_PREFIX") + SET(_first_SRC ${_with_PREFIX}) + ENDIF (${_with_PREFIX} STREQUAL "WITH_PREFIX") + + IF (KDE3_ENABLE_FINAL) + KDE3_CREATE_FINAL_FILE(${_target_NAME}_final.cpp ${_first_SRC} ${ARGN}) + ADD_LIBRARY(${_target_NAME} MODULE ${_target_NAME}_final.cpp) + ELSE (KDE3_ENABLE_FINAL) + ADD_LIBRARY(${_target_NAME} MODULE ${_first_SRC} ${ARGN}) + ENDIF (KDE3_ENABLE_FINAL) + + IF(_first_SRC) + SET_TARGET_PROPERTIES(${_target_NAME} PROPERTIES PREFIX "") + ENDIF(_first_SRC) + + KDE3_INSTALL_LIBTOOL_FILE(${_target_NAME}) + +ENDMACRO(KDE3_ADD_KPART) + + +MACRO(KDE3_ADD_KDEINIT_EXECUTABLE _target_NAME ) + + IF (KDE3_ENABLE_FINAL) + KDE3_CREATE_FINAL_FILE(${_target_NAME}_final.cpp ${ARGN}) + ADD_LIBRARY(kdeinit_${_target_NAME} SHARED ${_target_NAME}_final.cpp) + ELSE (KDE3_ENABLE_FINAL) + ADD_LIBRARY(kdeinit_${_target_NAME} SHARED ${ARGN} ) + ENDIF (KDE3_ENABLE_FINAL) + + CONFIGURE_FILE(${KDE3_MODULE_DIR}/kde3init_dummy.cpp.in ${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}_dummy.cpp) + + ADD_EXECUTABLE( ${_target_NAME} ${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}_dummy.cpp ) + TARGET_LINK_LIBRARIES( ${_target_NAME} kdeinit_${_target_NAME} ) + +ENDMACRO(KDE3_ADD_KDEINIT_EXECUTABLE) + + +MACRO(KDE3_ADD_EXECUTABLE _target_NAME ) + + IF (KDE3_ENABLE_FINAL) + KDE3_CREATE_FINAL_FILE(${_target_NAME}_final.cpp ${ARGN}) + ADD_EXECUTABLE(${_target_NAME} ${_target_NAME}_final.cpp) + ELSE (KDE3_ENABLE_FINAL) + ADD_EXECUTABLE(${_target_NAME} ${ARGN} ) + ENDIF (KDE3_ENABLE_FINAL) + +ENDMACRO(KDE3_ADD_EXECUTABLE) + + diff --git a/cmakemodules/MacroEnsureVersion.cmake b/cmakemodules/MacroEnsureVersion.cmake new file mode 100644 index 0000000..091152d --- /dev/null +++ b/cmakemodules/MacroEnsureVersion.cmake @@ -0,0 +1,28 @@ +# LGPL-v2, David Faure +# +# This macro compares version numbers of the form "x.y.z" +# MACRO_ENSURE_VERSION( ${FOO_MIN_VERSION} ${FOO_VERSION_FOUND} FOO_VERSION_OK) +# will set FOO_VERSIN_OK to true if FOO_VERSION_FOUND >= FOO_MIN_VERSION +# +MACRO(MACRO_ENSURE_VERSION requested_version found_version var_too_old) + + # parse the parts of the version string + STRING(REGEX REPLACE "([0-9]+)\\.[0-9]+\\.[0-9]+" "\\1" req_major_vers "${requested_version}") + STRING(REGEX REPLACE "[0-9]+\\.([0-9])+\\.[0-9]+" "\\1" req_minor_vers "${requested_version}") + STRING(REGEX REPLACE "[0-9]+\\.[0-9]+\\.([0-9]+)" "\\1" req_patch_vers "${requested_version}") + + STRING(REGEX REPLACE "([0-9]+)\\.[0-9]+\\.[0-9]+.*" "\\1" found_major_vers "${found_version}") + STRING(REGEX REPLACE "[0-9]+\\.([0-9])+\\.[0-9]+.*" "\\1" found_minor_vers "${found_version}") + STRING(REGEX REPLACE "[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" found_patch_vers "${found_version}") + + # compute an overall version number which can be compared at once + MATH(EXPR req_vers_num "${req_major_vers}*10000 + ${req_minor_vers}*100 + ${req_patch_vers}") + MATH(EXPR found_vers_num "${found_major_vers}*10000 + ${found_minor_vers}*100 + ${found_patch_vers}") + + if (found_vers_num LESS req_vers_num) + set( ${var_too_old} FALSE ) + else (found_vers_num LESS req_vers_num) + set( ${var_too_old} TRUE ) + endif (found_vers_num LESS req_vers_num) + +ENDMACRO(MACRO_ENSURE_VERSION) diff --git a/cmakemodules/SetupCompiler.cmake b/cmakemodules/SetupCompiler.cmake new file mode 100644 index 0000000..4e1c003 --- /dev/null +++ b/cmakemodules/SetupCompiler.cmake @@ -0,0 +1,72 @@ +INCLUDE(TestCXXAcceptsFlag) +INCLUDE(MacroEnsureVersion) + +CHECK_CXX_ACCEPTS_FLAG("-fexceptions" CXX_EXCEPTION) +IF (CXX_EXCEPTION) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fexceptions") +ENDIF (CXX_EXCEPTION) + +IF (CMAKE_COMPILER_IS_GNUCXX) + +CHECK_CXX_ACCEPTS_FLAG("-fstack-protector" CXX_PROTECTOR) +IF (CXX_PROTECTOR) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fstack-protector") +ENDIF (CXX_PROTECTOR) + +# some code from KDE4 trunk cmake - all stuff under LGPL I think +# check for visibility patch in libstdc++ below written by me +CHECK_CXX_ACCEPTS_FLAG("-fvisibility=hidden" HAVE_GCC_VISIBILITY) + +# get the gcc version +exec_program(${CMAKE_C_COMPILER} ARGS --version OUTPUT_VARIABLE _gcc_version_info) +string (REGEX MATCH " [34]\\.[0-9]\\.[0-9]" _gcc_version "${_gcc_version_info}") +# gcc on mac just reports: "gcc (GCC) 3.3 20030304 ..." without the patch level, handle this here: +if (NOT _gcc_version) + string (REGEX REPLACE ".*\\(GCC\\).* ([34]\\.[0-9]) .*" "\\1.0" _gcc_version "${_gcc_version_info}") +endif (NOT _gcc_version) + +macro_ensure_version("4.1.0" "${_gcc_version}" GCC_IS_NEWER_THAN_4_1) + +if (GCC_IS_NEWER_THAN_4_1) + exec_program(${CMAKE_C_COMPILER} ARGS -v OUTPUT_VARIABLE _gcc_alloc_info) + string(REGEX MATCH "(--enable-libstdcxx-allocator=mt)" _GCC_COMPILED_WITH_BAD_ALLOCATOR "${_gcc_alloc_info}") + IF (_GCC_COMPILED_WITH_BAD_ALLOCATOR) + SET(HAVE_GCC_VISIBILITY FALSE) + ENDIF (_GCC_COMPILED_WITH_BAD_ALLOCATOR) +else (GCC_IS_NEWER_THAN_4_1) + set(_GCC_COMPILED_WITH_BAD_ALLOCATOR FALSE) + CHECK_CXX_ACCEPTS_FLAG("-E" HAVE_PREPROCESSOR_FLAG) + IF (HAVE_PREPROCESSOR_FLAG) + FILE(WRITE ${CMAKE_BINARY_DIR}/dummy.cpp "#include \n") + EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER} -E ${CMAKE_BINARY_DIR}/dummy.cpp OUTPUT_VARIABLE _gcc_hidden_push_out RESULT_VARIABLE _gcc_hidden_push_err ERROR_QUIET) + FILE(REMOVE ${CMAKE_BINARY_DIR}/dummy.cpp) + IF (NOT ${_gcc_hidden_push_err}) + STRING(REGEX MATCH "GCC visibility push" _gcc_has_hidden_push ${_gcc_hidden_push_out}) + ENDIF (NOT ${_gcc_hidden_push_err}) + IF(_gcc_has_hidden_push) + MESSAGE(STATUS "libstdc++ is patched for visibility support.") + ELSE(_gcc_has_hidden_push) + MESSAGE(STATUS "libstdc++ isn't patched for visibility support. Disabling -fvisibility=hidden") + SET(HAVE_GCC_VISIBILITY FALSE) + ENDIF(_gcc_has_hidden_push) + ELSE (HAVE_PREPROCESSOR_FLAG) + # should never happen but who knows + SET(HAVE_GCC_VISIBILITY FALSE) + ENDIF (HAVE_PREPROCESSOR_FLAG) +endif (GCC_IS_NEWER_THAN_4_1) + +message(STATUS "have_visibility: ${HAVE_GCC_VISIBILITY} version>=4.1: ${GCC_IS_NEWER_THAN_4_1} bad alloctor: ${_GCC_COMPILED_WITH_BAD_ALLOCATOR}") +ENDIF (CMAKE_COMPILER_IS_GNUCXX) + +# check if we can use setenv +TRY_COMPILE(HAS_SETENV + ${CMAKE_BINARY_DIR} + ${CMAKE_SOURCE_DIR}/cmakemodules/TestSetenv.cxx + OUTPUT_VARIABLE OUTPUT +) + +IF (HAS_SETENV) + MESSAGE(STATUS "Checking for setenv - yes") +ELSE (HAS_SETENV) + MESSAGE(STATUS "Checking for setenv - no") +ENDIF (HAS_SETENV) \ No newline at end of file diff --git a/cmakemodules/TestSetenv.cxx b/cmakemodules/TestSetenv.cxx new file mode 100644 index 0000000..16f4d0f --- /dev/null +++ b/cmakemodules/TestSetenv.cxx @@ -0,0 +1,7 @@ +#include + +int main(int,char**) +{ + ::setenv("testvalue","1",0); + return 0; +} diff --git a/cmakemodules/cmake_uninstall.cmake.in b/cmakemodules/cmake_uninstall.cmake.in new file mode 100644 index 0000000..47187f5 --- /dev/null +++ b/cmakemodules/cmake_uninstall.cmake.in @@ -0,0 +1,21 @@ +IF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") + MESSAGE(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"") +ENDIF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") + +FILE(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files) +STRING(REGEX REPLACE "\n" ";" files "${files}") +FOREACH(file ${files}) + MESSAGE(STATUS "Uninstalling \"${file}\"") + IF(NOT EXISTS "${file}") + MESSAGE(FATAL_ERROR "File \"${file}\" does not exists.") + ENDIF(NOT EXISTS "${file}") + EXEC_PROGRAM("@CMAKE_COMMAND@" ARGS "-E remove \"${file}\"" + OUTPUT_VARIABLE rm_out + RETURN_VARIABLE rm_retval) + IF("${rm_retval}" GREATER 0) + MESSAGE(FATAL_ERROR "Problem when removing \"${file}\"") + ENDIF("${rm_retval}" GREATER 0) +ENDFOREACH(file) + + + diff --git a/cmakemodules/generatelibtoolfile.cmake b/cmakemodules/generatelibtoolfile.cmake new file mode 100644 index 0000000..d74ed21 --- /dev/null +++ b/cmakemodules/generatelibtoolfile.cmake @@ -0,0 +1,16 @@ + FILE(WRITE ${OUTPUTFILE} "# ${OUTPUTFILE} - a libtool library file, generated by cmake \n") + FILE(APPEND ${OUTPUTFILE} "# The name that we can dlopen(3).\n") + FILE(APPEND ${OUTPUTFILE} "dlname='${SONAME}'\n") + FILE(APPEND ${OUTPUTFILE} "# Names of this library\n") + FILE(APPEND ${OUTPUTFILE} "library_names='${SONAME} ${SONAME} ${SONAME}'\n") + FILE(APPEND ${OUTPUTFILE} "# The name of the static archive\n") + FILE(APPEND ${OUTPUTFILE} "old_library=''\n") + FILE(APPEND ${OUTPUTFILE} "# Libraries that this one depends upon.\n") + FILE(APPEND ${OUTPUTFILE} "dependency_libs=''\n") +# FILE(APPEND ${OUTPUTFILE} "dependency_libs='${${_target}_LIB_DEPENDS}'\n") + FILE(APPEND ${OUTPUTFILE} "# Version information.\ncurrent=0\nage=0\nrevision=0\n") + FILE(APPEND ${OUTPUTFILE} "# Is this an already installed library?\ninstalled=yes\n") + FILE(APPEND ${OUTPUTFILE} "# Should we warn about portability when linking against -modules?\nshouldnotlink=yes\n") + FILE(APPEND ${OUTPUTFILE} "# Files to dlopen/dlpreopen\ndlopen=''\ndlpreopen=''\n") + FILE(APPEND ${OUTPUTFILE} "# Directory that this library needs to be installed in:\n") + FILE(APPEND ${OUTPUTFILE} "libdir='${LIBDIR}'\n") diff --git a/cmakemodules/kde3uic.cmake b/cmakemodules/kde3uic.cmake new file mode 100644 index 0000000..0dbbbcf --- /dev/null +++ b/cmakemodules/kde3uic.cmake @@ -0,0 +1,20 @@ + + +# used internally by KDE3Macros.cmake +# neundorf@kde.org + + +EXECUTE_PROCESS(COMMAND ${KDE_UIC_EXECUTABLE} + -L ${KDE_UIC_PLUGIN_DIR} -nounload -tr tr2i18n + -impl ${KDE_UIC_H_FILE} + ${KDE_UIC_FILE} + OUTPUT_VARIABLE _uic_CONTENTS + ERROR_QUIET + ) + +STRING(REGEX REPLACE "tr2i18n\\(\"\"\\)" "QString::null" _uic_CONTENTS "${_uic_CONTENTS}" ) +STRING(REGEX REPLACE "tr2i18n\\(\"\", \"\"\\)" "QString::null" _uic_CONTENTS "${_uic_CONTENTS}" ) + +FILE(WRITE ${KDE_UIC_CPP_FILE} "#include \n#include \n\n") +FILE(APPEND ${KDE_UIC_CPP_FILE} "${_uic_CONTENTS}") + diff --git a/cmakemodules/kdesvnMacros.cmake b/cmakemodules/kdesvnMacros.cmake new file mode 100644 index 0000000..29b99db --- /dev/null +++ b/cmakemodules/kdesvnMacros.cmake @@ -0,0 +1,50 @@ + +MACRO(KDESVN_CHECK_LINK_FLAG FLAGS VARIABLE) + IF(NOT DEFINED ${VARIABLE}) + TRY_COMPILE(${VARIABLE} + ${CMAKE_BINARY_DIR} + ${CMAKE_ROOT}/Modules/DummyCXXFile.cxx + CMAKE_FLAGS -DCMAKE_EXE_LINKER_FLAGS="${FLAGS}" + OUTPUT_VARIABLE OUTPUT) + IF (${VARIABLE}) + MESSAGE(STATUS "Checking to see if linker accepts flag ${FLAGS} - yes") + FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log + "Determining if the linker accepts the flag ${FLAGS} passed with " + "the following output:\n${OUTPUT}\n\n") + ELSE (${VARIABLE}) + MESSAGE(STATUS "Checking to see if linker accepts flag ${FLAGS} - no") + FILE(APPEND ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeError.log + "Determining if the linker accepts the flag ${FLAGS} failed with " + "the following output:\n${OUTPUT}\n\n") + ENDIF (${VARIABLE}) + ENDIF(NOT DEFINED ${VARIABLE}) +ENDMACRO(KDESVN_CHECK_LINK_FLAG) + +# this macro is required to add libtools to normal build so +# we may debug our part from within build dir +# output name where +# _laname _soname ${LIBRARY_OUTPUT_PATH}/kde3 +MACRO(KDESVN_GENERATE_LIBTOOL_FILE _target) + GET_TARGET_PROPERTY(_target_location ${_target} LOCATION) + GET_FILENAME_COMPONENT(_laname ${_target_location} NAME_WE) + GET_FILENAME_COMPONENT(_soname ${_target_location} NAME) + IF(LIBRARY_OUTPUT_PATH) + SET(_laname ${LIBRARY_OUTPUT_PATH}/${_laname}.la) + ELSE(LIBRARY_OUTPUT_PATH) + SET(_laname ${CMAKE_CURRENT_BINARY_DIR}/${_laname}.la) + ENDIF(LIBRARY_OUTPUT_PATH) + IF(LIBRARY_OUTPUT_PATH) + SET(_libdir "'${LIBRARY_OUTPUT_PATH}/kde3'") + ELSE(LIBRARY_OUTPUT_PATH) + SET(_libdir "'${CMAKE_CURRENT_BUILD_DIR}/kde3'") + ENDIF(LIBRARY_OUTPUT_PATH) + ADD_CUSTOM_COMMAND(TARGET ${_target} + POST_BUILD + COMMAND ${CMAKE_COMMAND} + ARGS + -DOUTPUTFILE:FILEPATH=${_laname} + -DSONAME:STRING=${_soname} + -DLIBDIR:STRING=${_libdir} + -P ${CMAKE_SOURCE_DIR}/cmakemodules/generatelibtoolfile.cmake + ) +ENDMACRO(KDESVN_GENERATE_LIBTOOL_FILE) diff --git a/cmakemodules/makedist.sh.in b/cmakemodules/makedist.sh.in new file mode 100755 index 0000000..6df00a5 --- /dev/null +++ b/cmakemodules/makedist.sh.in @@ -0,0 +1,37 @@ +#!/bin/sh +VERSION=@VERSION@ +SRCROOT=@CMAKE_SOURCE_DIR@ +BUILDDIR=@CMAKE_BINARY_DIR@ +PROJECT=@PROJECT_NAME@ +KDESVN_VERSION=@KDESVN_VERSION@ + +EXCLUDE="@DIST_EXCLUDE@" +EXPORT_DIR="${PROJECT}-${VERSION}" + +if [ ! -d ${SRCROOT}/.svn ]; then + echo "This script must run for a svn dir!" + exit 1 +fi + +echo "Exporting source tree" +svn export "${SRCROOT}" ${EXPORT_DIR} + +echo "Copy required files to export" +cp ${BUILDDIR}/${PROJECT}.spec ${EXPORT_DIR} +cp ${SRCROOT}/doc/*.cache.bz2 ${EXPORT_DIR}/doc + +echo "Removing not needed stuff" +for i in $EXCLUDE ; do + echo " $i" + rm -rf $EXPORT_DIR/$i +done + +echo "Generating archive" +tar cjf ${BUILDDIR}/${PROJECT}-${VERSION}.tar.bz2 ${EXPORT_DIR} + +echo "Cleaning up" +rm -rf ${EXPORT_DIR} + +if [ "x$1" = "xrpm" ]; then + KDESVN_VERSION=${KDESVN_VERSION} rpmbuild -tb ${BUILDDIR}/${PROJECT}-${VERSION}.tar.bz2 +fi diff --git a/cmakemodules/package_messages.sh.in b/cmakemodules/package_messages.sh.in new file mode 100755 index 0000000..962240f --- /dev/null +++ b/cmakemodules/package_messages.sh.in @@ -0,0 +1,82 @@ +#!/bin/sh + +# little helper script for regenerating translation files. Mostly taken from cvs.sh from kde-autotool environment +# adapted to a cmake build environment and removed a lot not really needed stuff +#EXTRACTRC=@EXTRACTRC@ +#PREPARETIPS=@PREPARETIPS@ +MESSAGES_DIR=@MESSAGES_DIR@ +SOURCE_DIR=@CMAKE_SOURCE_DIR@ +MAKE=make +POFILES="@POFILES@" +podir="${SOURCE_DIR}/po" + +cd ${SOURCE_DIR} +rm -rf po.backup +mkdir po.backup + +for i in `ls -1 po/*.pot 2>/dev/null | sed -e "s#po/##"`; do + egrep -v '^#([^:]|$)' po/$i | egrep '^.*[^ ]+.*$' | grep -v "\"POT-Creation" > po.backup/$i + cp po/$i po.backup/backup_$i + touch -r po/$i po.backup/backup_$i + rm po/$i +done + +podir=${podir:-$PWD/po} +#files=`find . -name Makefile.am | xargs egrep -l '^messages:' ` +#dirs=`for i in $files; do echo \`dirname $i\`; done` +dirs=${MESSAGES_DIR} +tmpname="$PWD/messages.log" +if test -z "$EXTRACTRC"; then EXTRACTRC=extractrc ; fi +if test -z "$PREPARETIPS"; then PREPARETIPS=preparetips ; fi +export EXTRACTRC PREPARETIPS + +for subdir in $dirs; do + test -z "$VERBOSE" || echo "Making messages in $subdir" + (cd $subdir + echo -e 'i18n("_: NAME OF TRANSLATORS\\n"\n"Your names")\ni18n("_: EMAIL OF TRANSLATORS\\n"\n"Your emails")' > _translatorinfo.cpp + $EXTRACTRC `find . -name \*.ui -o -name \*.rc` > rc.cpp + XGETTEXT="${XGETTEXT:-xgettext} -C -ki18n -ktr2i18n -kI18N_NOOP -ktranslate -kaliasLocale --add-comments="TRANSLATORS:" -x ${includedir:-${KDEDIR:-@CMAKE_INSTALL_PREFIX@}/include/kde}/kde.pot" + find . -name '*.cpp' | xargs ${XGETTEXT} _translatorinfo.cpp -o ${podir}/@PROJECT_NAME@.pot + ) 2>&1 | grep -v '^make\[1\]' > $tmpname + test -s $tmpname && { echo $subdir ; cat "$tmpname"; } + test -f $subdir/rc.cpp && rm -f $subdir/rc.cpp + rm -f $subdir/_translatorinfo.cpp +done +rm -f $tmpname +for i in `ls -1 po.backup/*.pot 2>/dev/null | sed -e "s#po.backup/##" | egrep -v '^backup_'`; do + test -f po/$i || echo "disappeared: $i" +done +for i in `ls -1 po/*.pot 2>/dev/null | sed -e "s#po/##"`; do + msgmerge -q -o po/$i po/$i po/$i + egrep -v '^#([^:]|$)' po/$i | egrep '^.*[^ ]+.*$' | grep -v "\"POT-Creation" > temp.pot + if test -f po.backup/$i && test -n "`diff temp.pot po.backup/$i`"; then + echo "will update $i" + msgmerge -q po.backup/backup_$i po/$i > temp.pot + mv temp.pot po/$i + else + if test -f po.backup/backup_$i; then + test -z "$VERBOSE" || echo "I'm restoring $i" + mv po.backup/backup_$i po/$i + rm po.backup/$i + else + echo "will add $i" + fi + fi +done +rm -f temp.pot +rm -rf po.backup + +echo Merging messages +for cat in $POFILES; do + msgmerge -o $cat.new $cat @CMAKE_SOURCE_DIR@/po/@PROJECT_NAME@.pot + if test -s $cat.new; then + grep -v "\"POT-Creation" $cat.new > $cat.new.2 + grep -v "\"POT-Creation" $cat >> $cat.new.1 + if diff $cat.new.1 $cat.new.2; then + rm $cat.new + else + mv $cat.new $cat + fi + rm -f $cat.new.1 $cat.new.2 + fi +done diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt new file mode 100644 index 0000000..f018059 --- /dev/null +++ b/doc/CMakeLists.txt @@ -0,0 +1,54 @@ +#first straigth forward until we have a doc translation + +MACRO (GENBOOK _language_code) + FILE(GLOB docimages RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/${_language_code} ${_language_code}/hi128-filesys-*.png) + ADD_CUSTOM_COMMAND( + OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/${_language_code}_index.cache.bz2 + COMMAND + ${KDE3_MEINPROC_EXECUTABLE} + ARGS "--check" "--cache" "${CMAKE_CURRENT_SOURCE_DIR}/${_language_code}_index.cache.bz2" + ${CMAKE_CURRENT_SOURCE_DIR}/${_language_code}/index.docbook + DEPENDS + ${CMAKE_CURRENT_SOURCE_DIR}/${_language_code}/index.docbook + ) + INSTALL(FILES + ${CMAKE_CURRENT_SOURCE_DIR}/${_language_code}_index.cache.bz2 + DESTINATION ${HTML_INSTALL_DIR}/${_language_code}/kdesvn + RENAME + index.cache.bz2 + ) + INSTALL(FILES + ${CMAKE_CURRENT_SOURCE_DIR}/${_language_code}/index.docbook + DESTINATION ${HTML_INSTALL_DIR}/${_language_code}/kdesvn + ) + + FOREACH(_img ${docimages}) + CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${_language_code}/${_img} + ${CMAKE_CURRENT_BINARY_DIR}/${_language_code}/${_img} + COPYONLY + ) + INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${_language_code}/${_img} + DESTINATION ${HTML_INSTALL_DIR}/${_language_code}/kdesvn + ) + ENDFOREACH(_img) + + ADD_CUSTOM_TARGET(${_language_code}_doc + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_language_code}_index.cache.bz2 + ) + ADD_DEPENDENCIES(doc ${_language_code}_doc) + +ENDMACRO (GENBOOK) + +IF (KDE3_MEINPROC_EXECUTABLE) + ADD_CUSTOM_TARGET(doc ALL) + GENBOOK(en) + GENBOOK(nl) + # creates the link to the common-section during install + INSTALL(SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/makelink.cmake) + +#${CMAKE_CURRENT_BINARY_DIR}/common) + +ENDIF (KDE3_MEINPROC_EXECUTABLE) + +ADD_SUBDIRECTORY(man) + diff --git a/doc/en/hi128-filesys-kdesvnadded.png b/doc/en/hi128-filesys-kdesvnadded.png new file mode 100644 index 0000000..e01579d Binary files /dev/null and b/doc/en/hi128-filesys-kdesvnadded.png differ diff --git a/doc/en/hi128-filesys-kdesvnconflicted.png b/doc/en/hi128-filesys-kdesvnconflicted.png new file mode 100644 index 0000000..61f9db7 Binary files /dev/null and b/doc/en/hi128-filesys-kdesvnconflicted.png differ diff --git a/doc/en/hi128-filesys-kdesvndeleted.png b/doc/en/hi128-filesys-kdesvndeleted.png new file mode 100644 index 0000000..ca3b090 Binary files /dev/null and b/doc/en/hi128-filesys-kdesvndeleted.png differ diff --git a/doc/en/hi128-filesys-kdesvnlocked.png b/doc/en/hi128-filesys-kdesvnlocked.png new file mode 100644 index 0000000..ee0bc7c Binary files /dev/null and b/doc/en/hi128-filesys-kdesvnlocked.png differ diff --git a/doc/en/hi128-filesys-kdesvnmodified.png b/doc/en/hi128-filesys-kdesvnmodified.png new file mode 100644 index 0000000..3042eb4 Binary files /dev/null and b/doc/en/hi128-filesys-kdesvnmodified.png differ diff --git a/doc/en/hi128-filesys-kdesvnneedlock.png b/doc/en/hi128-filesys-kdesvnneedlock.png new file mode 100644 index 0000000..d057ea2 Binary files /dev/null and b/doc/en/hi128-filesys-kdesvnneedlock.png differ diff --git a/doc/en/hi128-filesys-kdesvnupdates.png b/doc/en/hi128-filesys-kdesvnupdates.png new file mode 100644 index 0000000..3902655 Binary files /dev/null and b/doc/en/hi128-filesys-kdesvnupdates.png differ diff --git a/doc/en/index.docbook b/doc/en/index.docbook new file mode 100644 index 0000000..38be189 --- /dev/null +++ b/doc/en/index.docbook @@ -0,0 +1,2324 @@ + +kdesvn"> + + + + konqueror"> + krusader"> + + + + +]> + + + + + + + + + +The &kdesvn; Handbook + + + +Rajko + +Albrecht + +
ral@alwins-world.de
+
+
+
+ + + + +2005 +2008 +Rajko Albrecht + + + +&FDLNotice; + + + +$Date: 2008-08-03 21:04:39 +0200 (So, 03 Aug 2008) $ +0.4 + + + + + +&kdesvn; - a subversion client for &kde;. + + + + + + +KDE +kdesvn +subversion +version control system + + +
+ + + + +Introduction + + + + +&kdesvn; is a subversion client for &kde;. + +You should have some knowledge about subversion itself, but hopefully most items are self explanatory. + + +You may send bugreports and feature wishes via +http://kdesvn.alwins-world.de/. + + + + +Terms + +If you're familiar with revision control systems you may skip that - or read and correct the author ;) + + + + +Repository + +Central store of data. That may be a database or a flat filesystem. Without special clients you're not able to read +data in it. For Subversion repositories &kdesvn; is such a client. + + + +Working copy + +A flat copy of a repository on local filesystem. This is used like any normal filemanager, editing files and so forth. +RCS-information you can read with clients like &kdesvn;. + + +Remember that subversion doesn't know something about KIO, so a working copy must reside in an area where it may reached without any specific protocol, eg "fish://" or such isn't possible. + + + + +WebDav + +WebDav is a protocol which let you modify files on a remote webserver. Subversion is a special kind of WebDAV when repositories are accessed +via webserver. In normal use this is read-only. With special configurations you may get a read-write enabled WebDAV which you may access via +specialized browser. &kdesvn; is NOT a webdav-client, but Konqueror is via the "webdav://" protocol. But with &kdesvn; you +may browse through the version tree of a repository (via "http://") + + + + + + + + +Using &kdesvn; + +&kdesvn; features + +&kdesvn; understands following protocols for browsing repositories: + + + +http + +Standard web browser protocol. + + + + +https + +Standard encrypted web browser protocol + + + + +(k)svn+http + +Standard web browser protocol. May be used to let konqueror automatic call &kdesvn;. + + + + +(k)svn+https + +Standard encrypted web browser protocol. May be used to let konqueror automatic call &kdesvn;. + + + + +(k)svn+file + +Local repository protocol. May used to let konqueror automatic call &kdesvn;. + + + + +(k)svn + +Subversions own server protocol. + + + + +(k)svn+ssh + +Subversion over ssh. See FAQ for details about some specials with that protocol. + + + + +file + +Direct repository accesss. &kdesvn; checks if a given path is a repository or a working copy and opens it in the right mode. For subversion +file:///dir and /dir is not the same! + + + + + +This list may used for urls given for commandline, too. + + + +Beginning with subversion and kdesvn + +This section is mostly for beginners not familiar with subversion and explains how subversions and/or RCS works. + + + +Creating a working copy + + +Working copies MUST be accessible via local paths. Subversion doesn't know something about pseudo filesystems like +smb:// or fish://. &kdesvn; translates some of them if possible (like system:/home) but it isn't possible over a network. + + + +First of all you must create a working copy of your repository. For that select + + +Subversion +General +Checkout a repository +. Inside the following dialog you must select the URL of the repository you want to use, e.g., something like +http://localhost/repos/myproject. Subfolders of a repository are possible, too, e.g., +http://localhost/repos/myproject/trunk or similiar. + + +Select and/or create a local folder, where the working copy should reside. + + +Last but not least, the revision to checkout. Mostly that should be "HEAD". This ensures that the last stored version +is the referenced version. + + +After clicking on "[OK]" &kdesvn; will create your new working copy and (if the box was checked) opens it. + + +When you have opened a repository for browsing you may mark a folder and than select + +Subversion +Repository +Checkout current repository path +. +and fill out the dialogs as described above. Then only the marked path will checked out. + + + +Commiting local changes + +Mark the entry or entries you want to send and select + + +# + +Subversion +Working copy +Commit + + + +If you try to commit if no item is selected, &kdesvn; uses the top-most element of opened working copy, eg, the working copy path itself. + + +This operation is always recursive, means, if selecting a folder &kdesvn; always send all changed items below it. When you setup that you want to review all items before commit inside the following dialog all items kdesvn would send are listed. There you may unmark items you don't want to send. In that case &kdesvn; sends all items alone, eg, not recursive. Or you may select items not versioned for add and commit (if them are not marked to be ignored). So you may see if there are newer items you forgot. + + +Enter a log message what you're sending and hit "OK" and the transfer starts. + + + +Update working copy + +This brings you local working copy in sync with the repository. You may setup that &kdesvn; checks on opening a working copy for newer/modified items in repository. This runs in background and you may work meanwhile with &kdesvn;. Or start check with + +Subversion +Working copy +Check for updates +. + + +When this is finished, items with newer versions or folders with items where newer items are below are marked. + + +To retrieve the changes, select + +Subversion +Working copy +Update to head +. This will update to the most latest version. If you want to get a specific revision select + +Subversion +Working copy +Update to revision + and select the revision you want in the following box. + + +If no item is selected, the update will done on whole opened working copy, otherwise only recursive on the selected items. + + + +Adding and Deleting from working copy + +Both operations requires two steps: First add or delete and then commiting that changes to repository. Before you commit you may undone add or delete. + + +Add items + +Adding items into a working copy may be done due three ways: + + +Select not versioned items and add them + +Copy with konqueror or any other tool into working copy area. Go trough list, mark them and select + +Insert +Subversion +Working copy +Add selected files/dirs +. + When you want adding new folders with all subitems select + +&Ctrl;Insert +Subversion +Working copy +Add selected files/dirs recursive +. + + + + +Check and add recursive + +You may check if there are somewhere in working copy unversioned items. After selecting + +Subversion +Working copy +Check for unversioned items + a dialog appears where all not versioned items are listed. Hitting ok adds all marked items to working copy, items you don't want versioned you should unmark before. + + + + +Drag and drop + +Mark in konqueror or any other compatible filebrowser items you want to add and drag them to &kdesvn;. You may drop them on folders inside the opened working copy and than &kdesvn; copy the dropped items to it and add the items. + + + + + +Deleting items from working copy and unversion + +Deleting items is always recursive. Eg., when you delete a folder all subitems will deleted, too. Mark what you want and select "Delete selected items" from general menu. Items will unversioned and removed from disk. + + + + + + +Working on repositories + +Simple repository browsing may done within &konqi; &krus; or similar filebrowsers: Open a URL with protocol described in (the variants starting with "k") and them will display the content. So simple operations like copy, move and delete may work. When appending a query "?rev=<xxx>" the listing comes from a specific revision. Format of revision-query is described in , some more information about KIO::ksvn are in + + +All work except "Copy" may only done when browsing at revision HEAD. + + +Restoring deleted items + +In subversion restoring deleted items is a copy operation of item at specific revision. So when you plan restoring view repository at revision before item was deleted. Select + +Subversion +Repository +Select browse revision + +and enter the wanted revision. Now kdesvn displays the content at this term. Mark the entry you want to restore, select + + +C + +Subversion +General +Copy +. Inside the following dialog the target is always at HEAD revision, the source is at revision you selected for browsing. Fill out the path click "OK" and copy starts. After successfull copy switch browsing back to HEAD revision and the restored item should appear. + + + +Importing folders + +Due restrictions of subversion itself only folders, not single files, may imported. + + +With drag and drop + +Mark in any compatible filemanager the folder you want to import and drag it to the folder entry in &kdesvn; where you want to import it. + + + +Select folder to import with directory-browser + +Mark the folder where you want to import a new folder. Then select + +Subversion +General +Import folders into current + and select your wanted folder. + + + + + +Other Operations + +Merge + +Open repository or working copy, mark item you want to merge and select + +Subversion +General +Merge +. +Enter in the following dialog the values wanted. If opend from repository, source 1 and source 2 are filled, when open from within working copy, target is filled with current selected item. The handling of this parameter is a little bit different between using the internal diff of subversion or an external merge-programm like kdiff3. The target must ALWAYS a local folder or file. You may switch between external or internal merge with the checkbox "Use external merge". + + +Internal merge + +The meaning is exactly like from within subversions own commandline tool. When source1 and source2 are equal, start and endrevision must different. If sources aren't equal, start-revision is assigned to source1 and end-revision to source2. The target MUST be a working copy otherwise subversion will send an error message. + + +The checkboxes have following meanings: + + + +Recoursive + +Do all operations recoursive when working with folders. + + + + +Handle unrelated as related items + +If set, unrelated items will be diffed as if they were related. Otherwise subversion will remove one side and add it on other side again. + + + + +Force delete on modified/unversioned + +If not set and merge would require deletion of an modified or unversioned item the subversion merge fails. Otherwise this items will deleted. + + + + +Just dry run without modifications. + +If set, subversions sends only notifications what it would do but doesn't modify the working copy. + + + + + + + +Using external program for merge + +See for details how to setup the external merge tool. &kappname; generates the commandline as described there. Before it does following: + + + + + +Assign start-revision as revision to source 1 and end-revision to source 2. Then checks if them are different (path and/or revision). If yes, its a three-way merge otherwise a simple merge from source to target. If source 2 is left empty it is a simple merge, too. + + + +Make an export into temporary folder. If a simple merge only source1 at start-revision, otherwise both sources with there revisions. If item is a file and not a folder than get the content at a specific revision. + + + + +Generate the call to your external merge program as you setup in Settings. The error output will displayed in log window so you may see whats going wrong (if something is gone wrong). + + + + +In difference to internal merge target may a flat folder/file not under sourcecontrol 'cause external tools doesn't care about it. + + +If recoursive isn't set, the export is done as a flat export. Be care: when doing this with working copies externals will NOT exported. + + + + + +Resolving conflicts + +&kappname; itself hasn't a module for resolving conflicts but you may use external software from within &kappname;. In is a description how to setup up this application. + + +When marking an item with status set to "conflicted" (you'll see a red cross in listview on such items) you may select + +Subversion +Working copy +Resolve conflict +. +or from within context menu Resolve conflict (only on conflicted items) +&kappname; now starts the program you setup (or the default one). After finish this job you should mark item as resolved +(SubversionWorking copyMark resolved) otherwise you will not able to commit your changes. + + + + + + +Properties used by &kappname; for configuration + +Bugtracker integration +The TortoiseSVN project designed a nice property system + for integrating bugtracker into +subversion GUI. This moment &kappname; doesn't support extra fields in commit box (will follow later) and doesn't understand all but following properties: + + + +Bugtracker Integration Properties + + + + +Property +Description +Example + + + + +bugtraq:url +Holds the url to bugtracker. It has to contain the %BUGID% marker. +http://kdesvn.alwins-world.de/ticket/%BUGID% + + + +bugtraq:logregex + +Contains one or two regular expressions, separated by a newline. +If only one expression is set, then the bare bug ID's must be matched in the groups of the regex string. If two expressions are set, then the first expression is used to find a string which relates to the bug ID but may contain more than just the bug ID (e.g. "Issue #123" or "resolves issue 123"). The second expression is then used to extract the bare bug ID from the string extracted with the first expression. +Please keep care about not wanted spaces after the regular expression and don't forget the brackets around the number description. + + +Single (useable with TRAC): + +#(\d+) + +Now all numbers like #190 will parsed and translated to an url in logoutput. + +Two expressions: + +[Ii]ssue #?(\d+)(,? ?#(\d+))* +(\d+) + +Remember: Keep care of white spaces after the (\d+)! This is one of the most errors while this expressions doesn't match! + + + + + +
+
+ +On local opened repositories (eg., file://-Protocoll) and on working copies this properties will searched upward from opened folder until found or the subversion-toplevel is reached. On repositories opened via network (all except file:// protocoll) it is only searched on opened folder itself. + + +Support for multiple sets of this properties may follow later, (eg., in subfolder extra values for other tracker etc.) but in most cases evaluatin single tracker links should be enough. + +
+
+ + +The revision tree + +The revision tree try display the whole history of an item so user may get a bette feeling about the history of an item. It has to scan the complete log of the repository 'cause it requires some information subversion does not (and I think will not) give. 'Cause this produces a lot of traffic the revisiontree uses always the internal logcache. + + +Requirements + +The revisiontree is generated via dot. So for a working revisiontree the graphviz package must installed. + + + + + +Internal log cache +&kappname; may use an internal logcache for some operations. Mostly it is used for the revisiontree but when viewing simplified log in offline modus, too. The caches are oranized as sqlite databases stored in $HOME/.sqvnqt/logcache. Every numbered file is a storage for a different repository.The databases may get large! So you may disable automatic update of logcache in settings.You may simply remove a database, than no cached log will given back for that repository (and no revisiontree!) but when you don't disable automatic filling the cache on next open this repository or an associated working copy of it the cache will refilled again. + + +Offline mode +Kdesvn may work without network access, eg., you may switch that no network access is allowed. This may usefull when working without network like on notebooks. In such cases &kappname; always get the logs from the internal cache. At this time (2008-06-23) this log is reduced to base functions due technical reasons, so the cached log may (but not must) differ from real log. Differ means that it will not display all copy operations even "Log follows nodechanges" is set. + + +Logcache and revisiontree + +The revisiontree will only use the logcache 'cause otherwise it must get always the logs again. It will NOT refresh the logcache (but this may changed in later releases). + + + + + +Meaning of icon overlays + +Entries may be marked with overlayed icons when not in "normal" state. + + + + + + + + +Locked + + + + +This entry is locked. In last column the owner of lock is listed. You may setup if kdesvn should check for locked items in repository, too. But be carefull: depending of the kind of the server this may take a long time! + + + + + + + + + +Needs locked + + + + +This entry must be locked before edit and commit. Until you'll not set a lock subversion keeps it read-only. + + + + + + + + + +Updates + + + + +This entry or - if a folder - an entry below has newer version in repository. Works only with subversion =>1.2 on local and remote. + + + + + + + + + + +Modified + + + + +This entry or - if a folder - an entry below was changed on local disc. + + + + + + + + + +overlay added + + + + +This entry is locally added to subversion but not yet committed. + + + + + + + + + +overlay deleted + + + + +This entry is locally deleted from subversion but hasn't yet been committed. + + + + + + + + + +overlay deleted + + + + +This entry (or entry below if folder) got conflicts to resolve with last update. + + + + + + + + + +&kappname; and passwords + +&kappname;/subversion is able to save passwords. Saving passwords is always a security risk, but may let a graphical frontend more useable. + + +Not saving passwords + +Most secure way, but sometimes unhandy with GUIs like &kappname;. In particular the background processes of &kappname; would always ask for a password in case the repository has restricted access for reading operations like update and status. The same for "commit" and so on. So if you not saving passwords you should disable "Check for updates on open working copy" and so on. + + + +Saving passwords in kdewallet + +Secured password storage used by a lot of kde programs like kmail and konqueror. If you'saving passwords and mostly using kdesvn you should use this. Keep care that the encrypted storage isn't a high-secure storage. Details see kdewallet documentation. + + + +Saving to subversions own password storage + +This is not recommended 'cause the passwords are stored as cleartext! Not believing? Take a look into the files in ~/.subversion/auth/svn.simple. You should only use this if you're using frequently other clients than &kappname; like rapidsvn or esvn or the original svn commandline client. If you're using the commandline client mostly for checkouts or updates which doesn't require a password and kdesvn for commit/move/copy you should use kdewallet instead. + + + +Internal password cache + +You may activate an internal password cache which will hold passwords as long &kappname; is running in memory. So you must not enter a password twice even if you didn't save it in wallet. + + + +Specialcase svn+ssh + +When using subversion via svn+ssh password storage may done via ssh and ssh-agent. For this you must have ssh access to the remote mashine and repository. When want to store you must using the public key authentication of ssh, not the password authentication. (In fact ssh prefer the public key authentication). For this you must put your pulic ssh-key on the target, eg., the repository system. SSH passwords will never handled by subversion passwords storage or kde-wallet or internal password cache. + + +If you don't want asked for the password of you ssh-key you may use the ssh-agent, with selecting the menu + +Subversion + +Add ssh identities to ssh-agent +you may store you ssh-key-password for your current session so no further entering of your password is needed. + + + +
+ + +Konqueror, KIO, &kappname; + +Description + +As of version 0.7.0 of &kappname; it comes with some modules integrating some commands directly into konqueror menus. + + +KIO protocols +Implements handlers for following protocols: + +ksvn+http +ksvn+https +ksvn+file +ksvn+ssh +ksvn + +The same maybe for "svn+..." but as from kde 3.4, kdesdk has it own small svn-kio called "svn+http"etc. So packages are organized that way - or should that "svn+..." comes as an extra package so it may installed if kdesdk hasn't installed it. + + +These protocols are designed only for repositories, not for working copies. E.g. "ksvn+file:///<path>" must point to the beginning of a repository different to the application itself or KPart. +Working copies may browsed with konqueror. + + +For browsing at a specific revision you may append the query "?rev=<revision>" to the url. + + + + +Context menus + +&kappname; installs context menues for konqueror. Them may be seen with right mouse click in the browser window (only in standard view, not any KPart) so it is possible to do most used actions direct from within konqueror (or any other filemanagers that read konquerors context menues like krusader). This is done via a call +to the commandline variant of &kappname;. + + +This menu is static up to kde 3.5, so you should care about what you're selecting. Otherwise &kappname; prints an error box. + + + + + + +Usage of KIO outside konqueror - an example + +Every &kde; based application may use these protocols. So it would be possible to retrieve all differences between two revisions with kdiff3 without any deep knowledge. + + + +Retrieving differences between revions using KDiff3 and KIO::ksvn + +kdiff3 \ + ksvn://anonsvn.kde.org/home/kde/trunk/KDE/arts?rev=423127 \ + ksvn://anonsvn.kde.org/home/kde/trunk/KDE/arts?rev=455064 + + +Let kdiff3 print all differences between two revisions. Note! Using this within kdesvn (diff'ing two revisions) is MUCH faster because the internal mechanisms of subversion are used. + + + + + + +Programmers information about KIO::ksvn + +You may skip this if not interested in KIO programming. +KIO::ksvn::special knows the following operations, these are made almost equal in call to the current existing in KIO from kdesdk +so, for instance, kdevelop may use it if kdesdk isn't installed but uses kdesvn::KIO::svn. + + +Commandlist + + +Command overview for KIO::ksvn::special + + + + +Name/command +Numeric id +Parameter list +Implemented in 0.11.x? + + + + + + +Checkout +1 + + +KURL repository, KURL target, int revnumber, QString revkind + + +The target will NOT be modified, e.g., but the content will be checked out without creating a subfolder! e.g., the source may be +http://server/repos/project/trunk, target /home/user/proj/ then the contents of trunk will copied into /home/user/proj/ not +/home/user/proj/trunk/! + + +Yes + + + +Update +2 +KURL url,int revnum, QString revstring + +If revnum < 0 the revstring is parsed. +Format of revstring is described in Appendix. + + +Yes + + + +Commit +3 +KURL::List urls +urls a list of local urls to commit. Will ask for log. + +Yes + + + +Log +4 + + +int startrevnumber,QString startrevstring,int endrevnumber,QString endrevstring,KURL::List + + +Use this with care - this may produce a lot of data. + + +Yes + + + +Import +5 +KURL targetrepository, KURL sourcepath +Yes + + + +Add +6 +KURL +Yes + + + +Del +7 +KURL::List +Yes + + + +Revert +8 +KURL::List +Revert in KIO is always non-recursive, no questions (calling app must do it itself) + +Yes + + + +Status +9 +KURL item,bool checkRepos, bool recurse +item - the item check info about, checkRepos - check if there are newer versions in repository, recurse - check recursive or not. + +Yes + + + +Mkdir +10 +KURL::List +Yes + + + +Resolve +11 +KURL, bool recursive +Yes + + + +Switch +12 +KURL working_copy_path,KURL new_repository_url,bool recursive,int revnumber, QString revkind +Yes + + + +Diff +13 + +URL uri1, KURL uri2, int r1, QString rstring1, int r2, QString rstring 2, bool recursive +For difference between repository file:/// and working copy setup working copy urls without a protocol! + +Yes + + + + +
+ +
+
+ +Return values + +Return values may given via metadata, see apidoc for details. + + + +Content of metadata + + + + +Key +Possible value + + + + + + +path +Path of the item action was made on, eg. given url + + + +action +Numeric action type + + + +kind +kind of item (mostly dir or file) + + + +mime_t +Subversion mimetype of item + + + +content +State of content (subversion value) + + + +prop +State of properties (subversion value) + + + +rev +Resulting revision or revision worked on + + + +string +Internal defined human readable message. + + + +loggedaction +Subversion defined action string on item (A,M,D) + + +loggedcopyfrompath +If copied from which path? (may empty) + + +loggedcopyfromrevision +If copied at which revision? (may < 0) + + +loggedpath +On which single path the entries logged action and so on are set. (path is set to the calling url) + + +diffresult +a line of difference output + + + + +
+ +
+
+
+
+ + +Using kdesvn via commandline + +Overview + +Some subversion operations may used via the commandline, eg., like a standard commandline client but user interaction is made via KDE-UI. The standard syntax is kdesvn exec <command> [parameter] <url>. + + +If a single revision on a single url is wanted it may be set as a parameter of the url +svn://your-server/path-to-repository/item?rev=<your-rev> This will overwrite the option -r <rev>. + + +A revision may given as +a number or one of HEAD or BASE or as date format like {YYYY-MM-DD}. + + + +Commandlist + +If in following overview as possible parameter -r revision is given, this revision may set as <url>?rev=the-revision. + +Subversion commands + + + + +Command +Meaning +Accepted options + + + + + +commit (or ci) +commit changes of item to repository + + + +log +Print log of item +-r startrevision:endrevision -l limit_display + + +cat +Display content of item +-r revision + + +copy (or cp) +Copy item inside working copy or repository. If target isn't given, &kappname; will prompt. + + + +move (or mv, rename) +Move/Rename item inside working copy or repository. If target isn't given, &kappname; will prompt. + + + +get +Get content of item and save it +-r revision -o <outputfile> (output is required!) + + +blame (or annotate) +annotate file +-r startrevision:endrevision + + +update +Update item in working copy +-r revision + + +diff +Diff two revisions of item or diff two items at specific revision +-r startrev:endrev + + +info +Detailed information about the item +-r revision + + +checkout (or co) +Checkout repository-path into a new working copy path. Target path and source revision will be asked for. + + + +checkoutto (or coto) +Checkout repository-path into a new working copy path. The difference of the source path and source revision will be asked for. + + + +export +Export repository- or working copy-path into directory. Target path and source revision will be asked for. + + + +exportto +Export repository- or working copy-path into directory. Source path and source revision will be asked for. + + + +delete (del, remove, rm) +delete url(s) from repository or working copy. + + + +add +add url to working copy. url must belong to a working copy (its not an import!) + + + +revert (or undo) +undone current changes to working copy. May only used on working copy urls! + + + +checknew (or addnew) +check in given url for new, unversioned items and add them to working copy if wanted. + + + +tree +displays revision tree of item (only first argument), if url with "?rev=xxx" given, this revision is the peg-revision. +-r startrev:endrev + + +lock +lock url(s), if "-f" is given then existing locks are brocken. +-f + + +unlock +unlock url(s), if "-f" is given then not owned locks are brocken or non + existing locks are ignored. +-f + + +help +displays this page + + + + + +
+ + +Parameter for subversion commands + + + +Parameter +Possible values +allowed for + + + + +-r +revision or startrev:endrev +all except commit + + +-R +(none) +all except commit + + +-o +<filename> +get + + +-l +<number> +log + + +-f + +(un-)lock + + + + +
+ +
+ +The "log" command + +Log command displays a dialog containing the log of the given url. With subversion 1.2 or above it accepts a limit e.g. how many entries it has to display. + + +Inside that dialog you may select log entries and get the differences between them. + +Display the last 20 commit logs + +kdesvn exec log -l 20 -r HEAD:1 myfile.c + +Beware of order of revision: You want go from HEAD to START for the LAST one. So you must giverevision HEAD as starting point, otherwise you would get +the first 20 entries. + + + + +The "diff" command + +You get differences between revisions of an item or between to items inside same working copy or repository. When diff'ing revisions of an item that revisions +may gived as -r STARTREV:ENDREV. When diffing an item inside a working copy without any revisions it prints the diff against repository. + +Print difference against repository, eg. local changes + +kdesvn exec diff myfile.c + + + +print difference between revisions + +kdesvn exec diff -r 21:20 myfile.c + + + + +When diffing two items revisions may be appended to url of items. e.g.: +http://server/path/item?rev=HEAD + +Diffing two tagged versions + +kdesvn exec diff http://www.alwins-world.de/repos/kdesvn/tags/rel_0_6_2 http://www.alwins-world.de/repos/kdesvn/tags/rel_0_6_3 + + + + +
+
+ + +Settings + +Setting may changed from the setup dialog. Them are seperated into some subdialogs. + + +General + + + + + +Size of listviewicons +How big (square) the icons in main list view should be + + +Show fileinfos +If a small tool-tip should appear when moving mouse over an item + + +Show preview in fileinfo +If kdesvn should show a preview in fileinfo tooltip (local access only, not on networked repositories) + + +Mark item status with iconoverlay +When an item isn't in normal subversion state it may get an overlay. (See ) + + +Items sortorder is casesensitive +If the sortorder in mainwindow is case sensitivie or not, eg., if "a" not equal to "A". + + +External display +Default view on double-click. If set to default &kappname; uses standard action assigned with entry. + + +Maximum logmessages in history +How many logmessages &kappname; should remember. + + + + + + + + + +Subversion settings + + + + + + + +Start check for updates when open a working copy +When open a working copy start a check for updates in background + + +Start fill log cache on open +If set &kappname; start (re-)filling the logcache when open a repository or working copy if repository url is not assigned local (file://) + + +Check if items has svn:needs-lock set +Check on working copies if an item has this property set and if yes, displays a special overlayed icon. Setting this may let listings get real slow. + + +Get file details while remote listing +When checked, kdesvn get more detailed info about file items when making a listing to remote repositories. So you may see remote locks in overview. Be careful: This may let listings REAL slow! + + + +Gain item info recursive +When activated, "info" on folders will gain information about all items below, may be real slow. + + + +Display ignored files +Show items marked in subversion for ignore or not. + + + +Store passwords for remote connections +Storing passwords is often a security problem. Subversion stores its passwords into a flat file, eg., passwords in cleartext! So be carefull setting this flag and see next entry, too. This item only says if saving passwords is the default, you may change it for specific realms inside login dialog. + + + +Store passwords into KDE wallet +When saving passwords, the cleartext file from subversion is a security hole. &kappname; is able saving them into encrypted kde wallet instead there (starting with version 0.12.0) and use them. On other hand other subversion clients aren't able reading them so you must enter them if using tools like svn-cmdline or rapidsvn, too. As long as subversion don't encrypt password storage you should think twice about it. + + + +Use internal password cache +When a password isn't stored persistent &kappname; may hold is until &kappname; ends so you may not need enter it again on each operation. This cache is never persistent, eg., it will not saved anywhere. + + + +Log follows node changes +If checked log follows copy operations. + + + +Logs always reads list of changed files +The logcommand may read list of changed files in commit. This is usefull and in most cases it cost not real more traffic. + + + +Review items before commit +When doing a commit &kdesvn; may make a check what to do. Eg., if unversioned items are below which may added, list items changed and current operation will commit. This cost a depending on tree more or less time. + + +Maximum displayed logs when full log +Doing a "Full log" may cost a much, depending on start-revision. You may limit it to a default maximum value. If set to "0" it is unlimited. + + + + + + + + + + + +Diff & merge + + + + +Diff ignore contenttype + +Only interesting when diff are made with subversion itself. When set, than subversions diff ignores the content type of entries. Otherwise it will not output +diffs from binaries. + + + + +Diff in revisiontree is recursive + +When set, diffs made from within revisiontree view are made recursive like in all other cases, too. Otherwise only changes belonging to that folderitems are shown. How that is made depends on how you let diffs generate (from subversion itself or from external viewers). + + + +Diff ignores white space changes + + +Ignore changes in the amount of white space (option "-b" to diff) + + + + +Diff ignores all white spaces + +Ignore all white space (option "-w" to diff) + + + + + + +Diff display + +Selects which kind of display for diff-content should use. Default is "kompare" If set to "External display" +you must enter a valid program in "External diff display". Only if internal display is used you may see differences in properties. + + + +External diff display + +Defines what &kdesvn; is using for external display and how it will called. There are three ways: + + + + +<program> <parameter> + +The difference will generated with subversion and put direct into standard input of the external program (eg., no temporary files needed) + + + + +<program> <parameter> %f + +The difference will generated with subversion, saved into a temporary file and the parameter "%f" will replaced with that filename. +This may used with for instance with a simple call to less or textviewer. + + + + +<program> <parameter> %1 %2 + +&kappname; let the external program make the difference. %1 and %2 will replaced with required values (filenames or foldernames). &kappname; +stores content to compare in a temporary environment (when folders do a "export", when single file, does a "cat") when needed and +cleans up after closing external program or closing itself. + + + +Prefer external merge program +Select if in merge dialog "Use external program" should be checked or not as default. + + + + + +External merge program + +Setup the program and options for using when subversions builtin merge isn't wanted. The default is kdiff3 %s1 %s2 %t. The order of substitution variables isn't important, and them may there more than once, eg. like kdiff3 -o %t %s1 %s2 %t. This stuff is only tested with "meld" + and "kdiff3". Think about that external programs mostly doesn't know any about subversion ignore-parameter so them may show lot more than expected. + + +Variable substitutions for external merge program + + + + +%s1 + +Substituted with source number one. + + + + +%s2 + +Substituted with source number two. If this is empty or this is equal to source one and start and end revision is same, this variable +will skipped. So be carefull setting up commandlines like xxdiff --title1 %s1 --title2 %s2 %s1 %s2 %t. + + + + +%t + +Substituted with target. + + + + + + + + + +Conflict resolver program + +You may use an external program like kdiff3 for resolving conflicts, the default is +kdiff3 %o %m %n -o %t. + + +Variable substitution for externel conflict resolver + +In paranthesis after each description an example how subversion would call the files. This options meaning are designed for kdiff3, 'cause this moment (2008-02-07) this is the only one I know supporting all parameters required for a good conflict resolving. + + +%o or %l + +Old (local,left) version. This means the lower revsion number, eg., the start point of conflicted changes. (foo.cc.r2) + + + +%m or %w + +Mine (working) version of file, eg., what you had changed against old version. (foo.cc.mine) + + + +%n or %r + +New (remote, right) version of file. Eg, version someone other had made. (foo.cc.r3) + + + +%t + +Target name, eg., the origin name. For kdiff3 (as an example) this would be name after the "-o" parameter (= output file). (foo.cc) + + + + + + + + +KIO / commandline + + + + +Show log after executing a command + +Should a dialog open with the log of last made subversion command when it where done via commandline or konqueror action menu. + + + + +Minimum loglines to show + +If "Show log..." is set, what is the minimum of lines before such a dialog will shown. So you may set that such window will +only shown when interesting output was generated (commitlog and so on) + + + + +Don't display contextmenu in konqueror + +If set, no action menu entry for kdesvn is made in konqueror. Works only with KDE 3.5. + + + + +KIO operations use standard logmessage. + +When making operations on a repository via the kdesvn KIO protocol from within konqueror (eg., "ksvn+..." protocols) on large operations like moving or copy folders kdesvn would ask for a logmessage for each item. This is a behavior of konqueror. +When this option is set, the KIO implementation from kdesvn will not ask for a logmessage but set a standard logmessage. This flags not the operations from +kdesvn action menu for konqueror but only copy/move/mkdir/delete made with konqueror or other filemanagers on a KIO-url. + + + + +Standard message + +The message kdesvn-kio should set on operations from within konqueror when the flag above is set. Default is "Revision made with kdesvn KIO." + + + + + + + + + + +Command Reference + + + + +The main &kdesvn; window + + +The File Menu + + + + + +&Ctrl;O + +File +Open + +Open a local working copy or a repository previously checked out + + + + + +&Ctrl;W + +File +Close + + +Close current opened repository or working copy + + + + +&Ctrl;Q + +File +Quit + +Quits &kdesvn; + + + + + +The <guimenu>Bookmark</guimenu> Menu + +see konqueror help + + + +The <guimenu>Subversion</guimenu> Menu + + + +&Ctrl;U +Subversion +Refresh view + +Refresh the current status of all displayed items. This will list each item asked for to be displayed at current status. + + + + + +General subversion actions + + + + +&Ctrl;L +Subversion +General +Full log + + +Display lifetime log of the the currently selected item. +Be careful, this list may be really big! + + + + +&Ctrl; &Shift;L +Subversion +General +Log... + +Displays a log where a revision/date range may selected before. + + + +I +Subversion +General +Details + +Displays detailed information about selected item(s) + + + +Subversion +General +Blame + +Makes an annotated list over all checkins. That may consume time! + + + +Subversion +General +Blame range + +Annotate a range of commits for a file. + + + +Subversion +General +Cat head + +Shows the content of the last commited version of that entry. (May be different to working copy version if working on a WC!) + + + +F2 +Subversion +General +Move + +Move or rename item inside working copy or in repository + + + +F5 +Subversion +General +Copy + +Copy item inside working copy or in repository + + + +Del +Subversion +General +Delete selected files/dirs + +Delete selected entries. If working in a working copy you must commit your deletions afterwards. + + + +Subversion +General +Make (sub-)directory + +Create a new directory + + + +Subversion +General +Import directories into current + +Select directories you want to import into the current selected directory + + + +Subversion +General +Checkout a repository + +Creates a new working copy of a repository + + + +Subversion +General +Export a repository + +Exports a repository to filesystem, eg. creates a clean directory tree without +subversion information. + + + + +Subversion +General +Lock current items + +Mark current items as locked. Read the subversion handbook before using this! + + + + +Subversion +General +Unlock current items + +Remove locks on current items. Read the subversion handbook before using this! + + + + + +Working copy + + + +&Ctrl;u +Subversion +Working copy +Update to head + +Update working copy to HEAD of repository + + + +Subversion +Working copy +Update to revision... + +Update working copy to a specific revision of repository + + + +# +Subversion +Working copy +Commit + +Commit changes inside working copy for selected items to repository. + + + +&Ctrl;D +Subversion +Working copy +Diff local changes + +Display local changes as diff-output (without network access). This is the difference only to +last state the working copy was updated to, not against the version in repository. + + + +&Ctrl;H +Subversion +Working copy +Diff against head + +Diff's current working copy against head of repository. + + + +P +Subversion +Working copy +Properties + +View/Edit properties assigned with current entry. + + + +Insert +Subversion +Working copy +Add selected files/dirs + +Add selected files and/or directories to version control. + + + +Subversion +Working copy +Revert current changes + +Revert changes made in working copy and updates to last updated state. + + + +Subversion +Working copy +Resolve recursive + +Mark conflicted items as not conflicted and removes associated files. + + + +Subversion +Working copy +Merge two revisions + +Merge two revisions of entries into working copy. + + + +Subversion +Working copy +Ignore/Unignore current item + +Edit property of parent directory of current item so that selected item will marked as ignored if not set, otherwise remove it from ignorelist. + + + +Subversion +Working copy +Cleanup + +Clean up the working copy and removes (commit-)locks if any + + + +Subversion +Working copy +Switch repository + +Switch the root of the current working copy. "relocate" This is not supported at this moment. + + + +Subversion +Working copy +Switch to repository + +Opens the repository tree of another working copy. + + + + +Repository + + + +Subversion +Repository +Checkout current repository path + +Create a working copy from the current selected entry if a directory. + + + +Subversion +Repository +Export current repository path + +Create a clean copy on local filesystem from the current selected entry if a directory. + + + + + +The <guimenu>Help</guimenu> Menu + + + + + + +&help.menu.documentation; + + + + +The subversion toolbar + + + +Open + +Open a working copy + + + + + + + + +Questions and Answers + + + + + + + + +When using the (k)svn+ssh protocol it asks all the time for password again. Why? + + + +The "problem" is ssh itself. Subversion creates for each command sending a tunnel +to the repository. And on each tunnel it is a new ssh connection. And for every connection ssh must +authenticate. This may you fix when you store your local public identity to the host containing the +repository. If your public identity has a password, ssh-agent will asked (when ssh-agent is installed). + + +When you're running a ssh-agent before starting &kdesvn;, you should add your identity to its cache, &kdesvn; will not +modifiy it due security reasons, so it would ask for your password again and again. (see Manpage of ssh-add) + + + + + +The password prompt for (k)svn+ssh comes on terminal when kdesvn started from there, how do I switch off this? + + + +It may not switched off. This is a feature of ssh-agent itself, when it see it has a terminal it asks for password in terminal not +in a X-Dialog like kdesvnaskpass. (see Manpage of ssh-add). + + + + + +When checking for updates kdesvn doesn't display something but I know there are newer items! + + + +Updates may only displayed when the remote server is subversion 1.2, too. Eg., seems that repository runs with +subversion <1.2. It is not planned that &kdesvn; do that check recursive itself - this makes no sense. Ask for upgrading +repository to newer subversion. + + + + + +When starting kdesvn it sends a dialog "Could not find our part" and shows an empty window, why? + + + +There are many reasons why the program couldn't load. This mostly happens when you building subversion-libs yourself. In that case you may +check out issue entry. + + +The next big thing could that you forgot to give a libsuffix on 64-Bit systems at compile-time. So the part will installed in $PREFIX/lib instead of $PREFIX/lib64. So give -DLIB_SUFFIX=64 as paramter to cmake. + +If this does not solve your problem, you may try out on a console: + + export LD_PRELOAD=/usr/lib/kde3/libkdesvnpart.so + kdesvn + unset LD_PRELOAD + +(/usr/lib/kde3 depends of course on your system, please check where it is installed) + + +You should see a lot of output why loading of libkdesvnpart.so isn't possible, that may help solving your problem. + + + + + + + +Syntax for revisions + +Revisions may given in same form like to the standard svn - client. That means: number, keyword or date. + + + + + +Number + +A number greater or equal -1. -1 means "unspecified revision", 0 is the beginning. Normaly these numbers shouldn't used (most operations will fail with that). + + + + +Keyword + +One of + + + +HEAD + + + +BASE + + + +COMMITED + + + +PREV + + + +START + + + +WORKING + + + + + + +The keywords are case sensitive! eg, head is not the same like HEAD. + + + + + +Date + +Date in form {YYYY-MM-DD}. It must real MM or DD - eg. 2005-1-1 must written as {2005-01-01}. + + + + + + + +Appending a specific revision to an url will always made via "?rev=<revision>. + + + + +Further information + +Reporting bugs / Feedback + +Bugreports and wishes may send to kdesvn-bugs@alwins-world.de, questions about usage or any other feedback to kdesvn@alwins-world.de. + + +An overview for the mailinglists for &kappname; you may get in the mailinglist overview. + + + + +Credits and License and Thanks + +Program copyright 2005-2006 Rajko Albrecht kdesvn@alwins-world.de + + +Many tnx to contributors: + +Andreas Richter ar@oszine.de - for qt4 port of svnqt + +Michael Biebl biebl@teco.edu - for a lot of help, ideas, implementation and hints. + +Bram Schoenmakers bramschoenmakers@kde.nl - for kde-specific hints, dutch translation, cleaning up my code. + + +And tnx to all other translators (I never thought that I get that fast such a lot of translations!) and for all of your positive and negative feedback. It helped a lot. + + +If you want your own translation for &kappname; and may want help please read on the homepage of &kappname; or ask on kdesvn-i10n@alwins-world.de mailinglist. + + +Documentation copyright 2005-2006 Rajko Albrecht kdesvn@alwins-world.de + + + +&underFDL; + + +&underGPL; + + + + + + + + +Installation + + +How to obtain &kdesvn; + + + +&kdesvn; itself can be found +at +the &kdesvn; download area. + + +You may get latest repository version when looking whats going on. + + +The homepage of that project is http://kdesvn.alwins-world.de/ + + + + +Requirements + + + + +You need installed subversion 1.3 or above and &kde; 3.4.x +or above. Subversion prior 1.3 is NOT supported! + + +Subversion may found on its homepage but your +distributor should have packages for your system and/or distribution. + + + +You can find a list of changes at http://kdesvn.alwins-world.de/browser/trunk/ChangeLog. + + + + +Compilation and Installation + +&kappname; requires at least cmake 2.4 for building, automake isn't supported. The following steps works with both distribution tarball or tarball from repository. Unpack the archive +or checkout / export a copy from repository and change to the resulting sourcedirectory. + + + +% mkdir build +% cd build +% cmake ../ -DCMAKE_INSTALL_PREFIX=`kde-config --prefix` -DCMAKE_BUILD_TYPE=Release +% make +% make install + + + + + + +&documentation.index; +
diff --git a/doc/makecommon.sh b/doc/makecommon.sh new file mode 100755 index 0000000..f38eabd --- /dev/null +++ b/doc/makecommon.sh @@ -0,0 +1,16 @@ +#!/bin/sh + +if [ "x$1" = "x" ]; then + echo "No source" + exit 0 +fi +if [ "x$2" = "x" ]; then + echo "No target" + exit 0 +fi + +if [ ! -h $1 ]; then + echo "linking $2 -> $1" + ln -fs "$2" "$1" +fi + diff --git a/doc/makelink.cmake b/doc/makelink.cmake new file mode 100644 index 0000000..3c64ed4 --- /dev/null +++ b/doc/makelink.cmake @@ -0,0 +1,18 @@ +IF($ENV{DESTDIR} MATCHES ".+") + SET(DESTDIR $ENV{DESTDIR}) +ELSE($ENV{DESTDIR} MATCHES ".+") + SET(DESTDIR "") +ENDIF($ENV{DESTDIR} MATCHES ".+") + +SET(COMMONLINK "${DESTDIR}${CMAKE_INSTALL_PREFIX}/share/doc/HTML/en/kdesvn/common") + +MESSAGE(STATUS "Generating ${COMMONLINK}") + +EXECUTE_PROCESS( + COMMAND "rm" "-f" "common" + COMMAND ln "-s" "../common" "common" + WORKING_DIRECTORY "${DESTDIR}/${CMAKE_INSTALL_PREFIX}/share/doc/HTML/en/kdesvn" + ) + +SET(CMAKE_INSTALL_MANIFEST_FILES ${CMAKE_INSTALL_MANIFEST_FILES} "${CMAKE_INSTALL_PREFIX}/share/doc/HTML/en/kdesvn/common") + diff --git a/doc/man/CMakeLists.txt b/doc/man/CMakeLists.txt new file mode 100644 index 0000000..941a995 --- /dev/null +++ b/doc/man/CMakeLists.txt @@ -0,0 +1,8 @@ +SET(MANFILES + kdesvn.1 + kdesvnaskpass.1) + +INSTALL(FILES + ${MANFILES} + DESTINATION share/man/man1) + diff --git a/doc/man/kdesvn.1 b/doc/man/kdesvn.1 new file mode 100644 index 0000000..2c69012 --- /dev/null +++ b/doc/man/kdesvn.1 @@ -0,0 +1,166 @@ +.\" This file was generated by kdemangen.pl +.TH KDESVN 1 "Aug 2006" "K Desktop Environment" "A Subversion Client for KDE (standalone application)" +.SH NAME +kdesvn +\- A Subversion Client for KDE (standalone application) +.SH SYNOPSIS +kdesvn [Qt\-options] [KDE\-options] [options] exec [URL] +.SH DESCRIPTION +A Subversion Client for KDE (standalone application) +.SH OPTIONS +.SS +.SS Arguments: +.TP +.B exec + Execute subversion command ("exec help" for more information) +.TP +.B URL +Document to open +.SS Options: +.TP +.B \-r startrev +[:endrev] Execute single subversion command on specific revision(-range) +.TP +.B \-R +Ask for revision when executing single command +.TP +.B \-o +Save output of subversion command (eg "cat") into file +.TP +.B \-l +Limit log output to +.SS +.SS Generic options: +.TP +.B \-\-help +Show help about options +.TP +.B \-\-help\-qt +Show Qt specific options +.TP +.B \-\-help\-kde +Show KDE specific options +.TP +.B \-\-help\-all +Show all options +.TP +.B \-\-author +Show author information +.TP +.B \-v, \-\-version +Show version information +.TP +.B \-\-license +Show license information +.TP +.B \-\- +End of options +.SS +.SS KDE options: +.TP +.B \-\-caption +Use 'caption' as name in the titlebar +.TP +.B \-\-icon +Use 'icon' as the application icon +.TP +.B \-\-miniicon +Use 'icon' as the icon in the titlebar +.TP +.B \-\-config +Use alternative configuration file +.TP +.B \-\-dcopserver +Use the DCOP Server specified by 'server' +.TP +.B \-\-nocrashhandler +Disable crash handler, to get core dumps +.TP +.B \-\-waitforwm +Waits for a WM_NET compatible windowmanager +.TP +.B \-\-style