Skip to content
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

Reimplement it all in a high-level language #33

Open
nvie opened this issue Jul 9, 2010 · 23 comments
Open

Reimplement it all in a high-level language #33

nvie opened this issue Jul 9, 2010 · 23 comments

Comments

@nvie
Copy link
Owner

nvie commented Jul 9, 2010

Expanding git-flow is becoming increasingly tedious. The subcommand structure isn't flexible enough to support heterogenous subcommand styles and flag parsing is a pain in the ass to get right on all platforms.

Also, there is a lot of duplication in the code already because of limitations in the way sh forces you structure your code.

This calls for a total reimplementation in a higher-level language of choice. That will be Python. Since the project is still rather small, this should not be too big an issue.

@nvie
Copy link
Owner Author

nvie commented Jul 9, 2010

I'll put up a skeleton for this rewrite soon. Hang in there.

@kennethreitz
Copy link

Going schizo on us? :P

If you're cool with Python, I'd be happy to implement.

@tianon
Copy link

tianon commented Aug 27, 2010

Just for curiosity's sake, in your git-model if you wanted to implement something like this (a complete rewrite in a totally different language), but wanted to continue development on the old stuff concurrently, would the rewrite be best developed in a feature branch pushed to origin? Not that this is necessarily the way you personally want to implement this, but this seems a good place to discuss such a workflow. It would make sense to me to create a feature branch for something like this, but I am very interested in "checking my work" against another mind, if you will.

@tianon
Copy link

tianon commented Aug 27, 2010

... of course, after I post that, I notice you've already done just that. Kudos! :)

@nvie
Copy link
Owner Author

nvie commented Aug 27, 2010

Yes, the base for it is available in http://github.com/nvie/gitflow/tree/feature/python-rewrite. It's not much yet, but as soon as I find the time, I'll start making new committing there. Then, it'll soon be up to the point where it will be easier for people to start submitting patches!

@kilianc
Copy link

kilianc commented Sep 16, 2010

git flow it's gonna be a standard... please let it works on my mac :)

@keithamus
Copy link

You may want to look at Scriptine:

http://pypi.python.org/pypi/scriptine/0.2.0a2

It is a wrapper for CLI access which can make light work of interfacing to a CLI like bash.

Thanks for the great project!

@dolmen
Copy link
Contributor

dolmen commented Mar 20, 2011

msysgit already has to bundle:

  • Perl 5
  • TCL 8.5

Don't you think this is enough?

@eloyesp
Copy link

eloyesp commented Dec 19, 2011

I known I'm late, but I would prefer ruby because I know it, but it also have gems to gems (libraries) to help.

On the bad side, ruby is not more easy on windows than python.
On the good side, the ruby community is more git driven than python's.

@kennethreitz
Copy link

I think bash is the best choice.

@mgaitan
Copy link

mgaitan commented May 31, 2013

is this idea abandoned? I couldn't find the above mentioned branch ( https://github.com/nvie/gitflow/tree/feature/python-rewrite ) I was looking for specially to see/work on the documentation (#75 refers here)

@webwurst
Copy link

webwurst commented Jun 4, 2013

@kennethreitz did something similar: Legit
Won't help you with documentation, so just for info..

@88Alex
Copy link

88Alex commented Jul 12, 2013

+1 for rewriting in Ruby. I personally prefer Ruby over Python (more powerful, clearer syntax, lots of 3rd-party code available).

@88Alex
Copy link

88Alex commented Jul 12, 2013

I think it's time to start the Python/Ruby rewrite (I think Ruby is better). Ruby has lots of nice modules and gems (i.e. OptionParser, GLI) that make writing command-line tools much easier.

@jbiason
Copy link

jbiason commented Jul 12, 2013

Python also have modules for command-line tools directly in the standard library. Check ArgParse (http://docs.python.org/2.7/library/argparse.html) and cmd (http://docs.python.org/2.7/library/cmd.html). This means there is no need to go after any external "gems" or anything.

@kennethreitz
Copy link

meh, the whole thing should be bash :)

@robertwe
Copy link

@kennethreitz and dude you are right here.

@SparK-Cruz
Copy link

Will I be crucifield if I say Java?
(at least it's multi-platform)

@88Alex
Copy link

88Alex commented Jul 15, 2013

Actually, Java would also work. However, unlike the other suggestions, Java must be compiled, which could lead to a minor inconvenience.
(Fun fact: Java is more than 32 times faster than Python!)

@tdjordan
Copy link

You could use groovy instead.
That way it wouldn't need to be precompiled.
On Jul 15, 2013 2:10 PM, "Alex" notifications@github.com wrote:

Actually, Java would also work. However, unlike the other suggestions,
Java must be compiled, which could lead to a minor inconvenience.
(Fun fact: Java is more than 32 times faster than Python!)


Reply to this email directly or view it on GitHubhttps://github.com//issues/33#issuecomment-20995978
.

@mgaitan
Copy link

mgaitan commented Jul 15, 2013

Please, stop flooding this thread. Nobody will work on a reimplementation in your preferred language just because you requests that here. Start it yourself and then ask for help.

btw, +1 to close it with "won't fix" (it seems the not explicit decision)

@SparK-Cruz
Copy link

@mgaitan we are only seeing pros and cons of every language
when we convince eachother to use a certain language (or majority of people choose a language) one of us will definetively start the project.

@HerrBvomSee
Copy link

But in June 2012 Vincent closed the pull-request and deleted his python-rewrite branch. So Hartmut decided to release the Python rewrite on his own. (Reference: https://github.com/htgoebel/gitflow#history-of-the-project)

So it seems we do not see a new version of gitflow in Python (or any other preferred language) here in this repo. If you are looking for the Python version of gitflow head over to https://github.com/htgoebel/gitflow

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests