-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature: Git integration #11014
Comments
Fyi @onein528 |
I think the bare minimum would be support for switching branches. This can be achieved by adding a button/flyout to the status bar. |
You mean if you open the repository in Files, you will be able to perform Git operations, such as change branch, commit, push, sync? Here's my thought Minimum
Could
|
This requires UI for a commit message, not impossible but would require a lot of thought.
A possibility but curious how it would fit into users workflow and how the UI could be integrated.
I might add these to the minimum |
I'll look what I can do and try to find what can be implemented. |
Could show the changes of a file in the preview pane when selected. If it isn't too much having a separate "changes" pane to show them all would properly be good too. Ideally it would look like GitHub with the addition and removals of each line. |
This would be very useful |
We should probably enable/disable this in settings to not clog the app for non-devs |
Properly wont need a setting since outside of a directory with a GitHub link it shouldn't be shown |
Is it possible to use the one already installed on the system? |
@onein528 instead of |
Files source code is very hard to understand... I couldn't implement. FYI Requirements:
|
I'm currently working on this feature. There are a couple of things we need to decide before I can continue my work. Checkout Menu
User's Credentials
|
Phase 1 shouldn't have a checkout menu, I think we should wait for feedback on phase 1 before making these decisions. |
So phase 1 will be:
|
Credentials of committerThere’s no need to be authorized by GitHub. We have to show a modal to prompt a user to enter username/password. And commit and push by using libgit2sharp. https://stackoverflow.com/questions/25084890/how-to-commit-and-push-in-libgit2sharp Checkout Menu
Should be like VS.
flyout. If we are going to implement branch management, should be a modal in managing such as deleting, renaming, checking out, cherry picking.
On hovering, show delete glyph and rename glyph. Yes, on the top of the flyout, show textbox for creating a new branch. User's Credentials
One time, first time only(not first launch though).
I mistakenly understood that we have to implement authorization steps. But not. |
Since I've already written some of the code related to phase 2, should I comment that out in the PR? (Which means hiding |
I updated the requirements for phase 2. |
How should we differentiate the active branch in the menu? Should we put it on top? Should it be bold? |
The ListView control has a selected state that would work for this. |
What do you think @yaira2? |
Looks amazing! Can you add a fixed height and width to the flyout (200 x 200 is probably good)? |
Amazing! Can you customize Flyout padding?
|
I updated the requirements for phase 3. |
I'll start to work on this part of the feature |
I highly recommend to use Preview Pane. |
Yes |
I'm wondering if we can implement the support for viewing the contents of a branch without actually checking out it. |
When we need to implement GitHub-like feature, we can use GitHub APIs such as 'compare'. https://stackoverflow.com/questions/64202547/how-to-compare-two-branches-in-github-with-graphql |
I can see this being useful in multipane mode, the files would have to be read only as well but this is something we can look into once we finish with the fundamentals. |
Phase 4 is ready to build, this is also the final stage before we are ready to release the changes to stable. |
What about deleting local branches? |
That could be one of the actions we display in #12440 |
What feature or improvement do you think would benefit Files?
Integration with git is something that may add value for developers. We're inviting the open-source community to share feedback on which git features they would find useful in a file manager and how it would enhance their workflow. Design concepts are welcome as well.
Requirements
Phase 1 (implemented)
Phase 2 (implemented)
Phase 3 (implemented)
Phase 4 (implemented)
Future planning
Files Version
v2.4.21
Windows Version
Windows 11
Comments
No response
The text was updated successfully, but these errors were encountered: