TortoiseSVN diff on directory only shows propinfo - what gives? - tortoisesvn

I just merged a directory and am doing a TortoiseSVN diff to check for changes before committing. I can see from the file explorer that I have modified several files, but I can't see anything from the diff, only the propinfo. It seems I modified svn:mergeinfo while merging, and that is all the diff is showing me.
How do I see the actual files that have changed??? Using Kdiff3 vs TortoiseMerge doesn't make a difference.
TortoiseSVN version 1.9.7

When propinfo is modified, TortoiseSVN apparently only shows this propinfo when diffing a directory, if you use "SVN diff" from the context menu.
You can work around this by using Check for Updates from the context menu rather than SVN diff.
This works because "Check for Updates" appears (?) to be equivalent to the command TortoiseProc.exe /command:diff /path:. /ignoreprops, while "SVN diff" does not pass the ignoreprops flag.

Related

P4V Path '/Applications/...' is not under client's root '/Users/sylwester/test'

I've set up a new workspace in /Users/sylwester/test and checked for get all revisions and switch to workspace. Every time i start p4v and select my workspace after login I get this error. The command it says it has performed is:
p4 changes -s submitted -l -m 100 /Applications/...
The p4v executable is of course in the /Applications/ directory but my workspace in /Users/sylwester/test. To be sure it was not fixed at a later version i upgraded p4v to 2017.2 (P4V/MACOSX1011X86_64/2017.2/1518788)
It sounds like you have a filter somewhere (probably the history or submitted changelists tab?) that specifies /Applications/... as the path. If you clear or fix that I'd expect the error to go away.

Tortoise Svn shows all Unmodified files as Modified

I am using Tortoise SVN and Visual SVN Server.
Here is how I am using SVN:
Export Code from Windows7 System and then Copy all code Files to my Fedora System
Make required changes.
Then I Checkout on Windows7 System.
Then Copy All code files from Fedora System to windows7 system.
Then paste in Folder where I checked out.
At this point when I check for modified files. SVN shows me all files as modified, even though they are not modified by me.
Also when I diff unmodified files by me no change is shown, but svn shows that file with red icon.
Could someone please explain the solution this issue?
Note: On Fedora System I am using QT Creator to edit code files. This issue observed with .txt, .cpp, .c files only not with qt ui files.
You can find here how TortoiseSVN finds out if a file is modified.
You should look at the file metadata (date of creation/modification, ownership, etc.)
Edit: If you have issues with end-of-line markers, you can modify SVN behaviour with the svn:eol-style property. See this page for Tortoise configuration.

sharing source between Linux eclipse and MS Visual Studio

I have a linux eclipse project checked into our company svn. Works great.
The project is intended to be cross compiled on Windows.
Untill now, I have simply moved the source files between OSes. However, I thought I'd like to let svn do this for me. Should be simple enough, just checkout the eclipse linux src into the VS project dir, right? Wrong!
The correct source was checked out of svn and it worked fine. But when I tried to check it back in i kept getting "Commit not completed filename remains in conflict" errors. I hadn't even changed anything!
Did a little checking. Turns out the linux src directory is pretty much just the source and headers. On the MSVS side the project directory contains the source and headers but also contains a bunch of files that are used by VS with names like projname.vcproj etc. etc.
So, I did a checkout into a scratch dirextory, .\fred. Checked .\fred back in. No problems. Added a new file to .fred, xxx.xxx. Check in reported:
svn: E200009: Commit failed (details follow):
svn: E200009: 'C:\Projects\fred\xxx.xxx' is not under version control
Makes me wonder about those uncommitted Visual Studio files.
So, are those files my problem? Are they breaking the commit operation?
As an alternate solution I am thinking of adding the VS files to the src dir in svn. If linux/eclipse checks them out I can tell eclipse to ignore them (I think it'll just ignore them for me). Any thoughts or recommendations for this approach?
(BTW, i still had fresh source on the linux side so any thing that got clobbered could be safely restored.)
So here is one solution I have working for the moment. I am not sure how totally stable it is.
Caveat: The project i am using already existed as a MSVS project.
In the MSVS solution dir, rename the source dir (MSVS likes the source dir name to match the solution dir name, so this means the source dir may not be named src) to something uninvolved in the solution, like temp.
SVN checkout the src (eclipse like to call source dirs src).
cd into the source dir. Issue the command:
svn changelist msvs *.cpp *.h
Add *.c if needed. "msvs" is the changelist name. It can be whatever you want ti to be.
This will created a changelist for the checked out directory.
Now, copy the remaining files from the temp directory into your source dir.
When you need to do a checkin, cd into the source dir and issue this command:
svn ci --changelist msvs
Note. You have to be in the src dir for this to work.

Saving merges using KDiff3 with TortoiseSVN

Wanting to use KDiff3 as my conflict resolution tool for TortoiseSVN I followed the instructions here and here to configure TortoiseSVN to use KDiff3. My merge tool settings in TortoiseSVN are thus:
C:\Program Files (x86)\KDiff3\kdiff3.exe %base %mine %theirs -o %merged --L1 %bname --L2 %yname --L3 %tname
When performing a merge a conflicts may be detected. If they are I hit the 'Edit Conflict' button to launch KDiff3 and reconcile the merge conflicts.
However, when I save my merge the result is saved to a temporary file in the .svn folders rather than within the actual working file C:\projects\my-new-project\src\mvags1.mxml. The temporary location can be seen in the KDiff3 output window as well.
Have I configured anything incorrectly or are my expectations for how KDiff3 works with TortoiseSVN incorrect?
I am using TortoiseSVN 1.7.5 and KDiff3 0.9.96.
My expectations for how KDiff3 would work with TortoiseSVN and Subversion were flawed. The behavior that I was experiencing is the correct behavior.
The proper process for using KDiff3 with TortoiseSVN is:
Click the edit conflicts button when conflicts are detected (in TortoiseSVN)
Resolve the merge with KDiff3
Click the save button in KDiff3
Close KDiff3
In TortoiseSVN mark the file as resolved
After merge to working copy of a branch (svn merge --quiet --accept postpone http://../trunk)
I go to TortoiseSVN extension menu and select "Resolve..."
The window with the list of conflicted items displayed.
Right click on the first item and then select "Edit conflicts". KDiff3 merge window appears.
Pressing B for selecting line source.
click Save. File will be saved with merge result.
Close KDiff3.
How to make conflict automatically marked as resolved in TortoiseSVN when I exiting KDiff3?
I am using:
Windows 10 x64
TortoiseSVN 1.9.5, Build 27581 - 64 Bit
kdiff3 Version 0.9.98 (64 bit)
Merge Tool setting in TortoiseSVN
C:\Program Files\KDiff3\kdiff3.exe %base %mine %theirs -o %merged --L1 Base --L2 Mine --L3 Theirs

How to set "execute" attribute to a file and check it in SVN from Windows?

I have SVN configured in Linux at a different location and I need to check-in a shell script to SVN with executable attribute ON from Windows. I use Bamboo as CI, which checks out sources from SVN and does the periodic build. It throws error that shell script is not executable. (Bamboo run as root).
What is the best way to set the executable permission?
I don't use any SVN client and use eclipse to check-in and check-out. If SVN client is the only, how do I find a version that is compatible with SVN plugin that I use in eclipse.
I had a compatibility problem earlier. When I checked-in a file from Tortoise, I couldn't checkout that file from Eclipse.
svn propset svn:executable "*" someScript
The syntax is propset key value so svn:executable is the key and "*" is the value
someScript is the filename
SVN ignores UNIX file permissions when commiting. The way that you set exec permissions on a file is to change the svn properties for that file. If you are on Windows, the easy way to do this is to install Tortoise SVN. Then after you have committed, use Tortoise to open the repo-browser. Find a file that needs to be executable and right-click it to open properties.
The dialog that appears is the SVN properties dialog. Click New to add a new property, select svn:executable from the dropdown list, and set the property value to *.
That's it. When you click OK, it is committed to the SVN repo. The next time you, or the build machine, do an svn update, that file will have executable permissions on Unix/Linux.

Resources