|
TFS/VSTS also has workspaces. So, as an alternative to shelving the current project and doing a bug fix, you could also just switch to another workspace for the same branch and do the fix there. I've used up to 5 workspaces for our DEV branch when having to move from a feature development to do an urgent fix, which gets sidetracked by a critical fix, ....
I suppose the git equivalent would simply be creating another local repository (git clone)?
|
|
|
|
|
StarNamer_ wrote: I suppose the git equivalent would simply be creating another local repository (git clone)?
I think so. At the end of the day, I think it would be really helpful if there was some training and good documentation on the company's TFS practices.
Just to explain some of the nightmare, there's one division that creates a new branch for every candidate release (the branch is named by month and year) but nobody tells you when you have to check out the new release candidate branch and start working on it. In fact, I was there for a year before I even knew there was this every-3-month new branch. There are some people who have code from 2 or 3 of these branches that all need to be merged together.
Then, there's another team that simply has dev, qa, and prod branches. Note there is no "main" branch. Actually, qa is the main branch. So I merge my local stuff to dev, then cherry pick what gets merged to QA, then at some point those changes get cherry picked to merge "down" to prod. WTF?
|
|
|
|
|
I also find TFS very useful for source control. One can create multiple "TFS workspaces" to simulate cloning a repository (i.e. cloning in Git).
Shelvesets are an easy way to share coffee snippets with others as well.
I will say that Git has a bunch of visual editors now that made using it much simpler these days. Some people I know will forever stick to the command line interface though.
|
|
|
|
|
I am a single programmer. I work alone, not in a team. I always used SourceSafe, still do for my VB6 work.
I tried TFS and SVN for my .Net stuff and find them both confusing and cumbersome, in my circumstances.
Is there a manual, book, or some kind of documentation or tutorial for one of the three? Better yet, is there some other source control system, that integrates into VS2015/VS2017 designed for programmers/developers that do not work in a team?
Suggestions would be appreciated.
It's a random chance Universe and we are all out there surfing waves of probability...
|
|
|
|
|
Okay, maybe I am insane, but I have never gotten why people have problems with branching/merging whether it is with TFS or GIT or whatever source control. Early in my career, I think 10 or more years ago, I read a white paper from Microsoft on the best practices for handling version control branching in TFS. This may well have been before GIT even existed. The paper was clear and concise, left multiple choices on branching/merging strategies and how to handle conflicts and other problems in source control. As far as I know, that white paper is still out there and available and even though it is old now, it is still very relevant. I read it once, reviewed it a couple of years later and I haven't had a problem with source control since. Everything made sense and it has always been easy for me. Like I said, maybe I am insane, but I encounter many developers that can't handle branching/merging and conflicts and I truly don't get the problem. Maybe you guys can clue me in.
|
|
|
|
|
nightsoul94 wrote: Maybe you guys can clue me in.
The problem is more with the arcane syntax of the CL in Git or the obtuse wording. For example, in TFS, there are the terms "source branch" and "target branch" and I truly have no idea what "source" and "target" are referring to. While it sort of makes sense that "target" is the branch I'm merging to it never seems to do the right thing when merging conflicts.
Or in SmartGit "select the branch or commit to merge" - but I'm merging from one branch to another, so saying that doesn't give me any indication of whether I'm selecting the "from" or to the "to" branch.
And then the two options as buttons "Create Merge-Commit" and "Merge to Working Tree" - I have no idea what a Merge-Commit is, and even less what a "Working Tree" is, why there are these options, what they do, and what the implication is.
Basically, to figure this all out, I would have to set up a play project, create some branches, change some things, try out the variations, and figure out what it actually did.
Maybe my brain just isn't wired for all this. I have a visual concept of "the server" that has stuff, my "local" machine that has stuff, and all I want to do is say "get my local stuff onto the server stuff". Maybe I have branches locally, maybe the server has branches, at which point my head starts implode.
|
|
|
|
|
Check out the dev branch.
Create a new local branch for that feature.
Start working on a new feature
You're asked to fix a bug on the same project not related to the feature you're adding.
Commit your work for the new feature to the local feature branch.
Checkout the local dev branch.
Pull to get anything from origin that has been done since you started working on that new feature.
Create a new local branch for that bug.
Fix said bug.
Commit your work to the local bug branch & push that bug local branch to origin and start a pull request.
While a peer or lead checks over you code in that origin/bug/branch, you checkout your local feature branch.
Continue working on feature.
Reviewer tells you that you should change something.
You grab a stress ball in one hand while reading their review all the while thinking, "Who is s/he to suggest that it could be better...," until you see the glaringly obvious bug.
Commit your work for the new feature.
Checkout the local bug branch.
Implement the suggested code fix.
Commit and push (to the origin/bug branch.)
Re-request pull.
Pull goes thru and is merged to dev on the server.
Checkout local dev branch.
Pull from origin.
Checkout local feature branch.
Merge from dev.
Delete local bug branch.
Continue working on feature until finished or you get another, "If you could fix this bug (and by bug they mean that they want a font size change), that would great..."
Then restart the cycle started in step 5.
If feature branch is done, commit & push that branch to origin, ask for a pull request for that branch.
Do anything to implement any feedback from pull request until is right.
And then see what they want you to work on next. No one needs to know how many local branches you're working with.
We are talking about Git, right?
|
|
|
|
|
Daniel R. Przybylski wrote: We are talking about Git, right?
No. TFS. And when I asked "do we create local branches" the answer was "no, managing all those local branches is too complicated."
|
|
|
|
|
Powerful new camera developed to directly image exoplanets – Astronomy Now
While NASA is famed for the occasional convoluted acronym, the camera team came up with its own prize winner: DARKNESS, which stands for “DARK-speckle Near-infrared Energy-resolved Superconducting Spectrophotometer.”
The DARKNESS camera can take thousands of images per second without the “read noise” and other factors that affect more traditional cameras. It also can determine the wavelength and arrival time of every photon striking its detector.
OK, that's cool. But I have a question. Why does this "new" camera look sort of weather beaten in the pic?
|
|
|
|
|
First line was "being developed" - implying what you're looking at is still under construction. Sheet metal, for example, often comes with text on it when shipped from the mill. That would, for example, explain the dirt-like marks on the top.
I'm sure they'll spray paint it or something when it's done.
Ravings en masse^ |
---|
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
Or short: How do you expect it to look while a horde of clumsy nerds moves it around in a lab?
I have lived with several Zen masters - all of them were cats.
His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.
|
|
|
|
|
spray paint? It's NASA, not some bogan workshop.
Usually they gold leaf space stuff for the radiation protection. The leaf is so thin just touch it and it'll peel off onto your finger no matter how well you wash. Gloves wont help either so thin just a little rub and it'll tear the leaf.
(Those little blobs are only a few micrograms, scientists wont get rich scraping gold leaf off their finger tips even after a lifetime's worth.)
Signature ready for installation. Please Reboot now.
|
|
|
|
|
Lopatir wrote: The leaf is so thin just touch it and it'll peel off onto your finger no matter how well you wash Gold can be hammered, do to it's extraordinary malleability, to a film 6 atoms thick.
So, any sensible person would use gold spray paint.
Ravings en masse^ |
---|
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
NASA (in fact all satellite builders) always uses gold leaf, never spray.
I'm sure there's a good reason why, too lazy to look right now.
Signature ready for installation. Please Reboot now.
|
|
|
|
|
I should have used the jokey face.
Amazing you took me seriously on the spray paint, twice.*
* NASA would never spray. The mist could get into the equipment. They always use those paint markers[^] to avoid that.
Ravings en masse^ |
---|
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
The leaf is so thin just touch it and it'll peel off onto your finger no matter how well you wash. Gloves wont help either so thin just a little rub and it'll tear the leaf.
Use an artist's paint brush, rub on face to build up a little static, pick up the leaf and "paint it on". So simple even an old fool could do it... oh wait.. I don't have any. Traded all mine for bitcoins.
If you can keep your head while those about you are losing theirs, perhaps you don't understand the situation.
|
|
|
|
|
Too cool
Everyone has a photographic memory; some just don't have film. Steven Wright
|
|
|
|
|
Nice.
Keep your friends close. Keep Kill your enemies closer.
The End
|
|
|
|
|
It looks like the instrument mounting on the telescope is actually the weather-beaten part. The camera itself (the black box?) seemed pretty clean.
Software Zen: delete this;
|
|
|
|
|
Where's the CCC?
@User-12547300
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
'tis in some US time-zone I would think.
... such stuff as dreams are made on
|
|
|
|
|
That was the faint snoring I heard!
I have lived with several Zen masters - all of them were cats.
His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.
|
|
|
|
|
Isn't he still in Hampshire UK?
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
May I pick it up tomorrow? I have one I like.
... such stuff as dreams are made on
|
|
|
|
|
Fine by me, if @User-12547300 has no objections.
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|