Git Product home page Git Product logo

goot's People

Contributors

drfrankenstein avatar

Stargazers

 avatar

Watchers

 avatar  avatar

goot's Issues

File / New Repo

Wizard

Page 1: Select a path.

image
Then:

flowchart TD
    exists{Does path exist?}
    exists --Yes--> isgit
    exists --No--> askcreate

    isgit{Is it a git repo?}
    isgit --Yes--> askreinit
    isgit --No--> init

    askcreate[Ask to create] --> create{Create dir?}
    create --Yes--> setmkdir[Set mkdir true] --> discover
    create --No--> fail
    
    askreinit[Ask to reinit] --> reinit{Reinit?}
    reinit --Yes--> setreinit[Set reinit true] --> discover
    reinit --No--> fail

    discover{Is path below an<br>existing git repo?}
    discover --Yes--> asksub
    discover --No--> init

    asksub[Ask whether to<br>create a subrepo] --> sub{Create subrepo?}
    sub --Yes--> init
    sub --No--> fail

    fail[Fail]
    init[Init repo at path]

Page 2: Enter description

image
Optional; no validation

Page 3: Select default branch and workdir

image

Page 4: Summary

image
Permissions will be another ticket.

  • Create that ticket

Welcome window

As a user, I want to know what I can do first when I open the app.

An empty window is bad UX.

Acceptance Criteria

  • On opening, show the welcome window
  • An option to create a repo
  • An option to clone a repo
  • An option to open a repo
  • Close the window after one of those actions completes

Help / About

This will have to be the first GUI task because we need a spot to display licences, attributions, etc (e.g. our icons will come from icons8 which requires attribution).

Acceptance Criteria

  • Help / About menu item
    • App name
    • App version
    • License
    • FOSS deps
    • icons8 attribution

File / Open

As a user, I want to open a repository so that I can work with it.

Acceptance Criteria

  • Browse the system for a repository path
  • Reads the repository and creates the in-memory objects
  • Opens a "Repository" MDI window (possibly empty, just show the name in the title bar for now)

Implementation

Use QFileDialog with fileMode == QFileDialog::Directory.
Use git_repository_open_ext.

Set up CI

  • Builds on Windows (MSVC)
  • Builds on Linux (gcc)

Optional:

  • Builds on Mac (clang)

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.