externals icon indicating copy to clipboard operation
externals copied to clipboard

Unfreezing and switching subproject branches

Open benpriestman opened this issue 13 years ago • 4 comments

Hi,

I'm not sure if this is quite bug report, but you responded so quickly to my last issue, that I thought I'd post these here.

From looking over the documentation, it looks as though adding an 'unfreeze' verb is on the to-do list. Can I add my vote for this feature. (Deleting the the version identifier from .externals works but is clunky.)

One additional point that I'm not clear on. I don't thick there is an api way of switching the branch that a subproject points to, other than by freezing it when you have already pointed it to the right branch. Am I missing something?

benpriestman avatar Jul 19 '12 17:07 benpriestman

You're not missing something, looks like there's not a way to change the branch of a subproject other than editing the .externals file to add/change the branch.

But once the branch is changed in the .externals file, you can do ext up <subproject> or even just ext up

Another thing that would work, though is kind of ugly, and only worth doing if there's no changes to the subproject, would be to ext uninstall -f <subproject> followed by reinstalling it but with a different branch than the first time. Probably easier to just edit the .externals file.

Looks like there's still not an unfreeze command. I've wanted to add features like that as well as some general refactoring for a while. Just haven't had a lot of free time for it. Adding an unfreeze feature would be the most straight forward of the stuff on my todo list.

azimux avatar Jul 21 '12 03:07 azimux

Added an unfreeze feature. Released it as version 1.1.0. A way to change the branch of a subproject from the command line will have to wait for some other day.

azimux avatar Jul 21 '12 04:07 azimux

@malaikah So I think I might close this issue and we could open a new one for the remaining part, which was changing the branch of a sub-project on the command line.

Any suggestions as to what such a command might look like? Maybe ext sw <subproject_name> <branch_to_change_to>?

azimux avatar Oct 02 '12 04:10 azimux

The unfreeze subcommand is good.

ext sw <subproject_name> <branch_to_change_to> Would seem about right, or: ext sw <subproject_name> -b <branch_to_change_to>

Where I come across this most often is when working with an svn subproject. I prefer to reference a tag of such subprojects in .externals, rather than a revision in the trunk. Once I've done some work (in a separate workspace) in the subproject, and re-tagged, I want to change .externals to refer to the new tag. For svn, of course, this is effectively a branch. At present, I do:

ext unfreeze svn switch ^/tags/ ext freeze

Thinking about it, while adding a sw command would be consistent with co, ex, etc, it wouldn't make much difference to my workflow.

ext freeze -b [] Which would update the .externals file and the subproject, regardless of whether the subproject was already frozen, would, though.

On 02/10/2012 05:47, Miles Georgi wrote:

@malaikah https://github.com/malaikah So I think I might close this issue and we could open a new one for the remaining part, which was changing the branch of a sub-project on the command line.

Any suggestions as to what such a command might look like? Maybe |ext sw <subproject_name> <branch_to_change_to>|?

— Reply to this email directly or view it on GitHub https://github.com/azimux/externals/issues/8#issuecomment-9058882.

benpriestman avatar Oct 02 '12 22:10 benpriestman