cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mike Tutkowski <mike.tutkow...@solidfire.com>
Subject Re: Git question about applying patch files
Date Fri, 14 Jun 2013 06:15:40 GMT
So...let's see...getting back to doing this now. :) I had to finish up
implementing comments from a code review.

Here is how I've been developing. Please let me know which option provided
to me in this e-mail chain best fits my situation. I can, of course, do
development in Git differently next release if it makes sense to change
(perhaps using rebase instead of merge).

Initially (as in right before I started developing code for 4.2), I got a
fresh copy of the CS repo and then I created a branch off of master called
solidfire_plugin.

I did my development work in this branch.

Every now and then (like weekly), I performed another fetch from the CS
repo and merged its master (what I call upstream/master) into
solidfire_plugin. I've probably performed about four of five such merges
during my development.

Thanks for the advice! :)


On Thu, Jun 13, 2013 at 10:45 AM, Mike Tutkowski <
mike.tutkowski@solidfire.com> wrote:

> 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 <jburwell@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 <tsp@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.tutkowski@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.tutkowski@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.tutkowski@solidfire.com
> o: 303.746.7302
> Advancing the way the world uses the cloud<http://solidfire.com/solution/overview/?video=play>
> *™*
>



-- 
*Mike Tutkowski*
*Senior CloudStack Developer, SolidFire Inc.*
e: mike.tutkowski@solidfire.com
o: 303.746.7302
Advancing the way the world uses the
cloud<http://solidfire.com/solution/overview/?video=play>
*™*

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message