Saturday, January 29, 2011

Diff'ing and Patching

So I got like a few folders with different version source code, erm text files which I am comparing in my work. Either way, thanks to unix tools like diff and patch, things is some what easier. Though it is better to use version control, which I stupid enough not to

to compare files with diff, it is just a matter of
diff original new
then my team is creating the file on windows, which have \r\n, and me on linux, which \n. So to avoid this on diff
diff -w original new
this should able to ignore difference in white space character such as \r\n, which may not be a wise choice for python, because of the indentation sensitivity, which I trust my team sane enough not to mix tab and space(yes, for non-python progammer you can all laugh)

Since I have a directory, so i would run
diff -rw original-folder new-folder
pipe it to less just for making it readable.

If i'm lucky, it is just adding stuff to the text file, i would generate a patch, for that file by
diff -u original new > original.patch
and applying it with
patch original < original.patch 
in the folder. which i should really use -p1 option in the patch command, but there is a few folder have the same name, so i just put it in that folder and run it without -p1

of course sometime thing is not as easy. so it is nice to use to see all the difference with highlighting. which here i use vimdiff. which i use
vimdiff original new
Then I realize that doing all the diff and patch can be a pain in the back. So, a better use the code with version control, what ever reason, or how rush it is.

Saturday, January 08, 2011

gist: 770894 - Why Steak (over Cucumber)- GitHub

gist: 770894 - Why Steak (over Cucumber)- GitHub

Actually in the current project i am working on, this would be a real issue, the user will describe the wrong type of solution(they insist of doing it their way). And along the way, will change their mind.

Even when we describe how it would work, or they describe what it should work, when we build it, they might change their mind, because they only see it once it is done.

just my 2 cent