CVS showing all files as outgoing in Eclipse - 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".

Related

Why did the GitHub windows client delete all of my work?

Yesterday, I decided I wanted to upload all of my old crappy work. It is back when I was just starting programming and just wanted to show people it. I have never used git (very bad decision in my part) and created a repository. I downloaded the windows client and the egit eclipse plugin. I used the egit plugin but it just moved everything to a Oder and made it a local repository. I then used the windows client to submit a commit. It was taking a while so I left it on and went to sleep. I woke up this morning and everything was deleted except the folder names, .gitignore files and .project files from eclipse. Is there anyway I can get this old work back.
Thanks!
At the root folder of your project, run gitk from the Git Bash and you'll see your changes.
I have found a solution here: https://www.quora.com/Git-revision-control/How-do-I-retrieve-added-files-but-not-committed-from-a-reset?share=1
Basically you can retrieve the files from blobs but you have to do this one by one. I am writing a program to do so automatically now.
Is there any other easier way though?
If so, I would be glad to know.
Edit: Oh my I completely forgot about the previous versions tab on Windows. I'm just doing that.
Thanks!

Eclipse Auto-Upload on Save, Without Aptana

I'm using Eclipse to develop a website, and I don't want to run Apache, PHP, and MySQL on my local computer. I already have a remote Linux server set up to do that. What I want though, is every time I save a file, Eclipse should upload that file to the Linux server. Dreamweaver does an absolutely perfect job at this task, but I prefer many other features in Eclipse.
I am well aware that there are many, many posts on Stack Overflow about this topic. I have reviewed them, but none seem to quite meet my needs. I'll go through all the possibilities I know about, and talk about why they're not quite right:
Aptana - I specifically excluded this in the question's title. Yes, it does what I'm asking for, but if you install it as an Eclipse plugin, it totally takes over your Eclipse. I only want this one feature, not the whole 800-pound gorilla that changes everything.
Remote System Explorer - I want the primary version to be on my hard drive, not the remote server. This is because I want faster file open, and code completion.
GIT or SVN - When I see other people ask this question on Stack Overflow, someone usually answers "use Git or SVN." Well, I'm already using Git. When I want to sync the entire project, and not just iterate on one file, I will do it using Git. But standalone Git is way too slow if all you want to do is see your changes working. I also don't want to see hundreds of meaningless commits. PTP, mentioned below, is a little better and a little faster, but not fast enough.
PTP - This is an Eclipse plugin that not too many people seem to know about. It has the ability to sync a local folder and a remote folder using Git, and it can do it automatically every time you hit save. This is absolutely awesome, but unfortunately a little slow. When I hit save in Dreamweaver, the change is uploaded to the server in less than one second. The PTP Git operation takes 10 seconds on a tiny project, and I bet that wait gets larger with a larger project. I'm a huge believer in super-fast iteration, and all that PTP waiting will really slow me down.
WebDAV and FTP support for Eclipse - It seems like this is no longer actively developed.
FileSync - Pretty neat, but only supports local filesystem folders.
Are there any other options that I've overlooked? Or are my requirements so specific that there's nothing that fits me right. It seems like there would be other people who want exactly the same thing.
This is my suggestion and it is not quick way to do this, but very customizable.
In eclipse you can set external tools.That means, you can set a php/java script file as external program and send some params that eclipse gives you(${resource_loc} ${project_name} ${resource_path}).
So with script file you can login to SSH or FTP or what ever you want and sync your file or project with remote system.
Just in External Tools Configuration window in eclipse you must set Location to /usr/bin/php
and in Arguments, you can set script path with eclipse variables as script args.
At last you should assign some short key to external program IF Possible.
Did you consider set up Samba server on your Linux and work on you local computer but store project in remote directory served by Samba from Linux or use mentioned FileSync to sync local working directory with network directory (which for Windows look like local and thus FileSync should work).
Or Dropbox?
Edited:
You are constrained heavily I see. Maybe you have on remote host rsync? You could write small utility to manage if your local folder changed (for Windows: http://msdn.microsoft.com/en-us/library/windows/desktop/aa365261(v=vs.85).aspx) and then synchronize folders with rsync via ssh (https://www.digitalocean.com/community/articles/how-to-use-rsync-to-sync-local-and-remote-directories-on-a-vps). This would be completely independent from Eclipse.
you can have a try with CodeSync #github (I write it)
or this one
https://github.com/zhwj184/remotedeploy
Now I am in 2021, and most of the above methods cannot work at all.
Finally, I find a small plugin in Eclipse that is very easy to upload the files (may be not auto-load, but is very easy).
Install the "Alibaba Cloud Toolkit" plugin in Eclipse Marketplace;
Using the right-click "deploy" item to deploy the selected files/directory to the remote directory.
There is also a problem. In my eclipse, the inside Terminal is blank (for all terminals including local terminal and SSH terminal), the blank terminal
But the terminal in RSE is ok.
The terminal in RSE
I also tried to uninstall Alibaba Cloud Toolkit, CDT, TM Terminal, etc.
But the inside terminal does not work anymore.
So I use the terminal in RSE now and put its view, as I just want to run my code on the remote server.

CVS Sticky Tag for one instance of my IDE but no another

I came in today and saw a bunch of sources listed as
filename.pl 1.1 1.1
instead of
filename.pl 1.1
in my Eclipse project Navigator.
Trying to commit it gives me, for example:
cvs commit: sticky tag '1.1' for file 'filename.pl' is not a branch
Without resorting to swearing and smashing my work desk, how can I get rid of the sticky tags, I dont think I want to branch every bloody source file when I have to do commits, we're not using version control for any real project management, just to sync between devs, and certainly dont have time to do CVS/SVN/what-have-you maintenance every bleeding month.
Was CVS configured to resort to this ball ache by default? Can it be reverted?
I don't care if it has to be wiped and redone it's a recent deployment anyway, any and all suggestions much welcome!
EDIT I have now noticed that on another machine configured with my CVS username it is proper and I see only untagged sources, how can I do this for my Eclipse, described above? I will also check whether I have those files listed as binary or ascii on both machines.
Find all files with the name "Entries". Find in files the text "//T". It will be files with "stycky revision"
example
/ NodeFinder.java/1.6/Tue Nov 12 05:23:32 2013//
/ OrHtmlGenerator.java/1.103/Wed Dec 4 09:22:02 2013//T1.103
/ PopupTextSearchWindow.java/1.3/Mon Oct 15 11:07:27 2012//
/ PropertyListener.java/1.1/Tue Sep 29 12:57:38 2009//
Believe I had the same problem. It drove me crazy as I couldn't see what caused it or why it started.
In eclipse open Preferences... and then select:
Team > CVS > Ext Connection Method
Change from "Use an external program to connect" to "Use another connection method to connect".
I have a (bad) habit of sometimes clicking the Restore Defaults button or random preferences sections. I probably did that, forgot about it and had that annoying problem for weeks.
I'm a Mac user. That may be part of the problem. Don't know if the external program is configured the same on all platforms (or even exists).
In Eclipse Preferences > Team > File Contents on the machine in question I had .cgi set as binary and on my home setup the default, ASCII, for .cgi files, as soon as I checked some sources from my home setup the machine in question recognised next time I tried to update that the files are completely different now and were locked with that sticky label.
To restore it I had to remove the whole project, disconnect, delete CVS metadata, change my settings to ASCII for .cgi and checkout again from the repo, solid as a rock since.

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

Subversive (Eclipse SVN plugin) reports externals as obstructed

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.