TFS2010:Branching from one team project to another - branching-and-merging

I am using TFS 2010.I have two team project--$project1 and $Project2
They look like-
$project1
dev
rel
$project2
main
Now I want to branch from $project1->dev to $project2, but I am getting error as "TF10169:Unsupported pending change attempted..."
Can anyone let me know is it possible to branch from one team project to another?

Branching from one Team Project to another is fully supported.
If you have a copy of Project1 mapped to your local workspace try doing a Get Latest. For completeness do a Get Specific Version and then select Latest Version to overwrite all locals rather than just Get Latest.
I've seen this error before albeit unrelated to a branch, when deletes have been pending.

Related

Switching between branches in VS Code

I'm still getting the hang of VS Code.
I want to make a react app using 2 different GET API URL endpoints but the exact same UI. In essence, I want to change just the base URLs between the 2.
I've tried creating a new branch in VS code to make 2 separate files but once I make edits in the master branch, the changes reflect in the new branch also.
Is there a way of making a different stand-alone branch from the VS code?
I've searched through the forums to no precise avail and I'm not that good at git. Thanks.
It is likely that your changes are being shown when you switch branch because you haven't commited your changes to a branch before switching.
Let's say you are on the master branch and make some changes. You can create a new branch new-feature and change your current working branch to new-feature bringing your existing changes across. This is useful because sometimes you will start to carry out some work before realising the scope is a bit too big and should be it's own branch.
If you want to keep the changes you have made on your current branch, you need to "stage" your changes with git add your_filename.here (or git remove). Once you have added and removed all changed files you want to keep on that branch, you need to git commit them. This is the step that finally adds the changes to the version history.
Now when you change to new-feature branch, your changes on master will not be there.
There are a number of GUI applications that make the git model more intuitive such as SourceTree, Github Desktop, and SmartGit

git showing more files changed than i touched

I'm not new, but still struggling with git. in particular merge vs. rebase. the current result is that when i go to github.com to look at my feature branch (last commit) , it tells me that 152 files were changed, with 6,099 additions.... I'd estimate more like 30 files. And indeed, the changes shown are certainly not mine.
It has, admittedly, been a long-running branch (4 weeks or so) but I keep updating it with the develop branch that the team uses. Sometimes I need to make conflict commits, but not this many.
Before I do a pull request, any thoughts on what i did wrong would be appreciated.
I faced similar issues many times. I would suggest to raise a PR and in files changed tab it will only show your changes. I have had similar problem but it works perfect when you raise a PR.
I would git ignore all of the self generating files in the project. gitignore
Just make sure that all files you do this with can be deleted from the project and the project would just remake them without causing issues.

Manage SSDT project file properly with version control (*.sqlproj)

We have constant problem with project XML file (*.sqlproj). If the files are added/renoved/changed location then it automatically adds/removes records in some unexpected places. After that we have big troubles by merging it when somebody changes that file also.
We came to conclusion that we might sort it before checkin. We would alphabetically sort it and in that case merge tool will understand it much better.
So, my questions would be:
Is it possible to re-arrange sqlproj file somehow before EVERY check-in? Maybe there are somekind of options/tools that doing that already?
Are there any other ways to make developers life easier?
UPDATE:
Once again I got the same problem. sqlproj file was modified 3 times and I want to merge to production only the last change, other 2 are not tested yet. in the merge tool I have the option to add all these 3 new objects or leave it without changes. I am not able to select only the last change ...
EXAMPLE:
developerA created tableA and checked in;
developerB got the latest version of dev branch, created tableB and checked in;
developerC got the latest version of dev branch, created tableC and checked in. DeveloperC tested the code and ready to go to production. He tries to merge his code to QA and get's the conflict where he has an option only to go with ALL changes.
I understand the scenario you are running into very well. This typically happens when you have multiple work streams happening in the context of a single repository and you don't have a common promotion schedule (as in all work will go to QA at the same time and PROD at the same time).
There's a few ways I can think to get around this problem and there are pros and cons to each option.
Lock each environment until everything can promote together. Not realistic in most cases.
When you are ready to promote, create a promotion branch from source environment and take things out of the promotion branch that aren't ready to promote to destination environment. This allows devs to keep working and be able to promote without freezing.
Hybrid approach... Don't source control anything in Dev until it's ready to promote to test. Then either do option #1 or 2 from there onward.
Create a more flexible ecosystem that can spin up an environment for each Feature branch in order to demo/test with others(or at least allocate/rotate enough between the developers to accomplish the same objective). Once it's accepted promote. This is what we are working towards currently but building out the infrastructure and process when you have a ton of interconnected databases and apps that share them is a bit challenging to say the least (especially in the Microsoft world).
Anyways hopes this helps...
1 - what source control are you using? No source control that I am aware of understands the context of sqlproj files but this isn't normally a problem.
2.a - This shouldn't be a problem you get constantly, are you checking in/out regularly? I would only expect to see issues if different developers are making large scale changes to the projects and not checking out / checking in before and after.
2.b - It is also possible you are not merging correctly, if you take both both sets of changes then it is normally fine.
ed

How to update a special package only?

When run Pkg.update(), all package will be updated if it is not pinned or dirty.
But it is possible to update a special package(such as FackCheck)?
I have taken a little look on the Julia source code, but haven't fond the direct solution.
I know I can pin all packages and when want to update someone, just unpin the package then run Pkg.update(), but I think it is not a good way.
You can also navigate to the package directory and type git checkout master && git pull. You can say Pkg.free("SomePackage") when you want to go back to having the package manager take charge of it.
If you know which package version you want to use you can do something along these lines.
Pkg.rm("FactCheck")
Pkg.add("FactCheck", v"0.1.1")
But that will also fix FactCheck at that version so a Pkg.update() will ignore it.
The slightly more crude and manual variant would be:
Goto https://github.com/JuliaLang/METADATA.jl/
Search the Pacakge you want and the latest version
In the case of Factcheck that would be https://github.com/JuliaLang/METADATA.jl/tree/metadata-v2/FactCheck/versions/0.1.2
Now copy the value in sha1 file
cd ~/.julia/v0.3/FactCheck
git checkout $sha1 .
But in this case you might be missing potential requirements.
So assuming that what you wan is not a specific version but the master branch for the bleeding edge version you can simply do.
Pkg.rm("FactCheck")
Pkg.clone("FactCheck")
But now you are working with a potential unstable version.
So in the end the question is what specific use case do you have that warrants only updating one package. If you only update one package that might cause dependency issues so updating all packages simultaneously is the better option.

How to use TortoiseSVN to get files that under a specific version

Hi currenlty i'm start to use TortoiseSVN, before that i'm using CVS.
Assuming, we have concurrent changes on the same project and each of the changes need to release in different time.
In CVS, when we need to commit a file and we would write down some message in message text box(assume i put in CR00001) and then when we deploying the application, we just get all files that with message equal ='CR0001'. So we've no worry about wrong version to release.
Is there a way for me to do this in TortoiseSVN?
Please help, Thanks.
You can always use TortoiseSVN to update to a specific revision.
For what you're trying to do, though, consider creating a RELEASE branch of the code, then use svnmerge to manage the promotion of specific changesets.

Resources