The Mixed Reality Forums here are no longer being used or maintained.
There are a few other places we would like to direct you to for support, both from Microsoft and from the community.
The first way we want to connect with you is our mixed reality developer program, which you can sign up for at https://aka.ms/IWantMR.
For technical questions, please use Stack Overflow, and tag your questions using either hololens or windows-mixed-reality.
If you want to join in discussions, please do so in the HoloDevelopers Slack, which you can join by going to https://aka.ms/holodevelopers, or in our Microsoft Tech Communities forums at https://techcommunity.microsoft.com/t5/mixed-reality/ct-p/MicrosoftMixedReality.
And always feel free to hit us up on Twitter @MxdRealityDev.
workflow for using github for HoloLens app version control
I have a HoloHacks app that is being tweaked to get into the Store and I am having trouble understanding how to locally test a branch off the origin master in github. I am a n00b and am using the free version of Unity, VS, HoloLens emulator and github Desktop.
Could anyone provide a workflow for testing the branch locally, if there is one person developing and another person testing the branch? I am the tester and the admin for master. I haven't been able to see the changes of the branch in Unity and am not sure where to start troubeshooting - having a good workflow to follow would help me.
Thanks.
Best Answers
-
OptionsContextVR ✭✭✭
@wick Here's an example workflow:
# developer workflow cd project_repo_path git checkout master git fetch && git pull # create local feature branch git checkout -b username/feature # work work work # commit changes git commit -m "Feature description" # push feature branch to remote git push -u origin username/feature # create pull request on github # tester workflow git clone project_repo_url cd project_repo_path git fetch && git pull # checkout remote feature branch locally git checkout -t origin/username/feature # test test test # comment on pull request on github # merge pull request on github # update local master after merge git checkout master git fetch && git pull # delete local feature branch git branch -b username/feature
This should get you started, merges can be done locally through command line as well, but you may lose visibility, so I would recommend doing them via github, so it's visible to everyone on the team.
Hope this helps, post any specific issue here.
5 -
Optionsahillier mod
Hi @wick,
I'm not sure how you have your branching set-up in GitHub, as there are different ways for teams to organize their projects. The most basic set-up is have a separate repository for each project, where final check-ins are made to 'master' directly. In this set-up, you simply need to clone the repository and then press the 'sync' button in the desktop tool to pull the latest changes from master:1) Open GitHub desktop tool and select the repository (or clone a new one, if you don't have any changes to check-in and want to ensure that you have a clean starting state. Cloning will always give you the most-up-to-date version).
2) With 'master' shown at the top drop-down, select the 'Sync' button.
For more complex projects (or multiple projects within the same repository), it can get more confusing. Here is the approach that I take when updating our Academy course content (where each course is a branch off of master), which requires a few more steps:
3) Change top drop-down from 'master' to the branch you want to test/update (ex: 'Holograms-230-SpatialMapping).
4) Change the update section's 'master' drop-down to the branch that you want to test/update.
Now there should only be one visible branch for syncing:5) Sync the branch. If you have the 'History' tab selected at the top, you should see all of the check-ins that went in since the last time you did a sync (so you'll know where to concentrate your testing efforts).
Once you are done syncing your repository, you can navigate to the local repository folder on your PC. It should contain all of the files that are relevant to the branch currently selected in the desktop tool. You'll then want to load that project in Unity for testing.
If you never intend to check-in and the project is not huge, then always creating a fresh clone is probably the best way to ensure that you are working with the latest code base. You can also double-check that your local repository is up-to-date by comparing the 'History' section on your desktop with that of the online GitHub repository.
I hope this helps,
~Angela5
Answers
@wick Here's an example workflow:
This should get you started, merges can be done locally through command line as well, but you may lose visibility, so I would recommend doing them via github, so it's visible to everyone on the team.
Hope this helps, post any specific issue here.
Thank you @ContextVR. I have been using the Desktop GUI but will switch to command line to try this over the weekend.
Hi @wick,
I'm not sure how you have your branching set-up in GitHub, as there are different ways for teams to organize their projects. The most basic set-up is have a separate repository for each project, where final check-ins are made to 'master' directly. In this set-up, you simply need to clone the repository and then press the 'sync' button in the desktop tool to pull the latest changes from master:
1) Open GitHub desktop tool and select the repository (or clone a new one, if you don't have any changes to check-in and want to ensure that you have a clean starting state. Cloning will always give you the most-up-to-date version).
2) With 'master' shown at the top drop-down, select the 'Sync' button.
For more complex projects (or multiple projects within the same repository), it can get more confusing. Here is the approach that I take when updating our Academy course content (where each course is a branch off of master), which requires a few more steps:
3) Change top drop-down from 'master' to the branch you want to test/update (ex: 'Holograms-230-SpatialMapping).
4) Change the update section's 'master' drop-down to the branch that you want to test/update.
Now there should only be one visible branch for syncing:
5) Sync the branch. If you have the 'History' tab selected at the top, you should see all of the check-ins that went in since the last time you did a sync (so you'll know where to concentrate your testing efforts).
Once you are done syncing your repository, you can navigate to the local repository folder on your PC. It should contain all of the files that are relevant to the branch currently selected in the desktop tool. You'll then want to load that project in Unity for testing.
If you never intend to check-in and the project is not huge, then always creating a fresh clone is probably the best way to ensure that you are working with the latest code base. You can also double-check that your local repository is up-to-date by comparing the 'History' section on your desktop with that of the online GitHub repository.
I hope this helps,
~Angela
@ahillier thank you. I tried the GUI instead of the command line and I am able to see the changes in Unity now.
@ContextVR thank you again for the the command line workflow. It will come in handy in the future.