Giter Club home page Giter Club logo

gitpie's Introduction

GitPie

build dependencies devdependecies

GitPie is a Multiplatform Client for Git that have the goal to be a simple and elegant solution to manage any git project don't matter what git service you use. And the best is 100% open source.

What's in the pie stuffing?

GitPie is built on Electron and Angular to have a maintainable and organized source to anyone understand what's going on behind the scenes.

Installing

Prerequisites

Linux

Available on 32-bit and 64-bit.

Download the latest Pie from the GitPie release page.

OS X

Available on 32-bit and 64-bit.

Download the latest Pie from the GitPie release page.

Windows

Available on 32-bit and 64-bit.

Download the latest Pie from the GitPie release page.

Contributing

Want to contribute with the project? This is awesome. But before doing that we prepare a recipe to you do it the right way.

  • All contributions must adhere to the Idiomatic.js Style Guide, by maintaining the existing coding style.

  • Discuss the changes before doing them. Open a issue in the bug tracker describing the contribution you'd like to make, the bug you found or any other ideas you have.

  • Fork the project and submit your changes by a Pull Request

  • Be the most creative as possible.

If you want to make changes in the style of the application, you need to convert the sass code into css. For this execute:

npm run dev

Building

Just execute the following commands to build the project from source:

Prerequisites

  • wine (Required only if you're on OSX or Linux)
git clone https://github.com/gitpie/GitPie.git
cd GitPie
npm install
npm build # This will build binaries for the all supported platforms: `linux`, `osx` and `windows`

If you want build to a specific platform, just execute one of the following commands:

npm run linux32
npm run linux64
npm run osx64
npm run win32
npm run win64

# You can just build the binaries

npm run build:linux32
npm run build:linux64
npm run build:osx64
npm run build:win32
npm run build:win64

Packing

The following tasks will create a installer for Windows, a .dmg file for OS X, a .deb and .rmp file for linux and compressed files with the binaries for each platform.

Prerequisites

The following programs are required only if you want to build .deb and .rpm packages

  • dpkg-deb
  • alien
npm run pack # This will pack the application for the all supported platforms: `linux`, `osx` and `windows`
npm run pack:linux32
npm run pack:linux64
npm run pack:osx64
npm run pack:win32
npm run pack:win64

License

Copyright (c) 2016 Matheus Paiva (MIT) The MIT License

gitpie's People

Contributors

ionicabizau avatar mapaiva 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gitpie's Issues

The execution of sync push changes freezes the entire app

When a ssh key is in use and a push execution is performed it freeze the app. How nodejs is single threaded the execution of the sync method need to be async from any way.

Git.prototype.sync = function (opts, callback) {

  if (opts.setUpstream) {
    var err;

    try {
      execSync('git push -u origin ' + opts.branch, { cwd: opts.path,  env: ENV});
    } catch (error) {
      err = error.message;
    }

    if (callback && typeof callback == 'function') {
      callback.call(this, err);
    }
  } else {

    exec('git pull', { cwd: opts.path,  env: ENV}, function (error, stdout, stderr) {
      var err = null;

      if (error !== null) {
        err = error;
      } else {

        if (opts.push) {

          try {
            execSync('git push origin ' + opts.branch, { cwd: opts.path,  env: ENV});
          } catch (pushError) {
            err = pushError.message;
          }
        }
      }

      if (callback && typeof callback == 'function') {
        callback.call(this, err);
      }
    });
  }
};

Create a updater for GitPie

For automatic updates each new version of the application, a updater module is necessary.
To implement it, I'm thinking create it from the zero. I saw the node-webkit-updater but it performs native commands like unzip and if the user do not have these programs installed the update can break.

In a quick research, I found modules that can uncompress files without perform commands (I hope 😃 ). They are:

tar.gz
adm-zip
request Can be usefull

Tratativa de usuario global

Acabei de instalar o git e em seguida o gitpie e ao abrir o gitpie me foi apresentado a seguinte mensagem.

[Window Title]
GitPie

[Content]
Command failed: C:\WINDOWS\system32\cmd.exe /s /c "git config --global -l"
fatal: unable to read config file 'C:\Users\fenix/.gitconfig': No such file or directory

[OK]

como conversado isso é por causa do usuario global... teria como realizar uma tratativa?

Versioning

How is the versioning done?

Personally, I like more the major.minor.patch notation (like you already have in package.json), but I see that in the releases page you prefixed everything with v.

Also, when I release initial releases I do 1.0.0. How about here?

I'm not going to enforce my guidelines here, but of course, I can give a piece of advice, at least ask some questions. 😁

Verificar versão do gitpie

Olá, senti falta de uma opção para verificar qual a versão que instalei do gitpie. não encontrei esse recurso no software.

abs.

Emoji support

Would be nice if GitPie supports emojis on commit history messages and bodys.

I saw the emojic project and it came in my head 😄

What do you think @IonicaBizau ?

Gulp Dev

Todas as tasks estão funcionando mas a gulp dev está com o seguinte erro:

image

Improve the git container class

With the growing of GitPie the git wrapper (The class that performs the pure git commands) become out of pattern and bad documented.

It needs to create a pattern for all the methods signature. For example:

Git.prototype.getCommitHistory = function (opts, callback) { ...

// OR

Git.prototype.getCommitHistory = function (path, opts) {

And improve the JSDocs for all the methods too.

@IonicaBizau Do you thing you can do that? 😄 It will help let the code more documented and organized.

Suporte para GitLab

Existe suporte já a GitHub e BitBucket. Seria interessante ter suporte para repositórios hospedados no GitLab também.

Tratativa de cleartype no Windows 10

SISTEMA: WINDOWS 10 BUILD 14271
VERSÃO: PRO X64
PROBLEMA: CLEARTYPE NÃO ATIVA
GITPIE: ULTIMA BUILD (??)

DESCRIÇÃO
Infelizmente no meu computador o cleartype não ativou, as fontes estão desfocadas e em má qualidade, seria possivel realizar um check? forçar a ativação? isso só acontece para as fontes dos listbox e combobox

Submodule not visible

Project has a master submodule & 2 child submodule. None of them are visible.

                   project
                     ||
               master-submodule
                 //        \\
    child-submodule-1   child-submodule-2

Switch on Electron

@mapaiva I remember we talked about this before, but I'm going to open the subject again. I'm sure if we switch on Electron we will get a bunch of stars just because of that. 😄

Since it's built by GitHub and we're building something for Git, it's already a good business thing.

Here you can see a comparison between the two platforms.

Use ES6

Is it fine to write the code in ES6 format? At least that would work when we switch on Electron.

What do you think?

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.