Comments (6)
You probably want to fix this your own way, but a quick-and-dirty fix can be found in my fork that just watches the .git
folder itself and disables subdirectory watching. Watching the entire tree for any changes is overkill because then every rebuild that produces ignored files will make the diff unnecessarily dirty.
from gitdiffmargin.
@ricksladkey Thanks! I just continued the discussion with @nulltoken on stackoverflow to see if there is another way of doing without triggering the changes to the repository.
from gitdiffmargin.
@laurentkempe Calling ObjectDatabase.CreateBlob()
will indeed update the content the .git\objects
on the filesystem and there's currently no easy way by default to work around this.
One potential option would be to use a different odb backend dedicated to GitDiffMargin usage and give it a high priority. GitDiffMargin would read/write to this backend by default and fallback to the standard fs backend when an object hasn't been found in the new backend. This new backend could be an in-memory one (beware of the additional memory pressure) or disk based. You can find some guidance in implementing such back-end in libgit2sharp.voron.
Disclaimer: I'm not sure to understand why you need to monitor the changes to the .git folder, so my answer may be quite off. 😬
from gitdiffmargin.
@nulltoken We need to monitor the folder for changes which would happen out of Visual Studio. For example, commit, stash, change the same file from another editor.. in those cases we want to get the information and update the diff margin. Does libgit2sharp provides events like this to which we could attach?
from gitdiffmargin.
We need to monitor the folder for changes which would happen out of Visual Studio. For example, commit, stash, change the same file from another editor.. in those cases we want to get the information and update the diff margin.
Thanks for the info. Makes sense indeed.
Does libgit2sharp provides events like this to which we could attach?
It doesn't.
/cc @jamill
from gitdiffmargin.
Thanks @nulltoken then I will go with the solution of @ricksladkey for the moment
from gitdiffmargin.
Related Issues (20)
- Failed to install the extension (VS 2017, VS 2019) HOT 8
- Issue publishing version for Visual Studio 2022 to Visual Studio Marketplace HOT 4
- Extension fails to load with error System.IO.FileNotFoundException HOT 6
- Missing icons HOT 5
- Icons are invisible on dark theme HOT 2
- It's annoying behaviour observed with Quick Search
- Extension not activated when opened solution not having any opened documents
- Extension stopped working until disabling and reenabling (persisting through restarts) HOT 6
- CRLF mismatch - whole file shown as modified HOT 1
- VS 2019 Installation Error HOT 3
- Try dogged HOT 1
- Installer size
- Next/Previous function in tool bar and assigned to hot keys don't work HOT 22
- Not working in VS 2022 (Version 17.1.0) HOT 2
- Not working Visual Studio 2022 17.2.2 HOT 7
- Keyboard shortcuts for GitDiffMargin.NextChange & GitDiffMarginPreviousChange don't work HOT 2
- Insert "manual" into addon description.
- GitDiffMargin.ShowPopup shortcut not working in VS2019
- Hotkeys GitDiffMargin.NextChange or PreviousChange does nothing HOT 1
- VS2022, GitDiffMargin indicator wrongly shows a change, but VS2022 diff margin correctly shows an addition. HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gitdiffmargin.