Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Return storage package to this repository. #597

Merged
merged 24 commits into from
Apr 28, 2017
Merged

Conversation

marstr
Copy link
Member

@marstr marstr commented Apr 26, 2017

One of the conditions for moving storage into its own repository was continued support of folks consuming it out of this repository. Our mechanism for doing that was adding a git sub-module as seen here: #556. We tested moving forward to adopt the latest bits, but missed an important scenario: using glide/git to tie yourself to a commit that predated the sub-module. This caused people to stop being able to use our SDK as seen in #581.
The immediate solution was to back-out the sub-module, replacing it with copies of the files as they existed at the commit the sub-module referred to. However, we were then left with a choice. Do we permanently move to the new repository, deprecating the copy here, or deprecate the new repository and return to developing out of a single repository?
While there were supporters of both options on the team, we made the decision to return the code here based on the download numbers we saw for the new repository as seen in GitHub's Graphs. Almost all of the clones of Azure/azure-storage-go came indirectly through the sub-module, meaning almost everybody using that package was doing so via this repository.

For that reason, I've rebased all commits from the old repository onto our history here.

@marstr
Copy link
Member Author

marstr commented Apr 26, 2017

What are your thoughts, @kpfaulkner?

@kpfaulkner
Copy link
Contributor

Although personally I prefer it as a separate repo, if reality is that most people using it are getting it through azure-sdk-for-go then I'd say merge it back.

marstr and others added 22 commits April 26, 2017 15:44
* Blobs as receivers, divided blob file

* Fix golint

* Itoa and some magic string fixes

* Got rid of (most) Foos and Bars

* Fix gofmt

* Format ints to strings correctly

* Fix Travis

* Got rid of a bunch of defers

* Feedback
* Updating User Agent

* Updating terminology in user agent.

Now that storage is in its own repository, we don't need to continue
tagging the data-plane that is being used. However, we still would like
to bundle the targeted API Version into the User Agent field. This
update would make that more clear.
* Blobs as receivers, divided blob file

* Got rid of extraHeaders on AppendBlob

* Progress on general blob operations

* Got rid of all extraheaders in general blob operations

* Got rid of extraheaders in blockblob

* Cuter looking APIs for copy blob

* Cuter (more complete) looking APIs for lease blob

* Got rid of extraheaders in pageblob

* More complete container requests

* Better use structToHeaders

* Added headersFromStruct to other places and types

* Coments from review

* Fix tests

* More feedback
* Different funcs for write and clear blob pages

* Fixed tests, and changed a name for consistency
* Adding a "Getting Started" section to the README.

* Fixing formating issues.

* Responding to review feedback.
* Added missing parameters
As a bonus, updated all documentation links

* Fix Travis

* Comments from review
* Complete parameters for table operations

* Complete parameters in entity operations

* Complete parameters in query table operation

* Better input for query tables

* Comments from review
* Including date and api version in request error

* Date as a string
* merged to dev branch

* incrementalcopy changes based on review

* forcing travis recompile

* incremental copy blob neating up

* modify tests for incremental copy to use new options type
* Messages and queues as receivers

* Including all possible headers

* Feedback from review

* Fix travis

* Comments from review

* Comment from review
* refactor for dev branch

* fixing comments

* merge from upstream

* Update tale batch code based on PR feedback

* added doc ref

* remove unused TableBatchError

* Removing unnecessary reading of IO before creating various Readers

* moving changeset headers to map

* removing travis warning

* allowing force for table batch replace/merge/delete operations

* fixing delete batch test

* refactoring table operations to use single slice of entities

* added ByForce convenience methods
* First steps in recording
No more non-deterministic tests
Introduced the recorder in all relevant tests

* recording and replaying work properly

* Modified matcher passes tests in the same account

* Divided ifexists tests, skipped sasuri test

* Modify recordings to dummy storage account

* Fix IfExists tests

* Moved TestMain to a more appropiate file

* Adding all recordings

* Fixed queue tests

* Fixed incremental copy

* Modified / added recordings
Recordings were modified because the tests changed its suite

* Added testing to the contribution section

* Enable testing in Travis

* Added batch table recordings

* Comments from review

* Fixed share test

* Tiny fix I forgot
* queue ACL WIP

* helps to check correct status

* getpermissions for queue working

* tests and recording for queue permissions

* queue set permissions test tweaks

* fixing yaml recordings
* Complete parameters for table operations

* Complete parameters in entity operations

* Complete parameters in query table operation

* Added get entity operation

* Added get table operation

* Included test recordings

* Fixed merge little mess

* Fix travis
* Added retry logic

* Attempts is a local variable

* Fix travis

* Replaceable retry strategy

* Sender as interface

* Got rid of settings field

* Feedback

* More feedback

* Include number of retries in the test
@kpfaulkner
Copy link
Contributor

kpfaulkner commented Apr 27, 2017

Just to clarify, going forward will we still be working off the dev branch I assume?

.travis.yml Outdated
- test -z "$(gofmt -s -l -w Gododir | tee /dev/stderr)"
- test -z "$(go build $(find ./* -type d -print | grep -v '^./vendor$' | grep -v '^./storage$') | tee /dev/stderr)"
- test -z "$(go vet $(find ./arm/* -type d -print) | tee /dev/stderr)"
- test -z "$(golint ./arm/... | tee /dev/stderr)"
- go test -v ./management/...
- test -z "$(golint ./management/... | grep -v 'should have comment' | grep -v 'stutters' | tee /dev/stderr)"
- go vet ./management/...
- go vet ./storage/...
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

go vet ./storage/... [](start = 4, length = 20)

At some point we have to add go test ./storage/...

@mcardosos
Copy link
Contributor

GoDoc

Why is this file inside a folder?


Refers to: README.md:2 in 0574446. [](commit_id = 05744467ef80e9bb8faf7159908a39f181141cdf, deletion_comment = False)

@marstr
Copy link
Member Author

marstr commented Apr 27, 2017

Yes, @kpfaulkner. The plan is to continue working off of the dev branch.

@marstr marstr merged commit 79192cd into Azure:dev Apr 28, 2017
@marstr marstr deleted the returnStorage branch April 28, 2017 17:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants