How do you include a + sign in a filename in paket? It ends up url-encoded - paket

If you have a paket file with a files section like this:
files
../bin/profile259/Foo.dll ==> lib/pq+
Then paket pack will insert a url-encoded filename lib/pq%2B in the nupkg file that it builds. What's the right way to specify a filename so the encoding/decoding works correctly?
Paket version 2.62.6.0
Resolution: use paket 2.63; this was a bug, not user error. Fixed in this patch.

If you want to see this shortcoming addressed, you might want to post an issue on GitHub repository contributing detailed reproduce steps or a PR with a failing test:
https://github.com/fsprojects/Paket

Related

Applying a Patch to a library using MinGW?

There's a similarenter link description here It's on the below link.
I have been given a patch on an email and I need to create a patch file. I have just pasted the contents into a text file and saved it as 'All Files' as file.patch. As far as I can tell this is correct.
This patch will apply to multiple files in a library.
I'm not sure how to apply the patch. I'm guessing that this is done using MinGW but I'm not sure how. I have set the above directory to the library in the command line like this..
cd c:\library
I place the patch file in this libraries base director and write the name of the patch.
file.patch
When I do this (I have tortoise svn installed on my pc) a the patch file opens up with a bunch of colors (Red/Yellor/Green) highlighting some of the text in the file.
Does this mean the patch automatically applies or am I going about this completely the wrong way?
I can't put the patch on the internet but the explanation above is clear.
If I have it all wrong would someone mind explaining how I apply a patch using MinGW on Windows? Thanks

Could not load file or assembly 'Sitecore.Analytics' or one of its dependencies

I am facing one error while login into sitecore.
"Could not load file or assembly 'Sitecore.Analytics' or one of its dependencies"
Even if I exclude sitecore.analitics.config from incude folder. But still I am facing this issue.
You must have the Sitecore.Analytics.dll file in your /bin folder, even if you are not using DMS.
If you are missing the file completely then you should re-download the Sitecore files for your version from SDN and add the missing file to your application.
You can also try to exclude the Sitecore.Analytics.Robots.config as well
This error means your /bin/ does not contain Sitecore.Analytics.dll
I would also check to make sure there is nothing in your web.config file (or various include files) that is targeting a specific version of the Analytics.dll
Please exclude these files from app_config/include folder and then retry
Sitecore.Analytics.config
Sitecore.Analytics.ExcludeRobots.config
Sitecore.Analytics.RobotDetection.config

Need help applying MinGW patches for std string, getting unexpected ends

I'm trying to apply these patches:
http://tehsausage.com/mingw-to-string
So that I can use std string stuff that I should have access to anyways.
I have MinGW 4.7.2, and at first, I tried copying the zip files with no luck.
Now I'm trying to manually apply the patches. I copied the patch information into a file.patch, placed it in the same folder as the file I am patching, and ran
patch < file.patch
and then I get:
patching file stdio.h
patch unexpectedly ends in middle of line
Hunk #1 FAILED at 574.
patch unexpectedly ends in middle of line
1 out of 1 hunk FAILED -- saving rejects to file stdio.h.rej
patch unexpectedly ends in middle of line
I made sure that there is no extra white space at the end..
Please help!
OK, installed the latest mingw from the web-site, downloaded the patch files and made sure they were clean.
I applied each one individually, and they worked without issue. There was a warning that it was 'Stripping the trailing CRs from the file', but it worked without issue.
each patch is applied in the appropriate directory; e.g. the stdio.patch is applied to stdio.h which is in /mingw/include using:
patch </path/to/stdio.patch
ditto for wchar.patch
The os_defines.h file is found at /mingw/lib/gcc/mingw32/4.7.2/include/c++/mingw32/bits, and the patch works properly for that one as well.
I created a github with the patches at https://github.com/petesh/mingwpatches.git - you can clone the repository, or download the individual files from there. Each of them should work correctly without more than a complaint about the trailing CR warning.
After looking at the patch files, you probably need to use the -c option to the patch command. This tells patch that the patch-files are from a context diff.
E.g.
$ patch -c < file.patch

How to have Jenkins ignore certain files when checking for change?

In the "Excluded Regions" of the CVS configuration, I have added the following:
.*/.*/.*\.d
.*/.*/.*\.o
.*/.*/.*\.so
.*/.*/.*\.a
.*/.*/.*\.exe
.*/.*/.*\.obj
.*/.*/.*\.dll
.*/.*/.*\.lib
.*/.*/.*\.txt
.*/.*/.*\.tar
.*/.*/.*\.tar\.gz
All files with the above extensions should be ignored. However, Jenkins still runs builds based on the fact that a file "build.txt" in some folder ABC has changed, or the one of the tar.gz files has changed. How to get Jenkins to ignore these files? Is something wrong with my regex?
Glad that worked for you! Reposting as requested:
My guess is it has to do with the .*/ parts. Have you tried it with just .*\.txt?
Just as an experiment, you might also try /.*/.*/.*\.txt (note the extra / at the beginning). I have a feeling the problem was related to using relative vs. absolute file paths.

Excluding a single project file from an SVN repository

I have a django project that I have been working on as a solo developer, and have been using TortoiseSVN to keep the code managed in a repository on a work server. I work on this on a local installation of django etc.
There is now a second person who will be working on this project, and the possibility of working on some other PCs.
Now, there should, for the time being, only be one development version (branch?) of this project, but the configuration file (settings.py) will need to be different on each computer that is being used. I want to create one local version of this file on each PC which should not need to be changed again.
How can I set the repository (preferably within TortoiseSVN) to exclude this one file? E.g. the repository should not include settings.py. When a checkout occurs, it should update all files in the local folder but not change/remove the local copy of settings.py. When a commit occurs, settings.py should be ignored and not uploaded.
At the moment settings.py is overwritten/updated as per any other file in the project folder/repository.
Any nudges in the right direction would be useful - I'm new to SVN generally and would like to know if this is something that's going to need detailed understanding of branching or if there is a simpler way.
Thanks
In TortoiseSVN, when you try to commit your files, in the file list dialog, right click the file and look for the Ignore option. You can ignore by complete filename or extension.
If the file is already in the repository, and you want to remove it from there and ignore it, you can simply right-click the file and in the TortoiseSVN menu look for the 'Delete and add to ignore list' option.
You'll be looking for the svn:ignore property, which tells subversion to not version files matching a pattern or patterns you specify.
There's some guidance on using it with TortoiseSVN at:
http://arcware.net/tortoisesvn-global-ignore-pattern-vs-svn-ignore/
These should help:
I have a file in my project that every developer must change, but I don't want those local mods to ever be committed. How can I make 'svn commit' ignore the file?
Excluding Items from the Commit List
The typical solution is to do what bgever said and ignore the settings file itself, and then commit a file with example values, something like settings.py.example. That file should only be updated when you add or remove settings. When deploying, you'd copy that to settings.py and edit the values.