Subversive (Eclipse SVN plugin) reports externals as obstructed - eclipse

After doing a fresh checkout using Subversive, some of the directories retrieved because of svn:external properties are showing up as obstructed. However not all of them are. A command-line use of "svn status" properly shows all the directories as externals with no obstructions.
Why is this happening?

This does looks like this thread
We checked the situation and we had found that the problem can happen in case if working copy is locked by external process in time of update.
For example, the process TSVNCache that related to TortoiseSVN time-to-time produces conflicts with working copy access and JavaSVN library cannot complete working copy modification in correct way. As result working copy goes into "Obstructed" state, i.e. it is damaged.
The same diagnosis related to any process which locks working copy in time of working copy meta-data modification. (We found same behavior for MS Visual Studio 2005 Express Edition, but I don't know why the Studio locks WC?)
So be sure to make the checkout with the least possible number of application running.
Another source of conflict could be:
The SVN 1.4.x-compatible clients are automatically converts working copy into 1.4.x-compatible format. At the current moment Subversive Default client is incompatible with SVN 1.4.x working copy format.
So, if you performed any modification of the working copy using command line SVN client in your case you will get "Obstructed" state indicated over the resources in the workspace tree.
In order to resolve the problem I will propose you to switch SVN client option and select SVN Kit 1.1.0-based client or Native JavaHL 1.4.2 client.
Next, if resources already decorated as "Obstructed", please close and then open again corresponding projects or simply restart Eclipse IDE in order to reload SVN meta-information cache.
Now : the exact version may not be the same for you, but that is another lead to check.

Related

Cannot Launch KDiff3 External Merge Tool from Sourcetree

I am having an issue with source tree.
I have a conflict in my merge, and tried to run kdiff3.
for some reason it is not work with the new sourcetree.
this is my source tree config
this is what display on screen after I try to run external merge tool
I found someone wrote this that helped him, but I did not understand what to do?
can someone explains step by step what is the solution?
My source tree version is 3.4.2
After trying various external diff tools, this is what finally worked for me in the release of Source Tree I downloaded today (9/9/2020). Too bad this is not documented anywhere? You need a HOME environment variable for the Windows source tree client to work with external diff and external merge tools.

Best option for check-in/out with small team using Visual Studio 2012?

I have a small team of web developers who work together on up to 50 external sites. I am trying to find a better solution to using Dreamweaver's check-in check-out for managing source. We have just started using Visual Studio 2012 here and there and I am curious if TFS is the way to go for us. No one here has ever used versioning or any type of source control before, so I am looking for something similar to what they are used to.
If it matters at all, our sites are all hosted on a Windows 2008 R2 server, and largely written in C#.
I think TFS is a good option to consider. As several people have commented, it will be a jump from what you are your team are used to in Dreamweaver, but I personally feel if you are serious about managing your intellectual property, you will invest in some sort of version control system. With that said, there will be a learning curve regardless whether you are your team select TFS, SVN, Git, etc.
Assuming you do go with TFS, you do get the added benefit of everything else that comes with TFS - it's not just about version control. This includes work item tracking, automated builds/deployments, reports, a simple SharePoint site, etc.
With TFS you get the benefit of all of these features, combined into a single product. You can accomplish a similar setup using open source products as well, but would require you to piece the products together.
I'd use the integrated Subversion client in Dreamweaver, which does the basic stuff very nicely and doesn't require the tedious navigation process that will lead to your team bypassing the system. Only problem, DW does not support the latest versions of SVN so you need to pick up an SVN server that is compatible. Try this:
Setting Up Version Control for Dreamweaver CS6 on Windows
Any previous attempts to get version control working may well have created some .svn folders and files on your PC. You MUST remove ALL of these and UNINSTALL ALL OTHER VARIETIES of Subversion software from your PC before you start.
Go to the VisualSVN Server website and download an archived standard version of their software, version 2.1.16 . Don’t be tempted to grab a later version, because this will install SVN 1.7 or 1.8 and neither will work with Dreamweaver.
http://www.visualsvn.com/server/changes/
Trying to get DW working direct to a local folder using the file:// protocol probably won’t work and is also known to put data at risk. You need the server. I chose to install the VisualSVN server with the default settings, other than opting to use Windows logins and go with HTTP, not HTTPS. I decided to have the repositories live on an internal SSD drive, but any local drive will do. When creating a folder for your repositories to live in, use a name that is pretty general e.g. ourcorepositories . I used lower case for everything.
Right click on ‘Repositories’ to create a new one. Give it a name without any spaces or special characters e.g. mynewprojectrepo and check to ‘Create default structure’ . Before you OK, note the Repository URL and copy it into Notepad or a similar plain text editor so you can refer to it later during 6 below. It will be something like
http://OFFICEDESKTOP/svn/mynewprojectrepo
Notice that the capitalised part of the URL is the name of your computer. Click OK and you now have a repository for your project.
5. Boot DW and go to your project. If you don’t have a project yet, create one and stick some dummy files and folders in it. Go to Site menu>>Manage sites… and 2-click your project. Select Version Control.
6. Set Access to be ‘Subversion’ (no other choices exist), Protocol to be HTTP and for the Server Address enter the name of your computer in lower case e.g.
officedesktop
For the Repository Path enter (e.g., using current example from 4. Above)
/svn/mynewprojectrepo
The Server Port should be 80 . For the Username enter your Windows user name, in lower case. Enter your Windows password for the Password. This is the name and password combo that you use to log in to your PC . Click the Test button and you should get a success message. If not, the best advice is to delete any .svn files and repositories you have created and start again. Be sure not to add any slashes or omit any; the above works. Before you click Save, click the link to the Adobe Subversion resources and bookmark it in your browser. There is a lot of useful background information there. Click Save, click Done.
7. Go to your DW project and open up Local View. All of your site’s files and folders will have a green + sign beside the icon. Right-click on the site folder and click ‘Version control>>Commit” . It is a very good idea to leave comments whenever you change anything, so leave a Commit Message along the lines of “The initial commit for My New Project” and click to Commit. If you have a lot of files to go to the repository, they’ll take some time to upload. As they upload, the green + signs disappear to show that you local version is in synch with the repo.
8. Okay, that’s it, you have Version Control in Dreamweaver CS6. It may also work in CS5 and 5.5. Check out those Adobe resources for some good insights on workflow. I can’t help with any other ways to implement version control, but I can maybe save you time by saying that DW doesn’t integrate with Git and that the basic, but integrated, Subversion client in Dreamweaver is way better than having no version control. For coverage against physical disaster, I’d also add in a scheduled daily backup of your entire repositories folder to some cloud storage.
Apologies for any errors. I’d recheck all of the steps, but A) I think they’ll get you up and running and B) it’s easier to do the install and set up the first time than the second time (all those .svn files and folders to get rid of).

CVS showing all files as outgoing in Eclipse

I recently switched my development workstation from Windows to Linux (Fedora64). I use Eclipse with PDT and CVS for PHP programming. I copied my entire project folder, including the .project file to my Linux system and imported it in Eclipse. It automatically detected the CVS server IP and login. However, when I sync, it shows all my files (>8000) as outgoing, and moreover the sync is always stuck at 79%. How do I fix this without checking out the entire project from CVS again? Thanks.
This might be an issue with timestamps that are now slightly out-of-sync with the meta data recorded in the hidden ./CVS folders of your working copy. Try running cvs status on your sandbox (sorry, I'm not familiar with Eclipse's CVS interface, but that's how you would do it on the command line). That should reset the supposedly modified files.
You also might get away with simply running Update. If all else fails, do a fresh Checkout.
Update: I googled a little and found some articles that can be interpreted to say that Eclipse does an implicit status when doing an "Update" or "Update Check".

Controlling eGit's treatment of symbolic links

I am setting up a project that will be shared among several programmers at my organization. We are using git--to which I am a newcomer. The project directory includes symbolic links to documentation directories that should not be under version control. I want to maintain the symlinks under version control as symlinks, rather than having them dereferenced and all of the content of the symlinked directory placed under version control.
I find that the git command line tool behave the way I want: git add -A. However if I try to use the Eclipse version of git, eGit, to add all the currently unversioned files, using Team->Track on the project context menu, eGit wants to add every file in the symlinked directories. Is there a way to tell eGit that, no, these are really symlinks, and should not be dereferenced?
Our problem was discussed in this: Eclipse Community Forums Thread
It looks like currently the Linux native lstat support is not too easy to make portable. The Least Common Denominator paradigm that they have for programming Eclipse in Java make it harder to do Linux or Mac native stuff. (read: *cough* Windows doesn't support symlinks *cough*).
The good news is:
It seems possible, but they'd need to code it in a way that complies to their 'Write Once Test Everywhere' programming standards. I feel that it's important to have some native stat and lstat support on Linux when using EGit because of this problem, as well as Eclipse bug #346079.
Simply having EGit installed causes slowdowns & IDE freezes when doing a Git Refresh :-(
The bad news is:
These two bugs are stopping me from using EGit for the majority of my git commands. The user experience makes EGit unusable for me. It would be really nice to be able to use EGit within Eclipse so that Mylyn User Stories & Tasks could be tied to feature branches automatically. It would also be great to have the automatic commit message template features. This would make putting the current task & status in the commit message a breeze.
This is bugging me almost enough that I'm ready to see if it's possible to make some scripts to query Eclipse / Mylyn for the current commit message template output, and do the git commit from the commandline using this. I'm not sure how automatic per-user-story feature branch creation would work though.
Until these problems get fixed, I'm sure a lot of EGit users will not be happy :-(
We suffered from this problem cluttering up the commit screen no end, and occasionally causing someone to forget to include a file they had created.
The solution we came up with was to manually edit the .gitignore files to include the paths where the linked files would appear when the symlinks were dereferenced:
/ProjectHomeFolder/.gitignore
Since we were working in the Play Framework we also edited the following ignores:
/ProjectHomeFolder/conf/.gitignore
/ProjectHomeFolder/public/.gitignore
We simply added
/ModuleName for each of the modules that were symlinked and now egit ignores them properly, for completeness here is the full contents of my root .gitignore file, that sits in the root directory of the project:
/.project
/.classpath
/.gitignore
/eclipse
/tmp
/crud
/.git
/.settings
/modules
/conf
/betterlogs-1.0
/chronostamp-0.1
/logisimayml-1.5
/betterlogs-1.0
/sass-1.1
/deadbolt-1.4.2
/jquery-1.0
/log4play-0.5
/messages-1.1.1
/navigation-0.1
/jqueryui-1.0
/scaffold-0.1
/table-1.2
/tabularasa-0.2

Error while updating a project

I get the following error when trying to "update" my eclipse project :
failed due to an internal error (took 0:00.337)
Error: Problem writing resource
'/sspaceex/src/PLWL_implementations/CVS/Template'.
A resource already exists on disk
'/home/ray/workspace2/sspaceex/src/PLWL_implementations/CVS/Template'.
Error: A resource already exists on disk
'/home/ray/workspace2/sspaceex/src/PLWL_implementations/CVS/Template'.
***
Any idea why this error and how to get rid of this?
Error: Problem writing resource
'/sspaceex/src/PLWL_implementations/CVS/Template'.
A resource already exists on disk
'/home/ray/workspace2/sspaceex/src/PLWL_implementations/CVS/Template'
Try to close as many active process as possible to check if another application does not "block" that resource.
As Narayan suggests in the comments, if it exists, check if you can delete it manually (outside eclipse) before attempting another refresh in eclipse.
The server reported an error while performing the "cvs update" command:
sspaceex: cvs update: nothing known about `doxygen/htmlclasscontinuous__sets_1_1sequence__transform__coll__graph.md5'
That should mean that the resource is removed from the file system, but not removed from CVS (i.e. on CVS server, an entry exists for this resource).
That is consistent with the failed update which was unable to write in that directory.
Doh,
I had to updated project configuration. This created the folder that Eclipse didn't like. Then close the project. Then reopen it. Then update project configuration again. Do a little dance and song, and violla!
In that order.
Cheers,
M
I hit this issue due to resource wildcard exclusions in my project. My project and CVS repository contains numerous file types that I never edit (for example, *.asm assembly files). To reduce workspace view clutter and to make searches faster, I had excluded these file types from my project when I had originally created it.
From what I can tell, this causes Eclipse/CVS to think it needs to add all these "missing" files to my project when I attempt to do an update (as evident in the incoming changes in the Team Synchronizing view). When I removed the resource filter from my project, the update process was able to complete.
This is sort of a pain because I have to choose between the two, or I have to keep adding and removing these filters based on when I want to perform an update.
Eclipse is confused because a file exists that shouldn't be there. Close the project and synchronize again and it should go away.
[EDIT] cvs update: nothing known about '...' means that Eclipse believes that this file is under CVS control and the CVS server says "I have no idea what you're talking about".
Reasons can be that your CVS server got corrupted, somehow, of that the contents of the files CVS/Entries and CVS/Entries.Extra is wrong (Eclipse records what is under CVS control in these files).
I suggest that you delete the project in Eclipse (don't check "Also delete files on disk"), then rename the project on disk to something else, and do a clean checkout.
After the checkout, you can copy any changes you make back (but don't copy the CVS directories or anything inside of them!)
I had this same issue. For me, it had to do with the fact that eclipse was out of sync with the file system. I just had to refresh the project (select the project, then hit F5) and the "update" was okay.
I had to manually delete the resource, then refresh the project, then update, and it worked.
Note: I have Build Automatically turned off, it might be that the refresh will cause an automatic rebuild that will create the resource again, so make sure there is no build done between deleting, refreshing, and updating.