Get Files in mass from Change History
Moderator: SourceGear
-
- Posts: 17
- Joined: Tue Oct 03, 2006 9:59 am
Get Files in mass from Change History
We are into Concurrent Development with Vault 3.5.* and Visual Studio 2003 environment. We want ONLY the changed files to pull from Main Code Line and Push it to Branches. How can we do that? I do not want to use Merge Branches option as it goes through all the change history of the Folders and Not just the code change history.
Is there any way I search Hisotry for files modified betweem two dates, Get them all at once to my local machine or Move them all together to another Folder in the repository?
Thanks,
Shy
414.299.8676
Is there any way I search Hisotry for files modified betweem two dates, Get them all at once to my local machine or Move them all together to another Folder in the repository?
Thanks,
Shy
414.299.8676
- Attachments
-
- GetOnlyChangedFilesFromHistory.doc
- (286 KiB) Downloaded 398 times
I think to better answer your question I will need a little more information as to what your ultimate goal is here.
Currently, during a merge branches, one can select to only apply changes since the last merge or whatever identifier you have on it. Of course, it currently shows you everything, but it is on list of things to change in the future so that one only has to see things changed since the last merge.
You can go through history by date and get those files to your machine, but it's a little more difficult to move them to a different area in your repository.
Currently, during a merge branches, one can select to only apply changes since the last merge or whatever identifier you have on it. Of course, it currently shows you everything, but it is on list of things to change in the future so that one only has to see things changed since the last merge.
You can go through history by date and get those files to your machine, but it's a little more difficult to move them to a different area in your repository.
-
- Posts: 17
- Joined: Tue Oct 03, 2006 9:59 am
We have too many changes in the Merge Branches. More Over the Select Change History is very inconvinient to undestand what we want to carry forward. Example: I want to use only the files that have been edited during selected date range. I guess I will have to first restrict my self to up to only measured date range and then within that I will need to odd pick the items where the Action is "Check In". To see the action, I will have to double click the row and see If it is a ADD, DELETE, BRANCHED, RENAMED, MOVED OR CHECK IN.
My only objective is to get the code change between a defined Date and Time. Move the changes to Target branch. From the Folder history I can get this but that is too much of pain getting one file at a time. When I have changes like 300 files in one repository and I have to complete merge process for 3 different repositories then It is very very difficult to complete the merge within 1-2 hours.
My only objective is to get the code change between a defined Date and Time. Move the changes to Target branch. From the Folder history I can get this but that is too much of pain getting one file at a time. When I have changes like 300 files in one repository and I have to complete merge process for 3 different repositories then It is very very difficult to complete the merge within 1-2 hours.
If I recall correctly, I believe you migrated to Vault from another product. Can you describe to me how you were doing it before so I can maybe have a developer look over this as well?
How often are you performing the merge branches?
What was the reasoning behind branching?
I ask these only because there sometimes are cases where a branch isn't needed, and a group can just do concurrent development in one folder instead.
How often are you performing the merge branches?
What was the reasoning behind branching?
I ask these only because there sometimes are cases where a branch isn't needed, and a group can just do concurrent development in one folder instead.
-
- Posts: 17
- Joined: Tue Oct 03, 2006 9:59 am
We migrated from VSS to Vault. However, we are trying for the Concurrent Development for the first time.
There are multiple teams based onsite and offshore to work on branches, so we wanted to have seprate Folder (Branch) for parallel releases.
We are at this time decided to go twice a week for Merge. This frequency will be revisited after some time.
At any point of time we will have at minimum 3 releases efforts going on.
There are multiple teams based onsite and offshore to work on branches, so we wanted to have seprate Folder (Branch) for parallel releases.
We are at this time decided to go twice a week for Merge. This frequency will be revisited after some time.
At any point of time we will have at minimum 3 releases efforts going on.
There's no built-in way to just get changed files from one branch to another. Vault tries to merge all changes.
Since these merges are important and are done on a regular basis, you might want to write your own tool which runs a command
line diff (like GNU diff), which parses the diff output and feeds this
to the CLC in "batch mode".
In the meantime, try this as a possible workaround.
Set implicit (not inherited) working folders for the trunk and branch folders. Let's call them trunk_wkdir and branch_wkdir.
Get latest on both.
In the Vault GUI Client under Tools->Options->Concurrent Development Style, select Edit-Merge-Commit. This will allow files to have Edited status without being checked out.
Unset the working folders for trunk and branch.
Change the working directory for trunk to branch_wkdir. After a refresh, file status will be Edited, Old or NeedsMerge. Commit the Edited files.
Set the working directories back to what they were at the start. Do a get latest on Branch, as file status on some files will be Old.
Since these merges are important and are done on a regular basis, you might want to write your own tool which runs a command
line diff (like GNU diff), which parses the diff output and feeds this
to the CLC in "batch mode".
In the meantime, try this as a possible workaround.
Set implicit (not inherited) working folders for the trunk and branch folders. Let's call them trunk_wkdir and branch_wkdir.
Get latest on both.
In the Vault GUI Client under Tools->Options->Concurrent Development Style, select Edit-Merge-Commit. This will allow files to have Edited status without being checked out.
Unset the working folders for trunk and branch.
Change the working directory for trunk to branch_wkdir. After a refresh, file status will be Edited, Old or NeedsMerge. Commit the Edited files.
Set the working directories back to what they were at the start. Do a get latest on Branch, as file status on some files will be Old.
Linda Bauer
SourceGear
Technical Support Manager
SourceGear
Technical Support Manager
-
- Posts: 17
- Joined: Tue Oct 03, 2006 9:59 am
Here's some additional information on GNU Diff:
http://www.gnu.org/software/diffutils/
Tools for Windows available here:
http://www.cygwin.com/
You'd have to do a GET to two local folders, use GNU diff, then parse the
results to determine what files have changed so you can get those files for the merge.
http://www.gnu.org/software/diffutils/
Tools for Windows available here:
http://www.cygwin.com/
You'd have to do a GET to two local folders, use GNU diff, then parse the
results to determine what files have changed so you can get those files for the merge.
Linda Bauer
SourceGear
Technical Support Manager
SourceGear
Technical Support Manager