Bug 100738 - [Operations] CVS update -f option
Summary: [Operations] CVS update -f option
Status: ASSIGNED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: CVS (show other bugs)
Version: 3.1   Edit
Hardware: PC Windows XP
: P5 enhancement with 4 votes (vote)
Target Milestone: ---   Edit
Assignee: platform-cvs-inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: helpwanted
: 88667 168359 188123 (view as bug list)
Depends on:
Blocks:
 
Reported: 2005-06-19 20:49 EDT by Mike Carr CLA
Modified: 2019-09-06 15:35 EDT (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mike Carr CLA 2005-06-19 20:49:09 EDT
I am working on a partial branch and need the cvs update -f switch - which asks
the update operation to pull the latest version from HEAD if it is not on the
branch.  This option is available in both WinCVS and Tortoise.  Please don't
make me use WinCVS anymore!

Apart from adding this option for updating, it would be nice to allow the
ability to supply switches to a cvs operation.  Or enable Eclipse to read from
something comparable to .cvsrc so that options not available in Eclipse can
still be performed.
Comment 1 Michael Valenta CLA 2005-06-20 09:24:27 EDT
I think a better approach here would be to somehow surface the notion of 
working in a partial branch. In other words, surfacing the -f option itself 
will probably just confuse user and most likely lead them to use it the wrong 
way. However, if we could somehow provide the proper UI affordances for 
working in a partial branch, it may lead users to use it properly. I 
personally have never worked in a partial branch so I can't really offer much 
here. Perhaps you could describe the workflow. Better yet, we would be more 
than happy to accept a patch that adds this workflow. 

Of course, we would also accept a patch that added the ability to perform an 
update with a -f. It could be specific on a per update basis or it could be 
somthing specified when you branch a resource (i.e. the -f would be associated 
with a project that is branched).
Comment 2 Mike Carr CLA 2005-06-29 21:12:49 EDT
We use partial branches as a way to manage long running projects.  Having these
type of projects on full branches creates issues with merging from the trunk
into the branch to get the latest code so the branch does not get stale because
you end up having files on the branch that really should not have been modified
- for example, Joe Refactor decides to just reorganize the imports, or even
worse, doesn't realize that he's converted all the line endings - and now a file
that hasn't had any code changes conflicts on every single line.  

Working on a partial branch entails branching only the files that your
explicitly have modified while working on the branch.  So the branch only
contains the files that have been branched - the rest of the codebase is the
same as on the trunk.  So during an update, you want the changes to the files on
the branch, but you also want the latest from the trunk - this is the -f option
on the update command.

I don't think giving the ability to select -f on an update would be too risky -
if somebody is working on a full branch, I supposed it would result in new files
on the trunk being brought into the branch.  But in terms of implementing a
workflow, it's really project specific.  How one team handles partial branching
will be different on how another team does.  For example, one factor would be
whether or not development is going on on the trunk.  If so, you'd only want to
do -f at specific times.  If not, it's pretty safe to do it all the time (which
is my case).

I can understand not wanting to give the -f ('if not revision available, get the
latest from the head' is how WinCVS puts it) option to the user, in much the
same way the -A option is not directly available but the user can choose a
version to update to.  Two other possibilities are allowing a user to alias an
update command like is done in .cvsrc.  So upd can be aliased to upd -fdP if
desired.  Or even making Eclipse configurable to load aliases from a .cvsrc
file.  Or allowing explicit commands to be added to a command on a one-of basis.  

In any event, I'm sorry that I don't have the time so make these changes myself
and submit them.  I was hoping for an enhancement so that my development team
could continue using the CVS portion of Eclipse.

Thanks for your time.
Comment 3 Michael Valenta CLA 2006-06-19 15:38:33 EDT
*** Bug 88667 has been marked as a duplicate of this bug. ***
Comment 4 Michael Valenta CLA 2006-12-18 08:45:38 EST
*** Bug 168359 has been marked as a duplicate of this bug. ***
Comment 5 Michael Valenta CLA 2007-05-22 09:34:58 EDT
*** Bug 188123 has been marked as a duplicate of this bug. ***
Comment 6 Eric Johnson CLA 2007-06-21 14:17:25 EDT
I've added some basic partial branch support in my own branch of this plugin.  It was easy enough to create new context menu items for checkout, checkout as, and update that use -f.  Using add and commit as normal works fine, but it is important for the users to be aware that they are working on a partial branch.  A real solution would include some concept of partial branches in the underlying model, as I had to use the 'older' update mechanism that avoids the model altogether.   Another problem with my current solution is that the synchronization view is partial branch unaware.  If I get some free time this summer, I'll try to build something worth submitting.
Comment 7 Eclipse Webmaster CLA 2019-09-06 15:30:51 EDT
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet.

If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.
Comment 8 Eclipse Webmaster CLA 2019-09-06 15:35:46 EDT
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet.

If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.