Thanks, everyone! Once I finish up implementing review suggestions, I can try again with building a squashed patch file.
On Thu, Jun 13, 2013 at 8:41 AM, John Burwell <jburw...@basho.com> wrote: > Prasanna, > > +1 to using rebase on feature branches. > > At least as I understand things and have experienced rebase, it > preserves all commits on the feature branch. For Review Board and > master merges, those commits need to be collapsed, or in git parlance, > squashed. The script I referenced below squashes the commits and > works regardless of whether you have been using rebase or merge on > your feature branch. > > Thanks, > -John > > On Jun 13, 2013, at 2:01 AM, Prasanna Santhanam <t...@apache.org> wrote: > > > The 'cleanest cleanest' way is to use rebase as Sheng recommends but I > > know people who've used git successfully with just doing merge. It's > > (rebase) one of those features of git you discover only after > > using-abusing it for long enough. But if you're adventurous .. :) > > > > Do NOT do a rebase if you've done merges until now on your branch. > > > > Here's a nice post explaining how to work with rebase for those > > hesitant to use it: > > http://mettadore.com/analysis/a-simple-git-rebase-workflow-explained/ > > > > -- > > Prasanna., > > > > On Thu, Jun 13, 2013 at 01:50:15AM -0400, John Burwell wrote: > >> Mike, > >> > >> The cleanest way have found to create these patches is actually > >> create a temporary work branch from master, merge the feature branch > >> into it with the squashed option, and then generate the patch. This > >> gist (https://gist.github.com/jburwell/5771480) is the shell script > >> I used to generate the S3-backed Secondary Storage patch submissions > >> to Review Board. It should be fairly easy to adapt by adjusting the > >> FEATURE_BRANCH and WORK_HOME values. > >> > >> Thanks, > >> -John > >> > >> On Jun 12, 2013, at 6:25 PM, Mike Tutkowski < > mike.tutkow...@solidfire.com> wrote: > >> > >>> I have a branch, solidfire_plugin, off of master in my local repo. > >>> > >>> I wanted to submit a patch to Review Board. > >>> > >>> Essentially, I followed these steps (where upstream is the official CS > >>> repo): > >>> > >>> git checkout master > >>> > >>> git fetch upstream > >>> > >>> git reset --hard upstream/master > >>> > >>> git checkout solidfire_plugin > >>> > >>> git merge master > >>> > >>> git format-patch master --stdout > solidfire_plugin.patch (this > collected > >>> six commits worth of work) > >>> > >>> git checkout master > >>> > >>> git am solidfire_plugin.patch > >>> This final command lead to this error message (below). I was surprised > >>> because I had just performed a merge from master to solidfire_plugin > before > >>> generating the patch file (so I was thinking the patch file should > cleanly > >>> apply on master). > >>> > >>> Any thoughts on this? > >>> > >>> Thanks! > >>> > >>> mtutkowski-lt:cloudstack mtutkowski$ git am solidfire_plugin_a.patch > >>> Applying: SolidFire plug-in and enhancements to the storage plug-in > >>> framework > >>> > /Users/mtutkowski/documents/cloudstack/src/cloudstack/.git/rebase-apply/patch:60: > >>> trailing whitespace. > >>> > >>> > /Users/mtutkowski/documents/cloudstack/src/cloudstack/.git/rebase-apply/patch:62: > >>> trailing whitespace. > >>> > >>> > /Users/mtutkowski/documents/cloudstack/src/cloudstack/.git/rebase-apply/patch:64: > >>> trailing whitespace. > >>> > >>> > /Users/mtutkowski/documents/cloudstack/src/cloudstack/.git/rebase-apply/patch:66: > >>> trailing whitespace. > >>> > >>> > /Users/mtutkowski/documents/cloudstack/src/cloudstack/.git/rebase-apply/patch:68: > >>> trailing whitespace. > >>> > >>> error: patch failed: api/src/com/cloud/offering/DiskOffering.java:46 > >>> error: api/src/com/cloud/offering/DiskOffering.java: patch does not > apply > >>> error: patch failed: api/src/com/cloud/storage/Volume.java:120 > >>> error: api/src/com/cloud/storage/Volume.java: patch does not apply > >>> error: patch failed: > api/src/org/apache/cloudstack/api/ApiConstants.java:49 > >>> error: api/src/org/apache/cloudstack/api/ApiConstants.java: patch does > not > >>> apply > >>> error: patch failed: > >>> > api/src/org/apache/cloudstack/api/command/admin/offering/CreateDiskOfferingCmd.java:52 > >>> error: > >>> > api/src/org/apache/cloudstack/api/command/admin/offering/CreateDiskOfferingCmd.java: > >>> patch does not apply > >>> error: patch failed: > >>> > api/src/org/apache/cloudstack/api/command/user/volume/CreateVolumeCmd.java:67 > >>> error: > >>> > api/src/org/apache/cloudstack/api/command/user/volume/CreateVolumeCmd.java: > >>> patch does not apply > >>> error: patch failed: > >>> api/src/org/apache/cloudstack/api/response/DiskOfferingResponse.java:51 > >>> error: > >>> api/src/org/apache/cloudstack/api/response/DiskOfferingResponse.java: > patch > >>> does not apply > >>> error: patch failed: > >>> api/src/org/apache/cloudstack/api/response/VolumeResponse.java:79 > >>> error: api/src/org/apache/cloudstack/api/response/VolumeResponse.java: > >>> patch does not apply > >>> error: patch failed: > client/WEB-INF/classes/resources/messages.properties:14 > >>> error: client/WEB-INF/classes/resources/messages.properties: patch > does not > >>> apply > >>> error: patch failed: client/pom.xml:22 > >>> error: client/pom.xml: patch does not apply > >>> error: patch failed: client/tomcatconf/applicationContext.xml.in:798 > >>> error: client/tomcatconf/applicationContext.xml.in: patch does not > apply > >>> error: patch failed: > >>> core/src/com/cloud/agent/api/AttachVolumeCommand.java:23 > >>> error: core/src/com/cloud/agent/api/AttachVolumeCommand.java: patch > does > >>> not apply > >>> error: patch failed: > >>> > core/test/org/apache/cloudstack/api/agent/test/AttachVolumeAnswerTest.java:28 > >>> error: > >>> > core/test/org/apache/cloudstack/api/agent/test/AttachVolumeAnswerTest.java: > >>> patch does not apply > >>> error: patch failed: > >>> > core/test/org/apache/cloudstack/api/agent/test/AttachVolumeCommandTest.java:27 > >>> error: > >>> > core/test/org/apache/cloudstack/api/agent/test/AttachVolumeCommandTest.java: > >>> patch does not apply > >>> error: patch failed: > >>> > engine/api/src/org/apache/cloudstack/engine/subsystem/api/storage/PrimaryDataStoreParameters.java:36 > >>> error: > >>> > engine/api/src/org/apache/cloudstack/engine/subsystem/api/storage/PrimaryDataStoreParameters.java: > >>> patch does not apply > >>> error: patch failed: > >>> engine/schema/src/com/cloud/storage/DiskOfferingVO.java:34 > >>> error: engine/schema/src/com/cloud/storage/DiskOfferingVO.java: patch > does > >>> not apply > >>> error: patch failed: > engine/schema/src/com/cloud/storage/VolumeVO.java:68 > >>> error: engine/schema/src/com/cloud/storage/VolumeVO.java: patch does > not > >>> apply > >>> error: patch failed: > >>> > engine/storage/integration-test/test/org/apache/cloudstack/storage/allocator/StorageAllocatorTest.java:149 > >>> error: > >>> > engine/storage/integration-test/test/org/apache/cloudstack/storage/allocator/StorageAllocatorTest.java: > >>> patch does not apply > >>> error: patch failed: > >>> > engine/storage/src/org/apache/cloudstack/storage/allocator/ZoneWideStoragePoolAllocator.java:57 > >>> error: > >>> > engine/storage/src/org/apache/cloudstack/storage/allocator/ZoneWideStoragePoolAllocator.java: > >>> patch does not apply > >>> error: patch failed: > >>> > engine/storage/src/org/apache/cloudstack/storage/volume/datastore/PrimaryDataStoreHelper.java:84 > >>> error: > >>> > engine/storage/src/org/apache/cloudstack/storage/volume/datastore/PrimaryDataStoreHelper.java: > >>> patch does not apply > >>> error: patch failed: > >>> > engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeObject.java:92 > >>> error: > >>> > engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeObject.java: > >>> patch does not apply > >>> error: patch failed: > >>> > plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java:5362 > >>> error: > >>> > plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java: > >>> patch does not apply > >>> error: patch failed: plugins/storage/volume/solidfire/pom.xml:12 > >>> error: plugins/storage/volume/solidfire/pom.xml: patch does not apply > >>> error: patch failed: > >>> > plugins/storage/volume/solidfire/src/org/apache/cloudstack/storage/datastore/driver/SolidfirePrimaryDataStoreDriver.java:18 > >>> error: > >>> > plugins/storage/volume/solidfire/src/org/apache/cloudstack/storage/datastore/driver/SolidfirePrimaryDataStoreDriver.java: > >>> patch does not apply > >>> error: > >>> > plugins/storage/volume/solidfire/src/org/apache/cloudstack/storage/datastore/lifecycle/SolidFirePrimaryDataStoreLifeCycle.java: > >>> already exists in index > >>> error: patch failed: > >>> > plugins/storage/volume/solidfire/src/org/apache/cloudstack/storage/datastore/provider/SolidfirePrimaryDataStoreProvider.java:1 > >>> error: > >>> > plugins/storage/volume/solidfire/src/org/apache/cloudstack/storage/datastore/provider/SolidfirePrimaryDataStoreProvider.java: > >>> patch does not apply > >>> error: > >>> > plugins/storage/volume/solidfire/src/org/apache/cloudstack/storage/datastore/util/SolidFireUtil.java: > >>> already exists in index > >>> error: patch failed: > >>> server/src/com/cloud/api/query/dao/DiskOfferingJoinDaoImpl.java:67 > >>> error: server/src/com/cloud/api/query/dao/DiskOfferingJoinDaoImpl.java: > >>> patch does not apply > >>> error: patch failed: > >>> server/src/com/cloud/api/query/dao/VolumeJoinDaoImpl.java:101 > >>> error: server/src/com/cloud/api/query/dao/VolumeJoinDaoImpl.java: patch > >>> does not apply > >>> error: patch failed: > >>> server/src/com/cloud/api/query/vo/DiskOfferingJoinVO.java:60 > >>> error: server/src/com/cloud/api/query/vo/DiskOfferingJoinVO.java: patch > >>> does not apply > >>> error: patch failed: > server/src/com/cloud/api/query/vo/VolumeJoinVO.java:57 > >>> error: server/src/com/cloud/api/query/vo/VolumeJoinVO.java: patch does > not > >>> apply > >>> error: patch failed: > >>> server/src/com/cloud/configuration/ConfigurationManager.java:97 > >>> error: server/src/com/cloud/configuration/ConfigurationManager.java: > patch > >>> does not apply > >>> error: patch failed: > >>> server/src/com/cloud/configuration/ConfigurationManagerImpl.java:2160 > >>> error: > server/src/com/cloud/configuration/ConfigurationManagerImpl.java: > >>> patch does not apply > >>> error: patch failed: > >>> server/src/com/cloud/server/ConfigurationServerImpl.java:925 > >>> error: server/src/com/cloud/server/ConfigurationServerImpl.java: patch > does > >>> not apply > >>> error: patch failed: server/src/com/cloud/storage/VolumeManager.java:45 > >>> error: server/src/com/cloud/storage/VolumeManager.java: patch does not > apply > >>> error: patch failed: > server/src/com/cloud/storage/VolumeManagerImpl.java:58 > >>> error: server/src/com/cloud/storage/VolumeManagerImpl.java: patch does > not > >>> apply > >>> error: patch failed: server/src/com/cloud/test/DatabaseConfig.java:965 > >>> error: server/src/com/cloud/test/DatabaseConfig.java: patch does not > apply > >>> error: patch failed: > >>> server/test/com/cloud/vpc/MockConfigurationManagerImpl.java:654 > >>> error: server/test/com/cloud/vpc/MockConfigurationManagerImpl.java: > patch > >>> does not apply > >>> error: patch failed: setup/db/db/schema-410to420.sql:263 > >>> error: setup/db/db/schema-410to420.sql: patch does not apply > >>> error: patch failed: tools/marvin/marvin/cloudstackConnection.py:204 > >>> error: tools/marvin/marvin/cloudstackConnection.py: patch does not > apply > >>> error: patch failed: ui/dictionary.jsp:25 > >>> error: ui/dictionary.jsp: patch does not apply > >>> error: patch failed: ui/scripts/configuration.js:906 > >>> error: ui/scripts/configuration.js: patch does not apply > >>> error: patch failed: ui/scripts/docs.js:270 > >>> error: ui/scripts/docs.js: patch does not apply > >>> error: patch failed: ui/scripts/storage.js:132 > >>> error: ui/scripts/storage.js: patch does not apply > >>> Patch failed at 0001 SolidFire plug-in and enhancements to the storage > >>> plug-in framework > >>> When you have resolved this problem run "git am --resolved". > >>> If you would prefer to skip this patch, instead run "git am --skip". > >>> To restore the original branch and stop patching run "git am --abort". > >>> > >>> > >>> -- > >>> *Mike Tutkowski* > >>> *Senior CloudStack Developer, SolidFire Inc.* > >>> e: mike.tutkow...@solidfire.com > >>> o: 303.746.7302 > >>> Advancing the way the world uses the > >>> cloud<http://solidfire.com/solution/overview/?video=play> > >>> *?* > > > > > > ------------------------ > > Powered by BigRock.com > > > -- *Mike Tutkowski* *Senior CloudStack Developer, SolidFire Inc.* e: mike.tutkow...@solidfire.com o: 303.746.7302 Advancing the way the world uses the cloud<http://solidfire.com/solution/overview/?video=play> *™*