Code Monkey home page Code Monkey logo

lfs-lock-manager's Introduction

LFS Lock Manager

PyInstaller Pylint

โš ๏ธ This project is still experimental. Use it at your own risk.

This application can help you and your team to manage your LFS file locks, on both Windows and Linux. It is written in Python with PyQt5 and built using PyInstaller, so you do not need Python to be installed on your system.

The app was specifically made for projects based on Unreal Engine 4/5 in combination with the amazing Git LFS plugin by ProjectBorealis (forked from SRomBauts). However, it can be used for any other LFS-initialized repository.

Pull requests are very welcome.

Demo

Features

  • Add and remove locks
  • Filter and search locks
  • Easily copy and paste locks from other users
  • Force unlocking for admin users
  • Support for custom Git-LFS executables (e.g. adjusted for multi-threading)
  • Cross-platform (Windows and Linux)
  • Dark mode ๐Ÿ˜Ž

Installation

  1. Make sure you have Git and Git LFS installed
  2. Download the latest release and ship it with your project
  3. Ensure that settings.ini is in the same directory as the executable
  4. Configure settings.ini (at the very least, you need to modify projectRootDirectory)

Build yourself

Run pyinstaller LfsLockManager.spec to create your executable. By default, it will be placed in ./dist. Copy an updated version of settings.ini to ./dist.

GitHub-Actions

There is a GitHub action for downloading the latest release of this repository automatically. The action creates a PR which you can then merge yourself after verifying the changes. Feel free to optimize it for your own workflow. You can find it here.

Credits

Icons

  • Exclamation mark By Fathema Khanom
  • Reload By IYAHICON

TODO

  • Investigate overhead for (un)locking operations
  • Add user setting for using '/' or '\' when generating commands (only relevant for custom git-lfs executables)
  • Bug: Selection sometimes persists after certain actions
  • Bug: After force unlocking another user's locks, the app switches to own locks again
  • Bug: The current selection gets wiped when filtering using a string that does not match anything in the file tree

lfs-lock-manager's People

Contributors

chillpert avatar

Stargazers

 avatar

Watchers

 avatar

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.