Git Product home page Git Product logo

ankhsvn's Introduction

AmpScm - Amplifying your Git Source Code Management

CI

This project provides a few layers of tools that allow accessing your repository from .Net without external dependencies. Unlike the libGit2 apis the code is completely managed, 100% Apache 2 Licensed, and uses many optional modern Git optimizations (E.g. commit chains, bitmap indexes, etc.) to improve performance over just scanning the repository. So all of this is available for Windows, Linux, Mac OS and even mobile platforms with .Net support (Android, iOS).

To allow easy embedding everything is implemented streamy instead of memory mapped files, to allow working in memory restrained circumstances (like 32 bit code), or as plugin in an existing application.

AmpScm.Buckets

latest version

This library provides zero-copy stream layering over different datasources, modeled like the Apache Serf buckets, but then completely .Net based and fully Async enabled. When you read a bit of data the least amount of work necessary is done up the tree, and only if the highest upper layer reports a delay the task is waiting.

AmpScm.Git.Repository

latest version

Completely managed Git repository level library, providing access to the repository as both IQueryable<> and IAsyncQueryable<>, to allow extending the repository walk algorithm with simple linq interaction.

Soon walking history should be as easy as something like:

// Async
using AmpScm.Git;
    
using (var repo = await GitRepository.OpenAsync(Environment.CurrentDirectory))
{
    await foreach (var r in repo.Head.Revisions)
    {
        Console.WriteLine($"commit {r.Commit.Id}");
        Console.WriteLine($"Author: {r.Commit.Author}"); // Includes timestamp
        Console.WriteLine("");
        Console.WriteLine(r.Commit.Message?.TrimEnd() + "\n");
    }
}

Of course you can also use the non async api if needed. This repository layer is built on top of Amp.Buckets via AmpScm.Buckets.Git, which could be used separately if you want to write your own repository layer.

The IAsyncQueryable<T> support is supported via the hopefully temporary AmpScm.Linq.AsyncQueryable, to avoid usage conflicts between the async and non async implementations that occur when you implement both. (Let's hope this will be fixed in the BCL)

// Non-Async
using AmpScm.Git;
    
using (var repo = GitRepository.Open(Environment.CurrentDirectory))
{
    foreach (var r in repo.Head.Revisions)
    {
        Console.WriteLine($"commit {r.Commit.Id}");
        Console.WriteLine($"Author: {r.Commit.Author}"); // Includes timestamp
        Console.WriteLine("");
        Console.WriteLine(r.Commit.Message?.TrimEnd() + "\n");
    }
}

Currently this library is mostly read-only, but writing simple database entities (blob, commit, tree, tag) to the object store is supported.

AmpScm.Git.Client

latest version

Built on top of the git repository is an early release quick and dirty Git client layer, which forwards operations to the git plumbing code. Mostly intended for testing the lower layers, but probly useful for more users. May become a more advanced client later on.

Git On Disk Format Support

Feature GIT LibGit2 JGit AmpScm
Loose Objects Yes Yes Yes Yes
Packed Object Files Yes Yes Yes Yes
Loose References Yes Yes Yes Yes
Packed References Yes Yes Yes Yes
Sha256 Repositories Yes No No Yes
Reference Table format Expected Soon No Yes Expected Soon
Reference Log Yes Yes Yes Yes
Multipack index Yes Yes No Yes
CommitGraph Yes Yes Soon Yes
Bitmap index Packfiles Yes No Yes Yes
Bitmap index Multipack Index Yes No No Yes
Reverse index Packfiles Yes No No Yes
Reverse index Multipack Index Yes No No Yes
Directory Index format 2,3 Yes Yes Yes Yes
Directory Index format 4 Yes Yes Yes Yes
Split Directory Index format Yes No No Yes
Sparse Index (Cone) support Yes No No Yes
Fast Import support Yes No No Yes
Bundle support Yes No No Yes
'mergetag' (inspect) support Yes No No Yes
OpenPGP signature verification Yes No No Yes
(Open)SSH signature verification Yes No No Yes

ankhsvn's People

Contributors

arildf avatar damieng avatar dependabot[bot] avatar ltrunda avatar markphip avatar rhuijben avatar srijken avatar whitlockjc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ankhsvn's Issues

VS 2022 Crashing when Right Click on Pending Changes files

We just installed the VS2022 VSIX and found an issue where if we try and right click on any of the files listed in the 'Pending Changes' window then NO menu appears (we get the Windows 10 blue spinning wait icon) and then VS2022 closes (crashes) after approx 5-10 sec, and then it starts back up by itself.

I am running:
Microsoft Visual Studio Community 2022 (64-bit) - Current Version 17.1.0
AnhkSVN 2.9.87.0

If we right click on the file in Solution Explorer then it works fine (I can select Show Changes menu item) - its only when trying to right click in the Pending Changes tool window that we get no contextual menu and causes the crash.

I have also tried this with no solution open in VS 2022 - so right click on the 'empty' Pending Changes tool window and it still crashes.

VS 2022 also displays this at the top when it restarts

image

Unable to cast object of type 'Microsoft.VisualStudio.CommonIDE.Solutions.SolutionPropertyBag' to type 'Ankh.Scc.Native.ICOMPropertyBag'

Upon opening one of many solutions I am getting this error.
The error happens everytime I open this one solution, other solutions can be opened without an error.

Except the annoyance of closing the message box everytime I open the solution, I don't see any other issues.
Everything seems to work eg. commiting/updating and everything else ankh has to offer, just this error message upon opening the solution, nothing more nothing less.

Unable to cast object of type 'Microsoft.VisualStudio.CommonID.Solutions.SolutionPropertyBag' to type 'Ankh.Scc.Native.ICOMPropertyBag'

System.InvalidCastException: Unable to cast object of type 'Microsoft.VisualStudio.CommonIDE.Solutions.SolutionPropertyBag' to type 'Ankh.Scc.Native.ICOMPropertyBag'.
at Ankh.VSPackage.AnkhSvnPackage.ReadSolutionProps(IVsHierarchy pHierarchy, String pszProjectName, String pszProjectMk, String pszKey, Int32 fPreLoad, IPropertyBag pPropBag)

image

os-version=10.0.22000.0 
vs-version=17.0.32408.312 
svn-version=1.14.1 
sharpsvn-version=1.14001.54.0 
ankh-version=2.9.89.0 

Ignore-on commit issue in VS 2022

Found an issues with the file selection in VS 2022. Althoug the file is moved to ignore-on-commit Change list, every time I open a file it gets chacked and unchecked if i open it again from the pending chnages window. I don't know if it is a feature and if so how can you disable it?

Conflicting files get added

When the option automatically add files is active and you update the solution from within visual studio.
image

image

You end up with *.mine, *.rxxx files getting added.
image

Notice the Change state is now "Missing" because I resolved the conflicts and resolving deletes the file but the artifact that they got added prior is still there, what I now need to do is select them right click and say revert.

Source Control error during solutions opening

In our working group we are using AnkhSVN to manage projects.
Since march/april every time we open up a solution this message box that says : "the source control provider associated with this solution could not be found. The project will be treated as not under source control. do you want to permanently remove the source control bindings from the projects?" opens.

We cant figure out how to fix this problem.
We are using Visual studio Enterprise 2017 an the latest version of AnkhSVN.
Screenshot 2021-08-03 120418
Screenshot 2021-08-03 120335

Exception in Visual Studio 2022 (version 17.2.0) when opening a solution that uses AnhSvn

I've successfully used AnkhSVN version 2.9.87 with Visual Studio 2022 (internal version < 17.2). Now I've updated to VS2022 version 17.2. When I now open a solution file that uses AnkhSvn I get this exception:

System.InvalidCastException: Unable to cast object of type 'Microsoft.VisualStudio.CommonIDE.Solutions.SolutionPropertyBag' to type 'Ankh.Scc.Native.ICOMPropertyBag'.
   at Ankh.VSPackage.AnkhSvnPackage.ReadSolutionProps(IVsHierarchy pHierarchy, String pszProjectName, String pszProjectMk, String pszKey, Int32 fPreLoad, IPropertyBag pPropBag)

Afterwards Visual Studio freezes.

VS.NET 2017 hangs on startup with AnkhSVN 2.9.58 installed

My VS.NET Professional 2017 v15.5.6 instance started ending up in one of 2 states as of last week:

  1. Visual Studio 2017 splash screen visible, with between 40-60MB of memory allocated to the devenv.exe and a basically idle CPU, and it never progresses past that point.
  2. The Visual Studio 2017 IDE windows open, but with minimal content in them, and I never get control over it. About 100MB of RAM basically idle CPU.

I wonder if this is related to #6 , but I don't see a crash.

Booting via devenv.exe /safeMode brings up VS.NET fine. The only way I have been able to launch VS.NET normally is by uninstalling the AnkhSVN extension from within safe mode. I've gone through this cycle twice: uninstalling AnkhSVN to have VS.NET launch successfully, reinstalling AnkhSVN and ending up with the same problems, and then uninstalling AnkhSVN again to have VS.NET launch successfully.

I noticed AnkhSVN 2.9.58 was released on 5/19/21 and was showing as installed in my VS.NET instance via auto update. And this was right around the time this problem started occurring.

Of course, there could be some other interaction going on with my system, but I'm curious if anyone else has hit this. Also, if someone can tell me what log files and/or other diagnostic info would be helpful, I'm more than happy to supply it!

For now, I'm just falling back on entirely relying on TortoiseSVN outside the IDE.

VS 2022 crashing

Crashing on loading solution after updating to Microsoft Visual Studio Community 2022 (64-bit) - Current Version 17.2.1
Stack trace:
System.InvalidCastException: Unable to cast object of type 'Microsoft.VisualStudio.CommonIDE.Solutions.SolutionPropertyBag' to type 'Ankh.Scc.Native.ICOMPropertyBag'.
at Ankh.VSPackage.AnkhSvnPackage.ReadSolutionProps(IVsHierarchy pHierarchy, String pszProjectName, String pszProjectMk, String pszKey, Int32 fPreLoad, IPropertyBag pPropBag)

Visual Studio 2022: "Source control provider associated with this solution could not be found"

Visual Studio 2022 Community Edition, 17.2.3

AnkhSVN build from source, June 3.

Starting up any solution in VS2022 with AnkhSVN source control pops up this message box:

---------------------------
Microsoft Visual Studio
---------------------------
The source control provider associated with this solution could not be found. 
The projects will be treated as not under source control.

Do you want to permanently remove the source control bindings from the projects?
---------------------------
Yes   No   Help   
---------------------------

Clicking "No" seems to bypass the problem and AnkhSVN appears to work.

Pending changes are not reflected in VS 2019 with ANKH SVN plugin 2.9.58

In Visual Studio 2019, pending changes are not getting reflected in Pending Changes window properly.
I have tried refreshing the pending changes view and restarting Visual studio, but the bug persists. This bug is causing inconvenience and potentially leading to code conflicts with my team members.

Additional info:
This issue is observed majorly, when files are updated outside visual studio environment.

Steps done for reproducing issue is as below:

  1. Test application is created to reproduce the issue.
  2. Source file is updated outside Visual Studio 2019.
  3. Open the visual studio and open pending changes window.
  4. Changes are not reflected in the window, even after refreshing.
  5. But changes are detected in the SVN commit option from TortoiseSVN.

Environment:

ANKH SVN plugin version: 2.9.58
Visual Studio version: VS 2019
Operating System: Win10

Expected resolution:
I would like to request a fix for this bug as soon as possible.

Please release a new version

The latest available build from Github Actions for VS 2022 has expired. The current released version lacks a few important bug fixes. There is currently no recent build available for VS 2022.

Merge Solution Fails in VS2017

While the version history is fixed, if I try to go to Pending Changes -> Update -> Merge Solution, and keep the default 'Merge a range of revisions' option selected, and hit next, VS freezes and eventually crashes with no error window.

Originally posted by @jadonclegg in #8 (comment)

Annotate viewer broken under mixed-DPI

The annotate viewer is mostly broken in Visual Studio 2019 when using non standard Windows DPI settings.

The AnkhSVN2019 fork has a new implementation using a more modern approach. (The old version had to work with the old pre-VS2012 editor). We should decide if we want to fix the current version and/or go to that newer code.

Annotate screen doesn't work VS2022

In VS 2022 - when we try and open the 'Annotate' window by right clicking on a file in Solution Explorer we are presented with an error,

image

If we then click OK - the window behind that is now showing

2022-05-10_11-41-50

From then on - if we try and use Annotate again, the two errors don't appear, however the screen doesn't draw correctly,

2022-05-10_11-43-04

I have manually blurred out the Dev name on the list of check ins on the left side, but you can see there is no code shown on the right side of the screen and then on the left there is a 'hole' where I can see through to a different .cs file that I had open in VS 2022 - i.e. the one sitting 'behind' the annotated .cs file.

I am not sure if this relates to the other Annotate window issue open below (#7) but thought I would raise a new issue with the screen shots anyway.

cheers

Switch Solution fails in VS 2017

Getting the same InvalidOperationException with GetService when trying to use the 'Switch Solution' function (Ankh.Commands.SwitchItemCommand)

Unable to cast object of type 'Microsoft.VisualStudio.CommonIDE.Solutions.SolutionPropertyBag' to type 'Ankh.Scc.Native.ICOMPropertyBag'

Saw the old post about this error, so I tried getting most recent version of vsix, but still get the error.

Doesn't happen with all solutions.
Visual Studio 2022 - Version 17.7.4
Ankh SVN extension - Downloaded artifact from MSBuild #160

Visual Studio showing version of extension as 2.9.87.0

System.InvalidCastException: Unable to cast object of type 'Microsoft.VisualStudio.CommonIDE.Solutions.SolutionPropertyBag' to type 'Ankh.Scc.Native.ICOMPropertyBag'.
at Ankh.VSPackage.AnkhSvnPackage.ReadSolutionProps(IVsHierarchy pHierarchy, String pszProjectName, String pszProjectMk, String pszKey, Int32 fPreLoad, IPropertyBag pPropBag)

VsixManifest not updated with appropriate supported versions during build

The VsixManifest is not being updated to set the appropriate supported versions for each vsix file generated by the build script.

Version support for VS 2012-2019 is divided between three different vsix files, but the installer thinks each vsix works with all versions because the version range in the VsixManifest is not being updated in the build script.

image

image

In Visual Studio 2022, double-clicking changed item in Pending Changes toggles its checkmark for including/excluding from the commit

I'm testing the latest Visual Studio 2022 compatible build at https://github.com/AmpScm/AnkhSVN/releases/tag/v2.9.87. When double-clicking a changed item in the Pending Changes window, the checkmark toggles its checked state. This happens no matter where in the item row you double-click, and regardless which option you have set in Tools -> Options -> Source Control -> Subversion Environment -> "When double clicking items in Pending Changes:" (either "Open the file in Visual Studio" or "Show changes in the current diff tool")

Here is a gif demonstrating the issue with me double-clicking items in the Pending Changes window and you can see the checkmark toggle each time: https://i.imgur.com/e4hEGkl.gif

Single-clicks do not toggle the checkbox (unless you single-click on the checkbox itself), nor does trying to open the file (or show changes) via the item's right-click menu.

You can imagine this is particularly frustrating when double-checking your changes before commit and you essentially uncheck/check the wrong items and accidentally botch your commit with garbage. I've been using AnkhSVN for many prior versions of Visual Studio and this behaviour is new to the VS2022 version, though I wouldn't be surprised if it's more of a Visual Studio issue than an AnkhSVN issue.

I'm on Windows 10, version 10.0.19042 and using Visual Studio 2022 version 17.0.1

Extension crashes on start of Visual Studio 2017

Extension suddenly cannot be loaded.
My Visual Studio Version: 15.9.36
Extension Version: 2.9.37
Extracted from ActivityLog.xml:

169 2021/05/17 14:10:46.820 Information VisualStudio Begin package load [AnkhSVN - Subversion Support for Visual Studio] {604AD610-5CF9-4BD5-8ACC-F49810E2EFD4} 170 2021/05/17 14:10:46.838 Error VisualStudio CreateInstance failed for package [AnkhSVN - Subversion Support for Visual Studio]Source: 'mscorlib' Description: Die Datei oder Assembly "Microsoft.VisualStudio.Shell.15.0, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" oder eine Abhängigkeit davon wurde nicht gefunden. Das System kann die angegebene Datei nicht finden. System.IO.FileNotFoundException: Die Datei oder Assembly "Microsoft.VisualStudio.Shell.15.0, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" oder eine Abhängigkeit davon wurde nicht gefunden. Das System kann die angegebene Datei nicht finden. Dateiname: "Microsoft.VisualStudio.Shell.15.0, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" bei System.Reflection.RuntimeAssembly.GetType(RuntimeAssembly assembly, String name, Boolean throwOnError, Boolean ignoreCase, ObjectHandleOnStack type) bei System.Reflection.RuntimeAssembly.GetType(String name, Boolean throwOnError, Boolean ignoreCase) bei System.Activator.CreateInstanceFromInternal(String assemblyFile, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityInfo) bei System.AppDomain.CreateInstanceFrom(String assemblyFile, String typeName) WRN: Protokollierung der Assemblybindung ist AUS. Sie können die Protokollierung der Assemblybindungsfehler aktivieren, indem Sie den Registrierungswert [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) auf 1 festlegen. Hinweis: Die Protokollierung der Assemblybindungsfehler führt zu einer gewissen Leistungseinbuße. Sie können dieses Feature deaktivieren, indem Sie den Registrierungswert [HKLM\Software\Microsoft\Fusion!EnableLog] entfernen. {604AD610-5CF9-4BD5-8ACC-F49810E2EFD4}
80004005 - E_FAIL

Visual Studio 2022 process devenv.exe not closing

Because I'm working on multiple projects I often need to switch from projects on svn to projects on git.
I'm having this problem for some time now when I close one project (close Visual Studio) and open another project in new Visual Studio instance, devenv.exe from previous instance is still running. Very often when I notice this I have 3-4 instances running in the background but only one Visual Studio window is actually shown.
I always thought it's Visual Studio's fault but now I managed to reproduce it and I think it has something to do with AnkhSVN extension.

It was always tedious for me to go through options to changed current plugin (Tools -> Options -> Source Control -> Plugin Selection) until I found that there is a dropdown at the bottom right with label "Add to Source Control" where I can change the current plugin with two clicks.

To reproduce this issue do the following.

  1. Open Visual Studio 2022 without a project and go to Tools -> Options -> Source Control -> Plugin Selection and make sure no plugin is selected.
  2. Close Visual Studio
  3. Open a project on svn with Visual Studio 2022 and when it loads click on a button "Add to Source Control" (or click Ctrl+Alt+F9) and choose "AnkhSVN"
  4. Close Visual Studio
  5. Check task manager and you can see that devenv.exe process is still running and not closing but there is not Visual Studio IDE window present

This does not happen if I change the plugin using options menu Tools -> Options -> Source Control -> Plugin Selection -> Select AnkhSVN. Also it does not happen if I use the same method but change to git source control.
Not sure what is the difference between these two methods of changing active source control but the "Add to Source Control" dropdown is causing Visual Studio 2022 not to properly close.

I'm using the latest build for Visual Studio 2022 found here https://github.com/AmpScm/AnkhSVN/actions/runs/3808815322

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.