-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hello all!
Following issue: I am up re-organizing the whole "externals" part in trunk as you might have recognized already. In fact this is done now with the single exception of a generic patching system, e.g. needed for BeautifulSoup.py. (As usual) this is no problem under linux, but becomes a major issue under win.
The mechanism I want to use is the well known diff-patch duo. Therefore a "patch" executable/binary (OR python script) is needed (for every OS). While this is kind of "built-in" in linux, win needs extra-attention. This is what I found so far:
* http://sourceforge.net/projects/unxutils/ The executables do only depend on the Microsoft C-runtime (msvcrt.dll) and not on an emulation layer like that provided by Cygwin tools - windows ONLY not multi OS
* http://python-patch.googlecode.com/svn/trunk/patch.py Python script therefore multi OS - but does not support the full diff-patch "command set" e.g. cannot create new files
* https://code.google.com/p/google-diff-match-patch/ Not a command-line tool like "patch" but a python library/module. Multi OS.
So I am stuck here and need some further knowledge, experience and personal preferences from your side in order to make a good decicion.
In my opinion we should also keep further os (than just linux, mac, win) in our mind, becuase they are very close to what we already have too.
Thanks for any help and Greetings DrTrigon
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hello to all (again)!
Quit some time has elapsed since my first mail. Today I tested successfully 'patch.exe' [1] in win and in linux wine. This is another one than mentioned before, but/and as I can see works quite well even with LF (unix-style) line endings.
[1] http://gnuwin32.sourceforge.net/packages/patch.htm
Since I will commit these changes now the time has come to test it on other machines also. After that was successful too I will remove BeautifulSoup.py from externals because it will be downloaded and patched automatically.
In order to test this on your windows machine you can e.g.: 1.) create a directory, e.g. '[...]/Desktop/patch-test' 2.) download and extract 'patch.exe' from http://downloads.sourceforge.net/project/gnuwin32/patch/2.5.9-7/patch-2.5.9-... to this directory 3.) download and extract 'BeautifulSoup.py' from https://pypi.python.org/packages/source/B/BeautifulSoup/BeautifulSoup-3.2.0.... to this directory 4.) download the patch 'patch-BeautifulSoup' from http://svn.wikimedia.org/viewvc/pywikipedia/trunk/pywikipedia/externals/patc... to this directory 5.) open 'cmd', cd to '[...]/Desktop/patch-test' and enter "patch.exe - -p0 -d [...]/Desktop/patch-test/ -i [...]/Desktop/patch-test/patch-BeautifulSoup --binary" 6.) check the output for error messages and compare the resulting 'BeautifulSoup.py' to the one in your pywikipedia/externals directory, they should be exactly the same! IF NOT AND/OR ERRORS OCCURED PLEASE REPORT THIS TO ME!
Thanks a lot to everybody helping and Greetings DrTrigon
On 25.05.2013 11:40, Dr. Trigon wrote:
Hello all!
Following issue: I am up re-organizing the whole "externals" part in trunk as you might have recognized already. In fact this is done now with the single exception of a generic patching system, e.g. needed for BeautifulSoup.py. (As usual) this is no problem under linux, but becomes a major issue under win.
The mechanism I want to use is the well known diff-patch duo. Therefore a "patch" executable/binary (OR python script) is needed (for every OS). While this is kind of "built-in" in linux, win needs extra-attention. This is what I found so far:
- http://sourceforge.net/projects/unxutils/ The executables do only
depend on the Microsoft C-runtime (msvcrt.dll) and not on an emulation layer like that provided by Cygwin tools - windows ONLY not multi OS
script therefore multi OS - but does not support the full diff-patch "command set" e.g. cannot create new files
command-line tool like "patch" but a python library/module. Multi OS.
So I am stuck here and need some further knowledge, experience and personal preferences from your side in order to make a good decicion.
In my opinion we should also keep further os (than just linux, mac, win) in our mind, becuase they are very close to what we already have too.
Thanks for any help and Greetings DrTrigon
_______________________________________________ Pywikipedia-l mailing list Pywikipedia-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/pywikipedia-l