Git Product home page Git Product logo

xilinxtclstore's Introduction

XilinxTclStore

Welcome to the Xilinx Tcl App Store GitHub Repository!

A Tcl app store is an open source repository of Tcl code designed primarily, but not necessarily for use with the Xilinx Vivado Design Suite. An app is a grouping or collection of one or more Tcl scripts that is published and maintained by an owner. The app owner acts as a gatekeeper for that code and we only accept contributions for an app from the owner. In addition, the entire repository is managed by a Xilinx gatekeeper that controls pushes to the public repo.

This project is currently in a "beta" phase, and we are limiting access. To contribute, either by adding a new app, or by modifying an existing app, please send an email to: [email protected]

Click Here to go to the Wiki


To Contribute

  1. Get a github account <USER> and download and install git on your machine (GitHub for Windows)

  2. Ask for permission to XilinxTclStore repository by sending e-mail to [email protected]

  3. Sign on to github.com

  4. Switch to Xilinx at upper left side by your account name <USER>

  5. Click Xilinx/XilinxTclStore under Repositories

    Press "Fork"(upper right hand side) and create fork of XilinxTclStore to your account

    https://help.github.com/articles/fork-a-repo

  6. Switch to a shell on your machine (we recommend GitShell for windows)

Checkout the Repository

If you have already cloned the repository then skip this step. Otherwise to pull this repository from within a firewall you will need to configure http.proxy and https.proxy as some company might enforce HTTPS over HTTP. Note this setting may be different for your system. If you have questions contact your IT network administrator:

git config --global https.proxy https://proxy:80
git config --global http.proxy http://proxy:80

Setting up User Name and Email

#Create and cd to a working directory, for instance ~/github/
mkdir <WORKING_DIR>
cd <WORKING_DIR>
git config --global USER.name <USER>  #github USER name
git config --global USER.email your_email@your_company.com
  1. Clone the repository

We recommend working off of only the master branch for simplicity. You can work on a different branch but this requires additional syncing and merging. If you are familiar with this methodology you can use it, otherwise stick with working off the master branch of each repo. You need to clone your fork of the Xilinx master repo to your local area. Don't foget to substitute <USER> for your real github account name:

On Windows

cd <WORKING_DIR>
git clone https://github.com/<USER>/XilinxTclStore.git

On Linux

cd <WORKING_DIR>
git clone https://<USER>@github.com/<USER>/XilinxTclStore.git

You will need to enter your github password when prompted.

Now you have cloned the repo directories under "<WORKING_DIR>/XilinxTclStore"

cd <WORKING_DIR>/XilinxTclStore

git status
  1. Set up remote to point to the Xilinx master repo if this has not been done yet. This is required to be able to sync the local repo with the Xilinx master repo
git remote add upstream https://github.com/Xilinx/XilinxTclStore.git
  1. Check out the entire master branch (you can also check out individual files by passing the specific file name). Below is the command for checking out the entire default branch.
git checkout 
  1. Add your application code to the respective directory. For a new app, create the directories following the taxonomy tclapp/<YOUR_COMPANY>/<YOUR_APP> (for an example see tclapp/mycompany/myapp), including test code. Note you can use your github account name in place of <YOUR_COMPANY> if you would like.

    For more information on creating application, refer to the following section: ####My First Vivado Tcl App

  2. Mark files for adding. Make sure you add all necessary files, including the tclIndex, pkgIndex.tcl, and package provider files (3 in addition to the "normal" tcl source files. The tclIndex and pkgIndex.tcl files are generated by Vivado - described later in the section for My First Vivado Tcl App.

cd ./XilinxTclStore
git add tclapp/<YOUR_COMPANY>/<YOUR_APP>
  1. Commit to local repository
git commit -m "your description of the changes"
  1. Push to your cloned master <USER>/XilinxTclStore in Github
git push origin
  1. Send Pull Request. Switch back to github.com in a web browser, and navigate to your repo https://help.github.com/articles/creating-a-pull-request

Press "Pull Request" button right upper-ish

Add any additiona note if you wish

Done!


As a Gate Keeper (app owner)

Make sure you are set up as a normal contributor (name/email/proxy config settings)

Since you will be merging content from other branches and repos, you need to set some merge configuration options:

git config --global merge.defaultToUpstream true
  1. Create a repository by cloning XilinxTclStore, skip to next step if repository already exists locally
On Windows
git clone https://github.com/<USER>/XilinxTclStore.git
On Linux
git clone https://<USER>@github.com/<USER>/XilinxTclStore.git
  1. Update local repo with github master
git fetch
  1. Merge any changes
git merge --ff
  1. Set up remote to point to the Xilinx master repo if this has not been done yet. This is required to be able to sync the local repo with the Xilinx master repo
git remote add upstream https://github.com/Xilinx/XilinxTclStore.git
  1. Update local repo with <USER> branch
git fetch remote_name
  1. Merge changes from <USER> branch. Use "master" or the name of the branch if the user forked.
git merge remote_name/remote_branch
e.g.
git merge upstream/master
  1. Fix any merge conlicts

  2. Add the changes and commit

git add .
git commit -m "update notes"
  1. Run tests and check content

  2. Push to github or go to step 11

git push origin master

go to Step 12

  1. Go to Github.com Pull Request from the <USER>.

If everything is good, merge, add comments and close the pull request.

If something is not good, add comments so the requester can make changes.

If something is bad, add comments, reject it and close the pull request.

https://help.github.com/articles/merging-a-pull-request

  1. Delete the local repository, or forked branch if you created one.
git branch -r -d remote_name/remote_branch
e.g.
git branch -r -d raj/rajklair

Or in browser, delete this branch after merging when prompted.

Done!


How to Contribute a New App to the Repository

Adding a new app to the repository


xilinxtclstore's People

Contributors

abeusr avatar bgreine avatar binochotta avatar dbmccrohan avatar dpefour avatar gregdaughtry avatar jjbieker avatar rajklair avatar rroane avatar susheelp avatar tclstorerole avatar tclstoreuser avatar xlnxalecw avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.