I have a working copy of a repository on a Windows web server. If I update/commit the working copy using TortoiseSVN (1.7.6) or the command line (version 1.7.8) "svn update" on my Windows PC I have no problems.
However if I am on my Linux Subversion server (where the repository lives), accessing the working copy through a CIFS mount, without fail within 10 updates/commit the file .svn/wc.db will have become corrupted. Sometimes it is with the message
svn: E200030: sqlite: database disk image is malformed" and sometimes it is a message like "svn: E155010: Pristine text 'd9a9a3ee5e6b4b0d35bfef95601890afd80709' not present
I can clean up the corruption every time it occurs, but clearly I don't want to keep having to do that - I am struggling to work out the cause of the problem.
My Linux Subversion server is also using version 1.7.8. What could be causing the problem?
It is probably because the internal representation of the files or in the database are slightly [or much] different on a Linux and a Windows machine. Make your own copy on the Linux machine, and commit from that into the central repo, then pull it down on your windows machine.
In general, it's never a good idea to access the same copy of a version controlled repository from two different machines.
I use SVN for web work, and that's how I work - I do nearly all my work on a Linux machine, but I do have a repo on my windows laptop.
Related
I have a project kept in Git repository which is compiled on a huge Linux server. Currently, I connect using SSH to the Linux server, modify the files there and then run commands to compile and execute it.
Everything is done in command line which is really painfull and I would like to use an IDE on my Windows machine which can connect to the remote Linux machine using SSH. I just need the IDE for file modification, auto complete and similar stuff, function resolution etc. I don't need to be able to compile or debug through IDE.
Mounting using Samba or Sshfs is out of the question because it is too slow. I need speed. If I click save, it needs to be save. Autocomplete should work like locally, it should work as though the files are on my machine most of the time.
Can somebody recommend an IDE which this qualities and information on how to set it up.
Thanks
The best thing that worked out for me is Unison. You have to have two copies of Unison, one on Windows client and one on remote Linux. You checkout the repository on the remote and then run Unison to synchronize the remote copy to your local. It connects to remote through ssh. Every time file is changed both locally or remotely, the other side gets updated instantly. Works well on slow connections.
You can then use your favorite IDE and work locally. The only quirt is that Unison must be same version and compiled with same Ocaml version (in my case Unison 2.48.4 with OCaml 4.0.4.). I had to compile it manually for Linux and for Windows I downloaded provided binary.
So I have a remote Centos server running a small app and I have a git repo set up on that machine. To date, I've been running git from that centos server via ssh terminal, including doing some merging via mergetool, specifically vimdiff. This is...okay. Not great. A terminal editor split into four panes is vaguely terrifying.
What I would like to do is handle the merges via a Windows machine and some friendly GUI based merge tool, but I don't want to clone the repo to the windows machine. I want the windows machine to perform the merge on the Centos machines files directly.
I suspect this is possible, but I'm not having much luck with google. A link to instructions would be fine.
Any help?
I have a set of machines, a mixture of Linux and Windows Boxes.
I hav set up rsync to pull from the Linux Machines to a Linux Server box.
I am trying to accomplish the same using cwRsync, to pull to the Linux box from the windows machines. I have downloaded the free version from https://www.itefix.no/i2/content/cwrsync-free-edition and also I have downloaded CopSSH. I have managed to install CopSSH fine and I am able to SSH between the Linux and Windows hosts no problem using keys rather than passwords.
However, for the life of me I can't get this cwRsync working, I've googled the matter to death, and your meant to unzip the directory, configure the environment settings in the batch file then install it. However, there is nothing to install it with! and the reason it isn't working is because it needs to install a windows service for it to run.
Any help would be much appreciated!
As described at itefix web page for the free edition, it allows to initiate rsync from your Windows machine, i.e. client functionality only (push data). Server functionality allowing you to set up an rsync server on Windows to pull data from it is not a part of the free edition.
am trying to evaluate ccnet, I have gone through a number of tutorials/blogs which describe in detail on how to install ccnet. However most of them assume that CruiseControl.NET is being installed on the same machine on which Subversion repository is or it is a server machine.
I would like to know if ccnet can be installed on a non server machine and pre - configured subversion?
Sure this is not a requirement to install CCNet on a Server nor on the same machine as your repository.
CCNet can run as console application or windows service and both can run on windows, windows server and linux/mac with Mono.
Thus CCNet uses the native applications for source control operations (e.g. svn.exe or git.exe) it also supports the same remote repository features as its source control application. So your Subversion repository can be located everywhere your CCNet machine has access to.
I recommend you to read the Scenarios Section in our wiki.
I would never install my CC.NET on the same machine as my SVN repository. But that is me.
For local testing, you can run the command line version, and not the service. It's helpful, because the Console output actually let's you pick up on a few things while it is running. (Nothing you can't find with the service, but its cool to see it "in progress").
When you do install CC.NET, I would install it on a "clean" machine. The way I like to use CC.NET is to think of it as a "big fancy msbuild wrapper".
Your CC.NET will pull code from the repository, and I like to pull the .msbuild defintion file from svn as well (meaning, you store it there), and then have cc.net use the "msbuild.exe" task. The less custom cc.net tasks you use, the better. If you put 99% of your build logic into a .msbuild file, you'll won't screw yourself if you ever leave CC.NET for TFS.
3.
Yes, it has to be able to "talk to" SVN under some Identity. This identity needs read (maybe write) rights back to SVN. But it is the identity (account) that pulls the code from SVN. If your source code is projected (most likely it will be), then you may have to do some command calls using svn.exe to "accept the (p)ermanent certificate, using the IDENTITY that runs the CC.NET service.
You'll probably have some dependencies you'll need to install. I would NOT install Visual Studio 200x or 20xx. Download and install SDK's and other things as needed. Keep the build machine "clean". Document what you install.
It is a good practices to have CC.NET running in the same environment as developer(s).
So having a standard Win7x64 OS for CC.NET is nice to reflect the dev environment.
CC.NET can be configured to access a remote or local Subversion repository depending on the svn configuration you setup.
So the answer is : yes !
I'm having difficulty searching for the exact answer to my question. Apologies if its been asked many times.
I've been developing on Visual Studio 2012 Update 2 for some time and having changes tracked and saved in a TFS-GIT repository, alongside the equivalent local repo stored on my hard disk.
About two weeks ago, my laptop got stolen. I've got all my tools back onto a new laptop but struggling with getting my project back the way I had it before it got stolen.
Essentially, I can see the Visual Studio Project locally on my hard drive, with its local git history. I can also see the remote version in TFS, with the exact same history. I open the project locally on my visual studio, and then try to connect to the remote tfs store. When the project loads, all of the files and folders within the project have the pending delete symbol (red cross) on each of the files, as if the remote connection has gone in a folder to high and the two structures are out of sync with each other.
Can anyone help me with how to connect the two together again properly
Not really sure to understand your problem (and to know if you are using git-tfs). What are you really want to do? use git-tfs to work and commit on TFS? or use TFS but use git-tfs as a backup solution?
Anyway, I will try to give you some tips.
Essentially, I can see the Visual Studio Project locally on my hard
drive, with its local git history.
If that's the case, you only have to open your solution, work and create local git commits.
After, you only have to the TFS server.
Perhaps, you could bootstrap your local git repository if you were using git-tfs (but not 100% sure you need it) by :
git tfs bootsrap
To commit on a TFS server, use :
git tfs rcheckin
And that should be all...
I open the project locally on my visual studio, and then try to connect to the remote tfs store.
If you are using git-tfs, you don't have to. Git-tfs use its own workspace in a hidden directory of the .git folder.
Hope it will help. Even if there is not enough informations to provide a good answer.
Feel free to use the wiki for more informations :
https://github.com/git-tfs/git-tfs/wiki/Bootstrap
https://github.com/git-tfs/git-tfs/wiki
PS : if you are using git-tfs, don't install the "Git Source Control Provider" because you can't open a git repository in Visual Studio and in the same time connect on a TFS server to get builds result, workitems, ...