kodespace

gitSafe 0.0.7.43

I seem to spend all my time on the fruitless pursuit of  SSH interaction. There’s a lot of code change in this build, unfortunately, most of it doesn’t work as intended. As a result, all that you’ll see in the options dialog is a new section for the local repository, where you can change the setting on whether you want to hide the console window when you pull or push.

It’s still not 100%, with a few known issues with the ‘Hide console window’ setting:

  • The connection will abort after 10 secs. This is by design. So don’t do a huge grab of files just yet.
  • I’ve added a progress window. Unfortunately, the rest of the execution code doesn’t have any callback hooks to allow a message loop to run. This means that the progress window doesn’t draw correctly, and you can’t click, nor drag it.

I think iI’ll lay this whole SSL thing to rest for a while. It’s about time I start putting the commit log (and more importantly, the commit graph)!

Happy git-ting

February 8, 2009 - 7:04 PM Comment (1)

gitSafe 0.0.6.25

I’ve been doing some research into using PuTTY, more specifically, the command line version: plink to provide some mechanism of ‘nice’ feedback if required when making an SSL/SSH connection. Having pulled my hair out trying to work out how msysGit’s gui is doing it, I’m hopeful that this alternative approach will work well for me.

To bring this fruition, i’ve finally added an Options dialog to gitSafe, which allows you to set your username, email, autocrlf and safecrlf settings easily.

What I will be adding (hopefully tomorrow), will be another global option:

  • “Hide console when connecting to remote servers”

I will also be adding repo-specific options:

  • username, email, autocrlf and safecrlf (just like the global ones)
  • “Hide console when connecting to remote servers”. This option will be in the ‘indeterminate’ state by default (meaning to use the global option)
  • (Optional) remote password. If you need to login, you can type a password here. I’ll save the password in as a triple DES (or similar) encoding into .gitSafeConfig. (If someone has some opinions on a better storage mechanism, then let me know)
  • Finally, i’ll also add a ‘Test’ button which will check that you can get to the repo sucessfully (i’ll do some innocuous remote command, if I can, to check it).

Enjoy

February 7, 2009 - 9:52 PM No Comments

gitSafe 0.0.5.24

I’ve been doing some work in gitSafe, fixing some annoying checkin/commit bugs. Make sure you delete “C:\Documents and Settings\yourname\.gitSafeConfig” to get the latest version of the command set. Get the download at my main site: here

Yes, the work goes slowly, but I’m reluctant to spend copious quantities of time hacking around a command prompt when there are things like libgit2 on the horizon. As I’ve mentioned before, I’m all for using a library of some sort. Note that there are some other libary projects out there, but since none of them are native, I’ll give them a wide berth (eg Java: Jgit, Python: dulwich, and others) since i’ll need to write some interop in order to get the full strength.

So, in a nutshell, until I can pull and push over ssh using libigt2, I will never be happy with this project :(

PS: does anyone have any idea how msysGit does it’s git fetch? I’ve seen that somehow they manage to trap stdin and launch a dialog when you need to login/add a new remote server. Yes, i’ve waded through the code, but considering I know nothing of tcl (nor do I care to), I find the actual implementation of msysGit somewhat obtuse (maybe that’s how linux developers like it however :) ).

PPS: No, I have not used a line of code from any open source project to write gitSafe. As soon as I do, you’ll be the first to know.

February 6, 2009 - 9:29 AM Comments (3)

TortoiseGit

Have you guys heard, that there’s a another solution being developed for git under windows? It’s called TortoiseGit and is available from google code: here.

Whilst still in early development, the port of TortoiseSVN has a large number of teething problems. That said, I welcome the efforts of all involved in the project.

Keep up the good work.

On a personal note, I’d like to see how they handle the user input. In essence: git creates processes within processes especially when using SSL. Unfortunately, this means that when the cmd line prompts for a password (or confirmation of a new remote host), TortoiseGit hangs. If I had the time, i’d like to join forces with them to strip down what is in PuTTY in order to provide an SSL library. I’d also like to work with git as a library than as a set of clunky and quirky console applications to truly embrace the speed that could be possible under Windows.

gitSafe sidesteps these issues by simply showing a command prompt to perform any tasks likely to require any form of user input.

January 13, 2009 - 9:10 PM No Comments

New site

I’m sure you’ve gathered, that I’ve been busy rejigging kodespace.com. Despite the fact that it still could look much better and some of the old content is missing, the main reason for the update was to allow a more seamless integration of gitSafe with this site.

What this means is that I can maintain development (unstable) branches and released (stable) branches as I see fit.

I’ve been doing some small amount of work (tiny in fact) on gitSafe itself, so I’ve added version 0.0.4 to celebrate the fact. Check it out here.

Oh, and before I forget….Please support Movember. It’s one of the few charity festivals for men and the blokes participating have heaps of fun growing moustaches! (Sadly I am not, since I have to look presentable for a close friends wedding this week).

November 11, 2008 - 9:33 PM No Comments

Alas things change

Just as I praise Assembla.com for it’s git hosting capbilities, it is now going the way of GitHub and the rest: it’s private and it’s paid for, or it’s public and it’s free. Private and free is no longer allowed.

Whilst I understand this business model, I can’t but help feel abandoned, especiall since my projects are now effectively locked, being forcibly made read only. :sigh:

Oh, and then there’s Mercurial.

Whilst on this path of gitSafe, I have come across mention of another distributed source code management tool, Mercurial, but it was only yesterday that I first truly started looking at it.

From what I see, it is quite obvious, that for anyone working on windows, and who are still looking around for ‘something better’. Then, like myself, I’d suggest you take a look at Mercurial.

In a nutshell:

  • It’s very similar to git.
  • git and Mercurial are far and away the modern favourites when compared to older systems: svn, cvs, source safe.
  • Mercurial has better support under Windows, and has TortoiseHg for Explorer too.

Considering the basic hurdles I have with using git in gitSafe:

  • There are tons of individual exes/scripts, many of which spawn other exes in creative and unusual ways
  • The documentation is not integrated. In order to use git, you have to completely understand git first.
  • Complexity. Whilst many of you see this as a good thing (and quite often it is), gitSafe is aimed at dumbing down the whole experience….but even that’s hard enough.

So, what does this mean?

  • gitSafe needs a new private repository out there on the cloud
  • gitSafe may not be actually used by yours truly for much longer if Mercurial proves to be a better windows solution

Stay tuned!

October 29, 2008 - 3:40 AM Comments (4)

But wait, there’s more

Yes, it has been quite a while, and for those of you watching this for an update on gitSafe, I’ve finally managed to get together an MFC build that works, nearly as good as the .NET version.

As you can see, gitSafe is a work in project where ultimately I aim to ease Windows users into the joys of git. Note that my aim is not to provide (necessarily) a replacement, but rather a simple, everyday addendum for those using git who truly don’t care to learn about the intricacies of it’s rich (and daunting) command line.

I’ve started labelling the builds for what they are: This is all alpha stuff (way less than v0.9), and whenever I add some functionality, no matter how small, I’ll clock the sub-minor version number. The build number will always increase.

Things on the near horizon

This website is about to get a makeover, which comes in line with my new hosting provider at NearlyFreeSpeech. As such, I’ll move the downloads from google code to this site. (which really isn’t really appropriate as a host for a git program, since it only hosts svn). For those of you interested, I found Assembla as a nice alternative to GitHub, since they allow private repositories, as well as Trac integration for the grand total of zero dollars.

If you’re using the RSS feed, I dare say that you may be in for a bumpy ride as I migrate the old blog entries. Sorry about that.

Icon and UI layout

In keeping with the idea of a gui, you may have noticed the gitSafe icon has changed. Here are some other contenders that I’m playing around with. You’ll note that they all keep the +/- aspect of the original git icon:

gitsafegallery   

..and if you’re a graphic artist, I’m sure you’re cringing. Oh well.

But seriously, using an MFC ribbon is the way to go with this application, unfortunately, there will need to be a bit of experimentation and user feedback to ensure that the ribbon is working with an optimal layout.

This version (0.0.3.12) adds some preliminary and exploratory buttons for merging, stashing and tags. This will probably change however.

Known Issues:

  • Clone will probably ‘lock up’ on you. It will be fixed in the next build.
October 27, 2008 - 9:48 PM Comments (2)

Soooo close

Well, things are slowly progressing and after what has unfortunately turned out to be a large rewrite, an mfc version of gitSafe is exceedingly close. Here’s a little teaser for you all:

gitSafe

Things still to do to make it as usable as the existing .NET version:

  • Make refresh work properly (for the tree)
  • Add Branch support
  • Add Stash support
  • Add Custom Actions
  • Context Menus

What this means is, that until I at least cover the functionality of the previous incarnation, then it is pointless putting up the mfc variety (although it does look kinda sexy).

July 25, 2008 - 11:09 AM Comment (1)

gitSafe as Mfc

I have decided to run with an Mfc version of gitSafe (rather than persisting with a .NET variety) and I’m happy to say that it’s better that I’ve done it that way. Why? It’s hard to say in qualitative terms but:

  • runs faster
  • better keystroke support
  • nicer UI
  • more control over processes (I’ll talk more about this - maybe - in a future post)
  • should ultimately be more usable and easier to configure custom actions

Of course there’s the obvious downsides:

  • Will probably require a setup. I am thinking of shipping three different versions to alleviate the issue though:
    1. As a normal setup
    2. As a standalone exe, with Mfc statically linked.
    3. As a standlone exe and you must get the Mfc Dlls yourself. Obviously I’ll provide links as needed.

 

So, here’s a little screenshot teaser of what gitSafe is looking like at the moment. Enjoy.

gitsafemfcteaser

Unfortunately for now, all you guys can download is the .NET variety, as this mfc version is waaaay too raw for human consumption yet.

July 23, 2008 - 12:02 AM Comments (4)

A pause

I find myself in a ‘pause’ of gitSafe development. I can see that the current development environment C++/CLI has given a good basis for proving that a Windows front end for git is a good thing. However, I am beginning to think that an Office 2007 User interface would actually be more beneficial that a standard windows app. A richer UI would give more credence to the plethora of options that are available through the git command tools, particularly branch management.

As such, I am researching the viability of using MFC with Visual Studio 2008 Feature Pack (which includes Office 2007 UI).

More details soon…

July 17, 2008 - 11:28 PM No Comments

« Older Entries