Ease your vendor branch management worries with Piston, a tool to copy vendor / upstream code to your own repository, while preserving your local patches.
Use the update subcommand when the upstream repository changed and you want to grab the latest changes.
The update subcommand is non-destructive: local changes you make will be kept after the update.
$ piston update vendor/plugins/acts_as_list
$ piston update
SYNOPSIS piston update [DIRECTORY [DIRECTORY ...]] PARAMETERS DIRECTORY Which directory to update. Not specifying this will update all unlocked pistonized directories. --verbose=[verbose], -v (0 ~> integer(verbose=0)) Verbosity level (0 to 5, 0 being the default) --quiet, -q --force --dry-run --revision=revision, -r (0 ~> revision) The revision you wish to operate on --commit=commit (0 ~> commit) The commit you wish to operate on --lock Automatically lock down the revision/commit to protect against blanket updates --help, -h