This is an implementation of the NuGet Gallery and API. This serves as the back-end and community website for the NuGet client. For information about the NuGet clients, visit http://nuget.codeplex.com/
Prerequisites. Install these if you don't already have them:
Clone it!
git clone git@github.com:NuGet/NuGetGallery.git
Build it!
cd NuGetGallery
.\build
Set up the website in IIS Express!
Create the Database!
NuGetGallery
Update-Database
If this fails, you are likely to get more useful output by passing -Debug than -Verbose.
Set up the website in IIS Express!
Ensure the 'NuGetGallery' project (under the Frontend folder) is set to the Startup Project
That's it! You should now be able to press Ctrl-F5 to run the site!
If you find a bug with the gallery, please visit the Issue tracker (https://github.com/NuGet/NuGetGallery/issues) and create an issue. If you're feeling generous, please search to see if the issue is already logged before creating a new one.
When creating an issue, clearly explain
Also include any information you think is relevant to reproducing the problem such as the browser version you used. Does it happen when you switch browsers. And so on.
Before starting work on an issue, either create an issue or comment on an existing issue to ensure that we're all communicating.
To contribute to the gallery, make sure to create a fork first. Make your changes in the fork following the Git Workflow. When you are done with your changes, send us a pull request.
Copyright 2011 Outercurve Foundation
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this work except in compliance with the License. You may obtain a copy of the License in the LICENSE file, or at:
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
This is the Git workflow we're currently using:
Pull the latest. Begin by pulling to make sure you are up-to-date before creating a branch to do your work This assumes you have no local commits that haven't yet been pushed (i.e., that you were previously up-to-date with origin).
git checkout dev-start
git pull dev-start
Create a topic branch to do your work. You must work in topic branches, in order to help us keep our features isolated and easily moved between branches. Our policy is to start all topic branches off of the 'dev-start' branch. Branch names should use the following format '[user]-[bugnumber]-[shortdescription]'. If there is no bug yet, create one and assign it to yourself!
git checkout dev-start
git checkout -b anurse-123-makesuckless
Do your work. Now, do your work using the following highly accurate and efficient algorithm :)
Make changes.
Test your changes (you're practicing TDD, right?)
Add your changes to git's index.
git add -A
Commit your changes.
git commit -m "<description of work>"
if (moreWorkToDo) go to #3.1 else go to #4.
Start a code review.
Start a code review by pushing your branch up to GitHub (git push origin anurse-123-makesuckless
) and
creating a Pull Request from your branch to dev. Wait for at least someone on the team to respond with: ":shipit:" (that's called the
"Ship-It Squirrel" and you can put it in your own comments by typing :shipit:
).
Merge your changes in to dev. Click the bright green "Merge" button on your pull request! NOTE: DO NOT DELETE THE TOPIC BRANCH!!
If there isn't a bright green button... well, you'll have to do some more complicated merging:
git checkout dev
git pull origin dev
git merge anurse-123-makesuckless
... resolve conflicts ...
git push origin dev
Be ready to guide your change through QA, Staging and Master Your change will make its way through the QA, Staging and finally Master branches as it's deployed to the various environments. Be prepared to fix additional bugs!
NOTE: DO NOT DELETE THE TOPIC BRANCH!!