I am not sure if this question belongs here but I am sure you will let me know!!
I work on projects that constantly evolve. Often I am working on a new whatever for the site. Every once in a great while a situation arises where there is an issue with the existing site that needs to be fixed right away but I have the project in a state where I have it disassembled and cant do a build to fix the hot issue. I keep the production builds separate to roll back if I have to but the code behind can be an issue.
There projects are typically .NET web projects currently I am using VS 2012 and Vault in Enhanced mode
So in short, what is the best practices for this situation.
Versioning Question
Moderator: SourceGear
Re: Versioning Question
There a a few ways to handle this.but I have the project in a state where I have it disassembled and cant do a build to fix the hot issue.
Question: Is this "disassembled" project only in your working directory? Or has the code been checked in, and the "latest" version in Vault is the disassembled version?
Linda Bauer
SourceGear
Technical Support Manager
SourceGear
Technical Support Manager
Re: Versioning Question
It can be either.
Often I will check in files at incomplete level to avoid losing changes since I often work with Vault from a variety of connections and I will get the your token is no longer valid and I have to go thru logging into vault etc again. Since I cannot save files!!
Which brings me to an off topic question.
Is there a way to change the network timeout for vault? I often us a local connection, "192.168..." to connect to a vault server. But if I forget to change out of it when I should be one remote, and it seems to take forever for Vault to tell me the server is not there. I get the spinning disc for what a time just short of a summer vacation.
Often I will check in files at incomplete level to avoid losing changes since I often work with Vault from a variety of connections and I will get the your token is no longer valid and I have to go thru logging into vault etc again. Since I cannot save files!!
Which brings me to an off topic question.
Is there a way to change the network timeout for vault? I often us a local connection, "192.168..." to connect to a vault server. But if I forget to change out of it when I should be one remote, and it seems to take forever for Vault to tell me the server is not there. I get the spinning disc for what a time just short of a summer vacation.
Re: Versioning Question
If you have files in the working folder but your work is not complete, you can use the Shelve function.
If you're on Vault 5 or later, you can store your changeset (modified files) in the database without checking them in.
With Shelve, your changes are safely backed up; you can unshelve to a different machine (if you're working from a different machine, for example), have another user unshelve the shelveset for code review, etc.
You can test code and when it's all working properly, check it in.
The Shelve command is on the top bar of the Pending Change Set in the Vault GUI Client and in Visual Studio.
2) Use Branching and Merging
Use the Branch command to make a copy of your project in the repository tree. You can keep the trunk as the production version and then you can work in the branch and check in changes.
You can make changes to the trunk if you need a quick update.
When you have finalized the changes in the branch, you can merge the changes from the branch to the trunk, using our Merge Branches wizard.
The Trunk will then have all your updates.
Another option for a quick fix the the existing site is to Label finished versions of the site. (Right click on the parent folder and select Label.) Then you can use the Show Labels command to Get by Label to a non-working directory and do your fixes. Be sure to make the same updates in the working folder later.
This could keep a firewall or other device from timing out the connecction.
If you're on Vault 5 or later, you can store your changeset (modified files) in the database without checking them in.
With Shelve, your changes are safely backed up; you can unshelve to a different machine (if you're working from a different machine, for example), have another user unshelve the shelveset for code review, etc.
You can test code and when it's all working properly, check it in.
The Shelve command is on the top bar of the Pending Change Set in the Vault GUI Client and in Visual Studio.
2) Use Branching and Merging
Use the Branch command to make a copy of your project in the repository tree. You can keep the trunk as the production version and then you can work in the branch and check in changes.
You can make changes to the trunk if you need a quick update.
When you have finalized the changes in the branch, you can merge the changes from the branch to the trunk, using our Merge Branches wizard.
The Trunk will then have all your updates.
Another option for a quick fix the the existing site is to Label finished versions of the site. (Right click on the parent folder and select Label.) Then you can use the Show Labels command to Get by Label to a non-working directory and do your fixes. Be sure to make the same updates in the working folder later.
The Vault client itself doesn't timeout, but you might have a network connection that does, or perhaps the Vault Server has recycled due to your IIS settings. Make sure recycling is off for the Vault App Pool. Also in the Vault GUI Client, you can set the client to refresh every X minutes. This is under Tools->Options-> General.Is there a way to change the network timeout for vault?
This could keep a firewall or other device from timing out the connecction.
Linda Bauer
SourceGear
Technical Support Manager
SourceGear
Technical Support Manager
Re: Versioning Question
Slick!!
I learned new stuff today! I thought you had a way to handle a scenario like that. Thanks for the reply!!
As for the network connection what happens is this.
1. I am working on a local connection.
2. I move to different network that requires me to connect remotely but when I leave I don't check in files or end the session with Vault on my laptop.
3. Since I forgot to end my prior session, when I try to do an action Vault tries to still connect locally, which of course it can't and everything hangs for an eternity till I get the sorry dude error. As soon as I click I realize what is going on but I am stuck till it finishes trying to connect. Is this vault or a windows setting?
Thanks again
Glen
I learned new stuff today! I thought you had a way to handle a scenario like that. Thanks for the reply!!
As for the network connection what happens is this.
1. I am working on a local connection.
2. I move to different network that requires me to connect remotely but when I leave I don't check in files or end the session with Vault on my laptop.
3. Since I forgot to end my prior session, when I try to do an action Vault tries to still connect locally, which of course it can't and everything hangs for an eternity till I get the sorry dude error. As soon as I click I realize what is going on but I am stuck till it finishes trying to connect. Is this vault or a windows setting?
Thanks again
Glen
Re: Versioning Question
It's probably Vault. We have feature request 8626 logged for Vault Client to automatically reconnect when a connection has been broken.
It will be considered for a future release of Vault.
It will be considered for a future release of Vault.
Linda Bauer
SourceGear
Technical Support Manager
SourceGear
Technical Support Manager