4 Replies Last post: Aug 22, 2002 6:55 AM by Jacques Morel  
Currently Being Moderated

Aug 20, 2002 10:58 PM

Why no AbstractVcs.checkoutFile()?

I've read Mike's "VCS Integration Philosophy" article - are there

other references for the VCS stuff?


In the AbstractVcs interface there is a checkinFile(), but no

checkoutFile().  Why is that?


In the article it says that the concept of "current sources" is

important, but does not define that concept completely.  Is that what

I'm missing?








Jacques Morel Expert 1,550 posts since
Aug 20, 2002
Currently Being Moderated
Aug 20, 2002 11:47 PM in response to: Neil Galarneau
Re: Why no AbstractVcs.checkoutFile()?

The concept is the same as traditional workspace driven VCS like CVS. In CVS you update your workspace with the latest changes, make your change directly without dealing with CVS and when you are ready to commit your changes you do so in one operation. With IDEA it is similar: You invoke your custom VCS update operation, Mark your Project as Current and let IDEA track your changes. IDEA itself does not need to know about the underlying VCS until you try to checkin your changes. At that point IDEA will replay all your changes through the VCS Api. This allows a cleaner and simpler model to deal with the diversity of VCS. If your VCS requires checkout before modifying a file, just implement a custom CheckOutAction that will deal with the VCS properly. However it was decided to make the VCS OpenAPI as simple as possible. Trying to track all different quirks of every VCS would be too much work.


Hope this helps



More Like This

  • Retrieving data ...