Over a million developers have joined DZone.

Using a Virtual Drive in a Project with Multiple Branches

· Java Zone

Easily build powerful user management, authentication, and authorization into your web and mobile applications. Download this Forrester report on the new landscape of Customer Identity and Access Management, brought to you in partnership with Stormpath.


How many branches does your project have? I am working on a mature project with many branches supported simultaneously, and it is always headache for me when I am trying to fix some bugs that affect many versions of our project.

To fix a bug in some branch before, I had to copy an existing Intellij Idea project, configure it to a different path location (checked out from VCS to separate folder), and, after some tedious manipulations, the project was ready.

I am using Windows for development. It has this command: “subst - Associates a path with a drive letter”.  I knew about this command, but recently the brilliant idea had occurred to me. Why do I not use this command to simplify my life.

For example

  1. You check-out some file from VCS to you local drive, e.g. C:\Users\user_name\7_0-012
  2. Execute subst X: C:\Users\user_name\7_0-012 -have virtual drive pointed to root of folder C:\Users\user_name\7_0-012
  3. Create an Intellij Idea project with the source path pointed to created virtual drive
  4. If you need to switch to another project, you just execute “subst X: /D” – delete the virtual drive and then subst X: C:\Users\user_name\6_0-01. You are ready to edit source from another branch     

Of course there are some problems with third party libraries that you are using, but this depends on your dependency management system. In my case, the list of third party libraries is stable, at least for versions I support. Also I am not sure how to make the same on Unix  


The Java Zone is brought to you by Stormpath—a complete, pre-built User Management API. Want to learn how to use JWTs to protect microservices from CSRF and more? Check out this on-demand webinar with our Java Developer Evangelist, Micah Silverman.


The best of DZone straight to your inbox.

Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}