GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  SVK::COMMAND::PATCH (3)

.ds Aq ’

NAME

SVK::Command::Patch - Manage patches

CONTENTS

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



Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 SVK::COMMAND::PATCH (3) 2008-08-05

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.