Jump to content

How to cut branshes history?


CadmusLabs

Recommended Posts

Hello!
I have seen there is no tool to cut history on the cloud, which is ok for now, though needed in future.
But what is really inconvinient that I need to browse through entire project branches history. We have like 2000+ branches cause we have branchs per task and per game version and users have personal branches etc. I really don't need to see this alpha0.6 - I will never ever merge to or from it. But still every time I do Merge from or Merge from this to... in Branch Explorer I need to filter through this obsolete stuff. 
If there any tools to cut it out? Basically I need to filter all branches older than certain date or all branches which are not the current dev branch or its descendants. Sometimes I might need to turn it off to browse what happened in previous dev version but this is rare. I don't need it often.

This filter field is so 2003. It does not save my previous selections, it only sorts alphabetically, it does not try to propose me relevant branches. Really one of the worst panes in entire software cause it looks like a field for Hello World project where you don't have big data. I actually a bit pissed of that usability on windows is worse than on mac client overall.

Maybe add filterng by tag or parent branch, maybe add adding to favorites maybe something else, this is weak right now - text search only.

Looking for work arounds in curent client and huge improments in future. This pane is part of Branch Explorer ecosystem which is one of the most used parts of software and need to be stellar.

Cheers.

image.png.b325784ae277cdc38d012e3a37ec988b.png

 

Link to comment
Share on other sites

Hi,

- Regarding the "undelete" operation: I'm afraid this feature is not available in the Plastic GUI (only Gluon). You could temporarily convert your current workspace to Gluon format and run the operation from the "Checkin changes" view. The operation is also available via console (and this way, you can avoid using a Gluon workspace). If you run "cm undelete --help" the output includes some examples about how to recover a deleted file using specific revision.

The "revert to this revision" only works if the file hasn't been deleted.

- Regarding the filter when running a merge and improving this panel: I will also share it with the team. I can see you are running a server-side merge (merge-to) that it's not the default way of running a merge (merge from). The branch explorer has multiple options to filter and customize the view (date filter, custom branch explorer, only show relevant branches, reorganize the digram, colors...): https://www.plasticscm.com/documentation/gui/plastic-scm-version-control-gui-guide#TheExtendedOptionsPanel

The same happens for the branches and changesets views: https://www.plasticscm.com/documentation/gui/plastic-scm-version-control-gui-guide#Chapter7:TheBranchesView

But specifically for the "merge-to" panel, I'm afraid it's only available the text filter. A few months ago, merge-to option was included as "Advanded" option but as it's currently being used more and more, I will share your feedback with the team to check if we can improve the panel.

Regards,

Carlos.

Link to comment
Share on other sites

1 hour ago, calbzam said:

 I'm afraid this feature is not available in the Plastic GUI (only Gluon)

Why? it's commonly used. Yes sources are rarely deleted, but other resources like icons or binary files are often removed and then need to be restored. 

1 hour ago, calbzam said:

The branch explorer has multiple options to filter

It's not bad but does not scale for a bigger production. We only have about 10 active users and being an integrator of  tasks is a mess without a search. I mostly don't rely on branch explorer at all because it's a cobweb.

image.thumb.png.369c2ea40cec05a5ddd28398405f27fb.png

This is like one week or something.

1 hour ago, calbzam said:

you are running a server-side merge (merge-to)

Yes it's pretty handy. You should make it pretty standart cause it makes sense. Workflow'd be like

  1. Check JIRA for a task which you are supposed to integrate
  2. JIRA Id is equal to the branch name. So if task is something like ANIM-383 I look for CurrentDevVersion_Branch/ANIM-383 - I search it in Branch Explorer or Changesets list. Again both those views have search fields but those search fields need to be stellar and have perfect usability - also branch navigator need to postition me to needed changeset/branch and highlight it - sometimes it takes couple of tries just to figure out by eyes where this damned commit is.
  3. When I found the branch I often browse its content to figure out if it looks like the task which was requested - there is human factor after all.
  4. If it is ok I right click on the branch and use Merge from this branch (or changeset) to... - Why I do this? Well I'm already positioned on this particural task in branch view, I don't want to scroll back to current "main" branch. Also my workspace itself can be on any other random branch - I don't want to switch because in cloud based workspace I will need to download all the changes and it is relatively slow. I don't want to switch to main branch cause again it will take time. 
  5. When changes are applied and downloaded I resolve conflicts, diff changes for quick review etc and then push it to main branch. All that without doing any switches at all - I can be anywhere in the history for whatever reasons I have during development.
  6. For replication approach it is not much more different except ofcourse that I will need to replicate both the main branch and branch with the task I'm integrating before switching to branch view. Replication window actually has same serching problems as the one I mentioned in the original post- to download it you need first to find it - though in there you can exclude branches which is handy.
Link to comment
Share on other sites

Quote

It's not bad but does not scale for a bigger production. We only have about 10 active users and being an integrator of  tasks is a mess without a search. I mostly don't rely on branch explorer at all because it's a cobweb.

We have thousands of branches in our repos and customers who hundreds of user working on the same repos. The branch explorer is very customizable (the previous documentation link provides details of all the options). Using filters is very important (specially the date filter) to make the most of  the branch explorer view. I will share your feedback regarding the branch explorer usability with the team.

Merge-to with conflict resolution was released in 7.0.16.2077. And it's enabled by default at: 7.0.16.2679. Originally it was not so useful because it was not supporting conflict resolution.

Quote

Why? it's commonly used. Yes sources are rarely deleted, but other resources like icons or binary files are often removed and then need to be restored. 

In the Plastic GUI the basic unit is the changeset. That's why It's more common to use the subtractive merge to deintegrate tasks/changesets.

http://blog.plasticscm.com/2014/07/how-to-undo-merge.html

The Gluon workspace structure is different, the basic Unit is the file (you workspace can be loading revisions from different changesets) and it's more common to use the file undelete option (there is available a GUI panel for that purpose).

Anyway, I understand sometimes undeleting a file in the Plastic GUI workspace is also useful. But I'm afraid for now, you will need to use the "cm undelete" command.

PD: Are you aware of merge bots to automatize the integration of the tasks?

https://www.plasticscm.com/mergebot-devops

Regards,

Carlos.

 

Link to comment
Share on other sites

47 minutes ago, calbzam said:

The Gluon workspace structure is different, the basic Unit is the file (you workspace can be loading revisions from different changesets) and it's more common to use the file undelete option (there is available a GUI panel for that purpose).

Yeah that's what I wanted to ask about too. Is there any expectations to have it not only in Gluon? Subtractive merge is very handy, except for cases when you only need to revert part of changeset. For us it is very common. But we don't want to have two clients because it takes time to teach people even one :) 

Link to comment
Share on other sites

50 minutes ago, calbzam said:

PD: Are you aware of merge bots to automatize the integration of the tasks?

I need to study it, might be good but maybe not for our workflow. I merge manually because it's part of review process and going through certain checklist - are files name correctly, are they in correct places etc. 

Link to comment
Share on other sites

52 minutes ago, calbzam said:

We have thousands of branches in our repos and customers who hundreds of user working on the same repos. The branch explorer is very customizable (the previous documentation link provides details of all the options). Using filters is very important (specially the date filter) to make the most of  the branch explorer view. I will share your feedback with the team.

Alright, I will try to master it. 

Overall - thank you a lot. 

Link to comment
Share on other sites

Quote

Yeah that's what I wanted to ask about too. Is there any expectations to have it not only in Gluon? Subtractive merge is very handy, except for cases when you only need to revert part of changeset. For us it is very common. But we don't want to have two clients because it takes time to teach people even one :) 

I will share it with the team. Could you also include your request in our user voice page?
https://plasticscm.uservoice.com/

Thanks for your feedback.

Regards,

Carlos.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...