Creating patch and applying it.

Somehow I always hesitated creating patch and applying patch. I preferred just doing copy the entire directory and delete in when not needed. Today, just consciously creating patch and start using it.

First, to create patch , when you are using subversion as your source repository
svn diff > feature.patch //corresponding relative path for feature.patch

Later, where ever you want to apply the patch
patch -p0 < feature.patch //corresponding relative path for feature.patch

In the above command, the option -p0, is for relative path. Read the following snippet from the man page.

-pnum or --strip=num
Strip the smallest prefix containing num leading slashes from each
file name found in the patch file. A sequence of one or more adja‐
cent slashes is counted as a single slash. This controls how file
names found in the patch file are treated, in case you keep your
files in a different directory than the person who sent out the
patch. For example, supposing the file name in the patch file was

/u/howard/src/blurfl/blurfl.c

setting -p0 gives the entire file name unmodified, -p1 gives

u/howard/src/blurfl/blurfl.c

without the leading slash, -p4 gives

blurfl/blurfl.c

and not specifying -p at all just gives you blurfl.c. Whatever you
end up with is looked for either in the current directory, or the
directory specified by the -d option.

Comments

Popular Posts