Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

svk::command::patch(3) [osx man page]

SVK::Command::Patch(3)					User Contributed Perl Documentation				    SVK::Command::Patch(3)

NAME
SVK::Command::Patch - Manage patches SYNOPSIS
patch --ls [--list] patch --cat [--view] PATCHNAME patch --regen [--regenerate] PATCHNAME patch --up [--update] PATCHNAME patch --apply PATCHNAME [DEPOTPATH | PATH] [-- MERGEOPTIONS] patch --rm [--delete] PATCHNAME OPTIONS
--depot DEPOTNAME : operate on a depot other than the default one DESCRIPTION
To create a patch, use "commit -P" or "smerge -P". To import a patch that's sent to you by someone else, just drop it into the "patch" directory in your local svk repository. (That's usually "~/.svk/".) svk patches are compatible with GNU patch. Extra svk-specific metadata is stored in an encoded chunk at the end of the file. A patch name of "-" refers to the standard input and output. INTRODUCTION
"svk patch" command can help out on the situation where you want to maintain your patchset to a given project. It is used under the situation that you have no direct write access to remote repository, thus "svk push" cannot be used. Suppose you mirror project "foo" to "//mirror/foo", create a local copy on "//local/foo", and check out to "~/dev/foo". After you've done some work, you type: svk commit -m "Add my new feature" to commit changes from "~/dev/foo" to "//local/foo". If you have commit access to the upstream repository, you can submit your changes directly like this: svk push //local/foo Sometimes, it's useful to send a patch, rather than submit changes directly, either because you don't have permission to commit to the upstream repository or because you don't think your changes are ready to be committed. To create a patch containing the differences between "//local/foo" and "//mirror/foo", use this command: svk push -P Foo //local/foo The "-P" flag tells svk that you want to create a patch rather than push the changes to the upstream repository. "-P" takes a single flag: a patch name. It probably makes sense to name it after the feature implemented or bug fixed by the patch. Patch files you generate will be created in the "patch" subdirectory of your local svk repository. Over time, other developers will make changes to project "foo". From time to time, you may need to update your patch so that it still applies cleanly. First, make sure your local branch is up to date with any changes made upstream: svk pull //local/foo Next, update your patch so that it will apply cleanly to the newest version of the upstream repository: svk patch --update Foo Finally, regenerate your patch to include other changes you've made on your local branch since you created or last regenerated the patch: svk patch --regen Foo To get a list of all patches your svk knows about, run: svk patch --list To see the current version of a specific patch, run: svk patch --view Foo When you're done with a patch and don't want it hanging around anymore, run: svk patch --delete Foo To apply a patch to the repository that someone else has sent you, run: svk patch --apply - < contributed_feature.patch perl v5.10.0 2008-08-04 SVK::Command::Patch(3)

Check Out this Related Man Page

STG-REFRESH(1)							   StGit Manual 						    STG-REFRESH(1)

NAME
stg-refresh - Generate a new commit for the current patch SYNOPSIS
stg refresh [options] [<files or dirs>] DESCRIPTION
Include the latest work tree and index changes in the current patch. This command generates a new git commit object for the patch; the old commit is no longer visible. You may optionally list one or more files or directories relative to the current working directory; if you do, only matching files will be updated. Behind the scenes, stg refresh first creates a new temporary patch with your updates, and then merges that patch into the patch you asked to have refreshed. If you asked to refresh a patch other than the topmost patch, there can be conflicts; in that case, the temporary patch will be left for you to take care of, for example with stg squash. The creation of the temporary patch is recorded in a separate entry in the patch stack log; this means that one undo step will undo the merge between the other patch and the temp patch, and two undo steps will additionally get rid of the temp patch. OPTIONS
-u, --update Only update the current patch files. -i, --index Instead of setting the patch top to the current contents of the worktree, set it to the current contents of the index. -p PATCH, --patch PATCH Refresh (applied) PATCH instead of the top patch. -e, --edit Invoke an editor for the patch description. -a NOTE, --annotate NOTE Annotate the patch log entry. -m MESSAGE, --message MESSAGE Use MESSAGE instead of invoking the editor. -f FILE, --file FILE Use the contents of FILE instead of invoking the editor. (If FILE is "-", write to stdout.) --sign Add a "Signed-off-by:" to the end of the patch. --ack Add an "Acked-by:" line to the end of the patch. --author "NAME <EMAIL>" Set the author details. --authname NAME Set the author name. --authemail EMAIL Set the author email. --authdate DATE Set the author date. STGIT
Part of the StGit suite - see linkman:stg[1] StGit 03/13/2012 STG-REFRESH(1)
Man Page